Why software development is not a profession

Software development is not a profession. It will never be a profession while people like the guy who wrote this lovely piece continue to get paid to develop software.

The reason, of course, is that professions have the requirement that professionals be competent.

Fortunately, I’m happy being a software craftsman

4 thoughts on “Why software development is not a profession

  1. ade

    Two things.
    1 – have you seen this: http://redsquirrel.com/dave/work/a2j/ ? It’s from a book I’m working on with Dave Hoover. I wonder if you feel it reasonates with your sense of software craftsmanship?
    2- The poor guy who wrote that piece of code on WTF didn’t seem to understand the switch statement and no-one explained it him. I’d like to think if I came across code like that on a project I’d have a 5 minute chat with the guy to clarify things and move on rather than posting it to WTF. After it’s hardly ‘professional’ to merely ridicule others rather than attempting to help them improve?

  2. Robert Watkins

    Ade, I hadn’t seen the book, but I will check it out. I like the title, and the resonance with “The Pragmatic Programmer”‘s subtitle – it’s a lot to live up to, though.

    As for the “poor guy”: he was told to use a switch statement. He obviously worked out enough to get the default case, so presumably he knew a bit about them. If he didn’t understand, he should have taken it up with the reviewer who told him to use a switch. Instead, he either went forward and deliberately did something stupid (to protest the review), or he tried to do something he didn’t exactly understand without taking a few minutes to try to learn about it. Both are huge sins in developers, which unfortunately are far too prevelant. Neither is a reflection of experience or skill, but of attitude. Even novices can cultivate the right attitude to their craft.

  3. Darren

    You’re being unfair. The idea behind software craftsmanship is that you learn to be a good programmer by learning from good programmers. I think it is safe to assume that being a ‘good’ programmer comes after being a ‘bad’ programmer. The coder in your example could simply be a bad programmer who is learning. The fact that his code is being reviewed supports this.

    Having said that, I agree with you that software development is craftsmanship and not a profession. I’m only about half way through Pete’s book, though :).


  4. Robert Watkins

    Perhaps I am unfair, Darren. But I still think that the idea that someone would go away and write that code after being told to use a switch is a problem.

    In addition, in a real profession (and in most crafts), a novice wouldn’t be allowed to work by themselves. Doctors go through internships, lawyers start off as an article clerk, carpenters start off as apprentices (and it will be a good six months to a year before an apprentice carpenter does anything more demanding than putting a nail into a piece of wood going to a customer)

    I also have to confess I posted this article on a bad day.

    Still, the fact that code like that in the linked article _does_ get written, and does get put into use, on a daily basis all around the world is a huge problem for our craft.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s