I wanted to write something on certification for April Fool’s Day but Scott Ambler beat me to it.
(Shakes Fist at Scott!)
Actually, for something serious: In theory, I am not opposed to a skills-based certification. For example, I understand that for the Cisco Router test, they plunk you down in a networked operations center with a broken router – somewhere – and ask you to find and fix it. Now, what you do – your troubleshooting process – is a huge part of your evaluation.
Sadly, the majority of certification I see are Body-of-Knowledge and definition based. If you know the definition of fault vs. defect, of Oracle, of Test Case, and so on, you can earn the cert. That has some value, as you can meet someone else and use a sort of “short hand” and understand each other well.
What it doesn’t tell is if you can actually test software.
The Agile Alliance has a similar public position on certification; that a “good” certification would be skills-based. (Read the AA position paper here.)
Sadly, I know of no such certification in the waters I swim in; instead, it seems that, for the most part, opportunists(*) define the simplest possible level of test, one that only tests the very lowest levels of Bloom’s Hierarchy. Personally, I find the answer to “What is the right thing to do in this question” is usually to say “it depends, what about?” and ask a number of follow-up questions – that defies the format of the multiple-choice test.
I understand that the exam lawyers take for the bar has several pages of background information for each question and that the exam for a financial planner is similar – and instead of multiple-guess, those tests are graded as essays.
But even that wouldn’t answer for certain the question “Can this person test (our) software well?”
Having a cert that did that would provide one major benefit to employers; it would allow them to outsource discernment. “Oh, he is a certified agile-tester, he must be good, we can hire him and skip the interview process.”
Is that really what we want?
No, I suspect that I am in the same camp as Tom DeMarco, and, to paraphrase him, I really do believe that poor old Microsoft and poor old Google and poor old Yahoo will have to continue doing what they have always done: Decide for themselves what they want to see in technologists, and design interview systems with the intent of figuring out a yes or no. And the other programmers – the independents, the Micro ISV owners, the start-up founders – well, those guys mostly work for themselves, so a certification simply does not matter.
If you want to demonstrate that you are learning and growing professionally, and are uncomfortable writing and speaking, and for some reason don’t want to make open source contributions (say you are a tester) – I suppose certification-as-a-merit-badge is one thing you can do. For example, I think this is a good, healthy way to view the Scrum Master Credential – let’s just keep our perceptions of it balanced.
A serious post on April 1st. Who woulda thunk.
(*) – And, I am sorry to say, a few others of an entirely different, good character.