Software Engineer (Quantum Compilers)

Software Engineer (Compiler)

Oxford, UK

Join a pioneering quantum computing team at the bleeding edge of compiler innovation!

Summary

A creative Scientific Software Engineer is sought to develop state-of-the-art compilers and simulation tools for quantum computers. You'll collaborate with physicists on cutting-edge hardware and error correction, building compiler pipelines from low-level instructions to high-level languages using advanced toolchains.

Responsibilities

  • Develop and maintain a Static Single Assignment (SSA) intermediate-representation-based compiler infrastructure and compiler components at various abstractions used by hardware engineers and scientists.
  • Design novel domain-specific languages tailored to the hardware as well as the associated SDK together with the team.
  • Integrate existing simulation tools with the compiler pipeline and cloud service.
  • Communicate and collaborate with in‐house scientists and external customers to meet their use case requirements.

Qualifications

  • Ph.D. in Computer Science with a focus on quantum computation, architecture, programming languages, or compilers, or equivalent professional experience.
  • Enthusiasm for building software tools for scientists, especially physicists.
  • Experience with Python semantics, Python type hints, and the CPython interpreter.
  • Experience with at least one compiled language and its type system, e.g. C++, Julia, Rust, Haskell, OCaml, etc.
  • Experience with Static Single Assignment intermediate-representation-based compiler development.
  • Knowledge of the full lifecycle of software development, including version control, code review, testing, CI/CD, logging, profiling, debugging, and documentation.
  • Knowledge of quantum computing basics, e.g. common quantum algorithms and quantum information theory fundamentals.

Preferred Qualifications

  • Experience using LLVM or MLIR for compiler development, or experience with an existing compiler codebase.
  • Background in programming language design, especially programming language theory.
  • Experience in quantum program optimization, e.g. quantum circuit simplification, scheduling, routing, etc.
  • Knowledge of quantum error correction.
  • Contributions to existing open-source libraries.
  • Experience with existing circuit simulation tools, e.g. Cirq, Qiskit, CUDA Quantum, etc.

Job Details

Company
CT19
Location
Oxford, England, United Kingdom
Posted