jobapplier

Senior Software Engineer (System Orchestration)

IonQ

Skills

Required

  • gRPC / REST
  • error handling
  • observability
  • scheduler / workflow engine / job queue
  • Temporal
  • Airflow
  • Celery
  • Slurm
  • relational database
  • PostgreSQL
  • Rust

Preferred

  • building stateful services that
  • changing a load-bearing system
  • state machines
  • timeouts
  • leases
  • retries

Join Oxford Ionics as a Senior Software Engineer in the System Orchestration team. In this hands-on engineering role, you will be responsible for building and operating the software that keeps our quantum computers calibrated and running efficiently. You will work closely with various teams, including runtime, systems, operators, and scientists. The position requires experience in building stateful services, designing and operating networked services, and strong systems engineering skills.

Responsibilities

  • Responsable de la conception, de la mise en œuvre et de la maintenance d'un service ou d'un sous-système du plan de contrôle, en veillant à son bon fonctionnement opérationnel.
  • Développement de comportements en boucle fermée qui agissent sur l'état mesuré du système sans intervention humaine, et conception de machines d'état et de leur persistance.
  • Renforcement de l'observabilité, de la vérification de la santé et de l'alerte, et élévation des normes de code par le biais de revues.
  • To be successful, you will need experience building stateful services that stay correct under failure, and a track record of changing a load-bearing system while people depend on it. We're looking for someone who can own a problem area with little supervision and contribute effectively within a fast moving, highly technical team
  • A track record of getting lifecycle and concurrency right: state machines, timeouts, leases, retries, and the failure modes that only show up under load

Requirements

  • Experience designing and operating networked services (such as gRPC or REST), with a real grasp of error handling, observability and failure modes
  • A habit of settling design questions in writing, with options weighed as peers
  • Experience with a scheduler, workflow engine or job queue - Temporal, Airflow, Celery, Slurm, or one you built - or with event-driven systems that react to changes in state
  • Comfort owning the production behaviour of what you build, not just its correctness in test
  • Real experience with a relational database as a source of truth - schema design, migrations against live data, and transactions. We use PostgreSQL
  • An interest in helping other engineers get better at the craft, without wanting to stop building yourself
  • Strong systems engineering skills. Our System Orchestration layer is written in Rust, so either solid Rust experience or deep proficiency in another systems language and the appetite to work in a Rust codebase, including async programming
  • Excellent communication skills both within software and across disciplines