February 22, 2008

...Learn TDD with Codemanship

Is Software Developer Certification Already Here?

In his now infamous Letter To The Editor On Certification published in the Cutter Consortium's IT Journal back in 1998, Tom DeMarco argues very effectively against certification of software developers.

Among his points, he suggests that we should let the market take care of deciding which software developers should get hired and which should not, arguing that such a market-driven system would be more effective than relying on self-appointed certification authorities like the SEI and other crusty institutions of that ilk.

I'm inclined to agree that any certification is built on the very shaky foundation that the certifier is qualified to decide who is competent and who isn't. take architecture, for example. I'm an architect. And I'm a member of a professional association made up of other architects. We are, together, an "authority" on software architecture. Except that I vigorously disagree with what some of my architect peers espouse as "best practice". If we were certifying, I would fail them. And they would probably fail me.

Who tests the testers in these situations? From whence is authority derived?

Take a simple example like Test-driven Development. I think I'm something of a dab hand at TDD. And when I do it, I do it properly. But so does the guy at the next desk. He reckons he's doing TDD "properly", too. And if we were certifying, I would fail him because he's not doing TDD the way I think it should be done. And he would probably fail me, for exactly the same reason.

Now we all know I'm right, of course. After all, I am the world's greatest software developer. But if someone was hiring, and it came down to a choice between me and him, whose authority would win the contract?

Establishing authority is very difficult. Maybe you could argue that Kent Beck must have authority because he wrote the damn book on TDD. But does that he mean he's really the most qualified to judge the rest of us? I could be better at TDD than he is, for all we know. I mean, let's be honest, is Martin Fowler the highest authority on refactoring? Is Grady Booch the last word on UML?

But if you came highly recommended as a developer by Kent Beck or Martin Fowler or Grady Booch, I'd probably hire you. Just like many employers will hire you if you've worked for a company like ThoughtWorks.

Indeed, social proof - in the form of recommendations or affiliations - seems to influence hiring decisions quite profoundly. And in that sense, the die is already cast: we already have a kind of certification. So I wonder if we're recoiling in horror at something that has actually already happened, and that our real problem is with authority and not with certification.

Posted 10 years, 5 months ago on February 22, 2008