When I wrote my post on why computer programming sucks, I thought it might be of interest to a broader web audience than my typical blog post, but I am quite amazed that people are reading it at the rate of over 1000 hits per hour. Somehow, my post has made it to the top of a bunch of news aggregator services. I have no idea how that happened
Because so many people are reading it, I think I'd better respond to the most common objections.
(1) Good coders will always be good coders.
I used to think that until I was told I need to work in Java instead of .NET. Actual coding is only 10% of the technical side of software development. The other 90% is knowing the the libraries and the idiosyncrasies of the tools. It really takes months working with a new tool to get proficient with it, which explains why employers won't hire a .NET programmer to do Java or vice versa. No one is going to eat your salary for 6 months while you're unproductive.
People have also insisted that other skills stay with you regardless of the technical tools, such as business analysis, design and planning ,etc. The problem is that the trend is that these functions are branching off into a separate career track which pays less than computer programming although, in the long run, offers better job security.
(2) You don't love programming enough.
Well, I'll agree with that. But I think that most of the people making these statements are in their twenties and can't imagine that, at some point in the future, they may fall out of love with what they currently enjoy. A good career choice is one where, you can fall out of love, but still do well in it as long as you don't completely hate it. Computer programming isn't such a career.
Most people can't do what they love because it doesn't pay anything. Most people love things like playing golf, or playing the guitar, but only a tiny percent of people can make money doing these things so they need a more practical career. There's nothing morally wrong with choosing a career for reasons other than loving it. Although it's unwise to try to do something you hate or have no aptitude for, the warning about computer programming is that, at the beginning, it seems interesting and not a bad way to make a living.
(3) Successful people pull themselves up by their own bootstraps.
Not everybody can become a successful entrepreneur, or through, force of will, move up to the Vice President of Technology at a Fortune 500 corporation. A good career is one where, even if you don't rise to the very top, you can still work for for many decades and take satisfaction in what you do, and computer programming doesn't offer this option.
I really envy the guys who came up with dumb ideas which made a fortune, like MySpace which is the computer programming equivalent of the Pet Rock. Unfortunately, I haven't thought of such a brilliant idea yet, which puts me in company with the 99.99% of computer people who have to work for the Man.
(4) It's all Microsoft's fault and open source stuff will save you.
That's silly geek religious arguments. I've used open source stuff like CVS, Eclipse, Java, JSP, MySQL, and that technology sucks worse than any of the Microsoft tools like SQL Server, old Visual Basic, or the new .NET stuff. It shouldn't be surprising that Microsoft stuff is better because Microsoft hires smart people and spends a lot of money to develop its products.
It's actually this mish-mosh of competing technologies which lowers the quality of software, because getting different technologies to talk to each other is a difficult process and a huge waste of resources.
(5) Your post is sour grapes.
Please judge the contents of the post and not my motivation for writing it.