Certification in software seems to be one of those hot topics that never die. This phoenix recently rose again in the form of Certified Scrum Developer announcements and discussions that followed on the agile developer skills mailing list. A recurring theme in the discussion is the mythical Joe the Developer, who is passionate about his work and needs the certificate to stand out from the crowd so that hiring managers can notice him easier.

Joe the Developer, passionate about his work, doesn’t stop at 5 PM. He attends user groups, reads blogs and comments on them, participates in mailing lists, contributes to opensource projects, tweets about interesting web pages or maintains links on delicious, has a blog, occasionally speaks at user groups and maybe even spoke at a conference or two. He doesn’t do all those things but chances are that he is doing at least some of them, and Google knows these things and can easily point that out. Anyone who wants to spend five minutes checking out Joe the Developer will find that he is someone passionate about his work much easier on Google than by verifying references and certificates. Joe the Developer doesn’t need a certificate, for there is Google.

On the other hand, Joe the Plumber needs the certificate desperately, or at least he thinks that he does. Joe the Plumber heard that you can make more money programming than plumbing and decided to suddenly become a programmer. He doesn’t really care about programming so he doesn’t have time to read blogs, participate in mailing lists or attend user groups. The only way to stand out is to get a business-class fast track ticket, which everyone knows costs extra. So Joe the Plumber is going to look for a way to quickly get a piece of paper that says he knows his stuff, and once he gets the job it’s only important not to get fired and he’ll manage that somehow.

You can probably guess by now that my opinion about certification is pretty negative, and I already wrote about that several times. What is really amazing about this particular time is that serious people whom I respect seem to be arguing for certification, with the idea that certification is coming anyway so it’s better if the community gets on board and influences it rather than ignoring it and suffering after. To that I can only say that people do drugs anyway but it’s still not OK for us to sell it to them.

There is a huge difference between training and certification. I guess that anyone, even Joe the Most-Experienced-Developer-In-The-World, would benefit from a few days of training by Ron Jeffries and most other people arguing for certification now. But that is because these people really have something to say about the way software is built and if you are looking for gems of knowledge that is the right place to look. Developers should take training to get that knowledge, not to get a piece of paper that is supposedly going to help them get a job (and it will not, at least in any company that really cares about development). Training is there to help you get started with a new practice or fill in the gaps. It is not the end of the journey but quite the opposite, just a beginning on the path to knowledge.