Member of Technical Staff II
Lattice SemiconductorJob Title
Member of Technical Staff II
Role Summary
Embedded software engineer focused on BMC and platform-management software for Linux-based systems. The role involves design, implementation, integration, debugging, and maintenance of C++/Linux system services and embedded Linux build environments, working with cross-functional hardware and validation teams in Chennai.
Experience Level
Mid-level (Member of Technical Staff II). Specific years of experience not stated.
Responsibilities
Primary responsibilities include development, integration, and debugging of BMC and embedded Linux software:
- Design, implement, and maintain embedded firmware components using C++ and object-oriented principles.
- 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 systems using Yocto/BitBake and Makefiles.
- Debug software and system issues using tools such as GDB and platform logs; support platform bring-up and system startup.
- Work with low-level hardware interfaces and platform components during integration and validation.
- Collaborate with development, validation, and hardware teams to diagnose and resolve technical issues; use Git and Jira for version control and tracking.
- Document software designs, implementation details, and troubleshooting findings.
Requirements
Key technical requirements and preferred skills. Education requirements are summarized separately below.
Must-have
- Strong C++ programming and solid object-oriented design skills.
- Experience in embedded systems development and platform bring-up.
- Knowledge of Linux internals: system calls, IPC, socket programming, and POSIX threads.
- Hands-on experience with systemd and D-Bus.
- Experience with embedded Linux build frameworks, especially Yocto/BitBake and Makefiles.
- Practical debugging and problem-solving skills; familiarity with tools and platform logs.
- Experience with version control (Git) and issue tracking (Jira); ability to work independently and in teams.
Nice-to-have
- Advanced C and scripting (Python or Bash).
- Knowledge of OpenBMC architecture and embedded Linux startup (U-Boot, device tree, drivers, BSP bring-up).
- Experience with hardware interfaces such as I2C/SMBus, USB, PCIe, GPIO, SPI, UART, eSPI, and JTAG.
- Familiarity with IPMI, Redfish, PLDM, MCTP, SPDM, and Open Compute Project specs.
- Experience with ARM-based BMC SoCs (e.g., ASPEED AST2600, Nuvoton) and server architectures.
Education Requirements
Bachelor of Engineering (BE/B.Tech) in ECE, CSE, EEE, IT, or a Master of Computer Applications (MCA) is specified. No explicit mention of equivalent-experience language was given.
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.
