Associate Firmware Engineer
Full-time
Morrisville, NC, USA
Why Work at Lenovo
Description and Requirements
Role Overview
In this role, you will join Lenovo’s Infrastructure Solutions Group (ISG) and support the Server BMC (Baseboard Management Controller) initiative. You will work alongside firmware engineers to design, develop, test, debug, and document the BMC stack for Lenovo servers. This role is ideal for an early-career engineer interested in C/C++ development, embedded systems, and low-level software that operates close to the hardware.
What You’ll Do
Firmware Development: Develop, maintain, test, and debug firmware for Lenovo Server BMC solutions using C/C++.
Embedded Systems: Work with embedded systems and low-level software, gaining hands-on experience with code that interacts closely with server hardware.
BMC Development: Support the design, development, testing, debugging, and documentation of the BMC stack for Lenovo servers.
Testing & Debugging: Analyze firmware behavior, troubleshoot technical issues, and apply structured debugging methodologies to identify and resolve problems.
Engineering Collaboration: Participate in collaborative planning calls, engineering discussions, code reviews, and status meetings.
Version Control: Use Git source control and common development workflows, including forking, pull requests, and code reviews.
Problem Solving: Analyze technical problems and evaluate alternative approaches to implement effective solutions.
Independent Execution: Manage work priorities and technical trade-offs while contributing to the broader goals of the engineering team.
What We’re Looking For
Bachelor’s or Master’s degree in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering, or a related technical field.
Graduation date of December 2027 or earlier.
Experience with C and/or C++ programming.
Experience or academic/project exposure to embedded systems, firmware, or other low-level software development close to the hardware.
Experience working with Linux operating systems.
1+ years of hands-on firmware development experience, relevant academic/project experience, or a graduate-level degree.
Knowledge of Git source version control, including common workflows, forking, pull requests, and code reviews.
Knowledge of software development processes and Agile methodologies.
Strong analytical, troubleshooting, and debugging skills.
Strong communication and collaboration skills.
Ability to work independently, manage priorities, evaluate trade-offs, and compare alternative technical approaches.
Python and/or SQL experience is a plus.