Job Description - ML Engineering Manager
Position: ML Engineering Manager
Reporting to: Head of Data Engineering
Location: York or Lisbon
Type: Permanent
Band: II
Key Responsibilities
- Line Management of the ML Engineers, leading recruitment and onboarding of new engineers and identifying gaps in capacity and capability.
- Oversee the team's deployment of ML capabilities and provide support to the Head of Data Engineering, specifically around capacity and delivery of the portfolio.
- As a Team Lead encouraging coaching and mentoring of team members and supporting value stream management with partner resources.
- Influence key architectural decisions early on based on business, budgets and resiliency. Moving from a proof of concept to a production ready platform.
- Coach, mentor and influence ML Engineers into greater ML maturity.
- Experience building a platform as a service product on top of cloud architecture.
- Identify bottlenecks and use engineering practices to improve processes.
- Turn business requirements into solution design diagrams and iterate on them.
- Break solution diagrams into deliverable pieces of work and milestones.
- Develop and maintain infrastructure for deploying ML models in 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 development and improvement of the model registry, including tracking and implementation of model discontinuation upgrades and model monitoring.
- Own the deployment framework for all data science services.
- Oversee the automation of the data science life cycle (dataset build, training, evaluation, deployment, monitoring) when moving to production.
- Collaborate closely with data scientists, data engineers and other technical teams to support maturation of analytics practice.
- Write high quality Python code using industry best practice for model training and deployment.
Person Specification / Qualifications
- Bachelor's/Master's degree in a quantitative field (e.g., Computer Science, Statistics, Mathematics, Physics, Engineering) or equivalent.
- 5+ years as an ML engineer.
- Good understanding of core data science principles and challenges of migrating research code into production code.
- Hands on experience with GCP and machine learning engineering, including deploying, monitoring and maintaining ML models in production (neural networks, random forests, etc.).
- Experience in financial services or insurance with high regulation is an advantage but not required.
- Solid experience as a Python developer (Flask/FastAPI, OOP, unit testing).
- Strong understanding of software engineering best practices.
- Experience with TDD.
- Experience with infrastructure as code tools like Terraform.
- Hands on experience with cloud platforms (GCP, AWS, or Azure).
- Familiarity with 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.
- Ability to articulate processes and tools used to ensure quality, stability, performance, scalability, deployment, security, and documentation.
- Creative, proactive, logical, and innovative; will push hard for innovation and automation.
- Highly results driven, with energy and determination to succeed in a fast paced environment.
- Ability to work as part of a small team that is part of a larger product division.
- Proven communication and presentation skills.
- Comfortable in a rapidly changing environment.