This sort of madness is apparently commonplace. I had never directly encountered it, so I was shocked when I interviewed someone today who was incapable of performing a basic programming task. This was someone with a master’s degree from a prestigious university, and he couldn’t code something that you should be able to write as a freshman in college. Fortunately it only took, by my estimate, $18.07 in salaried time to screen him out: I put him in front of the excellent See[Mike]Code after a few minutes of pleasantries and “what would you like to know about our company?”-type questions, watched him fail to code, and ended the interview. During in-person interviews, we “fail fast”: if the first interviewers raise a red flag, they relay this to the second pair of interviewers; if the second pair of interviewers is negative or only neutral, we show the candidate the door. I’m now inclined to fail phone-screen candidates fast: program first, talk about the company second.
I’ve thought for a very long time that the hiring process is largely a *negative* affair: it establishes those people whom you screen *out*, but it doesn’t do a very good job screening *in*. You filter out the obviously incompetent programmers. Then you filter out those with bad social skills. Then you filter out those who fit badly with the company’s culture. You still may end up with disasters. At my company, we give candidates three to six months to prove their mettle even after we hire them, which is (it seems to be) an admission that the hiring process is imperfect.
In large, advanced market economies centered around anonymous transactions, you avoid some of these problems with credentialing organizations like universities. The assumption is that (apart from MBAs, which I gather are high-cost multi-year networking events) a prestigious school wouldn’t just put its stamp on anyone. After today, I’m not at all convinced that that’s true. I want to call up today’s candidate’s master’s-thesis adviser and demand that he pay me $18.07. Perhaps that would start shifting the incentives the right way.
Could it have been nerves?
My favorite ever “do not hire” commentary (all on the same candidate), from two different interviewers, was something like:
“Spoke a ren-faire version of the Queen’s English that made me want to physically harm him. Do not hire.”
“Magical thinker. Strong belief in incorrect information. Do not hire.”
This guy apparently literally did not know how some key component of the internet worked. Or rather, he thought he did, but he was dead fucking wrong, and wouldn’t accept it after being corrected. How’s that happen?
Regarding the first link in your post, I found the test question to be rather confusing since it didn’t say what language it was in. I’m not sure why a new CS student would be expected to assume that “=” means assignment as opposed to comparison. For example, in Dylan and Lisp it’s a comparison.