The project interview

Hiring for Tech
May 4, 2020

A blueprint, with a pencil and a ruler laid on top.

Engineers will work on projects, so why not hire them based on projects? Image by Wokandapix from Pixabay

The first time I interviewed at a startup, I encountered a type of interview I wish I had seen before. Instead of solving an algorithmic problem at a whiteboard, I coded a small project end-to-end. This required me to gather product requirements, translate them to a technical solution and finally write the code to implement that solution.

In last week’s article, my guest Vinicius talked about live coding problems and their advantages. Today, I want to deep-dive into these “project” interviews and how to run them effectively.

Effective project interviews

Properly executed project interviews have some serious advantages over algorithm questions:

Picking the right project

I’ve talked before about tailoring the interview to the candidate’s strengths. A project interview is very flexible, because there are many types of projects you can ask the candidate to work on:

All of these problems have a downside. At a big company, engineers usually work with existing codebases. They may understand in detail how a server works, but they haven’t actually set up a server from scratch recently. For these candidates, you can provide some skeleton code. Just be sure to tell the candidate what they should have installed on their laptop ahead of time to run that skeleton code.

Project interviews in a remote-first world

With COVID-19 pushing companies into remote work, figuring out how to hire without a physical onsite has become a hot topic. What’s great about project interviews is both system design and implementation happens on a computer. The interviewer can follow along by having the candidate share their screen.

Yes, whiteboarding is a useful tool when designing a system, and that’s still not a solved problem in a remote setup. But the project interview lets the candidate demonstrate the full design of a system by actually building that system!

Whether it’s coding ability, system design, or product requirement gathering that you’re looking for, a small, scoped project can help you evaluate all of those. Favor real-world coding over artificial problems.

The part I haven’t covered today is whether to implement the project interview via a take-home or with live pairing. For now, I’ll say go with pairing, as that shows you’re willing to spend as much time on the interview as the candidate. But as with everything, there are nuances I’ll cover in a later article.

This post was sent out on the May 4, 2020 edition of the Hiring For Tech newsletter. Subscribe to get future editions sent to you by email, once a week.

powered by TinyLetter