Senior Android Engineer
Monzo (View all Jobs)
1. Phone interview 2. Take-home, & call to discuss it 3. 2-3 hours of on-site interviews (systems/behavioural)
We’re searching for seasoned product-aware Android engineers 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 a 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 12 Android 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 just shy of 200 engineers out of roughly 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 Android app
At Monzo, you'll get to work with industry standard tools and technologies - and help us define what great looks like for Android engineers.
Our app is almost 100% Kotlin, built using MVVM (Model View ViewModel) and Coordinators, and modularised by product feature.
We use RxJava, Retrofit and Moshi for API calls and Dagger for dependency injection. Room is our choice for persistence, and Repositories for interacting with them. We’re starting to build out our design system, which we’re doing using Jetpack Compose.
We use GitHub Pull Requests to do code reviews, and write unit tests for our ViewModels, Coordinators, and any other classes which contain logic. We Espresso for UI tests, which we run on Firebase Test Lab via CircleCI.
We’ve previously written about building Monzo Chat on Android, which goes into detail on some of these elements.
What you'll be doing
This role is all about collaborating across disciplines to test hypotheses and make a difference to customers. As an Android engineer at Monzo you'll work in a small, autonomous product squad alongside iOS 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 Android 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:
- You’ve shipped and iterated on at least one app in the Play 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 £95,000 - £126,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 (M1).
This role can be based in our London office, but we're open to distributed/remote working within the UK.
We can help you relocate to the UK & we can sponsor visas.
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.
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.
Our interview process consists of an initial phone interview, a take-home code test with a call to discuss it, and 2-3 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 Android 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.
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! 😄