Skip to main content

Staff iOS Engineer

Location(s) London
Job ID 6610 Closing Date 14/01/2023 15:30 Contract Full time Hours 40 Contract Type Permanent Salary and Benefits Competitive

Are you an enthusiastic and product-focused iOS developer? Join our growing mobile engineering team at M&S and contribute to our App Store chart topping iOS application that’s used by millions of our loyal customers every month!

We pride ourselves on being a company that puts engineering first and are very excited to find new people to join our community of mobile engineers, who will build modern features using exciting technologies, participate in our hackathons and do the best work of their careers.

Thee M&S app is a universal app, written completely in Swift, and we are always looking for ways to improve, enhance and extend its functionality. Whether that be core functionality or investigating exciting new technologies like Widgets and App Clips. We want someone with a passion for innovation, excellent awareness of new technologies and a broad grasp on the full engineering stack - someone who thrives in a collaborative product development and engineering environment.

Our tech stack
  • Universal iPhone and iPad
  • Latest Swift and Xcode – aiming to always track the latest toolchain
  • MVVM with lightweight functional reactive programming
  • Carthage and Swift Package Manager
  • Fastlane powered CI and CD via Bitrise
  • GitHub
  • Regularly adopting the latest Apple technologies – Pay, Wallet, Push, Widgets and App Clips
  • Focused on strong unit testing coverage and an ambition to push our UI automation to the next level
Our team structure

We love our engineers to collaborate outside of their specialism and consider the full-stack that they work within. To enable this, we operate our mobile team in multiple cross-functional, squads where we aim to get everyone required to solve a given problem into the same team. You would be joining a squad with dedicated iOS and Android developers, backend, testing, design and product owner – a full vertical slice. This squad would have a defined mission to tackle together, where every individual’s contribution is equally weighted.

What we’re looking for
  • Demonstrable commercial experience in Swift and iOS development
  • Understands continuous integration deployment
  • Experienced in using XCTest and XCUITest or similar
  • Passion for improving code and UI performance via Instruments (Leaks, time profiler, etc)
  • Experienced in an agile delivery framework (Scrum, Kanban, etc)
  • Collaborative problem solver
  • Loves to contribute new ideas and improvements to the product
  • Writing testable code, unit tests and following test driven development
  • Broad understanding of the testing pyramid
  • Highly engaged in technical discussions
Our Senior Engineers
  • Mentor and coach more junior members of the team
  • Architect sound solutions for features at the epic-level
  • Setting and continually improving our development standards
  • Actively seeks to work with the wider technology organisation, engages in cross-functional engineering forums and displays genuine interest to learn more about the big picture of our platforms
  • Supporting and guiding product managers on technical decisions and their impact
Our Lead Engineers
  • Steer our overarching mobile engineering strategy and architecture
  • Guide and empower a team of engineers
  • Lead improvements to our mobile platform, engineering practices and processes
  • Create an environment for continuous learning, improvement and feedback for fellow engineers

This list is by no means a checklist, nor is it fully comprehensive. We are looking for passionate iOS developers who just love building the next best thing on Apple’s platforms and working with others to achieve the best value for our customers. If this is you – get in touch!


Apply for role
Job Alerts Sign Up

Don't see what you're looking for? Sign up and we'll notify you when roles become available.

Interested InSearch for a category and select one from the list of suggestions. Search for a location and select one from the list of suggestions. Finally, click “Add” to create your job alert.