Design and develop production-grade, end-to-end ML systems — encompassing automated data ingestion, feature extraction, model training, inference, recommendation engine, deployment, and monitoring.
Refactor and harden Python-based ML and optimisation codebases into clean, modular, and easily testable services.
Apply object-oriented principles and design patterns to create clean, reusable ML components.
Collaborate with data scientists to translate research code into production-ready solutions.
Develop test strategies and CI/CD workflows for ML components.
Own the quality and reliability of ML services in production environments.
Work with AI teams to adopt modern MLOps practices, including ML lifecycle management, monitoring, and deployment automation.
Requirements & Skills:
8+ years of professional experience as a software engineer, with a strong track record in building scalable, reliable, and maintainable systems.
A degree in Computer Science, Software Engineering, Data Engineering, or a related field.
Proven experience in working with ML systems or data engineering pipelines.
Strong knowledge of object-oriented programming principles, design patterns, and software architecture.
Expert-level proficiency in Python programming, along with ML frameworks and numerical computing tools (e.g., Pandas, Polars, Scikit-learn, PyTorch, TensorFlow, SciPy), and the ability to optimise models and code for speed and accuracy.
Experienced with data orchestration tools such as Kedro, Airflow, or Dagster for developing data/ML pipelines.
Practical experience in deploying ML models to production, with a strong understanding of core MLOps concepts including version control, CI/CD pipelines for ML, automated testing, monitoring, and end-to-end model lifecycle management.
Proficient with containerisation and orchestration tools like Docker and Kubernetes.
Practical experience with cloud platforms for data and ML (e.g., AWS, Azure, GCP) — AWS/SageMaker/MLflow is a plus.
Background in mining, industrial applications, or resource-focused ML environments is desirable.