Software Engineer: Control Plane
The control plane is the spinal column of Oxide's software: it is responsible for managing and provisioning virtual machines, storage and networking.
As a software engineer working on the control plane, you will:
- Collaborate with other engaged, friendly, systems-oriented engineers to understand customer use cases and implement the core of the Oxide platform.
- Operate across multiple layers of the stack to build the fault-tolerant distributed systems and databases that support virtual machines, network-based virtual storage devices, and virtual networks.
- Drive our device security by extending the verified boot chain from early boot to all the software running on Oxide systems. You’ll secure the interface to the control plane, build identity and access control, and work with the team to define and defend against threats.
- 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.
- Write code mostly in Rust, read code primarily written in Rust and C. The vast majority of code you write will be open source (maybe all of it!), across many different codebases.
- Code without fear, working with the team to create and maintain continuous builds, tests, memory-safe code, debugging tools, a constructive code-review process, and a supportive culture of identifying and fixing bugs. Contribute to other, non-control plane areas of the product that interest you.
These responsibilities are just a starting place! We’re a small company, we don’t have rigid roles, and we have a lot to do – we can help you grow wherever your interests take you.
You will thrive in this role if you:
- Have previously worked with Rust or another low-level systems language such as C.
- Are energized by the thought of jumping between handling multi-machine fault tolerance, analyzing storage latency patterns, and bringing kernel drivers to life.
- Believe in fully documenting your ideas.
- Enjoy reading the documentation produced by others.
- Get excited about a wide range of technical topics and dig really deep into them.
- Are very comfortable at a Unix terminal.
- Don’t mind coworkers getting really excited about decades-old computer front panels.
If you don’t meet 100% of these qualifications you should still seriously consider applying – at least one of us was missing each of these at the outset!
Life at Oxide
We are very explicit about our values, and they can be seen in daily life at Oxide, for example:
- Our rigor means we enjoy and take pride in the craft of engineering.
- Our urgency means that we are not above the judicious short-cut.
- Our versatility is reflected in our greatest strength: the breadth of our team.
- Our transparency can be seen in our consensus-driven RFD process.
- Our responsibility means that we both lead and follow: we have our own domains, but we also help others on their parts.
- Our curiosity shows in our insatiable desire to learn – and our empathy in our love of teaching others.
- Our humor is a big part of our daily lives: we are inveterate wise-crackers whose video meetings spill into simultaneous text chat.
Our values also manifest themselves in our benefits:
- Everyone makes $180,250, regardless of location.
- We offer the best health insurance we could find: medical PPO plan, dental, and vision that are 100% covered for both employees and dependents.
- We are very supportive of remote work. About half of our team is outside of the San Francisco Bay Area; our only requirement is working hours with a significant overlap with Pacific Time.
- Our families and lives outside of our jobs are very important to us; our schedules are flexible to reflect and support that.