Sr Member of Technical Staff I - Advanced Linux C++ / BMC
Lattice SemiconductorJob Title
Sr Member of Technical Staff I - Advanced Linux C++ / BMC
Role Summary
Senior engineer responsible for developing and integrating BMC (Baseboard Management Controller) software for ARM-based SoCs and x86/ARM server platforms. Work spans low-level firmware, embedded Linux, platform management standards, and hardware interfaces.
The role is part of the India engineering team and focuses on platform bring-up, debugging, and delivering reliable server-management software components.
Experience Level
Senior-level (title indicates a senior role; typically 7+ years of relevant engineering experience).
Responsibilities
The core responsibilities include system-level BMC firmware and embedded Linux development, integration, and debugging.
- Design, implement, and maintain embedded BMC firmware and Linux applications using C/C++.
- Integrate and debug low-level hardware interfaces: I2C/SMBus, USB, PCIe, GPIO, SPI, UART, eSPI, JTAG.
- Develop and integrate platform-management solutions using IPMI, D-Bus, Redfish, PLDM, MCTP, and SPDM.
- Apply Open Compute Project specifications relevant to BMC and server management.
- Enable and support ARM-based BMC SoCs and x86/ARM server architectures during bring-up and validation.
- Implement system services using systemd and D-Bus; use POSIX threading, IPC, and socket programming as required.
- Build and maintain embedded Linux using Yocto/BitBake and Makefiles.
- Collaborate with hardware, validation, and platform teams to diagnose and resolve system-level issues.
- Document designs, interfaces, debugging findings, and technical solutions.
Requirements
Must-have technical skills and experience for successful performance in this role.
- Strong hands-on experience in advanced C or C++ programming for embedded systems.
- Experience with embedded systems development and low-level hardware interfaces (I2C/SMBus, USB, PCIe, GPIO, SPI, UART, eSPI, JTAG).
- Familiarity with platform-management standards: IPMI, D-Bus, Redfish, PLDM, MCTP, SPDM.
- Experience with ARM-based BMC SoCs (examples: ASPEED AST2600, Nuvoton Arbel) and x86/ARM server platforms.
- Strong knowledge of Linux internals: system calls, IPC, socket programming, POSIX multithreading.
- Hands-on experience with systemd, D-Bus, Yocto/BitBake, and Makefiles.
- Strong analytical, debugging, and problem-solving skills; experience diagnosing cross-domain platform issues.
- Nice-to-have: OpenBMC experience, Python or Bash scripting, bootloader and device-tree bring-up (U-Boot), GDB and platform debugging tools, Git and Jira usage.
Education Requirements
Bachelor of Engineering (BE/B.Tech) in ECE, CSE, EEE, IT, or a Master of Computer Applications (MCA) as stated in the posting.
About the Company
Company: Lattice Semiconductor
Headquarters: Portland, Oregon, USA
Lattice Semiconductor specializes in low power, small-form-factor programmable logic devices and solutions. The company is known for its innovative technology that enables a wide range of applications, including communication, consumer, and industrial markets.
