Senior iOS Engineer
🚀 We’re on a mission to make money work for everyone.
We’re waving goodbye to the complicated and confusing ways of traditional banking.
With our hot coral cards and get-paid-early feature, combined with financial education on social media and our award winning customer service, we have a long history of creating magical moments for our customers!
We’re not about selling products - we want to solve problems and change lives through Monzo ❤️
Hear from our team about what it's like working at Monzo ✨
📍London/ UK remote | 💰 £95,000 - £150,000 base salary per year ➕ share options | Benefits | Technology
About our Mobile Engineering Practice
Our mobile engineers have a variety of different backgrounds
There are ~30 iOS engineers at Monzo and we’re looking for 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 300+ engineers out of roughly 3,800 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.
Your day-to-day
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
- Our mobile release process: An illustrated story
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 involves three main stages:
- Initial Call
- Take home task or pair coding exercise
- Final interview including a system design and a behavioural interview
Our average process takes around 2-3 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 or want to talk through reasonable adjustments ahead of or during application please us at any point on tech-hiring@monzo.com
Please also use that email to let us know if there's anything we can do to make your application process easier for you, because of disability, neurodiversity or any other personal reason
One of our engineers has written a detailed blog on their experience through this process, for extra details, hints and tips please see here.
What's in it for you
💰 £95,000 - £150,000 base salary per year ➕ plus stock options + Benefits, we also provide all of our engineers with the latest MacBook 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.
#LI-Remote
#LI-AL1
Equal opportunities for everyone
Diversity and inclusion are a priority for us and we’re making sure we have lots of support for all of our people to grow at Monzo. At Monzo, we’re embracing diversity by 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, 2023 Diversity and Inclusion Report and 2023 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.
If you have a preferred name, please use it to apply. We don't need full or birth names at application stage 😊
Apply for this job
*
indicates a required field