Software Developer - Scientific Computing
Software & AlgorithmsFull TimeToronto, ON
Are you looking for an opportunity to contribute to the next revolution in computing technology? Do you want to take part in an exciting and rapidly growing new industry? Do you want to put your skills to use at the forefront of a cutting-edge field?
Our software team is looking for someone like you.
Xanadu is a Canadian quantum technology company with the mission to build quantum computers that are useful and available to people everywhere. Founded in 2016, Xanadu has become one of the world's leading quantum hardware and software companies and is developing the world’s first photonic quantum cloud computing platform. The company also leads the development of PennyLane, an open-source software library for quantum machine learning and application development.
In this role you will develop highly optimized numerical code for simulating and benchmarking a variety of quantum computing devices. You will help translate high-level algorithms to run on a variety of computing architectures. You will help develop and optimize new parallelization techniques for simulating large quantum systems and algorithms designed for Xanadu's quantum computing platform and participate in the design and development of new simulation algorithms.
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)
- Knowledge of CPU instruction sets, GPU programming, and compilation
- Experience with high-level scientific programming frameworks in Python
- 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
- 5+ years of experience working in related fields
- BSc or MSc in Computer Science, Physics, Mathematics, or Engineering with relevant industry experience preferred, or equivalent combination of education and experience
- Proven track record delivering highly optimized numerical algorithms
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.