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.

Insider Tip

The call with a Recruiter is a great chance to find out about
Deliveroo as a company, so make sure you think about any questions you want to
ask.

– Bella Rivas-Taquias, Technical Recruiter

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

Insider Tip

Say what you’re thinking, don’t be afraid to ask for help or clarifications

– Bobby Saunders, iOS Engineer

We may ask you to modify or fix a part of your code, this should
not be considered a failure, instead it’s an opportunity to work through an
issue with us.

– Pedro Cunha, Senior Software Engineer

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.

Distributed systems

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.

Insider Tip

Don’t be afraid to ask questions, just like at work, it’s important
to define the problem before jumping into a solution.

– JP Hastings-Spital, Staff Software Engineer

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.

Behavioural

Insider Tip

Always provide real life examples where possible. Think about all
the different aspects of projects you’ve worked on in the past, and feel free to
draw on non-technical experiences. If you don’t have a real life example to draw
on, think about what you would do in that scenario.

– Jenny Sivapalan, Engineering Manager

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 recruitment@deliveroo.co.uk and
we’ll be happy to help out more.

About Salim Hamid

Hey! I’m Salim. I’m the Lead Technical Recruiter at Deliveroo. I joined when we
had 12 engineers, now we’re at…more than 12 engineers. I’ve been hiring engineers
for the past 6 years, and still have no idea what a Cron Parser is. If you like
memes check me out at @team_salim.

About Jenny Sivapalan

I started as a software developer 10 years ago, while I enjoy building
and scaling products I get a kick out of fostering a good team culture.
This was a big drive for me to move into Engineering management. I joined
Deliveroo in September 2017 and so far am enjoying all the culinary delights.