By Ekin Öcalan
Preparing for your Technical Interview @ Delivery HeroBy Mathias Nitzsche
Are you interviewing at Delivery Hero, or are just curious about our tech interview process? Then read on – we want to be transparent about what to expect so you feel well prepared and ultimately, have a positive candidate experience. Our VP Engineering has broken down the various stages of our technical interview process, with many tips, links and insights to help you feel prepared and ready to do your best!
What are we looking for?
To answer this question we very much follow Joel Spolsky (the creator of Stack Overflow) who wrote: “In principle, it’s simple. We are looking for people who are 1) Smart and 2) Get things done.”
On top of these two criteria, and this should be quite obvious, we are also looking for people that fit into the team and who we would enjoy working with. We want to hire engineers who we believe will be successful at Delivery Hero and who help create a work environment where everybody looks forward to coming back every day.
In a nutshell being smart, getting things done and caring for each other, are three major attributes that we value.
You might have noticed, that these three points focus less on hard skills, which we think can be learned, but instead put more emphasis on traits that are hard to teach. They are also aligned with the Delivery Hero company values:
The Interview Process
You will usually go through the following steps during the process:
- Initial call with a recruiter (30min)
- First tech interview (~1h)
- Second tech interview (~1h)
- Final bar raiser interview with a senior engineer from another platform (~1h)
Depending on your seniority, role and location there may be additional steps involved. One of the two technical interviews will usually be with a future colleague (Senior or Principal Engineer), the other one will be with a future supervisor (Engineering Manager or Director). The final bar raiser step is performed by a senior engineer/manager from a different part of the Delivery Hero organisation to ensure that people are hired according to the same standards and criteria throughout the company.
We aim to perform all three interviews within a two week period either via phone or if possible, in the office at our Delivery Hero HQ.
When the interview process is finished, you can expect to hear back from us within 5 business days.
Prerequisites for Technical Interviews
If you have been invited to an onsite interview at our Delivery Hero HQ, here are some of the things to consider:
- Come early enough to allow for yourself to be checked in at our front desk.
- Bring your laptop with you so that you feel comfortable and to avoid having to code on a whiteboard or probably even worse, using a foreign keyboard layout. 🙂
Remote interview via video call (usually Google Hangouts):
- Have a solid internet connection.
- Be in a quiet environment, ideally using a headset.
Structure of our Technical Interviews
Each interview contains several sections, for which you can prepare for.
Interviews usually start with a brief introduction to get to know each other better and to understand your current situation and your motivation. It is also quite common to discuss projects you are interested or currently involved in.
As we are all passionate about engineering, every interview process (for all levels, from internships all the way up to our most senior roles) will involve live coding at some point – for up to 30 minutes.
For the remainder of the interview, broader and more in-depth engineering knowledge and experience will be explored. We want to find out what you know and your way of thinking. In this section, topics like architecture, design patterns, technology choices, decision making or development processes are likely to be discussed.
Of course, towards the end of the interview you will have the opportunity to ask any questions that might have been unanswered.
Tips for Live Coding
First of all, it’s important to point out that we know that simple coding tests are not perfect. They cannot 100% accurately predict how you would work on a huge codebase within an international cross functional team, developing a complex feature for millions of daily users. Nevertheless, they have been proven again and again to be helpful in assessing intelligence, communication and problem solving skills – all things that are quite relevant for being a good engineer.
Interviewers want to enjoy discussing and solving an interesting engineering problem together. To do so, please consider the following hints:
- coderpad.io will be used to code together. You could try it here prior to get used to the IDE.
- Use the programming language you feel most comfortable in! We want to test your problem solving and fundamental computer science skills (theory, algorithms, complexity, data structures, etc.) and not check frameworks or language specific knowledge. Rare exception might be if the position specifically requires a certain skill.
- Talk to the interviewer about what you are doing throughout the live coding, share your thought process. Take your time to think and feel free to ask questions. If you need to be quiet to think, that’s also fine – just let the interviewer know. Listening to other interviews might help you as well: interviewing.io/recordings
- Get things done! In the end, we can only evaluate the code you write. If you can think of multiple solutions discuss the preferred approaches with the interviewer, if not just start with a straight forward simple solution and explore how to improve it afterwards.
- Avoid Trial-and-Error coding. During the development you should not execute your code ongoingly, but rather wait until you think it’s good to run it. And if there are bugs, that’s not a problem at all but a good chance to show your debugging skills.
- Practice! Even experienced senior engineers can get a little rusty at quickly coding an algorithm solving a small math problem, as this is not what you or engineers at Delivery Hero do on a daily basis. Therefore we recommend to spend some time on sites like careercup.com, projecteuler.net, hackerrank.com or topcoder.com to get yourself comfortable with solving problems under time constraints. To practice daily you can subscribe to the newsletter dailycodingproblem.com. If you prefer a good book, check out Cracking the Coding Interview.
- Complexity of algorithms might come up. So quickly read up again what O(nlogn) means.
- And last but not least “You are not your code!“. Even if the process might not be successful this time, you will hopefully have met great people and learned something. In any case we will always treat you fairly and with the highest respect, hoping that we can work together in the future.
If you made it until here you should already have all the information necessary for a successful interview process. If you want to know more about our Delivery Hero culture, we highly recommend checking out the following links:
- Delivery Hero Mission
- Welcome to the Hero Hub: everything you need to know before moving to Berlin
- Delivery Hero Hackathon
- How technology is making food ordering feel kind of magic
And last but not least, if you are interested in becoming a hero, have a look at some of our open positions!