Control Plane Engineer

Oxide Computer Company

Oxide Computer Company

Other Engineering
Emeryville, CA, USA · Remote
Posted 6+ months ago

Are you an experienced Rust programmer who loves building, deploying, and debugging distributed systems? We are seeking software engineers to work on the Oxide control plane, the spinal column of our software that is responsible for managing and provisioning virtual machines, storage and networking.

As a software engineer working on the control plane, you will:

  • Work on a robust distributed system, Omicron, that ships across an air gap to Oxide customers running racks in their own datacenters.

  • Write code mostly in Rust, read code primarily written in Rust with some C. The code you write will be open source, be it in Omicron itself or the many components with which it interacts, e.g. our block storage service (Crucible), our hypervisor (Propolis), our host operating system (Helios), our embedded operating system (Hubris), or another of our many software components.

  • Collaborate with other engaged, friendly, systems-oriented engineers to understand customer use cases and implement the core of the Oxide platform.

  • Work to understand and improve the performance of the services offered by the Oxide rack.

  • Develop tools to test and analyze complex systems, including those deployed in production at customer sites. Logging, tracing, and metrics are critical pieces of distributed systems, and you’ll get the chance to dig into them all.

You will thrive in this role if you:

  • Have experience shipping software written in Rust

  • Have experience working on distributed systems

  • Are energized by the thought of diving deep on neglected (but essential!) distributed systems topics like cluster attestation or live system software update

  • Believe in fully documenting your ideas for both current colleagues and your own future self

  • Enjoy reading excellent documentation produced by others

  • Make the tools you wish you had

Before applying for this role, you should: