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
Comments (4)
Robert,
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?
Posted by ade | October 19, 2005 9:06 AM
Posted on October 19, 2005 09:06
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.
Posted by Robert Watkins | October 19, 2005 9:19 AM
Posted on October 19, 2005 09:19
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 :).
Cheers.
Posted by Darren | October 21, 2005 1:43 AM
Posted on October 21, 2005 01:43
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.
Posted by Robert Watkins | October 21, 2005 6:43 AM
Posted on October 21, 2005 06:43