Dealing with 20 Languages on a Résumé

A few months back I interviewed with a local internet company. During the course of the interview, they mentioned a pretty brilliant strategy for separating the people who know the names of 20 different programming languages from those who have actually used those languages.

If you don’t already have experience with some or all of the languages a candidate lists, it’s pretty hard to design a test to see if a candidate knows how to program in a language. Particularly if the reason you’re hiring is that you’re so busy that you hardly have the time to interview prospective hires. For the purpose of the interview, you need to be able to pretend that you’re an expert in the languages listed. This is the sort of situation game theorists refer to as bullshitting a bullshitter*.

You want to ask for something that anyone who has built a significant project in the language  would have memorized in the first week. It should also be something that is pretty quick to look up and can be unambiguously checked against a language spec. It shouldn’t involve any of the language’s dusty corners that even someone with years of experience might have to look up, if for no other reason than that it’s pretty hard to come up with a question like that coming from a position of zero experience.

One good option is to pick a very simple problem, like having them write “Hello World” — or slightly more time-consuming, FizzBuzz — in the languages they’ve listed. But if you don’t have a compiler or execution environment handy, it’s fairly time consuming to check, particularly around obscure obsolete language number 19.

The easiest option, which also has an important side benefit, is to ask the candidate how to write a valid comment in each of the languages they’ve listed. Anyone who has any significant experience in a language should be have the comment syntax down pat, even for something they haven’t used in years. The side benefit is that you can find out to what degree the candidate bothers to comment his or her code.

Like any bullshitting-a-bullshitter situation, it’s a brittle strategy: If the candidate knows the question, he or she can cram for it as easily as you can. But it has the advantage that it’s no worse than other cram questions, and is really easy for an interviewer to cram for.

*The part about the game theorists is totally made up. Bullshit, as it were.