Embedded software/systems engineer in quantum experimental control and automation
The joint ETH Zurich-Paul Scherrer Institute Quantum Computing Hub explores long-standing challenges in quantum computing, developing new technology and approaches that will benefit from a coherent, farsighted vision. It will provide services to the quantum community through collaborations with academia and industry. It consists of two laboratories specialising in the two leading QC platforms, superconducting circuits and trapped ions. This position will be in the trapped-ion team and will involve close collaboration with the TIQI group at ETH Zurich, which conducts closely related research in quantum information science and has a successful track record of 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 trapped-ion team is developing systems to control, calibrate, automate, and manage several new trapped-ion quantum computing setups, each aiming to handle tens or hundreds of qubits. We are looking for an embedded software/systems engineer to develop and maintain embedded firmware and software for the low-level devices in these setups, as well as helping to shape the system architecture of the experimental control. Embedded devices are used extensively in trapped-ion experiments: generating hundreds of synchronised RF and DC waveforms, rapid digital and analog data acquisition, real-time monitoring and control, mixed-signal PID servo-loops, and controlling lower-level hardware.
A quantum computing experiment is operated through a multitude of electronic and computational devices, mostly using systems-on-chip running embedded Linux or bare-metal software along with custom FPGA firmware, networked together to form an experimental control system running across the laboratory. Standalone embedded CPUs running bare-metal software or Linux are also used, in devices such as the Raspberry Pi.
As an embedded software/systems engineer in our mixed team of physicists and engineers, you will:
- maintain, extend and debug the embedded firmware and software on these devices, including low-level hardware drivers, communication APIs for control and monitoring, and specialised libraries for numerical/scientific calculations,
- create and/or maintain the software and firmware repositories to a high level, using modern software engineering practices such as unit testing, CT/CI etc,
- help shape the architecture of the broader experimental control system, foresee bottlenecks and 'pain points', and prioritise work accordingly,
- assist, advise and educate end users on the system and its capabilities, since you will grow in time to be the person with the most general system-wide overview. This will include maintaining documentation, examples and training materials.
The embedded software running on our devices is primarily C/C++, and other languages such as Python and Rust may be used more in the future. Our FPGA firmware is mostly written in Verilog targeted at Xilinx FPGAs and SoCs, including the Zynq family and its successors. Our FPGA workflow mostly relies on open-source and Xilinx software: Xilinx Vivado/Vitis, Verilator, Icarus Verilog and Migen.
This position offers early-career candidates a path to embed themselves in the rapidly emerging field of quantum technology, combining interesting software and firwmare 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 will be jointly affiliated with the PSI QC hub and the TIQI group, and your contributions will be important to both teams.
Trapped-ion quantum computing is a fast-changing, diverse field, and we are looking for people with a wide range of skills, knowledge and interests. You are a person who enjoys an environment where your contributions and tasks are largely self-directed, and continuous on-the-job independent learning will be essential. You will be working in a team mostly with backgrounds in physics, and your engineering knowhow will play a critical role as your ion trapping experience grows: you enjoy advising and educating colleagues, helping define and supervise interdisciplinary projects with an engineering component, and guiding the experimental control-related decision making and planning.
You are fluent with modern embedded C/C++ and have worked on team-based collaborative embedded projects involving FPGAs or ASICs. Familiarity with Python is also desirable, since we use it in many ways including scripting, data analysis and GUIs. Experience in FPGA projects is important, since you will help with maintaining our existing FPGA designs and coordinating the efforts of FPGA engineers on new projects. You are familiar with industry-standard software engineering practices including version control, unit testing, build automation/CI etc.
The most useful experience for this role is in distributed embedded systems, in particular the development and maintenance of rack-mount cards or similar devices for high-energy physics, data centres, test and measurement applications etc, however more diverse experience with embedded hardware and software in scientific and technical fields is also valuable. Previous experience with physics research, especially quantum information science, atomic physics, spectroscopy, laser physics or related topics, is highly valuable. Experience with and/or interest in some of the following is also desirable: SCADA/experimental automation, UNIX/Linux development and system administration, low-noise analog/RF electronics, PCB design, desktop GUI design, web frontend and/or backend design. The control infrastructure in the ion-trapping lab is a mixture of the M-ACTION system developed at ETH Zurich and the open-source ARTIQ system - prior knowledge of these control systems will be helpful but not necessary. You may wish to read about them to get a feeling for the kind of systems you will be working with.
You have at least a masters-level qualification in electrical engineering, computer science, physics or a closely-related field, or an undergraduate qualification with several years' experience. You have excellent English communication skills; German knowledge is favorable but not required. Recent ETH/EPFL graduates with a keen interest in the topics discussed are also encouraged to apply.
We look forward to receiving your online application with the following documents:
- Letter of motivation,
- 1-page summary of relevant engineering and software projects you have worked on, with a description of your contributions to each (links to open-source repositories are encouraged).
We exclusively accept applications submitted through our online application portal. Applications via email or postal services will not be considered.
Further information about the TIQI group can be found at https://tiqi.ethz.ch. Questions regarding the position should be directed to Vlad Negnevitsky, firstname.lastname@example.org or Cornelius Hempel, email@example.com (no applications by email).
In line with our values, ETH Zurich encourages an inclusive culture. We promote equality of opportunity, value diversity and nurture a working and learning environment in which the rights and dignity of all our staff and students are respected. Visit our Equal Opportunities and Diversity website to find out how we ensure a fair and open environment that allows everyone to grow and flourish.