Are you a software engineer with a disposition toward networked systems design or networking engineer with a disposition toward systems programming and software development? We are seeking engineers to join our networking team with a focus on modeling and verification of Oxide deployments, developing testbed technologies to emulate both Oxide systems and broader deployment environments, and work with our customer support team to prepare for new types of deployment environments.
As a cloud infrastructure company, our success is defined by our customers' success in deploying Oxide Cloud Computers that host critical business functions. There are many different types of environments our customers deploy Oxide systems into today and the heterogeneity and scale is growing rapidly. We take being prepared for any and all environments that Oxide Cloud Computers will deploy to very seriously. This role is all about that: being prepared. We view validation and verification of cloud infrastructure as an engineering discipline in its own right and are looking for engineers who share this viewpoint.
We are taking a very ambitious approach with respect to networking: not only have we developed our own compute sled and cabled backplane, we have also developed our own switch, and then the entire stack of software from the lowest levels of firmware to end-user experience — and everything in between! To understand why we’ve taken this steeper path (and the advantages that it affords), listen to the team in its own voice in our Oxide and Friends discussion on rack-scale networking.
As a networking deployment engineer, you will:
Collaborate with other engaged, friendly systems engineers to understand customer use cases and ensure the Oxide platform is ready for a wide variety of deployment environments.
Develop tools to emulate and analyze complex networks, 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 in Rust, P4 and more. The code you write will be open source (e.g., Falcon, a Rust-based framework for modeling and deploying networked systems with emulated Oxide racks), and across many different codebases.
Operate across multiple layers of the stack to model and verify how true rack-scales system interact their deployment environment, including our integrated switch, a custom compute sled, and all software connecting and orchestrating them.
You will thrive in this role if you:
Have experience deploying and operating large-scale mission-critical network and compute infrastructure.
Have previously worked with Rust or another low-level systems language such as C.
Have implemented networking protocols in environments that were constrained by performance and correctness.
Have experience designing, implementing, deploying and operating data center networks using dynamic routing protocols and overlay networks.
Have experience with BGP implementation or deployment.
Enjoy the idea of owning the inter-rack networking end-to-end (host OS + NIC + switch + switch OS) – and also of integrating that networking with a customer’s larger network.
Are energized by the thought of jumping between implementing a new protocol (or a new implementation of an old one!), analyzing customer networking pathologies, and bringing kernel drivers to life.
Produce good documentation and/or written descriptions of your ideas.
Believe that the closed nature of low-level networking is a barrier to progress and want to work with a team breaking down that barrier.
Before applying for this role, you should:
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.
Watch Building a Rack Scale Computer with P4 at the Core and DTrace + P4.
Check out OPTE — and watch Kyle Simpson’s dtrace.conf(24) talk
Listen to some of our network-centric episodes of Oxide and Friends. A few recommendations:
Rack-scale Networking to understand our approach to networking and some of the details of our implementation
The Network Behind the Network on the specific challenges of our service processor network
Hell is other networks to learn about our disposition to customer problems
Transparency in Hardware/Software Interfaces to hear our perspective on what software needs from networking silicon