Rust Firmware Engineer
SUMMARY
We are seeking a highly collaborative Software Engineer to help us create and grow our Rust based software stack, running on an ARM based embedded system while trying to meet strict scalability, reliability, and security requirements.
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.
SKILLS/QUALIFICATIONS
The ideal candidate:
- Is passionate about code quality, including documentation, testing, and performance.
- Is a strong coder, can easily and independently figure out how to solve complex problems quickly by using Rust.
- Is comfortable designing and implementing at the user-space / kernel-space boundary.
- Is comfortable operating at the hardware / software boundary.
- Has some experience with PCIe device drivers.
- Has experience with TCP/IP, RDMA and network control plane development
- Is familiar with open flow, stateful firewalls, packet forwarding and knows what a TCAM and LPM tables are good for.
- 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 is 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.
ABOUT US
Enfabrica is on a mission to revolutionize AI compute systems and infrastructure at scale through the development of superior-scaling networking silicon and software which we call the Accelerated Compute Fabric. Founded and led by an executive team assembled from first-class semiconductor and distributed systems/software companies throughout the industry, Enfabrica sets themselves apart from other startups with a very strong engineering pedigree, a proven track record of delivering, deploying and scaling products in data center production environments, and significant investor support for our ambitious journey! Together, with their differentiated approach to solving the I/O bottlenecks in distributed AI and accelerated compute clusters, Enfabrica is unleashing the revolution in next-gen computing fabrics.