Professional Software Development
Years ago I read Code Complete from Steve McConnell. It is one of my favorite software development books that isn't programming language specific. I think it's such a great piece of work that whenever a client of mine starts to talk about coding standards, I suggest they buy a bunch of copies and distribute them to their software developers. Ten copies of the book will cost less than a single 1 hour team meeting. And having a book means being able to point to and reference things that would otherwise get lost in meeting minutes.
McConnell has recently written another book on software development. This book, Professional Software Development, is actually a revised and updated version of After the Gold Rush. In Professional Software Development, McConnell examines what's needed to transform the software development industry in to a true profession. McConnell first cites legal precedents to describe the qualities of a profession:
- A requirement for extensive learning and training
- A code of ethics imposing standards higher than those normally tolerated in the marketplace
- A disciplinary system for professionals who breach the code
- A primary emphasis on social responsibility over strictly individual gain, and a corresponding duty of its members to behave as members of a disciplined and honorable profession.
- A prerequisite of a license prior to admission to practice
I'm particularly interested in items 3 and 5. I've seen too many in the software field behave in appropriate ways and I have to assume that such behavior is having a negative impact on the industry as a whole. It would be great, at least in theory, to make people accountable for their actions.
Also, requiring that people obtain a license would have the immediate effect of eliminating the not so motivated and not so knowledgeable people who got in to software development without even trying or perhaps to just take advantage of the lucrative bubble that existed a few years ago.
Both of these items, if implemented properly, would elevate the industry and bring it closer to being a respectable profession. I'd like to see the licensing requirement implemented first. I think it's probably the easiest of the items to accomplish. Finding a way to fairly discipline those that breach the code of conduct would be much more difficult.