Senior Research Software Engineer (Probabilistic AI Safety)
Role details
Job location
Tech stack
Job description
Are you an experienced research software engineer who wants to build robust, scalable systems at the frontier of AI safety research? We are seeking a Senior Research Software Engineer to play a leading role in PRISM (Probabilistic Rare-event Inference for Safety of Models), a new research programme developing statistically rigorous methods to quantify rare but high-impact failures in large language models and other generative AI systems.
Based in the Department of Mathematics at Imperial College London, you will work at the interface of software engineering, statistics, and machine learning, helping to turn cutting-edge research ideas into reproducible, secure, and scalable research infrastructure.
What you would be doing
In this role, you will provide senior technical leadership for the software and infrastructure underpinning the PRISM project, working closely with postdoctoral researchers, academic investigators, and external collaborators.
Specifically, you will:
- Design, build, and maintain robust research software systems supporting large-scale probabilistic experiments on generative AI models.
- Lead the development of end-to-end computational pipelines, integrating model inference, sampling, verification, data aggregation, and statistical analysis.
- Engineer scalable and reliable workflows for running experiments on cloud and on-premise compute (e.g. AWS, GPUs, batch systems).
- Ensure reproducibility, version control, and auditability of research code, data artefacts, and experimental results.
- Work with researchers to translate novel statistical and machine-learning ideas into efficient, maintainable, production-quality research code.
- Advise on software architecture, performance optimisation, and technical risk, particularly for long-running or high-variance computational workloads.
- Contribute to open-source releases, documentation, and best-practice software engineering within the research group.
- Mentor junior researchers and developers in research software engineering practices.
- Support the preparation of technical reports, demonstrations, and research outputs for funders, stakeholders, and the wider research community.
Requirements
Do you have experience in Python?, Do you have a Doctoral degree?, You will be an experienced research software engineer with strong technical judgement and a collaborative mindset., * Significant professional experience as a Research Software Engineer, Machine Learning Engineer, Software Engineer, or similar technical role in a research-intensive environment.
- Strong programming skills in Python and associated deep learning Frameworks, with experience in machine learning, or data-intensive systems.
- Experience designing and maintaining large, complex codebases used by multiple researchers or teams.
- Experience with cloud computing or HPC environments, including workflow orchestration and resource management.
- A strong commitment to software quality, testing, documentation, and reproducibility.
- The ability to work closely with researchers, understand evolving research needs, and translate them into robust technical solutions.
- Excellent communication skills and the ability to explain technical concepts clearly to non-software specialists.
Experience with probabilistic modelling, or large language models is desirable but not essential.
Benefits & conditions
This is a full-time post (35 hours per week). This role is for a fixed-term contract for 24 months.