May 10, 2023
The residents of a small village in Galicia, Spain, spent many years petitioning the government for some public work. It might have been a road, a clinic, or a swimming pool; what’s important is that it was finally granted, and since it was election season, all the politicians came to inaugurate the construction.
There was the undersecretary of something with the director of something else and the mayor and the councilor of public works; all four of them vying and pushing to the front to be seen cutting the ribbon by the cameras and, behind them, a bulldozer and an excavator were rooting around in the dirt to show that the work was underway.
When I saw that spectacle on TV, those two machines immediately caught my attention because they looked so new and so clean. Made of gleaming steel and painted an impeccable yellow, the excavator scratched the soil without digging in. The bulldozer, also spotless yellow, went a few feet forward and then back, again and again, without ever leaving its tracks. Clearly, those two pieces of equipment were brand-new and only there for the photo; it was evident that, not even five minutes after the politicians had left, those two machines would be on a flatbed en route to the dealership they had come from.
Don’t think you are deceiving anyone when you bring this machine to your inaugurations.
An excavator in a construction site is almost always covered in grime, with worn paint, surface rust on the scoop, a broken light cover, and a hook welded to the frame from that time they needed to pull a truck out of the mud. In summary: a working machine does not look as pretty as the photo in the catalog.
The same thing happens with software. Programmers complain all the time: our project contains tons of files, there is cut-and-pasted code, this function is too long, … and we don’t realize that this code looks like that because it’s been working at the construction site. It’s not code from the catalog, so pretty and shiny with all the lights and all the glinting steel. It’s working code, with a bent exhaust pipe and “Smith Earthmoving” stenciled on the boom. It’s not code brought in to serve as a backdrop for the politicians’ show. It’s code that can pick up several tons of dirt in one place and deposit them in another.
Don’t be ashamed of your code. Be proud because your code is not just sitting pretty in a storefront; it works, and that’s why it’s so dirty.
Just hose it down every once in a while so it won’t get too gross.
The illustration for this Coding Sheet is a modified version of a public-domain photograph.
|Previous: “The software supply chain”||Table of contents||Next: “I can’t live without you”|
|A Folla ten unha versión deste artigo en galego: “Maquinaria de obra”.|