Agile Zone is brought to you in partnership with:

I am an author, speaker, and loud-mouth on the design of enterprise software. I work for ThoughtWorks, a software delivery and consulting company. Martin is a DZone MVB and is not an employee of DZone and has posted 83 posts at DZone. You can read more from them at their website. View Full User Profile

Certification Competence Correlation

  • submit to reddit

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.

Published at DZone with permission of Martin Fowler, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



Adrian Engler replied on Tue, 2011/03/29 - 6:08am

People (like me) who have put quite some effort in preparing for Java certifications may tend to exaggerate the usefulness of the certification process, while there is probably some sour grapes motivation for some of the people who do not have IT certificates.

I agree with Martin Fowler that there is little correlation between the competence of developers and the fact whether they are certified. I don't know about any exact investigations, but obviously many brillant programmers do not have certificates, while some mediocre ones have. This certainly casts a doubt on the usefulness on certification. But in my view, it does not necessarily mean that certifications are generally useless.

First, competence is obviously not a binary property. From very competent people to completely incompetent people, there can be everything. The question about how to find out who is particularly competent and may therefore be suitable for an important position (lead developer or however it may be called) is probably the more interesting one, and for this question, certification really does not help much. On the other hand, I would claim that it does have some usefulness for lower levels. There are probably very bad certifications that cannot even distinguish completely incompetent people, but in my view, the standard certifications for Java (Java Programmer, Java Developer, Business Component Developer, Enterprise Architect, ...) can do that quite well. People who clearly have a very low level of knowledge and experience in the areas that are tested will fail quite reliably, even if they attend courses beforehand. In many cases, it will be clear from someone's education and previous work experience that they will hardly have such a very low level of competence, but there are junior developers who may be quite good, but for some reason their CV doesn't clearly show this. If such people are certified, it does not show potential employees whether they are brilliant, but it shows that their level of competence is probably not extremely low, and that can be important for people who, for instance studied computer science only as a minor subject or have their experience mostly from part time jobs and not from well-known companies. This is more or less what Martin Fowler writes - certifications can open doors for some people, while they are not very useful for assessing higher levels of competence. I just would not see it so negatively - we should not expect too much from certifications, and ascertaining a certain minimum level of competence is something quite useful, as well. For many people, this will not be necessary, but depending on details of the CV, it can be quite useful.

Second, in connection with what I wrote in the previous paragraph, it is likely that a large part of those who put in effort for getting IT certification do so because they perceive some lack in what their CV already shows, and they want to compensate for this. This may under some conditions lead to a negative correlation (probably not among all developers becausein any area of work in IT, there would be a significant part of people whose knowledge is insufficient for certifications in that area, but among the people with a certain minimum level of competence, the correlation may well be negative). So, if the only thing you know about a person is whether he or she has a certain certificate, the fact that the person has a certificate may well be a neutral or even negative sign. But this situation is not realistic. If a junior developer without much experienceor or with an unusual education has important certificates in an area, this should probably be seen as a good sign. On the other hand, if someone, although he or she is very experienced in an area and would not "need" the certificate still put in the effort to get certified, this is probably rather a good than a bad sign, as well. The neutral or even negative correlation is probably only there if we look at certification in isolation.

I have some doubts whether courses are really a good justification for certifications. There may well be very good courses, but I have the impression that most courses are even much more useless than certifications. On the other hand, if people prepare for certification exams by self-study, reading books and trying out things for themselves at their computer at home, this is in my experience very useful. Practical experience at work is even more useful, but I am convinced that I profited quite a lot for preparing for certification exams and assignments not so much because of the impression the certificate could make on potential employers, but rather because of the additional knowledge and experience I gained during the process. I doubt whether it would have been so useful for me if I had gone to courses rather than going through the materials for myself.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.