Sr BSP SW Engineer
Posted
Position Overview
We are seeking a highly skilled BSP Platform Engineer to lead the design and development of the Linux-based Board Support Package (BSP) within our platform software organization. In this role, you will architect, implement, and optimize the BSP stack for high-scale networking platforms, ensuring robustness, reliability, and performance across diverse hardware configurations.
Key Responsibilities
Preferred Qualifications
We are seeking a highly skilled BSP Platform Engineer to lead the design and development of the Linux-based Board Support Package (BSP) within our platform software organization. In this role, you will architect, implement, and optimize the BSP stack for high-scale networking platforms, ensuring robustness, reliability, and performance across diverse hardware configurations.
Key Responsibilities
- Design, implement, and maintain high-quality Linux BSP and low-level platform software, including bootloaders, kernel subsystems, device drivers, and essential system services.
- Lead secure boot architecture and implementation, including chain-of-trust design, key provisioning, firmware authentication, measured boot, and integration with TPM/Root-of-Trust hardware.
- Drive early hardware bring-up and board initialization for new platforms, enabling stable operation of peripherals such as EEPROM, CPLD, GPIO, I2C, SPI, UART, PCIe, thermal sensors, and watchdogs.
- Validate functionality and performance across multiple hardware spins, including diagnostics, power-on self-tests, interface validation, and regression testing on supervisor/management boards.
- Collaborate closely with hardware, system, security, and manufacturing teams to define and optimize platform behavior around thermal management, power sequencing, reliability, and system resilience at the BSP layer.
- Enable control-plane software integration with SONiC platform services or custom management APIs, ensuring robust communication between the management CPU/BMC and the switching ASIC.
- Support production readiness through debugging, root cause analysis, DVT/EVT support, and long-term maintainability improvements
- Bachelor's in Computer Science/ECE with 10+ years of experience, or Master's with 5+ years in embedded systems, firmware, or platform software development.
- Deep proficiency in C/C++ programming in Linux-based cross-compiled environments, including familiarity with compiler toolchains (Yocto/Buildroot), debugging tools (gdb, JTAG, Lauterbach), and performance profiling.
- Strong expertise in embedded Linux, BSP development, board initialization, FPGA-to-CPU/BMC communication protocols and low-level system software, including bootloaders, kernel bring-up, device drivers.
- Hands-on experience with secure boot, chain of trust, key provisioning, TPM/Root-of-Trust integration, verified boot, and firmware authentication.
- Experience with hardware bring-up on new boards and SoCs, including DDR initialization, power sequencing, clock/reset trees, and low-speed peripheral drivers (I2C, SPI, UART, GPIO, EEPROM, CPLD).
- Experience developing platform SDK components, including board configuration frameworks, diagnostics, platform abstraction layers, and device-tree-based initialization.
- Experience with control-plane integration for network switches/routers, including management CPU to ASIC interfaces over I2C/PCIe.
- Experience with modern network operating systems such as SONiC, especially the platform/BSP layer (platform drivers, platform API, sensors, transceivers, thermal/power integration).
- Experience with simulation and emulation environments, including QEMU, hardware behavioral models, or RTL-based SoC simulations for pre-silicon validation.
- Strong debugging skills, including board bring-up logs, kernel crash analysis, JTAG debug, and low-level system trace analysis.
Preferred Qualifications
- Experience developing BSPs for switching or routing platforms (modular chassis or fixed-configuration systems).
- Knowledge of network OS like SONiC and platform daemons (OpenBMC, SystemD services).
- Familiarity with hardware abstraction layers (HALs) or platform SDKs used in switch OS architectures.
- Good understanding of Ethernet switching hardware at the platform level, e.g., PHY initialization, MAC/PHY interfaces, SERDES bring-up, and basic Layer 2/3 datapath awareness for platform integration (not protocol development).
