The Master, The Expert, The Programmer
Zed Shaw has a nice essay on the state of programming, drawing analogies from the attainment of mastery from martial arts. Here’s an excerpt:
Programming is a very new discipline, so there’s not too many master programmers out there. What’s worse is that the few people I would consider masters aren’t very exemplary of the software profession and art. They are typically professors who never write anything under a deadline and are given complete artistic freedom to develop whatever they want. Take Donald Knuth, who was able to take three years off from teaching in order to complete TeX. There’s no way I could get away with telling my employer that it’ll take me three years to finish their product. Knuth is basically a “master amateur”. A guy who worked in a complete utopia and was able to hone his skills without interference. I would compare him with a man who became a master by studying at a monastery for for his entire life.
Very nice thoughts overall. I think, though, that the analogy is flawed. At least as it pertains to commercial development. Comparing programming to an art form, and the process of maturing as a developer to the process of becoming a master, comes from the mindset of somebody who is trying to create something intrinsically beautiful.
And while beauty is a powerful concept, most software projects are trying to make something functional. Just like a building needs an inner structure, a piece of software needs code. What one demands of a building structure, above all, is that it be sound. Not beautiful. Structural engineers are not pursuing an art. Nor a science. They’re pursuing to apply a body of systematically gathered engineering knowledge to a problem, and maybe, in the process, advance the state of engineering.
A lot of programmers, especially in the US, are oblivious to the fact that their profession is 10 years away from disappearing as we know it today. What is causing development to move to lower cost of employment locations is precisely the underlying fact that programming is an engineering discipline, not an art form.
There are some businesses with obscenely rewarding markets which can afford the artists, but there are fewer of those every day. For the rest of programmers, the choices are: to milk the good pay while it lasts, to become an artist and find a patron, to retrain in another profession, or to disintermediate, become entrepreneurs and hope that they come across one of those obscenely rewarding markets.
One Response to “The Master, The Expert, The Programmer”
Comments
Read below or add a comment...

It might be dumb, but I wonder if a relation can’t be made between this post and your post about open source and highly motivated/talented people.
It seems to me that in open source softwares, there are more artists and people seeking beauty in code/product than in commercial software.
And maybe, that’s what make open source software often better functionaly too. Because people are allowed to seek a higher achievement in quality which is like in art too, you try to attain some kind of perfection in your work.
In commercial product, art and time to make it beautiful is not appreciated that’s why talended people (people who seek to be master often) are not motivated. They just achieve their task and get the pay.
What’s better also from a commercial point of view, piece of art or piece of work. I’d guess both can sell.
Well, that’s just my quick thoughts…