Jobs and Careers
SI
Principal Software Engineer, Linux PCIe Device Drivers (AI2370)
SiMa.aiSan Jose, United Statesfull_timeVerifiedPosted 20 Jun 2025
💰 $296,400/yr($220,000/yr – $296,400/yr)
About the role
Job Title: Principal Software Engineer, Linux PCIe Device Drivers Job Location: San Jose, CA Job ID: AI2370 Description The SoC software team is responsible for creating the SDK for SiMa.ai’s MLSoC product line. This includes developing/porting OS, boot SW, device drivers, run time environment for multiple CPU subsystems that are part of SiMa.ai’s MLSoC™, developing embedded Linux based applications and APIs for enabling end2end customer application flow utilizing different IO subsystems that are part of MLSoC. Responsibilities: We are looking for a seasoned software engineer who has experience developing OS PCIe device drivers, boot SW and key test applications in a Linux embedded environment. The ideal candidate will have a proven track record of working in a high-performance team and has partnered with cross functional teams across multiple geographies. Key responsibilities include (but not limited to):
- Leverage IP SW and integrate into MLSoC™ SW environment.
- Develop drivers for End Point, Root Complex and PCIe Bifurcation modes for the embedded system.
- Test and verify Linux PCIe device drivers and environment with Virtualizers and Zebu emulators.
- Design, Implement and Test Host drivers, libraries and test applications to interface to SiMa.ai’s MLSoC™
- Experience integrating GPUs, NVME drives, and other PCIe devices to a Host Root Complex system.
- Configure Linux environments for different reference boards.
- Modify and perform Yocto builds for new functionality.
- Provide SW to support HW MLSoC test validation team.
- Own the overall design of the data transfer and data structures used for management and data transfer over PCIe.
- BS/MS in computer science with minimum of 10+ years of experience
- Hands-on, production deployed experience developing firmware, boot code and SW using high performance 64 bit Arm processors.
- Hands-on, production deployed experience developing drivers for PCIe End Point and Root Complex embedded systems.
- Development experience (preferably production deployed) with x86 Linux Host systems to communicate with PCIe EP devices.
- Hands-on experience bringing up and troubleshooting new PCIe devices.
- Development experience with Embedded Linux (e.g., Yocto) and embedded RTOS (e.g., QNX) is highly desirable
- Experience in working with silicon teams is highly desirable.
- Good proficiency with C/C++
- Proven track record and experience building and delivering complex SW products.
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s