Software Engineer: Embedded Systems

Time iconFull-time
Remote iconRemote friendly

The rack-scale computer is loaded with essential embedded systems, responsible for the many unseen components that support the operation of a rack-scale computer.

As a software engineer working on embedded systems software, you will:

  • Work with a friendly and positive team to write the low-level code that makes Oxide computers tick.
  • 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!), and we are not starting with existing vendor code – we’re trying to do things right.
  • Write programs that interact with the physical world, from blinking lights to rack-level thermal control systems to supporting hot-swap of server components.
  • Read datasheets for relevant sensors, microcontrollers, etc., and implement drivers for them in bare-metal and embedded RTOS environments.
  • Drive our device security by extending the verified boot chain from first instruction to the control plane running on Oxide systems. You’ll secure the interface among lowest level components and into the control plane, build identity and access control, and work with the team to define and defend against threats.
  • Code without fear, supported by continuous builds, unit testing, memory-safe code, good debugging tools, a constructive code-review process, and a supportive culture of identifying and fixing bugs.

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.
  • Have worked with microcontrollers, whether it’s at a job or some kind of Arduino pet-washing coffee maker.
  • Believe in fully documenting your ideas.
  • Enjoy reading the documentation produced by others.
  • Get excited about things 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.