In the last 2 months, we've talked to ~43 startups about their interview process for software engineers and have identified what has worked and what hasn’t for them.
In this post, I’m going to highlight one interview process that is working for about 70% of these early-stage startups trying to hire their first couple of stellar engineers. These startups have gone through a few iterations to arrive at this process.
Although they have all been working independently, it is interesting to see that most of them converged at some variation of the process below. Now for the details, here is the process:
The common first step in the process is a 30 minute call. The purpose of the call is 50% filtering if the candidate is a good fit for your team and 50% selling your company.
We have seen companies filter candidates using the following criteria:
- Are their near-term career goals aligned with the goal of the startup? For example, you are looking for a strong back-end individual contributor in your team, but the candidate wants to move into management in the next 6-8 months. They are probably not a great fit.
- Does the candidate know what it means to work at a startup? For example, will they understand the fast-paced nature, the need to be scrappy + creative, the need to focus on impact and the ability to wear multiple hats?
- Based on past projects and experiences, does the candidate have what it takes to work at your startup? For example, does the candidate show ownership, curiosity and a product mindset?
The second purpose of the call is to sell. There are lots of terrible startups out there and lots of great ones. You need to convince the candidate why they should work with you on the problem you are solving. This shouldn’t be an explicit sell but an implicit one. You want to highlight your team, your product, and the challenges you are facing.
Great engineers love challenges - so don’t be scared to be transparent here about your problems. For example, you might be scared to share that you are working on an archaic stack while transitioning to a new one. While that could spook a potential investor, a great engineer will be excited to be a part of the solution.
Lastly, in this call, you’ll want to highlight what the rest of the interview process looks like. This is your chance to get the applicant excited about the take-home assessment and set expectations for the timeline.
Collaborative Take-home Assessment
About 70% of the startups we talked to were doing a practical asynchronous interview (aka take-home assessment). This exemplifies the growing trend to move away from LeetCode-style live assessments and towards more practical asynchronous interviews.
Why? Because at a startup, you need someone with the practical skills to provide impact right away and hit the ground running. LeetCode can be a good proxy for aptitude, but it doesn’t measure raw skills at completing a practical problem. At a startup, you need engineers that can solve the problems you have today, quickly and effectively.
The most successful take-home assessments generally have the following things in common:
- Well-scoped: One possible pitfall with a take-home challenge is that some candidates can take days on it and others will do it in a few hours. It’s hard to compare submissions. Also, if the scope is too ambiguous, then candidates will have difficulty estimating the time and effort involved and decide not to proceed. The startups we’ve talked to who found success had clearly scoped out problems in their take-home assessments.
- Collaborative: Take-homes have the potential to feel impersonal. To address this you can connect with each candidate to show the investment you would normally show in a synchronous interview. One great way to do this is to connect with the candidates over Slack so that they have a direct line to someone on your hiring team.
- Compensated: If the work is close to real work that can help you at your company, you may want to consider compensating the individual. It also depends on the role (the more senior, the more likely you will need to compensate). Compensation doesn’t need to be monetary, it can also be a promise of feedback or a synchronous follow-up call to discuss the take-home.
- Practical, but not too practical: The best take-homes are based on real problems the company has faced. This allows you to see if the future candidate is able to tackle the problems you are facing today. However, you don’t want to make it too practical (like work on a real issue on our codebase), as it’ll be hard to scale - you’ll need to create new problems for each candidate, you’ll need to handle the security and legality of sharing your codebase with everyone, and it’ll be hard to compare candidates.
One of the challenges of a take-home assessment is candidates dropping off. Startups solve this in the following ways:
- Selling on the intro call: When the candidate is interested in your company from the very start, they will be more invested throughout the process. Even better than that, you can also sell the take-home assessment, by piquing the candidate’s interest in the problem on the intro call.
- Staying connected: By maintaining communication with them throughout, candidates know that you are not doing a take-home because you want to save time, but instead because you want to build a very practical assessment.
- Compensating: We went over some of the reasons you might compensate candidates already, but this also goes a long way towards giving candidates a reason to try your assessment.
- The total process is shorter: One complaint about take-homes is that they extend the interview process for candidates. However, in this described interview process, the total process is actually shorter - since the take-home is replacing multiple steps in a traditional interview process.
At the end of the day, it’s also signal for your team. If a candidate is not interested enough in your company to try a practical take-home, then they may not be a good candidate for your startup.
The last step is the onsite (note: this is typically called an onsite, but it is mostly done remotely). This step is usually comprised of a series of calls:
- Going over the take-home: This is your chance to ask follow-up questions about the take-home assessment. Use questions here to both provide feedback, see their thought process and suss out any plagiarism or dishonesty.
- Extending the take-home: This step can be combined with the previous step. In this part, you’ll ask candidates expand upon the take-home by either (a) answering questions that test their ability to solve more challenging design-based problems, and/or (b) attempting to improve the assessment. It’s a good idea to give an idea of what they will be doing here ahead of time, so they are not taken off guard and can prepare.
- Final culture fit + meet the team: Lastly, you’ll want to address any culture related questions you or they may have outstanding and give the candidate a chance to meet the team. This step doesn’t need to be done independent of the other two. You can have candidates meet the team as a part of the previous steps.
So there you have it. We have seen this as a process that not only works, but if done properly, can be a great experience for both you and the candidates.
One of the challenges of running this process is that it does require upfront work to set up. It also requires a great deal of iteration and experience to run this well. This is something that you can definitely do yourself, but you don’t have to. If you are interested in seeing how we can help you design and administer a collaborative take-home assessment, we’d love to book a time to learn more about the challenges you are facing!