In discussing Scott Bain’s book: Emergent Design: The Evolutionary Nature of Professional Software Development Martin Heller asks Is “professional software developer” an oxymoron?
In the book (which I’ve not read yet), Scott makes the case for the use design patterns, test driven development, coding style and readability. This sounds like the book we all wish our colleagues would read (not ourselves of course – we’re already perfect).
Martin then hones in on Scott’s suggestion:
that software development is by nature a professional activity, and should be conducted as a professional activity. He also says that we’re not yet conducting it as a professional activity.
He finishes by asking the question ‘Is the phrase “professional software developer” an oxymoron?’ My answer is no, but I think the question misses Scott’s point. Scott is asking to consider what it would take to become a profession as a way to force us to start wrestling with difficult questions. I agree that we need to start asking difficult questions especially with the mounting numbers of costly failures in large out of control projects (both public and private sector).
But I would argue strongly against seriously considering becoming a profession. My concerns are two fold: would standardisation limit the testing and adoption of new ideas and look what happens in the name of a profession in some other fields.
- Consider if we had become a profession 10-15 years ago. Waterfall development and lengthy reviews of every output would be mandatory. How Agile, Lean and the related engineering practices have grown up in that environment? If we standardised today how would we improve on what we have now.
- Also be careful of the professional bodies you seek to mimic. The American Psychiatric Association has in recent years defined a number of diseases largely based on the lobbying of drug companies that wish to cure them. I shudder to think what the right people with money would do to the Software Professional Association.
So I agree with Scott this industry needs a shake up and we need to seriously consider how to get better. But I think that becoming a profession is the wrong path to take.
I look forward to hearing other opinions.
» Next Mythbusting – Collective Code Ownership
See all blog posts