We are looking for a pragmatic and skilled Software Engineer to join the Intelligent Automation (IA) team. This team builds the mission critical software layer that allows our hardware experts and IC engineers to acquire data more efficiently, analyse experiments, and control quantum processors.
In this role, you will join the software stack development team within IA responsible for the systems that power our quantum computing platform. Our software stack spans backend quantum processing unit (QPU) control software, database and queue management systems, and user-facing APIs for job validation and submission. You will contribute to the next generation of deployments, enabling larger qubit counts, more complex architectures, and increasingly sophisticated quantum operations.
Your work will involve prototyping new solutions, iteratively testing and refining them, and preparing components for robust, production-ready systems for deployment. We are looking for an engineer who enjoys solving complex technical problems and building complete software systems. You will contribute to architectural decisions, define interfaces between components, and help shape how our software evolves over time. This role is suited to someone who thinks beyond individual features or components and is comfortable considering the wider system: reliability, maintainability, performance, and how different parts of a technical stack work together.
Please note that this is a hybrid role, with requirements to be on-site at our Islington lab as needed to manage and deploy infrastructure related to the physical lab environment and QPUs.
Your core responsibilities will involve addressing the key initiatives identified for scaling our development infrastructure:
Maintaining the prototype software stack, and developing the next generation for future deployments.
Working with hardware experts to understand requirements, scope out and develop new features.
Benchmarking and scaling components of the stack for the next generation.
Improving the integration testing across the software stack, including building custom dummy devices and digital twins.
Top tier education, minimum 2.1 in Computer Science or closely related discipline from a top university.
4+ years of professional software engineering experience, with strong proficiency in Python.
Experience designing, developing and maintaining complex software systems, with the ability to make informed design and architectural decisions, and balance considerations such as scalability, maintainability, performance, and reliability.
Experience working across multiple layers of a software system, with a focus on understanding how components and interfaces fit together, rather than specialising in a single layer of the application.
Experience profiling, benchmarking, and optimising software, with the ability to identify performance bottlenecks.
Exposure to C, C++, Rust, and/or GPU programming and GPU optimisation.
Experienced in git, version control and software best practices.
Strong collaborative approach with good communication and interpersonal skills.
Ability to work independently to achieve goals.
Experience with building simulators, digital twins, or other software models of complex systems.
Experience developing software interfaces for hardware, particularly laboratory instruments, scientific equipment, or other technical devices.
Experience in preparation of technical reports and presentations for key stakeholders.
Be part of a creative, world-leading team
Competitive salary and share options scheme
Contributory pension scheme
Group private medical insurance scheme
Life Assurance
Cycle-to-work Scheme
Central London location