Senior Member of Technical Staff I - Linux C++ / BMC
Lattice SemiconductorJob Title
Senior Member of Technical Staff I - Linux C++ / BMC
Role Summary
Develop and maintain BMC and embedded Linux platform-management software with a focus on C++ development, Linux internals, system services, and embedded build environments. Work on integration, debugging, and platform bring-up while collaborating with hardware, validation, and cross-functional engineering teams.
Experience Level
Senior-level. The posting indicates a senior technical role; no specific years of experience were provided.
Responsibilities
Primary engineering and integration responsibilities for BMC and embedded Linux software.
- Design, develop, and maintain embedded firmware components using C++ and object-oriented design.
- Develop Linux applications using system calls, IPC, sockets, and POSIX multithreading.
- Implement and integrate system services using systemd and D-Bus.
- Build and maintain embedded Linux software using Yocto/BitBake and Makefiles.
- Debug software and system issues using GDB and platform logs; perform root-cause analysis.
- Contribute to BMC software integration, system startup, and platform bring-up activities.
- Work with low-level hardware interfaces and platform components as required.
- Use Git for version control and Jira for issue tracking; document designs and troubleshooting findings.
Requirements
Required technical skills and practical experience for the role; preferred items listed separately.
Must-have- Strong programming skills in C++ and solid object-oriented design.
- Experience in embedded systems development and debugging.
- Strong knowledge of Linux internals, including system calls, IPC, socket programming, and POSIX threading.
- Hands-on experience with systemd and D-Bus.
- Experience with Linux build frameworks, particularly Yocto/BitBake and Makefiles.
- Proven analytical and problem-solving skills; ability to work independently and in cross-functional teams.
- Familiarity with Git and Jira for development workflow.
- Advanced C and scripting skills (Python or Bash).
- Knowledge of OpenBMC, bootloaders (U-Boot), device tree, drivers, and BSP bring-up.
- Experience with hardware interfaces (I2C/SMBus, USB, PCIe, GPIO, SPI, UART, eSPI, JTAG).
- Familiarity with standards such as IPMI, Redfish, PLDM, MCTP, SPDM and OCP specifications.
- Experience with ARM-based BMC SoCs (e.g., ASPEED AST2600, Nuvoton) and x86/ARM server architectures.
Education Requirements
Bachelor of Engineering in ECE, CSE, EEE, IT or Master of Computer Applications were listed as the expected qualifications. (No mention of substitutes or "equivalent experience" was provided 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.
