Senior iOS Engineer
Monzo (View all Jobs)
Cardiff, London or Remote (UK)
1. Phone interview 2. Take-home, & call to discuss it 3. 2-3 hours of on-site interviews (systems/behavioural)
Programming Languages Mentioned
📍Anywhere, UK | 💰 £80,000 - £140,000 base salary per year ➕ plus stock options + Benefits
We’re here to make money work for everyone and we're doing things differently. For too long, banking has been obtuse, complex and opaque.
We want to change that and build a bank with everyone, for everyone. Our amazing community suggests features, test the app and give us constant feedback so we can build something everyone loves.
We're focused on solving problems, rather than selling financial products. We want to make the world a better place and change people's lives through Monzo.
About our mobile engineering practice
Our mobile engineers have a variety of different backgrounds
There are 25 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.
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 roughly 2,500 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.
We’re searching for a product-aware Senior iOS engineers with a passion for great UI and UX to join our team. You understand the need for tested, resilient code balanced against the need to move fast and iterate.
You’ll be working on a product that is a part of day to day life for more than 6 million people already, and your work here will shape the way that people interact with their finances.
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.
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)
You should apply if
Our open roles are for Senior iOS Engineers at present.
- 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 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
The interview process
Our interview process consists of a 45 min initial call video interview, a take-home code test followed by a 45 min video call with an engineer to discuss it, and 2 hours of final interviews conducted via video call as well. The final rounds consists:
1h iOS technical
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.
Our average process takes around 3-4 weeks but we will always work around your availability. You will have the chance to speak to our recruitment team at various points during your process but if you do have any specific questions ahead of this please contact us on email@example.com
One of our Hiring Managers has written a detailed blog on our process, for extra details, hints and tips please see this blog post.
What's in it for you
💰 £80,000 - £140,000 base salary per year ➕ plus stock options & benefits, we also provide all of our engineers with the latest MacBook Pro (M1 Pro).
✈️ We can help you relocate to the UK
✅ We can sponsor visas but please note we aren't able to support remote working outside of the UK at the moment
📍 This role can be based in our London office, but we're open to distributed working within the UK (with ad hoc meetings in London)
⏰ 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
📚 Learning budget of £1,000 a year for books, training courses and conferences
➕ And much more, see our full list of benefits here
If you prefer to work part-time, we'll make this happen whenever we can - whether this is to help you meet other commitments or strike a great work-life balance.
Equal Opportunity Statement
We are actively creating an equitable environment for every Monzonaut 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. 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. You can read more in our blog, 2022 Diversity and Inclusion Report and 2021 Gender Pay Gap Report.
We’re an equal opportunity employer. All applicants will be considered for employment without attention to age, ethnicity, religion, sex, sexual orientation, gender identity, family or parental status, national origin, or veteran, neurodiversity 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! 😄