Jeff Atwood posted a nice blog post today about The Two Types of Programmers. I always like to refer to programmers by using the term 'Software Engineer', when they're software engineering. The term 'programmer' is often associated with a 'code monkey' (human code generator), and Jeff's post isn't about code monkeys.
The post by itself is interesting, but what's more interesting is the long list of replies to it, mostly in the category of "your categorization is wrong/insulting/arrogant" etc. I think the replies show the point Jeff tried to make.
I'd like to quote one little gem, one reply by Robby Slaughter which IMHO is what Jeff's post is all about :
the question is what percentage of software engineering is done by amateurs who think they are professionals. There's nothing wrong with being an amateur---everyone starts at the beginning---but we don't let people whose only qualification is that they leafed through a few books do brain surgery, design bridges, or organize the Superbowl. There's more to writing good software than being able to sling code. I'm not interested in whether or not you live and breathe tech and write Linux drivers blindfolded for fun, I just care whether or not you *know what you are doing*.
It seems like most people don't. In our industry, that's easy to get away with.
It doesn't matter in which group you belong, according to whatever person. What matters is that last sentence of Robby's reply. In a world where every day we become more and more dependent on software, it's essential that that last sentence becomes history. Let's all work on that, in whatever group you feel yourself belong to.