28 March 2011
Most of my friends and colleagues are very negative about certification schemes in software development, a disdain that I share. This doesn't mean that I think that certifications in software are bad by definition, just that almost every one we see fails a basic test.
For a certification to be useful, it needs a correlation with competence in the thing that it certifies. So if Alice has a certification in, say, clojure programming; then there should be a high probability that Alice is a competent clojure programmer. High probability isn't a guarantee, but it should be significantly higher than the general programmer population. The reason we have disdain for most software certification programs is because we've not seen such a correlation (indeed sometimes we feel there's a negative correlation).
Furthermore, the fact that most certification schemes lack this correlation means that I tend to judge such schemes as guilty until proven innocent. This includes new schemes, which is why I've been deeply wary of getting involved in new certification programs.
A useful certification scheme, one with a respectable competence correlation, would be a Good Thing - particularly if it had a broad focus. Such a scheme would make it easier to hire someone for a task. At the moment the only way you can tell if someone is a good programmer is to find other good programmers to assess their ability. Such assessment is difficult, time-consuming, and needs to be repeated by each hiring organization. If you are a non-programmer looking to hire someone, such an assessment is particularly daunting.
What makes the situation worse is that certification schemes, even the useful ones, are prone to corruption. If you can get recognition for a certification scheme, there is a good money-making opportunity there: courses, assessments, books etc. Sadly there doesn't seem to be much correlation between a certification's ability to make money and its usefulness.
Is it reasonable for a competent person to acquire a useless certification? I wish I could answer no, but the reality is that a certification is often used as an entry gate, even if it is useless. As a result competent people often need a useless certification in order get an interview. (I suppose you could argue that this makes the certification useful, at least in an economic sense, but I prefer to stick with competence correlation.)
I do think that if you hold a useless certification, you should never try to imply that it means anything. Indeed you should take what opportunities you can to educate people about its uselessness. Lousy certifications are a canker to our profession and we should work as much as we can to remove them.
Many people I know and respect offer certifications as part of their training courses. This is bad in that it reinforces the canker, but on the whole I sympathize. Many organizations will only send people on a course if it comes with a certification, and I think it's reasonable to offer a certification to help bring people to a valuable course. Furthermore, as I discussed above, it is reasonable for people to get a useless certification, and I would rather them gain such a certification in a useful course.