Over a million developers have joined DZone.

Certification Competence Correlation

DZone's Guide to

Certification Competence Correlation

· Agile Zone
Free Resource

Reduce testing time & get feedback faster through automation. Read the Benefits of Parallel Testing, brought to you in partnership with Sauce Labs.

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.

The Agile Zone is brought to you in partnership with Sauce Labs. Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure.


Published at DZone with permission of Martin Fowler, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}