Senior Software Engineer (iOS)

Milan or Cagliari
At Moneyfarm we use technology to make saving and investing for the future accessible to everyone in a simple and transparent way. We build software that augments and optimises our in-house financial advisory expertise to offer our customers the best use of their money.
We nurture a software development practice where every engineer is trusted with autonomy in their role to responsibly and continuously deliver quality software supported by a friendly and creative environment free from ownership handovers, gatekeepers or bureaucracy, that pushes you towards mastery in your craft.

You are primarily a software engineer that happens to have specialised in iOS]. You take pride in the fact that you own the entire software lifecycle.

You've seen a few generations of Swift/Objective-C come and go while working on a variety of mobile apps and can discuss in some detail what worked and why.

You've studied some software engineering and are orientated towards doing things with a structured engineering approach.

While you welcome the technical freedom of greenfield developments you also enjoy the intricacies inherent in evolving existing software.

You're capable of appreciating the subtle impacts of different tech choices but ultimately you're a pragmatic.

You favour readability of code, instinctively rejecting excessive conciseness or artistry.

You naturally stay within the scope of a story.

You are biased to action: you prefer to deliver the good instead of arguing what perfection is.

You think critically and are happy to be proven wrong.

You're methodical in your hypothesis generation and testing loop.

You don't chase unicorns, have step-back reflexes.

You're able to fend off pressure and give yourself and others the necessary space to think.

You have some experience mentoring younger developers. teach without patronising or overpowering.

You are able to communicate the technical vision in an clear way, and correctly translate tech choices and their consequences into business terms.

You will make mistakes. We'll pick you up. You will learn from them. You'll laugh a lot.


- Work with product owners to help drive our exceptional customer experience.
- Produce code of great quality with the right degree of test coverage. 
- Review code constructively, favouring the development of skills where possible. 
- Frequently share your programming expertise and disseminate important knowledge within the practice.
- Participate in technical discussions to help drive our platform forward.
- Keep abreast of technological developments in the industry and their relevance to the company. Openly and continuously share your knowledge.
- Liaising with stakeholders and product owners.


- You have at least 4 years of experience in iOS software engineering and a BSc in Engineering or Computer Science or higher degree.
- You feel at home when you work in Swift. Experience with Objective-C and C++ is a plus. You're familiar with other languages such as Python and shell scripting.
- You understand the main programming paradigms used on iOS like MVC, MVVM, Viper.
- You have experience with tools like Cocoapods and Swiftgen.
- You are used to work with Git and to perform code reviews.
- Have a good understanding of agile methodologies and their principles.
- You have proved experience releasing iOS apps on the AppStore. You know how to deal with iTunesConnect and device provisioning.
- Have an understanding of the principles of design, UI and user experience.


- You have some experience of Android development with Kotlin.
- Understanding and experience of reactive programming with ReactiveSwift or RxSwift.
- You have experience with continuous delivery of mobile apps.
- You have experience working in distributed teams.