Monzo (View all Jobs)
1. Phone interview 2. Take-home, & call to discuss it 3. 2-3 hours of on-site interviews (systems/behavioural)
Programming Languages Mentioned
We’re searching for a product-aware iOS engineer to join our team. You'll centre users in the way that you think, and have a passion for great UI and UX. You understand the need for tested, resilient code balanced against the need to move fast and iterate.
We’re building a bank for and with our users. A product that’s fair, transparent and a pleasure to use. We see ourselves as something more than a typical current account: we’re setting out to solve all the problems that exist around your financial life in a coherent, meaningful and delightful way.
You’ll be working on a product that is a part of day to day life for more than 5 million people already, and your work here will shape the way that people interact with their finances.
Our mobile engineers have a variety of different backgrounds
There are 15+ iOS engineers at Monzo and we’re looking for one more to join the team. We have several non-graduates; only some of us studied Computer Science; some of us have worked in huge companies; some have only ever worked in startups; others are former consultants. As long as you enjoy learning new things, we’d love to talk to you.
We are actively creating an equitable environment for all of our engineers to thrive
Diversity and inclusion are a priority for us and we are making sure we have lots of support for all of our people to grow at Monzo. We provide a sponsorship framework in Engineering for women and people of colour; all of our leaders are trained on privilege awareness and we are creating partnerships with organisations dedicated to supporting underrepresented groups. You can read more in our 2020 Diversity and Inclusion report.
We encourage an open and transparent working environment
You can get involved in any aspect of the business you are interested in and, following Stripe’s example, all emails in the company are visible in an email archive. We default to transparency and prefer to communicate openly in Slack rather than by email or in DMs. Our blog is an excellent place to learn even more about what we do!
Monzo works in project-based sprints in small, interdisciplinary teams
We have 200+ engineers out of 2,000+ people in total - and we have big ambitions. There are many interesting challenges ahead, and we're happy for people to move between teams or to specialise, whatever you prefer. As an engineer here you'd be able to work directly with anyone across the company, and we run regular knowledge-sharing sessions so you’ll learn heaps about everything from how banks work to effective communication.
Our iOS app
At Monzo, you'll get to work with industry standard tools and technologies - and help us define what great looks like for iOS engineers.
Our app is 100% Swift, built using a Model, View, View-Model architecture (MVVM). We use Coordinators to ensure we can re-use screens wherever possible, and avoid tightly coupling one screen to another. We make heavy use of protocols and extensions throughout our app.
Our networking stack is built upon Alamofire, using a generic interface to easily de-serialise objects of a certain type, and we mirror our backend micro-service architecture by building individual services to house our API logic.
We persist objects using Realm when we need to.
Our testing stack comprises of unit tests for business logic, stubbed API tests for pseudo-integration tests, snapshot tests for UI, and XCUITest for testing user input and sequencing.
We've published some talks and blog posts about how we work:
- Working with backend services on iOS
- Pushing Protocols to their Limits
- The Release Mindset (how we release our apps)
What you'll be doing
This role is all about collaborating across disciplines to test hypotheses and make a difference to customers. As an iOS engineer at Monzo you'll work in a small, autonomous product squad alongside Android Engineers, Backend Engineers, User Researchers, Product Designers, Product Managers, QA Testers, Data Scientists and Business Analysts.
Your mission will depend on the squad, but currently mobile engineers are working on the core personal banking experience, paid products, lending products, business banking and internal operations. We also have a small squad dedicated to enabling other mobile engineers to move faster.
You and your team will be responsible for an overall company goal, rather than building a specific feature - you'll have the opportunity to have impact on both what we build, and how we build it.
Every week we meet as a discipline to discuss tools, techniques, problems we're encountering across the company and work together to improve our codebase and processes.
You'll report to an engineering manager who will meet with you every 2 weeks 1:1, their mission is to help you develop and grow as an engineer.
What we're looking for
We're looking for iOS engineers with strong product sensibilities. You'll care about the impact your work has on our customers, and optimise for impact rather than the number of lines of code you output.
You should apply if:
Our open roles are for mid-level to senior iOS Engineers at present.
- You are excited about and have experience in programming in Swift
- You’ve shipped and iterated on at least one app in the App Store
- You have a product mindset: you care about customer outcomes and you want to make data-informed decisions
- You love turning excellent design into beautiful products
- You’re comfortable working in a team that deals with ambiguity
- You have an understanding of the principles of computer science
Our salary range for the role is £70,000 - £95,000 per annum depending on experience, plus stock options and other benefits including study leave with a learning budget, flexible hours etc. we also provide all of our engineers with the latest MacBook Pro (M1 Pro).
This role can be based in our London office, but we're open to distributed/remote working in the UK.
We can help you relocate to the UK & we can sponsor visas.
Please note we aren't able to support remote working outside of the UK at the moment.
We offer flexible working hours and trust you to work enough hours to do your job well, at times that suit you and your team.
Diversity and inclusion is a priority for us – if we want to solve problems for people around the world, our team has to represent our customers. So we need to attract the best talent and create an environment that supports and includes them. You can read more about diversity and inclusion on our blog.
Our interview process consists of a 45 min initial phone interview, a take-home code test with a call to discuss it for 45 min, and 2 hours of on-site interview that can be conducted via hangouts as well. The ‘on-site’ consists of two rounds:
You'll meet 2 other iOS engineers. Together we'll go over some technical challenges we've faced as a company. We'll ask you to come up with designs to solve these problems, and we'll ask you questions about your experience using Swift in production.
You'll meet 2 Monzonauts to chat about some of the non-technical parts of being a product engineer at Monzo. These include your experience in delivery, team work, coaching/mentoring and persuasion.
At each stage you'll have an opportunity to ask us questions about what life is like at Monzo.
We promise not to ask you any brain teasers or trick questions. We might design a solution together on a whiteboard, the same way we often work together, but we won’t make you write code on one.
Equal Opportunity Statement
At Monzo, embracing diversity in all of its forms and fostering an inclusive environment for all people to do the best work of their lives with us. This is integral to our mission of making money work for everyone.
We're an equal opportunity employer. All applicants will be considered for employment without attention to ethnicity, religion, sexual orientation, gender identity, family or parental status, national origin, veteran, neurodiversity status or disability status.
Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄