How do we interview engineers at Deliveroo?
Deliveroo is growing fast. We want engineers to come work with us. In this post we’ll go through our interview process and tips to prepare.
As Deliveroo continues to grow rapidly, we thought it would be a good idea to provide insight into how we interview Software Engineers here, and the thought process behind each interview stage.
It’s our aim to ensure that every candidate who walks through the door has a great experience, regardless of the verdict on their application. By laying out the process from start to finish, we hope it will help you to get a clear idea of what we’re looking for. All our interviews are two-way; they are a great opportunity for you to find out more about the way we work, and see if Deliveroo is a place that you would want to join.
If you’re applying at Deliveroo, it’s important to remember that every single person here wants you to get the job! From the person reviewing your CV, all the way to final stage interviewers, you won’t meet a single person who isn’t hoping your interview goes well just as much as you are. Hiring is no easy task: it takes a lot of effort, buy-in and coordination from recruiters, engineers, hiring managers and even heads of department, so it’s really important that we hire who we think are the best people for the job.
On that note…
Our Interview Process
For software engineers the process is typically the following:
A 15-30 minute call with one of our Recruiters or Engineering Managers. This is a chance to find out what you’re up to at the moment, what kind of roles you’re interested in, and seeing how Deliveroo can tie into those interests. We may discuss some of the technologies you’ve used but we won’t ask challenging technical questions during this call.
We’ll then send out a technical task for you to complete at home while we schedule your onsite interview. It’s important to remember that the technical task we send out is not used as a gate, but is essentially the first part of the final stage interview process.
The onsite interview will generally consist of:
- A pair programming interview
- A distributed systems interview (if you are a backend engineer)
- A behavioural interview
We generally try our very best to ensure you only need to visit our office once, in an effort to be as convenient as possible and considerate of your schedule.
After the interviews have taken place, our team independently provide written feedback and we conduct a debrief to go through it all together. Having reviewed this feedback, we’ll contact you as soon as possible with the outcome along with interview feedback. We love to demonstrate our commitment to finding and hiring talented individuals by turning around the whole process from interview to offer within a week!
The Pairing interview
Before coming in for the onsite interviews you’ll be asked to carry out a tech task in your own time. The task is a problem that we would like you to code a solution to.
The tech task will be specific to your role, for example Android and iOS engineers will be given a different task related to these platforms compared to a backend engineer. Ideally, the solution provided would be something you’d be happy to offer in a professional environment. However also be aware that we expect the tasks to take 2-3 hours maximum. So you may find you have to make trade-offs to your solution, these can be good discussion points in the interview.
Once you’re on site, you’ll spend an hour with two Deliveroo engineers going through the pairing exercise. Their aim is get an understanding of how you produced your solution. They will ask you about the decisions you came to and you will be asked to make changes or add features to it. They’ll also be assessing how resilient and robust your code is, both of which are key factors in production code at Deliveroo.
If you’re a backend focussed engineer, we’ll also conduct a distributed systems interview.
We’ll propose a scenario that assesses your ability to break down a high level problem. We’ll aim to understand your thought process when making trade-offs and decisions, drawing on your past experience and/or technical knowledge. This interview is conducted using a whiteboard, both you and the interviewers are free to scribble down any ideas.
The process will involve collaborating with the interviewers to arrive at a solution. In some cases (with more experienced candidates) we will expect you to lead this discussion.
This blog post does a great job of explaining how to prepare for a a distributed systems interview.
In this interview, we’re looking for evidence that shows you have the capability to work as part of a team, deliver successfully and apply creative thinking. We’ll ask you for examples of when you’ve applied techniques in areas such as understanding requirements, problem solving, and proactiveness, to name a few.
If you have any questions that this post doesn’t cover, you’re more than welcome to email firstname.lastname@example.org and we’ll be happy to help out more.