This role is for an OpenBMC Firmware Developer to develop, test, and integrate device drivers for high-performance platforms. The ideal candidate will have strong experience in C and Linux driver programming, working closely with hardware and manufacturing teams, and will be responsible for creating robust software solutions for high availability and redundancy.
Responsibilities
- Develop, test, and integrate device drivers for various devices, including Ethernet, I2C, PCIe, SPI, USB, and NAND devices.
- Customize BSP, boot code, and device drivers.
- Work closely with hardware engineers during board bring-up.
- Collaborate with manufacturing teams for product qualification through diagnostics packages.
- Develop software solutions for high availability and redundancy.
- Interact with customers to gather requirements, design firmware, and ensure the quality of deliverables.
- Work with cross-functional teams, including product management and sales, to design high-performance, cost-effective solutions for storage and switching platforms.
Skills
Required Skills:
- Strong knowledge of Real-Time Operating System (RTOS) concepts, multithreading, and SMP.
- Strong knowledge of C, Linux driver programming, and kernel architecture.
- Outstanding software debugging skills.
- Experience using hardware test equipment like JTAG debuggers and I2C analyzers.
- Solid understanding of hardware components such as Ethernet PHYs, PCIe, USB, SPI, NAND, I2C, and SDRAM.
- Experience working with cross-functional teams, including hardware engineering and manufacturing.
Preferred Skills:
- Knowledge of Python.
- Knowledge of Intel x86 architecture and BIOS/UEFI.
Qualifications
- A minimum of 6 years of work experience implementing device drivers and BSP.