1. Online Q&A with candidates
  2. Screening questions
  3. Take-home challenge
  4. Interviews

1. Online Q&A with candidates

<aside> đŸ’¡ The Q&A is optional, but is a great way for candidates to find out more about your company.

</aside>

Q&A sessions last around 45 minutes. They are online and informal. You can prepare a slide deck, but you don't have to. Allow 10-15 minutes for your presentation and the rest of the time for questions.

2. Screening questions

You set the questions. We can help. We will collect and send them to you. We usually send responses to you anonymously, but we can attach links to GitHub profiles, on request.

3. Take-home challenge

<aside> đŸ’¡ The take-home challenge is optional, but is a great way to assess candidates’ technical skills before deciding to interview.

</aside>

We encourage you to set a simple take-home challenge suitable to the level of the candidates, so not requiring the use of a framework like React, although a backend using Node.js and Express is fine.

Our intention is that the challenge can be used as a basis for a technical discussion at interview, although need not be a replacement for other parts of your interview process.

Aim for a challenge that you would expect a member of your team to be able to complete in under an hour (although the candidates may well take significantly longer).

Jacob Kaplan-Moss, the co-creator of Django, is a strong advocate of work sample tests. This means avoiding abstract problem solving or LeetCode-style coding challenges in favour of short coding challenges that approximate the kinds of work that are actually required for the job.

The following example might be suitable for a developer role at, say, the New York Times.

Take-home challenge example

4. Interviews

Interviews can start as soon as you have reviewed candidate applications. We can help with interview scheduling.

For very junior roles, Kaplan-Moss advocates 'reverse code reviews' or what Jackson Gabbard calls 'code reading' exercises, where a candidate reads a self-contained snippet of real-world code or reviews a pull request with some obvious errors in it, at the appropriate level of difficulty.