There is the story of a sculptor who crafted a large statue of a God for a temple. It turned out magnificent and everyone considered it a stellar piece of art. But the sculptor never felt the happiness that the statue brought in others. One day, when prodded by his son, he spoke out
“The third ring on the left ear has only 3 minor stones whereas the rest of the rings have 4. Try as I might, I am unable to look at the magnificence without overlooking this flaw. While the world looks at it with awe, I have always suffered incompleteness because I didnt deliver it fully right. My passion to my profession is my boon…as well as my curse.”
This is so true in our technology world as well. A programmer, who does the actual grunt work in getting a product out, is the only one who understands the true nature of the flaws in the product. The rest of the members in the team only get a abstracted view of the programmer’s output. No matter how many QAs test it, no matter how many millions of users you use for the beta release, there will be undetected issues.
I have had many programmers, who confess, during the celebratory product/feature launch event, that there is this obscure bug which hasnt been found by anyone yet, but will crash the application. The bug will be difficult to reproduce and more difficult to fix. This is the curse of the passionate programmer!
I still vividly remember some of the hacks I have put in, while coding. I can still visualize the exact steps to reproduce the issue and its repercussions. I dont know how to fix those. I live with the imperfections of my code.
I was reminded of the sculptor story when I read this article about how a programmer took a short cut to solve an impending problem, but would have set the wheels in motion towards chaos a few months down the line.
Its amazing how the world turns around even with all these imperfections!