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 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? Software Development