Operating System Kernel Engineer
Vaga internacionalEmpresa de fora contratando daquiSobre a vaga
Do you love operating systems kernel implementation, digging into the gritty interface where software meets machine? We are seeking a software engineer to work on our illumos-based host operating system, Helios. Helios sits at the center of the Oxide rack, interfacing directly with a wide range of hardware, embedded software, and third-party firmware to support the Oxide control plane, hypervisor, and its virtual machine instances. The host OS is holistically designed to begin execution with the processor’s first instruction; it uniquely subsumes and replaces functionality that UEFI and ACPI firmware provide in other architectures.
AS AN ENGINEER WORKING ON OPERATING SYSTEMS KERNEL DEVELOPMENT, YOU WILL:
* Work with a helpful and experienced team to design, build, and bring up host system software on current and future Oxide computers
* Read and write code in C (for the operating system writ large), in Rust (for for some in-kernel components and for higher-level services), 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:
* Have experience in operating systems kernel development
* Seek the versatility of working from core OS architecture to hardware interface to networking to device development.
* Enjoy the freedom of blazing your own architectural trails and solving problems from first principles
* 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 an illumos-derived operating system, familiarizing yourself with tools like DTrace and MDB to explore the system
* Prowl around the code in Helios
* 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.
* 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
* Grown-up ZFS Data Corruption Bug on tracking down a long-standing data corruption bug in ZFS
Remote positions are open to candidates worldwide. We do ask that your workday overlaps with Pacific Time for at least four hours.