Coding Horror

programming and human factors

Do Certifications Matter?

Name any prominent software technology, and you'll find a certification program for that technology. For a fee, of course.

java certifications

It's a dizzying, intimidating array of acronyms: MCSD, SCJD. RHCE, ACSA. And the company offering the certification is quite often the very same one selling the product. No conflict of interest there.

But do these certifications actually work? Are they valid credentials? Do people who have these certifications perform better than those who don't? Imagine yourself as a prospective employer, interviewing a candidate who presents you with this:

Ruby on Rails programming certificate

My reaction is always the same. That's nice, but show me what you've worked on.

Your credentials should be the sum of the projects you've worked on, and specifically how much you learned from your failures. Certainly your actual experience, your portfolio, counts for a lot more than whether or not you passed some arbitrary, one-time test.

That said, I am of two minds on certification.

I've worked with so-called "web" developers who didn't understand how HTTP POST and HTTP GET worked. It's developers like this who make me pine for standard certification. Even if they're borderline incompetent, if they were certified, at the very least they would have a grasp on the basic concepts needed to do their jobs. In theory, anyway. At the junior level, it seems rational to require certification in a particular technology before they're even allowed in the building. It's the same reason most companies won't hire anyone who doesn't have, say, a high school degree, or a college degree.

On the other hand, I've worked with senior developers who had plenty of certifications under their belt, and they still had no idea what they were doing.

The certification debate has raged for years. This 1998 letter to the editor from Tom DeMarco illustrates how contentious the topic of certification can be.

Though the rationale for certification is always societal good, the real objective is different: siezure of power. Certification is not something we implement for the benefit of the society but for the benefit of the certifiers. It is heady stuff be be able to decide which of your fellow human beings should be allowed to work and which should not. Those who hope for a share of that heady stuff are the core of the camp that favors certification.

The entire discussion is somewhat dishonest. The term "certification," for example, conjures up the image of fresh faced young people lining up to be given their mantles of office while parents in the audience blink back tears of pride and a choir softly hums complex harmonies. But the real issue here is not certification; the real issue is de-certification. Certain people are going to be kicked out of the fold, not because they are not useful to the needs of the market, but because they don't jump through the certifiers' hoops. Lost in the shuffle here - at least in Nancy Mead's view - would be people who do not have degrees. Sorry about that Mr. Gates, in the brave new world, you wouldn't be allowed to write software. You can just sense the frustration of the prospective certifiers that companies like Yahoo are hiring kids right out of high school, kids who don't even know what a Data Division is, for gods sakes! Something must be done about that!

DeMarco goes on to humbly suggest that the market is a perfectly fine selection method all by itself:

I vote that we let poor old Citicorp and poor old Aetna and poor old Microsoft figure out for themselves who they should hire. I suggest that we have a perfectly fine selection mechanism at work today; it's called the market. Some people get hired as software developers and some people don't. It is a lot more competent than any appointed elite would be and a lot more ethical.

Personally, I agree with DeMarco. I don't believe in certifications. The certification alphabet is no substitute for a solid portfolio; you should be spending your time building stuff, not studying for multiple choice tests. But that doesn't mean they're worthless, either. I don't think certifications get in the way, as long as you can demonstrate an impressive body of work along with them.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror