Software Engineer (Quantum Compilers)
CT19 LTD
Oxford, United Kingdom
2 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Compensation
£ 64KJob location
Oxford, United Kingdom
Tech stack
C++
Compilers
Program Optimization
Profiling
Code Review
Nvidia CUDA
Continuous Integration
Software Debugging
Python
Open Source Technology
Quantum Computing
Software Tools
Cloud Services
Software Engineering
Data Logging
Information Technology
Software Version Control
Glasgow Haskell Compiler
Programming Languages
Job description
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., * 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.
Requirements
- 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., * 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.