jobapplier

Software Engineer (Non-Realtime Controllers)

IonQ

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