We have many roles for Android and iOS engineers at Monzo and we want you to know exactly what to expect if you’re considering joining us. Our interview process is designed to learn about your strengths. You won’t find any brainteasers or knowledge quizzes. Instead, we look for specific skills and abilities that will make you successful in the role.
We’re always looking for ways to improve our interview stages and offer a better candidate experience, so our process may change over time, but this is how it looks in March 2022.
The first step is to head over to monzo.com/careers. You’ll find the mobile openings in Engineering with a description of the role and our fantastic benefits. Alongside your CV, the application will ask for written answers to a few questions covering:
developing customer-centric apps
an interesting technical challenge you’ve encountered
why you’re interested in Monzo
If we think you’re a match for the role, one of our recruiters will schedule a call to learn more about you, answer your questions, and guide you through the process.
☎️ Initial call
In the first interview, you’ll spend 45 minutes on a video call with an engineer in the same role. You won’t be asked to write any code, but you should be prepared to discuss technical topics.
It should feel more like a conversation than a scripted question set, but we’ll usually cover:
a big technical challenge you’ve overcome
building customer-facing apps
working in cross-functional teams
We leave a minimum of 5 minutes for you to ask questions in every interview, so it’s worth making a note of anything you’d like to know about Monzo.
Be prepared to talk in depth about projects you’ve worked on recently. Your interviewer will want to hear about technology choices, trade-offs, and how you worked as part of a team. There are no “correct” answers. We want to learn about your specific experience building iOS or Android apps.
In general, we hire for problem-solving ability over experience. It’s okay if you haven’t shipped apps in a cross-functional environment before, but we do want to hear how you’d approach the kinds of challenges we face at Monzo.
🔬 Take-home task
If the initial call goes well, we’ll send you a development task based on a native Android or iOS project. The task is time-boxed to four hours, and there is no deadline for submission. It’s important for us to see how you work in a mobile codebase. However, we need to balance this with respect for your time and inclusivity for candidates with commitments that make it difficult to complete the task in one go.
The sample project has a range of issues, including bugs, code quality issues, missing features, and design inconsistencies. We include a brief describing how it should look and behave. This is an opportunity to demonstrate your coding skills, but we’re also looking closely at how you prioritise and your design instincts.
After you’ve submitted the task, we’ll book a 45 minute video call with one or two engineers in the same role to discuss your solution and approach.
Stick to the timebox. We’d rather see you make reasoned trade-offs than spend an entire weekend perfecting a solution. In the task review call, you should expect to justify key decisions in your solution and describe what you’d have done differently with more time.
If we’re happy with your task, we’ll book you in for two final stage interviews. The behavioural and mobile systems design interview (outlined below) can happen in either order.
You’ll have a one hour video call with two interviewers, who might be engineers or engineering managers from any part of the business. They’ll ask four questions exploring your approach to topics like communication, learning, working in a team, and delivering projects. Working at Monzo involves incrementally delivering large scale projects at pace so the collaboration and project delivery skills we explore in this stage are just as important as technical excellence.
Spend some time reflecting on interesting challenges you’ve faced and projects you’ve worked on in the last few years. We want to hear about specific scenarios drawn from your experience, rather than a discussion in general terms.
The interviewers at this stage may not have direct mobile development experience, so be prepared to give an appropriate level of context on any technical details.
🧬 Mobile systems design
We’ll present you with a UI design and some initial requirements and ask how you’d approach building a hypothetical feature. The goal is to produce a blueprint for the end-to-end implementation, with enough detail that we could start implementing something together.
You’ll meet two mobile engineers, and at least one of them will have the same iOS or Android specialisation as you. This is a one hour video call with the help of a virtual whiteboard. You don’t need to worry about learning a new tool, though. One of your interviewers will do the drawing, allowing you to focus on your thought process.
We don’t write code in this session, except perhaps sketching out some data models and interfaces. The problem focuses on reasoning about the kinds of data flows and abstractions you often encounter as a mobile engineer.
We’d like you to drive us towards a solution, describing trade-offs and reasoning about technical decisions along the way. We’d rather see a fantastic approach to the problem than a textbook architecture. The key to success in this interview is maintaining a shared understanding of the solution with your interviewers and proactively resolving areas of ambiguity.
We’ll review feedback from all of the interviews, and if we think you’d make a great addition to Monzo, we’ll send over an offer. Of course, interviewing works both ways, so we’ll happily set up chats to answer any further questions that might help with your decision. We hope you’ll join us. 🎉