Junior BMC Firmware Engineer
Lattice Semiconductor · Duluth, GA · 1 mo ago
Information TechnologyFull-time
About the role
Lattice is a worldwide community of engineers, designers, and manufacturing operations specialists in partnership with world-class sales, marketing, and support teams, who are developing programmable logic solutions that are changing the industry. Our focus is on R&D, product innovation, and customer service, and to that focus, we bring total commitment and a keenly sharp competitive personality. Energy feeds on energy. If you flourish in a fast paced, results-oriented environment, if you want to achieve individual success within a “team first” organization, and if you believe you can contribute and succeed in a demanding yet collegial atmosphere, then Lattice may well be just what you’re looking for.
Responsibilities
- Contribute to the design, development, and validation of BMC firmware for server platforms, working from requirements under the guidance of senior engineers.
- Develop and maintain firmware features on an OpenBMC / Yocto (embedded Linux stack in C/C++ and Python.
- Assist with bring-up and enablement of hardware interfaces and sensors (I2C/I3C, PECI, SPI, GPIO, PWM/TACH, JTAG) for new boards and platforms.
- Help implement and maintain manageability interfaces (Redfish, IPMI) and contribute to security/boot features.
- Integrate open-source components where applicable; learn the team's process for syncing with community / LTS releases.
- Debug and resolve firmware issues across the stack (kernel, drivers, services application), escalating complex hardware issues as needed.
- Write unit/integration tests and participate in code reviews and CI to build good engineering habits.
- Prepare and maintain firmware documentation (design, interface, and release notes).
- Collaborate with hardware, BIOS, silicon-vendor, and QA teams.
Requirements
- US Citizenship required.
- Successful background and reference checks and satisfactory proof of right to work in the United States of America.
Qualifications
- Bachelor's / Master's in CE/EE/CS (or equivalent); 0-3 years of experience (internships, academic, or personal projects count).
- Working knowledge of C/C++ and familiarity with Python.
- Foundational understanding of operating-system / embedded-Linux concepts and basic hardware/electronics.
- Exposure to Git-based workflows.
Skills
- Coursework or project experience with embedded systems, device drivers, or microcontrollers (nice to have).
- Familiarity with Yocto / BitBake, OpenBMC, Redfish / DMTF, PLDM / MCTP / SPDM, or hardware debug tools (oscilloscope/logic analyzer, JTAG) (nice to have).
- Eagerness to learn, strong problem-solving mindset, and attention to detail.
- Able to take direction and collaborate well within a team.
Benefits
- Comprehensive, competitive benefits package which may include healthcare and retirement plans, paid time off, and more.
Pay
- In addition to base pay, this role may be eligible for variable/ incentive compensation and/or equity.