How to interview programmers badly

So you’d like to interview for a programming position. Congratulations! You will find there are many helpful methods to make the experience as arbitrary and frustrating as possible.

1. Use a multiple-choice test as your sole screening process

The purpose of a screen is to assess basic competency, so don’t hesitate to make the questions very difficult or based on fringe areas of the required expertise. Candidates love a good challenge! The very best programmers are always eager to jump through the hoops you set up for them.

jeopardy picture

2. Ask questions with no relevance to the required skillset

Interviewing a programmer? Test their real skills with an off-the-wall question such as:

  • “How many ping pong balls can fit inside a Boeing 747?*”
  • “What’s your most efficient day of the week?”
  • “Give me your best pickup line, bro.”

Smart programmers are smart at everything! They will come up with the best possible answer and if they don’t, you know they’re not who you’re looking for.

3. Be a know-it-all

What screams “great work environment?” Future coworkers who already know all the answers. Go ahead and ask the candidate to write a function that manipulates some string. What’s that? They want to use a linked list to store the string? Nope, it’s time to teach them about the amazing world of Ropes. They said the run time of the algorithm was O(n)? Better launch into your diatribe about run-time complexity.

Remember, the only way to convince somebody to work with you is to show how much smarter you are.

XKCD comic. original link:

4. Ask lots of ‘gotcha’ questions

Some questions are great at evaluating the thinking process of a programmer; they’re full of easy assumptions that need to be corrected, solve a relatable problem, and have plenty of solutions that can be improved upon. These are not the type of questions you want to ask.

Rather, learn how to translate these questions into ones with only one correct answer, which you already know:


Leave a Reply

Your email address will not be published. Required fields are marked *