Embedded Firmware Engineer
Micron Technology
About the Role
Micron Technology Inc. is a global leader in semiconductor manufacturing. The Systems Integration Group (SIG) designs and manufactures internal equipment to give Micron a competitive edge. The Equipment Software Design team seeks a driven embedded software engineer to build embedded software running on bare metal to embedded Linux, as well as higher-level interface software. This role requires deep understanding of hardware behavior to design, debug, and optimize software that directly controls custom electronic systems.
Key Responsibilities
- Design: Develop new and modify existing equipment in cross-discipline design teams (software, electrical, control, and mechanical engineers).
- Code: Develop in C, C++, Bash, and Python on bare metal and under RHEL compatible Linux distros in containers.
- Manufacture: Work with New Product Introduction and Operation teams in the manufacturing of equipment.
- Innovate: Design solutions that keep Micron competitive, creating what doesn’t exist yet.
- Support: Improve existing designs, responding to manufacturing and production support.
- Hands-On Work: Daily hands-on work with electronics, computers, and in-house and third-party equipment in a lab environment.
- Hardware Debug: Debug software–hardware interactions using schematics, datasheets, and lab equipment (oscilloscopes, logic analyzers, DMMs, SMUs) to independently root-cause system-level issues.
- Collaborate: Work in a cross-discipline design team with members in Boise Idaho, San Jose California, Penang Malaysia, and Hyderabad India.
Requirements & Tech Stack
- C, C++ experience
- Ability to read and reason about schematics, datasheets, and timing diagrams to debug software–hardware interactions
- General lab equipment knowledge (oscilloscopes, DMMs)
- Experience in Linux and the GNU toolchain
- Experience debugging embedded systems at the signal and register level
- Experience with common hardware interfaces (e.g., GPIO, SPI, I2C, UART, PCIe)
Preferred Qualifications
- C, C++ and Python proficiency
- Container experience
- Bare metal development experience
- Ability to review PCB layouts for software-relevant concerns (power, clocks, interfaces)
- Board bring-up experience or close collaboration during hardware bring-up
- Experience correlating firmware behavior with electrical measurements
- Debugging timing, signal integrity, or power-related issues impacting software behavior
- Experience building physical systems (software + hardware)
- Experience using AI-assisted development tools to improve software design, implementation, testing, and debugging.
Qualifications
- Bachelor of Science degree in Electrical Engineering, Computer Engineering, or equivalent