Prefer Pairing over Code Challenges

Code challenges exist for a reason. Usually that reason is to see if the programmer can do FizzBuzz, or maybe implement the scoring system for a game of bowling in xyz language. Those types of challenges basically answer the question of: “Do your hands connect to your brain and has that brain done programming at all?”

The more complex type of code challenge is the take home assignment. In this one you are given a set of features to build in your favorite language. These features will usually include: making a todo list, connecting to a server, rewriting Google from the ground up, hacking the CIA and building Skynet. They will tell you that this assignment should only take 2 hours and is unpaid. You will agree and then spend 40 hours on it while neglecting your family.

There is also the leetCode crew and those who code on whiteboards but I can’t parse what they are really about. Nerdy showing off maybe? None of that seems relevant to any job I have ever done.

So what is a hiring manager to do?

Have someone with equivalent technical experience pair program with them. Give them a hour long interview with another developer from your company and have them go over some problem/feature that is currently being worked on. Write some (imcompelete) code and get an idea of how their mind works. That experience will tell you way more about their real world programming skills and style than any “challenge”.