I applied through a recruiter. The process took four weeks.
I was contacted by an HR representative via LinkedIn about interviewing for the role. I had a short phone call with HR about what that would entail, and they put me forward for the developer role. I first had a half-hour Google Hangout with an engineering manager, which was a technical screening talking about the role I currently work in and a few technical questions surrounding that. I then had a take-home coding test to do, which was an unfinished news-app-style project that I was asked to fix bugs and add features to, with a four-hour time limit.
I then had another Google Hangout with another iOS developer, going through the changes I had made to the code test. I was asked what my approach to the task was and why, what I would have done differently if I were to do it again, what I would tackle next, and some specific questions about parts of the code. I was rejected at this point with the feedback that I focused too much on restructuring the code instead of the implementation of more features. The initial project had a very small and sloppy codebase on purpose to see what approach to the task you decide to take, and I spent most of the time refactoring the existing code to support a scalable, testable, and readable code structure as if the codebase were to form the start of a larger project, as well as adding several features as mentioned in the brief and design spec. It seems a shame that they are more interested in getting the task more feature-complete than the code behind it. But I'm mostly just salty because I got rejected and I love them!
Why did your team decide to use the MVVM architecture for the current app that you're working on?
The following metrics were computed from 7 interview experiences for the Monzo iOS Engineer role.
Monzo's interview process for their iOS Engineer roles is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Monzo's iOS Engineer interview process.