Skip to Main Content

Embedded Software Engineer & Distributed Systems

Enfabrica
Bodega Bay, CA
  • Posted: over a month ago
  • Full-Time
Job Description

Summary

Join an ambitious and highly experienced team of silicon, software and hyperscale data center systems experts as a Distributed Systems & Embedded Software Engineer. Our team is motivated by a singular mission: to revolutionize the performance and scalability of next-generation distributed computing infrastructure. You have the opportunity to build a groundbreaking new category of product, working alongside some of the industry's most talented hardware and software engineers to create truly disruptive infrastructure solutions that delight our customers.

We are seeking an accomplished, highly collaborative Systems Software Engineer with experience creating robust, distributed client/server applications in an embedded ARMv8 environment. We are engineering our system using Rust, so experience with Rust would be great, but if not, experienced embedded systems folks excited about learning Rust are strongly encouraged to apply. In this high impact role you will work with hardware engineers, firmware engineers, Linux kernel developers, and other domain experts to design and implement a distributed system for managing a unique set of hardware resources at the core of our product.

Location preference for this position is in San Francisco Bay Area, Research Triangle Park, NC, or Boston, MA. We are open to remote candidates.

Roles and Responsibilities

The candidate we are looking for will be part of a team designing and implementing embedded services to manage our product's unique set of high-performance hardware resources:

  • Design and implement services and clients.
  • Define clean, efficient, performant APIs for the services.
  • Collaborate with other domain experts on the APIs for the adjacent services, including remote access over an RPC mechanism, local kernel system calls, and direct hardware register access.
  • Generate Requirements and Design Documents.
  • Writing tests is essential.
  • Structure your code to run on real hardware, as well as with various simulation and emulation environments.

Skills/Qualifications

The ideal candidate:

  • Is passionate about code quality, including documentation, testing, and performance.
  • Is comfortable designing and implementing at the user-space / kernel-space boundary.
  • Is comfortable operating at the hardware / software boundary.
  • Is experienced with PCIe device drivers.
  • Has relevant experience working on distributed systems or control planes.
  • Is experienced with systems programming in a Linux environment, including a working knowledge of libc, the system call interface, memory maps, and virtual and physical addressing.
  • Has some Linux kernel development experience, such as modifying an existing kernel module, looking at the source code to understand a behavior, or creating a custom device driver.
  • Has experience writing significant programs in Rust, or have some equivalent experience in C++/C, and are excited about working in Rust.
  • Has some experience using git with a large code base.
  • Is comfortable using various programming languages and build systems, including Rust, C, C++, Makefiles, Shell scripts, Python, Bazel.
  • Has relevant experience developing software for embedded systems, preferably ARMv8, including: modifying existing C code for U-Boot and the Linux kernel; writing custom device drivers; generating software images; creating robust software update procedures; bringing up new hardware in the lab; reading board schematics and Verilog/SystemVerilog code.

Company Background

We are a well-funded startup based in Mountain View, CA, founded by senior technical and business executives hailing from category leaders in infrastructure hardware and cloud services, and backed by top-tier investors with a highly successful formula & track record on early-stage investments.

We are a diverse team of expert chip/software/systems architects and developers who excel in hardware/software solution co-design. Our team has built, and delivered into production, technologies that process over half of the world's global data center traffic.

We are impassioned to change the industry status quo with our vision. Join us and help build a game-changing product and company!

Powered by JazzHR

opHbmihgka

Enfabrica

Address

Bodega Bay, CA
USA

Industry

Technology

View all jobs at Enfabrica

What email should the hiring manager reach you at?

By clicking the button above, I agree to the ZipRecruiter Terms of Use and acknowledge I have read the Privacy Policy, and agree to receive email job alerts.