Three more guys walked through the door yesterday. The first proudly wore a Microsoft lapel pin. ‘This is something new‘, I thought, ‘maybe we’ll get lucky this time‘. Two hours later, I said to my colleagues: ‘I can’t do this any more… we are just wasting time‘.

We want to hire a few more people, and some new agency is flooding us with Microsoft certified contractors. We are not looking specifically for certifications, but somehow nine out of ten cats show off with MCSD.NET. A couple of them attached MCSD.NET to their name, in the first line of the CV, as if it was their biggest achievement to date. After the interviews, that thought seems very close to the truth.

I like to start a job interview with a few easy questions, just as an elimination round. Lately, my favourite task is writing a login handler – the problem is common enough so that most people should have encountered it in their first year of work, the solution is short enough so that anyone who writes software for a living should be able to finish it in five minutes, and it has just enough code to show the writing style and flush out those obviously deviant. The problem looks simple enough to catch people off guard, but has a few subtleties which can tell if the candidate was ever seriously involved in a big software project. I appreciate that there are tools, wizards and components out there which solve this, but any would-be developer should really be able to take care of such a problem. I don’t expect candidates to know all the API details, but middleware and server developers must know the workflow and general guidelines involved with executing a DB query.

So far, of the fifty or so hopefuls, only one knew how to do it correctly (and those were the fifty that passed a CV check). And I am not talking about students fresh out of college – we are now hiring for experienced positions to help with a big project. One even had nineteen years in the industry – how he survived for that long without getting his hands dirty is beyond my imagination. I pity the companies he worked for. He first argued that the question is stupid, then started talking about how interview performance does not really reflect coding skills. Out of respect for his two decades in the industry, I tried to explain why I want him to write the stupid login, but no luck. After repeated requests to write it if he knows how, he went through the pain of staring at a blank whiteboard for about fifteen minutes and was sent home straight away – we did not even want to give him a fair trial. With his attitude, he simply could not fit in.

Hide your MCSD.NET

I don’t think that a percentage of people with MCSD.NET who cannot write a login handler is greater than in the overall programmer population, but I am really confused with the whole idea of that certification. What does it mean anyway, if a vast majority of certified developers cannot cope with a simple login? Did those three guys yesterday really expect that they will get the job just because they had some silly pins? Should not that certification guarantee at least some level of competence?

I am sure that there are some really good developers with MCSD certifications, because their companies wanted to join Microsoft’s partnership programmes, and the interview performance of those fifty guys is not doing any justice to them, even if it ‘does not really reflect coding skills‘. And it’s certainly not doing any good PR for Microsoft’s certifications.

Printing MSCD next to the name on a CV is starting to look, from that perspective, really self-defeating – first, it is obviously not a sign of competence, and second, much worse – it’s a signal that the person behind the CV thinks highly of that certification. My internal spam filter is starting to mark CVs with prominently displayed MCSD certifications as junk.