Software Engineer (Non-Realtime Controllers)
- Oxford, United Kingdom
- Mid Level
- Posted
Skills
Required
- programming
- systems programming language
- quantum systems
Preferred
- programming languages
- Rust codebase
- hardware instrument and
- communication protocols
- SCPI
- serial
- TCP/IP
- USB
- interfacing with hardware
You will have the opportunity to own areas of the hardware control surface end to end and contribute directly to the success of building utility-scale quantum computers.
About IonQ
Oxford Ionics, a pioneering company in the field of quantum computing.
As a Software Engineer for our Non-Realtime Controllers team, you will work closely with software engineers, systems teams, and quantum scientists to build and operate the software that controls the hardware surrounding our quantum computers.
Collaborate with software engineers, systems team, and quantum scientists to build and operate software that controls hardware surrounding quantum computers.
Responsibilities
- Take ownership of a group of device controllers end to end, covering API design, implementation, rollout, and ongoing operational health.
- Make services robust against the ways real instruments fail and strengthen observability, health checking, and alerting.
- To be successful, you will need strong programming skills in a systems programming language and hands-on experience interfacing with hardware, and a track record of making software behave well against unreliable external dependencies
Requirements
- Strong programming skills in a systems programming language and hands-on experience interfacing with hardware are required.
- Previous exposure to quantum systems is not necessary.
- We’re looking for someone who can quickly iterate on low-level code in a collaborative, cross-disciplinary, environment and contribute effectively within a fast moving, highly technical team
- Previous exposure to quantum systems is not required
- Excellent communication skills both within software and across disciplines, and an interest in helping other engineers get better at the craft without wanting to stop building yourself
Preferred
- Strong programming skills in one or more systems programming languages and the appetite to work in a Rust codebase
- Experience with some hardware instrument and communication protocols (e.g. SCPI, serial, TCP/IP, USB, or similar)
Comfortable owning the production behaviour of what you build, not just its correctness in test
jobapplier