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

The project interview

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:

  • The candidate gets to work on their own laptop. This lets them their favorite tools, instead of forcing them to use unfamiliar and artificially limited ones. (Though, you should probably have the option of providing equipment in order to be inclusive.)
  • The candidate has access to documentation. Imagine coding without resources like StackOverflow, or at least some documentation. Not ideal. Besides, external resources don’t mean copying and pasting. It means solving more interesting problems.
  • Most importantly, the candidate won’t be solving isolated algorithm questions day to day. So you should evaluate them on what they’ll actually do: solve business problems through software.

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:

  • When I was at a startup making my first technical hire, the job required lots of odds and ends. My first week at the job, I read up on the Java class file format and wrote a parser for it (part of the product was static code analysis). I decided to ask candidates to do exactly that! At least no one could say that interview question was irrelevant for the job.
  • For small companies where you’re expecting full stack engineers who can own a project from ideation to implementation, creating a web or mobile app end-to-end is a very typical job requirement. Ask the candidate to do that.
  • For candidates who are more specialized, say a front-end expert, emphasize that part of the stack. For example, have them implement a mobile app that connects to an existing server you’ve set up.

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 article was originally published on the Hiring For Tech website. If you want to read more content from me, please subscribe either by email or on LinkedIn. And please reshare with your networks so others can find out about Hiring For Tech!

Jay Snipe

IT leader with a passion for building teams and solving problems

4 年

This can be both good and bad. At one company, I was asked to build the code for an ATM, and never even met a person related to the position. They even docked points from the solution for adding on an audit table that wasn't listed in the requirements. Needless to say, I learned more from the interview than they did - I learned that I wouldn't want to work for that company that didn't have time to meet me in person and didn't value creativity.

回复

I like the approach we would have been here decades ago things would be better but we are getting there

Sujith Rajendran

Cloud Infrastructure Architect | Cloud Consultant | Coach | Mentor |

4 年

Informative !!!

Jonathan Freeman

Experienced Software Engineering Leader

4 年

Very thoughtful as usual Avik! I’ve always wondered where the fine line between a test, example project, and useful “work” comes in. I’ve heard in some states if you have them working in some significant way you can be on the hook to pay for their labor. If I had someone build me a fence to show they knew carpentry, do I have to pay for that? If I tear the fence down right after does that change the situation? Good follow up question :)

Avik Das

Engineering Leader @ LinkedIn

4 年

???? Have you ever encountered a really interesting project interview? Do you prefer this style or the more traditional whiteboarding? Let me know! ????

回复

要查看或添加评论,请登录

Avik Das的更多文章

  • Acing the system design interview

    Acing the system design interview

    It’s been a while since I last wrote, but in the last year, I’ve done a lot of system design interviews. I really like…

    4 条评论
  • "It's not peaches and cream either for men"

    "It's not peaches and cream either for men"

    I spend a lot of time talking about men’s mental health because it’s what I, as a man, know about. And like with…

    1 条评论
  • It's okay to not be okay

    It's okay to not be okay

    What I’m about to say applies to everybody, but with Movember and my own experience as a man in mind, I hope my words…

    2 条评论
  • What's still wrong with tech hiring

    What's still wrong with tech hiring

    Last year, I set out with a head full of disconnected thoughts about hiring and a vision to share those thoughts with a…

    15 条评论
  • One size does not fit all

    One size does not fit all

    I’ve talked about what seem to be two conflicting topics: standardizing your interviews and accommodating different…

    5 条评论
  • Formal interview training

    Formal interview training

    A running theme in this newsletter is the idea that good software engineers don’t automatically make good interviewers.…

    1 条评论
  • Interview apprenticeship

    Interview apprenticeship

    Software engineers are well-positioned to evaluate a candidate’s technical ability, but conducting an interviews is…

    6 条评论
  • Interviewing and pattern matching

    Interviewing and pattern matching

    For candidates, a full day of interviews is grueling, but in the context of demonstrating your technical skills and how…

    3 条评论
  • Technical skills every software engineer interviewer should have

    Technical skills every software engineer interviewer should have

    There’s a lot of discussion about technical skills candidates need to have, like algorithms, systems design, technical…

  • Prepare your story

    Prepare your story

    If you’re planning on starting or continuing your job hunt this year, the beginning of the year is a good time to…

    3 条评论

社区洞察

其他会员也浏览了