Software Engineer (Machine Learning) at The Francis Crick Institute
on-site · full time · Visa sponsorship
Apply for this role at The Francis Crick Institute
Responsibilities:
- Design, implement and maintain high-quality, reproducible ML software and services in Python for research and institute-wide applications.
- Collaborate with scientists, core facilities and external partners to translate research requirements into technical specifications and working solutions.
- Take projects through the full lifecycle: scoping, prototyping, development, deployment and maintenance.
- Contribute to peer review, co-development, and team best practices to ensure code quality and reproducibility.
- Deploy and operate models and services in containerised and HPC environments (Docker/Apptainer), ensuring reliability and performance.
Requirements:
- Strong Python software engineering skills and solid understanding of machine learning theory and practices.
- Experience with containerised deployments and HPC workflows; familiarity with Docker and Apptainer.
- Practical experience with LLM and agentic frameworks (e.g., LangChain, LlamaIndex, DeerFlow, Haystack) and model deployment patterns.
- Ability to prototype quickly, estimate effort, document designs and communicate technical work to non-technical stakeholders.
- Demonstrable history of collaborative development, testing, and maintaining production-grade scientific software.