The Value of Certifications
A friend recently sent me to a blog entry about Microsoft certifications by Oren Eini. This was really a bummer of a read for me – primarily because I’ve been a follower of his blog for a while and have used his NHibernate generics library in several projects. That said, there are several points that I do want to address.
1) Oren described a question where the only distinction between the correct and incorrect answer choices was a Boolean value on a method call – and of course, the candidate wasn’t told what that parameter represented. The comment was that a question like the one described is “fatally flawed”. Bottom line – I agree – that type of question sucks. In fact, in the new generation of certs (.NET 2.0 exams) we have been actually using questions like that one as examples of what not to do when we train people how to write questions.
2) Oren described a question where somewhere in the question was a concatenated SQL string and the correct answer was something along the lines of ‘dr.GetInt32(0);’. So first off, I haven’t seen this question, but from the looks of the description, I’m going to guess that since ‘dr’ looks like a DataReader class instance, the offending query is probably up in the question body. So while that doesn’t take away from the fact that concatenating SQL strings is a horrible practice, if in fact I am correct about the placement of the offending code, I can tell you why it was probably done that way – to save space. Plain and simple. Using parameters would require more lines of code, which would make the question longer, which could potentially cause the candidate to have to scroll – and this is something that we try to avoid. If anyone knows of the specific item in question here, please validate or invalidate my assumptions here.
So past those specifics, I did want to additionally speak to Neal’s comment. Neal says:
“Any ‘certification’ that can be achieved by a grad developer being shoved through a week long bootcamp really doesn't give me any faith in the grad (for wanting their food pre-chewed) or the certification (for the complete lack of any real effort or knowledge it takes to acquire).”
Wow – so what are the poor college grads to do? Are we essentially saying that these folks should basically go out into the job market with their fingers crossed that someone will like the font on their resume better than those of their competition? And in fact, if certifications are simply evidence that an individual can study a bunch of material, pass a series of tests, and get a dimploma…uh…er…I mean a certificate, then really why go to college at all?
In my opinion, there is a huge difference between having knowledge of something, and having the ability to evaluate a context and make decisions about how that knowledge should be applied – and it is that distinction that has been the driver behind the new 2-tiered structure for Microsoft certifications. We should absolutely provide a means for college grads to differentiate themselves from peers when going out into the job market. However, that differentiation cannot carry the guise of experience – and this was one problem we saw in the old MCAD and MCSD programs. Hence, we created the Technology Specialist) tier of certifications. So a college grad carrying this distinction would be able to say “I studied about ASP.NET, jumped through the hoops of taking this exam, and can now tell you that I know how to write ASP.NET applications – though I can’t tell you a thing about building a threat model or designing to scale to 100,000 concurrent users.” (much like I said about my computer science degree when I graduated college) For that type person, we created a separate tier of PRO exams.
So the question in my mind is this. Is the vision behind the new generation of certs wrong, ill understood, or just not well enough broadcasted?
I am currently the Editor-in-Chief for MSDN Magazine. I joined Microsoft in 2006 as a product planner with the certification team at Microsoft Learning. Prior to that, I spent my career as a developer and later as an architect. My main technology passions include pretty much anything on language theory, agile development, and service-oriented architecture.