Embedded & Systems Software
About the role
The software development engineer is responsible for the development of ROM code, low-level device drivers (bare-metal and RTOS based), tool-chain support, SDK development, and custom firmware creation for battery gauge ICs. This role supports both new core device development and existing SDK and firmware customers.
What you'll do
- Define and own software components for Gauging ICs, including ROM, device drivers, SDKs, and gauging application features from requirements gathering through testing and release.
- Design software solutions using a test-driven development approach to validate functionality, ensure code coverage, and support continuous improvement.
- Develop ROM code and low-level device drivers across both bare-metal and RTOS-based environments.
- Debug and resolve software issues during development and within production systems to support customer integrations.
- Conduct thorough code reviews and promote coding standards and best practices across the team.
What you'll need
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field of study.
- 4+ years of relevant hands-on experience with low-level driver, ROM, and firmware development.
Nice to have
- Experience developing ROM and low-level device drivers (bare-metal or RTOS-based drivers).
- Experience working with an RTOS such as FreeRTOS.
- Experience developing and debugging firmware on embedded microcontrollers.
- Experience with security and authentication in a microcontroller.
- Experience in software test methodologies for embedded applications.
- Experience with Agile firmware development.
- Experience with version control systems such as Git.
Skills: firmware, ROM, low-level driver, RTOS, microcontroller
More semiconductor jobs: Texas Instruments jobs · Firmware engineer jobs · Dallas jobs