Research Software Developer for Quantum Computing Architectures
ArchitectureFull TimeToronto, ON
At Xanadu, we are learners, innovators, researchers, collaborators, and problem solvers. We are creating something that has never been built before. Few people in their life will be able to be a part of something like this, where if we are successful, the technologies we develop will solve some of the world’s most challenging problems, and literally change the world. That is something to be excited about!
Your Role and Responsibilities:
In this role you will be focusing on the software aspects of fault-tolerant quantum computation, especially using bosonic, measurement-based, photonic architectures. The main goal will be to develop highly optimized numerical code for running large-scale simulations of quantum computation for the purpose of benchmarking, resource counting, and obtaining fault-tolerant thresholds. To this end you will use, design, develop, and optimize parallelization techniques as well as simulation algorithms. The work will also involve investigations of compilation and decoding algorithms, including new implementations and improvements to existing implementations.
Required Skills and Experience:
To succeed in this role, you should have the following:
- Strong experience programming in low-level languages (e.g., C, C++, Fortran)
- Strong experience programming in Python
- Experience with high-level scientific programming frameworks in Python
- Knowledge of CPU instruction sets, GPU programming, and compilation
- Ability to convert high-level language scripts to optimized low-level implementations (e.g., C, C++, Fortran) with optimization (SIMD vectorization) and parallelization (OpenMP, threading)
- Experience working with multiprocessing and parallelized code
- Experience with development of numerical / approximation techniques
- Experience with binding high-level scripting languages to low-level implementations
- Ability to convert abstract descriptions of algorithms into efficient code implementations
- Ability to aggressively optimize algorithm efficiency at every part of the computational stack
- Ability to determine sensible tradeoffs between code being optimal, user-friendly, and easy to install
- Experience with software engineering best practices: testing, continuous integration, version control, documentation, and code review
- Familiarity with and experience working in a fast-growing technology start-up environment
- Great communication skills; can express complex technical concepts in a clear and easy to understand way
Preferred Skills and Experience:
- Familiarity with distributed computation
- Experience with scientific computing on HPC, supercomputer, and cluster-grade hardware
- Experience with scientific computing on commodity / cloud hardware (e.g., AWS)
- Understanding of quantum computing and quantum simulation algorithms, including experience with tensor networks
- PhD in Computer Science, Physics, Mathematics, or Engineering an asset
- BSc or MSc in Computer Science, Physics, Mathematics, or Engineering with relevant industry experience preferred, or equivalent combination of education and experience
- 5+ years of experience working in related fields
- Proven track record delivering highly optimized numerical algorithms
To build quantum computers that are useful and available to people everywhere.
Our values are important. They are fundamental and lay the foundation for culture at Xanadu. Learn more about our values here.
At Xanadu, we are committed to building an inclusive, safe, and equitable culture and fostering an environment where our employees feel included, valued, and heard. We are committed to meeting the needs of all individuals and support a barrier-free workplace. Should you require accommodations at any point during the recruitment process please contact Human Resources at email@example.com.