Embedded Firmware Software Engineer
SUMMARY
We are looking for an experienced Embedded Software Engineer with a strong background in low-level firmware development, Linux systems, and board support to join our team. In this role, you will be responsible for designing, developing, and maintaining firmware for in-house developed PCBs, working closely with our hardware engineers to ensure seamless integration and performance.
Key Responsibilities
- Design, implement, and maintain low-level firmware for custom PCBs using Rust.
- Develop and optimize drivers for various hardware components including CPLDs, Ethernet OSFPs, PCIe CEM by means of I2C and SPI interfaces.
- Collaborate with hardware engineers to understand board specifications and requirements.
- Work with Linux systems, and develop kernel drivers, to ensure proper integration and support for firmware components.
- Debug and troubleshoot hardware and software issues, providing effective solutions.
- Write and maintain comprehensive documentation for firmware and board support.
- Participate in code reviews and contribute to best practices in firmware development.
Qualifications
- Bachelor’s degree in Computer Science, Electrical Engineering, or a related field (or equivalent experience).
- Proven experience in low-level system programming or embedded development in languages like C, C++ or Rust.
- Desire to learn, ramp up, and contribute on a codebase written in Rust.
- Strong understanding of Linux operating systems and their interaction with firmware.
- Experience developing and optimizing drivers for hardware components such as CPLDs, Ethernet OSFPs, PCIe CEM.
- Proficiency in debugging tools and techniques for both software and hardware issues.
- Excellent problem-solving skills and attention to detail.
- Strong communication skills and ability to work collaboratively in a team environment.
Preferred Qualifications
- Experience with the Rust language desired, but not required.
- Familiarity with embedded systems and microcontroller architectures.
- Experience with embedded or real-time operating systems (RTOS). Experience with Hubris is a plus, but not required. Experience with other embedded or similar systems is valued.
- Knowledge of version control systems (e.g., Git).
- Experience with Bazel build tooling is a plus.
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.