Senior Software Engineer - Machine Learning

Job description

At, we are building the world's leading AI platform for knowledge exchange. Our goal is to create a system that can identify what people know and how that knowledge relates to other areas. As a Software Engineer, you will be working side-by-side with our excellent team of Data Scientists to get our machine learning tools into production, with a strong focus on architecture to make our systems reliable and highly maintainable.

As part of your daily work, you will be:

  • Designing the best architecture for our machine learning tools
  • Working with our Data Scientists to understand and improve their models for production use
  • Creating and maintaining APIs for our user facing applications
  • Implementing monitoring systems to make sure our results are always relevant
  • Developing a healthy data pipeline for our tools to use

Job requirements

We would love to work with someone who is:

  • Action-oriented with strong analytical and problem-solving skills
  • Passionate to learn new skills and technologies
  • A strong communicator, presenter and collaborator
  • Driven, hardworking and comfortable in a fast-paced environment
  • Able to take charge of your time and meet deadlines
  • At least 4 years into your engineering career

And we would expect you to bring these skills and knowledge into the team:

  • Experience in designing and developing scalable applications in Python
  • Experience setting up monitoring for data pipelines and ML models
  • Working knowledge of cloud solutions, especially AWS (Lambda, S3, DynamoDB, API Gateway, Cloud Formation)
  • Working knowledge of training and deploying machine learning algorithms

We are looking for someone with at least a BSc in Software Engineering, Computer Science or equivalent degree. A Master's degree or PhD in Machine Learning or relevant Software Engineering topics will be favourably considered but not required if you have proven industry experience of more than 3 years in a similar role.