A good programmer will spend most of his time doing work that he hates, using tools and technologies that he also hates.
And the conclusion seems to be that it's all about the technologies that the programmer is using:
The bad technologies take big chunks of time and concentration. The good technologies take little time and concentration. The programmer has a fixed amount of time and concentration that he can give every day. He must give a bigger piece of the pie to the bad technologies, simply because they require more. In other words, he ends up spending most of his days working with tools and technologies that he hates. Therefore, the good programmer is made miserable.
This conclusion seems flawed because it assumes the programmers have no desires and preferences.
The conclusion reminded me of this interview called Edsger Dijkstra -- Discipline in Thought.
In this video, at 11:48 we have a very interesting quote:
And the programmers weren't interested [in faultless programs] because they derived their intellectual excitement from the fact that they didn't quite know what they were doing. They felt that if you knew precisely what you were doing and didn't run risks, it was a boring job.
I think this is a much better explanation for the miserable "good" programmer paradox (as defined above).
The good programmer is miserable because he doesn't get to use the shiny tools and technologies and because he feels bored by the fact there is nothing new.
But he is also good because he knows exactly what he is supposed to do.
Technologies and tools might have a part, but I think the humans in the equation are much more important to look at when searching for answers.
Post a Comment