All good programmers are lazy
It is official, all good programmers are lazy
Lazy, because only lazy programmers will want to write the kind of tools that might replace them in the end. Lazy, because only a lazy programmer will avoid writing monotonous, repetitive code - thus avoiding redundancy, the enemy of software maintenance and flexible refactoring. Mostly, the tools and processes that come out of this endeavor fired by laziness will speed up the production.
The article goes on to claim that all good programmers must be stupid:
Why? Because if he's smart, and he knows he is smart, he will:
a) stop learning
b) stop being critical towards his own work
But there's a more crucial point why a good programmer must be dumb. That's because for him to find the best solutions to problems, he must keep a fresh mindset and manage to think out of the box (or rather, know its actual shape). In a way, this leads to the mindset of a child; incredibly creative because he never heard "no" for an answer.
I could not agree more. I have learned two very important lessons in life (both from my mother):
- Nothing is impossible.
- You can if you want
They both amount to the same thing; you can accomplish some incredible things if you put your mind to it (it has also made both of us incredibly stubborn but that is another story :-)
The article goes on to discuss another very important aspect of being a great programmer; troubleshooting
I know from my work that a good programmer, ..., will adopt this mindset of being dumb; he will start asking the most simple, child-like questions. Because he doesn't accept the parameters suggested to him that someone thinks make up the problem.