Software engineer in quantum experimental control and automation
The PSI quantum computing center will explore and solve long-standing challenges in quantum computing, developing new technology and approaches that will benefit from a coherent, farsighted vision, and provide services to the quantum community through collaborations with academia and industry. It consists of two laboratories specializing in the two leading quantum computing platforms, superconducting circuits and trapped ions. The teams at PSI will closely collaborate with the QUDEV and TIQI groups at ETH Zurich, both of which conduct state of the art experimental research in quantum information science and have a successful track record in developing and operating quantum computing systems. The strong synergies between the experience and infrastructure at ETH and the novel approach at PSI will benefit both efforts.
The center will direct extensive effort towards the control, calibration, automation, and high-level management of several new trapped-ion and superconducting-circuit experimental setups, each aiming to handle tens or hundreds of qubits and associated infrastructure. The PSI quantum computing centre is seeking software engineers to maintain and develop software for controlling and managing quantum information and computing experiments in these setups. The role of the experimental control and management software primarily involves mapping high-level user input, such as quantum algorithms and calibration routines, to low-level operations and commands that are sent to a range of physical hardware in the laboratories. These include hundreds of synchronised RF and DC signal sources, arbitrary waveform generators, rapid digital and analog data acquisition, and PID servo-loops.
You will be involved in a diverse range of software tasks and projects relating to the broad goals described above. Initially they will maintain and expand desktop-based experimental measurement and control software built with Python and C++/Qt, and extend it to support remote access. Additional goals for this software include the complete automation of measurements, and the integration with standard quantum programming software such as Qiskit/ProjectQ/Cirq. Higher-level features and concepts such as the optimal scheduling of experiments, automated data archiving and analysis, automated scripting and calibration, remote laboratory operation, and pattern recognition/machine learning will gradually be integrated into the software, and the candidate will play a large role in shaping the ultimate architecture. The candidate's other tasks will include developing and integrating new Ethernet and web APIs, and maintaining version control and testing infrastructure including unit test suites. The candidate will coordinate their development with other researchers and external collaborators, and also maintain documentation and training materials.
This position offers early-career candidates a path to embed themselves into the rapidly emerging field of quantum technology, synthesizing interesting software architecture and design with the latest physics, and provides exposure to a wide range of challenges and learning opportunities in a fast-moving research setting. The position may be affiliated either with the superconducting qubit laboratory, the trapped-ion laboratory or with both, depending on areas of overlapping needs and the candidate's skills and interests.
You must be experienced with Python and/or C++, having completed multiple software projects in one or both, and be familiar with industry-standard software engineering practices including version control, unit testing, build automation/CI etc. You should have an undergraduate or masters-level qualification in electrical engineering, computer science, physics or a closely-related field. The most useful experience for this role is in large-scale software projects, especially the development and maintenance of APIs and GUIs, however more diverse experience in scientific and technical computing is also valuable.
Experience with one or more of the following is also desirable: SCADA/experimental automation, embedded software, electronics, and UNIX/Linux development and system administration. The control system in the superconducting-circuit lab is based on a combination of Python-based software called PycQED and QCodes, both publicly available as open-source software. The lower-level control infrastructure in the ion-trapping lab will be a mixture of the open-source ARTIQ system and the M-ACTION system developed at ETH Zurich. Prior knowledge of these control systems is not necessary.
The person must possess excellent English communication skills; German knowledge is favorable, but not required. Recent ETH/EPFL graduates are also encouraged to apply.
We look forward to receiving your online application with the following documents:
- Letter of motivation,
- 1-2 page summary of your significant software engineering/architecture projects (links to open-source repositories are encouraged).
Please note that we exclusively accept applications submitted through our online application portal. Applications via email or postal services will not be considered.
Further information about the QUDEV and TIQI groups can be found on our websites https://qudev.ethz.ch and https://tiqi.ethz.ch. Questions regarding the position should be directed to Vlad Negnevitsky, email@example.com or Christopher Eichler, firstname.lastname@example.org (no applications).