Member of Technical Staff I
Lattice SemiconductorJob Title
Member of Technical Staff I
Role Summary
Develop embedded Linux and BMC (Baseboard Management Controller) software for platform management. The role focuses on C++ development, Linux internals, system services, embedded Linux build systems, and integration with hardware and cross-functional teams.
Work within an R&D engineering team to design, implement, debug, and maintain reliable platform-management software for server and embedded platforms.
Experience Level
Entry-level / early career (typical level I individual contributor). Specific years of experience were not stated.
Responsibilities
Primary responsibilities include design, implementation, integration, and debugging of BMC and embedded Linux software:
- Design, develop, and maintain embedded firmware/components using C++ and object-oriented principles.
- Develop Linux applications using system calls, IPC, socket programming, and POSIX threads.
- Implement and integrate system services with systemd and D-Bus.
- Build and maintain embedded Linux images and packages using Yocto/BitBake and Makefiles.
- Debug software and system issues using GDB, platform logs, and systematic troubleshooting.
- Support BMC software integration, system startup, and platform bring-up activities.
- Work with low-level hardware interfaces and collaborate with validation, hardware, and cross-functional teams to resolve issues.
- Use Git for version control and Jira for issue tracking; document designs and troubleshooting findings.
Requirements
Must-have technical skills and experience:
- Strong programming skills in C++ and solid understanding of object-oriented design.
- Experience in embedded systems development.
- Strong knowledge of Linux internals including system calls, IPC, socket programming, and POSIX multithreading.
- Hands-on experience with systemd and D-Bus.
- Experience with Linux build frameworks, particularly Yocto/BitBake and Makefiles.
- Proven debugging and analytical problem-solving skills; experience with GDB and reading platform logs.
- Ability to work independently and collaborate across teams; familiarity with Git and Jira workflows.
Nice-to-have:
- Advanced C skills and experience with Python or Bash scripting.
- Knowledge of OpenBMC, bootloaders (U-Boot), device tree, drivers, and BSP bring-up on BMC SoCs.
- Familiarity with I2C/SMBus, USB, PCIe, GPIO, SPI, UART, eSPI, JTAG interfaces and protocols such as IPMI, Redfish, PLDM, MCTP, SPDM.
- Experience with ARM-based BMC SoCs (e.g., ASPEED AST2600, Nuvoton Arbel) and x86/ARM server architectures.
Education Requirements
Bachelor of Engineering (BE/BEng) in ECE, CSE, EEE, IT or a Master of Computer Applications (MCA) were specified as expected qualifications.
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.
