Machine Learning Engineer
Key Responsibilities
- Develop and maintain infrastructure for deploying ML models in both real-time and batch environments.
- Build and maintain Python APIs (Flask/FastAPI) to serve ML models.
- Collaborate with cross discipline engineers to integrate ML services into user-facing applications.
- Work with platform engineers to align with infrastructure best practices and ensure scalable deployments.
- Review pull requests and contribute to code quality across the MLE team.
- Monitor and maintain cloud-based ML services, ensuring reliability and performance.
- Design and implement CI/CD pipelines for ML model deployment.
- Write unit tests and follow object-oriented programming principles to ensure maintainable code.
- Support data modelling and cloud networking tasks as needed.
- Contribute to the development and improvement to our model registry, including tracking and implementation of model discontinuation upgrades and model monitoring.
- Ownership of the deployment framework for all data science services. You will have oversight of how data will flow into the data science life cycle from the wider business data warehouse
- Oversight of the automation of the data science life cycle (dataset build, training, evaluation, deployment, monitoring) when we move to production
- Interest and ability to work closely with a team and collaborate on all aspects of the data science and deployment lifecycle
- Work collaboratively with data scientists, data engineers and other technical teams in order to help support maturation of analytics practice within the organization
- Writing high quality python code using industry best practice for model training and deployment
Person Specification
To succeed in this role, you’ll typically have:
- Bachelor's/Master's degree in a quantitative field (e.g., Computer Science, Statistics, Mathematics, Physics, Engineering) or equivalent.
- 8-10+ total experience
- 3-5 years as an ML engineer
- Good understanding of core data science principles and understanding of challenges of migrating research code into production code
- Hands on experience in machine learning engineering, including deploying, monitoring, and maintaining ML models in production environments (Neural networks, Random forests etc.)
- Experience in financial services or insurance is an advantage but not required.
- Solid experience as a Python developer, ideally in a machine learning engineering context (Flask/FastAPI, OOP, unit testing)
- Strong understanding of software engineering best practice.
- Experience with TDD.
- Experience with infrastructure as code tools like Terraform.or similar Infrastructure as Code (IaC) tools
- Hands on experience with cloud platforms (GCP, AWS, or Azure).
- Familiarity with containerization using Docker and orchestration of deployments.
- Experience with CI/CD tools and Git-based development workflows.
- Understanding of API operations monitoring and logging.
- Strong problem-solving skills and ability to work independently on technical tasks.
- Familiarity with Agile methodologies and experience working in Agile teams.