UK remote
Software Engineer - Compiler & Runtime
About this role
At OQC, we aren’t just theorising about the future; we’re building it. Born from a philosophy of bold innovation, we’ve successfully transitioned quantum computing from an academic dream into a commercial reality. The most exciting thing is that we’re just getting started and we’ve recently closed our £260 million Series C funding round – the largest fundraise ever completed by a quantum computing company in Europe. The Purpose As a Software Engineer in our Compiler and Runtime team, you’ll build the software that helps turn quantum computing into a production reality.
You’ll primarily develop new compiler and runtime features, using Python, C++, LLVM and related toolchains, while also evolving and improving our existing codebase. Your work will directly contribute to how OQC’s quantum computers are developed, operated and used. The Role You’ll join the Compiler and Runtime team and take ownership of software development across the full lifecycle – from understanding requirements and designing solutions through to implementation, testing and delivery.
This is a hands-on engineering role for someone who enjoys solving technically challenging problems. You’ll spend most of your time developing new functionality, alongside targeted work on legacy code, debugging complex issues and continuously improving the quality and maintainability of our software. You’ll collaborate closely with other engineers and internal stakeholders, contribute to technical decisions, and share your expertise to raise engineering capability across the team.
What You'll Be Working On Develop new features and capabilities across OQC’s compiler and runtime software to solve complex problems in the production and operation of quantum computers. Work with our research team to bring new algorithms to production. Own assigned development work from requirements and technical design through implementation, testing and delivery. Debug complex issues across development and production environments, driving problems through to resolution.
Evolve, maintain and improve existing code, balancing new feature development with targeted brownfield and legacy work. Design and evaluate technical approaches, clearly articulating trade-offs around performance, complexity, maintainability and engineering effort. Review and robustly test code, pair with other engineers, and share technical knowledge through mentoring, technical discussions and practical collaboration.