I've been reading Emergent Design: The Evolutionary Nature of Professional Software Development by Scott Bain (Addison-Wesley, 2008, $49.99, 0-321-50936-6). I'm finding it a thoughtful book, which makes a good case for the adoption of patterns, refactoring, and test-driven development.
On the other hand, Bain leads with the premise that software development is not currently a profession. Why is that? It's not a matter of being paid for the work: it's because software development is too hard, too unpredictable, too chaotic.
Of course, those are the things that make it fun. Bain admits that as well.
I think it's no stretch to accept Bain's point that medicine is a profession. Bain cites some of the things that go with medicine -- lengthy training, a specialized language, a professional organization, peer review, standards and practices -- as things that define a profession as opposed to a job.
Bain says 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.
What do you think? Is the phrase "professional software developer" an oxymoron?
Posted by Martin Heller on April 21, 2008 07:36 AM








