Senior Machine Learning Engineer

Job description

We are looking for a flexible professional to join our mixed hybrid and remote Data Engineering team following a significant investment funding round. The successful candidate will work with our Research team and data engineers to extend and improve the search features that power our expert finding service.

We are seeking a candidate that has a passion for making machine learning models work in an operational environment.

**Please note this role can be 100% remote, but applicant needs to be UK based and eligible to work in the UK **

What do I need

Substantial software development and system engineering experience is required, including experience producing or maintaining software that uses data science and machine learning libraries and models (such as Scikit-learn, TensorFlow, HuggingFace embeddings). Any experience in search engines, data lakes and knowledge graphs would be a bonus.

Successful applicants will also need to be able to work effectively with a mixed hybrid and remote team, and mentor junior staff members.

We are keen to see applications from experienced generalists as well as deep specialists.

Job Scope

This is a hands-on role developing a system for internal users. Your time will be spent:

  • establishing requirements and scoping work
  • collaborating with the Research and Front-End teams to provide integrated systems
  • deploying new models and supporting infrastructure (including monitoring)
  • reviewing your colleagues' code and designs; and
  • being proactive in tackling problems when completing work.

As a member of a small and growing team, you will also need to be flexible and may be required to work on tasks outside of core ML Ops responsibilities (including working with data engineers on data pipeline issues).

As a Senior ML Ops Engineer, you will also be expected to take a prominent role in defining architectures and roadmaps.

Job requirements

Key accountabilities

Accountable to the Product and Connect teams for designing, developing, deploying and maintaining the required features

Accountable to the Research teams for supporting research tasks, helping to deploy new features and maintaining the models in production

Accountable to the Team Lead for supporting the growth and development of the team, as well as maintaining good software engineering standards

Core skills and experience

  • 5+ years’ experience in software or systems engineering (including the use of Python)
  • 3+ years’ experience of deploying and maintaining machine learning models
  • 3+ years’ experience of software deployment with cloud technologies (including Docker and serverless frameworks, such as AWS Lambda or Google Function)
  • Strong software engineering practices (including version control, unit testing and CI/CD tools)
  • Experience of working in an agile environment using Scrum or other process frameworks
  • Experience using Linux
  • Good team working and communication skills
  • Enthusiasm for machine learning, data projects and knowledge sharing

Desirable skills and experience

  • AWS (certification optional)
  • Elasticsearch
  • RedisGraph
  • OpenAPI
  • Knowledge graphs
  • Data/Machine Learning pipelines such as Apache Spark