Member of Technical Staff I - Linux C++ (BMC)
Lattice SemiconductorJob Title
Member of Technical Staff I - Linux C++ (BMC)
Role Summary
Work on BMC and embedded platform-management software with a focus on C++ development, Linux internals, system services, and embedded Linux build environments. The role involves design, implementation, integration, debugging, and maintenance of BMC software while collaborating with hardware, validation, and software teams.
Experience Level
Entry-level (Member of Technical Staff I). Typical expectation: early-career engineers (approximately 0β3 years relevant experience).
Responsibilities
Contribute to BMC and embedded Linux software across development, integration, and bring-up.
- Design, implement, and maintain embedded firmware components in C++ using OOP principles.
- Develop Linux applications using system calls, IPC, socket programming, and POSIX threads.
- Implement and integrate system services using systemd and D-Bus.
- Build and maintain embedded Linux using Yocto/BitBake and Makefiles.
- Debug software and system issues with GDB and platform logs; support platform bring-up and startup.
- Work with low-level hardware interfaces and platform components as required.
- Collaborate with development, validation, and hardware teams; use Git and Jira for workflow.
- Document designs, implementations, and troubleshooting findings.
Requirements
Core technical skills required; preferred items listed separately.
Must-have:
- Strong C++ programming and object-oriented design.
- Experience in embedded systems development and debugging.
- Solid knowledge of Linux internals: system calls, IPC, sockets, POSIX multithreading.
- Hands-on experience with systemd and D-Bus.
- Experience with embedded Linux build frameworks (Yocto/BitBake, Makefiles).
- Familiarity with GDB, Git, and issue tracking workflows (Jira).
- Analytical troubleshooting skills and ability to work in cross-functional teams.
Nice-to-have:
- Advanced C and scripting (Python or Bash).
- OpenBMC development experience and BMC SoC bring-up (U-Boot, device tree, drivers, BSP).
- Knowledge of hardware interfaces: I2C/SMBus, USB, PCIe, GPIO, SPI, UART, eSPI, JTAG.
- Familiarity with IPMI, Redfish/DMTF standards, PLDM, MCTP, SPDM, and OCP specs.
- Experience with ARM-based BMC SoCs (e.g., ASPEED AST2600, Nuvoton Arbel) and x86/ARM server architectures.
Education Requirements
Bachelor of Engineering (B.E./B.Eng.) in ECE, CSE, EEE, IT or a Master of Computer Applications (MCA) as specified 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.
