Staff Software Engineer (Non-Realtime Controllers)
- Oxford, United Kingdom
- Lead/Staff
- Posted
Skills
Required
- systems engineering
- hardware and instrument protocols and interfaces
- SCPI
- Modbus
- serial
- Ethernet
- gRPC / REST
- error handling
- observability
- Rust
Preferred
- test infrastructure
- ensuring early problem detection
Join Oxford Ionics, a pioneering company in the field of quantum computing. As a Staff Software Engineer for our non-realtime controllers team, you will work closely with skilled software engineers, systems teams, and world-leading quantum scientists. This hands-on engineering role involves writing controllers, improving the shared framework, and building tooling and test infrastructure. You will need deep systems engineering experience, a track record of shipping and operating reliable services, and a desire to stay hands-on in the code.
Responsibilities
- Take on demanding hardware integrations and improve the shared framework for controllers.
- Build tooling, simulators, and test infrastructure to enhance team efficiency.
- Evolve service deployment and operation as the fleet grows, ensuring early problem detection.
Requirements
- To be successful, you will need deep systems engineering experience, a track record of shipping and operating reliable services, and the judgement to tell a problem worth solving structurally from one worth patching. We're looking for someone who wants to stay hands-on in the code at this level rather than move away from it
- A reputation as the person people bring the undiagnosable bug to, and the ability to prioritise work with a clear understanding of critical versus urgent items
- Experience of hardware and instrument protocols and interfaces such as SCPI, Modbus, serial and Ethernet
- Experience building and operating networked services in production such as gRPC or REST, with a real grasp of error handling, observability and failure modes
- Expert systems engineering skills. Our controllers are 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
jobapplier