Until two days ago my reaction to developer certifications was simple. I didn't care. I agreed with the general idea that certifications were mostly useless, but that was all.
Now I think different. I think they are evil.
Certifications have failed to be a good proxy to find good developers. But naive companies still use them for hiring. So what's the big deal?
Problem is, some good developers will fall intro the trap of doing the damn certification because all they see in the surrounding market is that it is required. In other words, there are some good developers that won't have access to a decent company, will give up and will become certificated.
By doing this, they have just validated the certification. Someone will hire them and think "See? There you have a smart developer! And we found him because we looked for certificated people".
So there you have the positive reinforcement for requiring the certification. Of course manager will overlook the cases where the certificated developer was an ineffective one. It's just the way things work.
At this point, the certification has commoditized the developer. Once they got the positive reinforcement, all they will look for is a developer with certifications X and Y. Great for the Human Resources department, but we know that it isn't good at all for the software development department.
Stop a second and think who benefits from this. The crappy developers! As long as they pay some money and pass a test, they can easily get a job. Even if their company eventually realizes they are not good and fires them, they will quickly find another job. And they will keep writing that ugly code you have to refactor or rewrite later.
But this isn't how things have to be. Let's do some backtracking here. Imagine the good developer who felt he needed to have the damn certification refuses to do it. Imagine that he stands by his principles and says:
“Hey!, I know this is crap. I know that there are much better ways to show that I'm a good developer, like participating in open source projects”
Then the magic happens. There is no way a positive reinforcement will happen inside companies requiring the certification. By requiring it, they will stop hiring good developers, because good developers will refuse to participate on this stupid game. Eventually they will notice that. Companies that survive for decades are, at the end of the day, not as dumb as they seem.
Great idea, huh? Well, not really! I guess that what I described on the last paragraph is what already happens in markets with good concentration and appreciation of talent like Silicon Valley. I bet certifications don't work there.
And I guess that in the markets where certifications do work, they will continue to work. All these nice theories work great in paper, but go against human nature: If you someone has to cooperate to get a collective benefit (in this case, stop the certification non-sense) by risking what he considers an important individual benefit (an actual job, with actual money at the end of the month), you know what most people will choose.
But here is the interesting corollary: If the market in which you participate as a developer is one where certifications have too much importance, it means you are working in a crappy market. It's a freaking symptom!
Once you realize that, you can do two things:
- Move to another market . Which means: move to another city, or move to another technology (Shameless plug: you might be interested on working at Continuum as a Ruby developer in Santiago).
- Change your market. It sounds idealist, but it can work and might have very good rewards. Start a company. Compete against the other companies in your market. Show them that they were wrong when requiring those certifications!
That's how you can kill the useless certifications. It is in both your personal interest (participate in a healthy market, work with an interesting technology, become rich founding the right company in the right moment) and our collective interest as a group.
I hope I'm right. What do you think?
PS: Note how all of the above applies to process certifications for companies. If you run or are part of a great company, you should think twice before entering the certification circus.
Read this post in Spanish