Senior iOS EngineerWe'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.Location- Barcelona (ESP) | Base salary for this role is depending on experience + stock optionsYour Day-to-DayWe're searching for product-focused iOS engineers to evolve our native mobile app. You'll take pride in building polished user experiences, and you'll balance the need for well-tested resilient code with moving fast and iterating.You'll be working on a product that is a part of day-to-day life for more than 11 million people already, and your work here will shape the way that people interact with their finances.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, and Data Scientists.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 an impact on both what we build, and how we build it.Technical StackOur app is 100% Swift and our latest features are built in SwiftUI and using elements of The Composable Architecture. Historically we built using a Model, View, View-Model architecture (MVVM). We use Coordinators to ensure we can re-use flows 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 log liberally to get alerted when they're triggered in Sentry which we also use to monitor crashes.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.You Should Apply If- You care about the impact your work has on our customers, and optimise for outcomes rather than the number of lines of code you output.- You're 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 computer science principles.The Interview ProcessOur interview process involves three main stages:- Initial Call- Take home task or pair coding exercise- Final interview including a system design and a behavioural interviewOur average process takes around 2-3 weeks but we will always work around your availability.What's in it for YouBase salary range for this role is depending on experience + equity + stock options & benefits.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.Diversity and InclusionDiversity 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.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 the application stage.Job ID 6674220#J-18808-Ljbffr