Operating System Virtualization Engineer
Job Description
Do you love operating systems implementation, digging into the gritty interface where software meets machine? We are seeking a software engineer to work on our Rust-based VMM, Propolis, and its containing illumos-based host operating system, Helios. These technologies sit at the center of the Oxide technology stack, interfacing directly with a wide range of hardware, embedded software, and third-party firmware to support the Oxide control plane and its virtual machine instances. The Rust-based VMM is a de novo implementation based on the bhyve hypervisor.
As an engineer working on host system software and virtualization, you will:
- Work with a helpful and experienced team to design, build, and bring up host system software, in-kernel virtualization, and the user-space VMM on current and future Oxide computers
- Read and write code in Rust (Propolis), C (Helios), and/or microprocessor assembly. All the code you write will be open source.
- Grow and apply your understanding of microprocessors, through deep familiarity with available documentation, interacting directly with real hardware, and producing your own documents where the vendor’s fall short
- Contribute to the security and resiliency of the system by designing for failure from the ground up
- Participate in a rigorous code review process and help your colleagues maintain our software in a production-ready state at all times
- Apply a customer-centric view to the development of new end-to-end features and functions and help realize them across the stack
- Contribute to the design of new Oxide hardware and software components elsewhere in the stack
You will thrive in this role if you:
- Are familiar with operating systems or virtualization concepts and comfortable in C, Rust, or other low-level systems languages
- Seek the versatility of working from core OS architecture to hardware interface to networking to virtual device development.
- Enjoy the freedom of blazing your own architectural trails and solving problems from first principles
- Have previously worked in the guts of virtualization technologies such as KVM, Hyper-V, bhyve, or related systems
- Are up to the challenge of interfacing with hardware that has missing or inaccurate documentation
- Appreciate the hard-won thrill of debugging a knotty problem to root cause
- 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
- Communicate effectively with engineers across a range of disciplines to exchange knowledge and expertise
Before applying for this role, you should:
- Experiment with Propolis, using tools like DTrace to explore the system
- Browse our public Requests for Discussion to get a flavor for how we work
- Listen to Hiring Processes with Gergely Orosz to familiarize yourself with the Oxide hiring process.
- Prowl around the code in Propolis or Helios
- Listen to some of our episodes of Oxide and Friends. A few recommendations:
- Helios on the genesis of our illumos derivative as discussed in RFD 26
- Holistic Boot on our approach to BIOS-free booting
- Unshrouding Turin (or Benvenuto a Torino) on the work we’re doing for AMD’s Turin microprocessor
- Holistic Engineering on our integrated hardware/software approach
- Virtualizing Time on the thorniness of getting time to work in a hypervisor
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.