Software Engineer, Machine Learning (Mid)

London, England, United Kingdom

Runna

Runna is your personalized running coach. With tailored training plans built by world-class coaches, powered by AI to help you achieve your goals. Get started.

View all jobs at Runna

Apply now Apply later

We're putting together a talented team to build the #1 training platform for Runners

We help everyday runners become outstanding by providing world-class training, coaching and community for everyone, whether you're improving your 5k time or training for your first marathon. To date we have built iOS, Android and Apple watch apps that help people achieve their goals by coaching them through the full journey and syncing to their favourite fitness devices.

We’re growing extremely fast and in November 2023 closed a new $6.5M funding round led by JamJar with participation from Eka Ventures, Venrex and Creator Ventures. In 2024, we were selected by Apple as one of three global finalists for the 2024 iPhone App of the Year, reflecting the innovation and impact of what we’ve built. We want to grow as fast as we can into the future and are looking for individuals who will help us get there. For more about our background and growth check out our Careers Page!

We’re now looking ahead to the future and the people who want to help us build and scale Runna. Our aim is to reach millions of subscribers in the next 5 years and be the go-to training platform for any runner. Now is a magical time to join, we're still small, and everyone makes a foundational difference.

What you’ll be doing

We are looking for talented, creative and positive team players to join our highly-skilled Cross-Functional Engineering Team to help build models and algorithms focussed on running training, to help supercharge our training plans for runners everywhere. As part of this work, you’ll be working closely with the product and coaching teams to create components that will dynamically build runners optimal training plans, whilst adapting from external inputs (e.g. workout performance data), and provide insight and recommendations for their future training. You’ll be part of the Train team here and we’ll all support you along this exciting journey!

As a Machine Learning Engineer your role will include:

  • Building, testing and delivering new and improved running training features to generate personalised, adaptive training plans for hundreds of thousands of active users, as well as providing insight into performance and recommendations for future training adjustments
  • Working across the full stack with respect to machine learning engineering - from solution design, data wrangling, model training, deployment, iteration and more - you’ll have ownership across the full lifecycle
  • Continuously improving our modelling components ensure we’re always providing state of the art insight and analysis
  • Collaborating with coaches to best deliver their expertise to users
  • Using a data driven approach as part of the model/algorithm development process
  • Designing and implementing evaluation frameworks to ensure accuracy and generalisation of modelling components

Requirements

What experience we’re looking for

We encourage applications from individuals with a range of experiences and backgrounds. Even if you don’t meet every qualification listed, we’d love to hear from you and are open to tailoring roles to fit the right candidates. Please apply directly below or contact us for more information and to discuss your fit.

Your key skills and experience

  • Proficiency in Python (object orientated) programming, with experience writing production quality code
  • Designing and building complex models and algorithms (ideally involving machine learning), comfortable with quantitative methods and approaches to solving problems
  • Testing modelling focused software to ensure quality and maintainability
  • Analytical and detail-oriented, with a commitment to producing high-quality work
  • A good base understanding of computing fundamentals
  • A pragmatic mindset, with excellent communication and collaboration skills
  • Able to work in a highly skilled engineering team in a fast-paced, iterative environment. In 2024 we shipped to production:
    • 99 mobile app releases (iOS and Android)
    • 443 API releases
    • 237 modelling backend releases
  • Enthusiasm for our ways of working which include:
    • Iterative development, continuous deployment and test automation
    • Knowledge sharing, pair programming, collaborative design & development (with other engineers, product managers, designers and running coaches)
    • Shared code ownership & cross-functional teams

Bonus points if you

  • Have an understanding of deployment, release cycles or CI/CD
  • Have exposure to delivering features end-to-end, from architecture design and building through to releasing, testing and supporting
  • Have experience monitoring models and algorithms in production
  • Have experience with serverless and event driven architectures
  • Have cloud experience, ideally AWS
  • Have open-source contributions
  • Have a strong interest in the health/fitness technologies
  • Have end-to-end experience with LLMs, from identifying use cases to evaluation and production deployment

Our tech stack

Check out our tech radar here which we are constantly iterating, and below you can find a small reflection of our current tech stack:

Frontend:

  • React Native (iOS and Android)
  • Typescript
  • GraphQL (Apollo Client)
  • Fastlane
  • SwiftUI (Apple Watch)
  • Maestro E2E tests

Backend:

  • Serverless (AWS)
  • Lambdas (NodeJS & Python)
  • AWS AppSync
  • DynamoDB, S3, SQS, SNS, EventBridge, SageMaker
  • Postman API tests

All the other good stuff:

  • Sentry
  • GitHub Actions
  • Intercom, Mixpanel
  • RevenueCat
  • App Store Connect / Play Store
  • Google Tag Manager

Benefits

Modelling / ML Engineer Interview process

Our aim is to keep the interview process as straightforward and enjoyable as possible, and will consist of the following stages:

Please let us know if there’s anything we can do to better accommodate you throughout the interview process - this can be from scheduling interviews around childcare commitments to accessibility requirements. We want you to show your best self in the process ❤️

Introductory chat (30 minutes video call)

Take home technical task (max 1-2 hours to complete)

1.5 hour technical interview (the first half of the call will be used to discuss the take-home technical task from the previous stage and the second half will be some general architecture/tech questions)

Meet the team and in-person chat (in-person chat with founder(s), rest of the team and technical discussion)

Once the process is finished, we promise to let you know our decision as soon as possible. Still have questions? Check out our Careers Page and FAQ.

Benefits and options

We offer a salary of £60k-80k, plus equity in the form of Runna stock options.

We'll be growing our package of benefits over time. We currently offer:

  • Flexible working (we typically work 2-3 days in our office in Vauxhall)
  • Salary reviews every 6 months or whenever we raise more investment
  • 25 days of holiday plus bank holidays
  • A workplace pension scheme
  • A brand new Macbook, a running watch of your choice, and anything else you need to do your best work
  • Private health insurance
  • Enhanced family care policy (3 months fully paid leave when a new Runna joins the family, fertility support & other benefits)
  • An hour slot each week (during work time) to do a Runna workout
Apply now Apply later
Job stats:  0  0  0

Tags: APIs Architecture AWS CI/CD DynamoDB Engineering GitHub GraphQL LLMs Machine Learning Model training Node.js Open Source Python Radar React SageMaker Testing TypeScript

Perks/benefits: Career development Equity / stock options Fertility benefits Flex hours Gear Health care Salary bonus

Region: Europe
Country: United Kingdom

More jobs like this