Software Development Engineer

Texas Instruments•Dallas, TX

About The Position

The Software Development Engineer develops software for TI battery-gauging ICs, which are used in products such as phones, notebook computers, and industrial applications. The Battery Gauges Firmware team creates gauge application firmware and software development kits (SDKs) for customers developing their own gauge firmware and algorithms. The role covers ROM code, low-level device drivers for bare-metal and RTOS-based systems, tool-chain support, SDK development, and custom firmware for major OEMs. It includes developing software for new core devices and supporting existing SDK and firmware customers. The engineer also ramps up on battery-gauging technology to work effectively with customers.

Requirements

  • Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
  • At least 4 years of relevant hands-on experience with low-level driver, ROM, and/or firmware development.

Nice To Haves

  • Experience developing ROM code and/or low-level device drivers for bare-metal or RTOS-based systems.
  • 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 with software test methodologies for embedded applications.
  • Agile firmware development experience.
  • Experience with version control systems such as Git.
  • Strong verbal and written communication skills.
  • Ability to collaborate effectively with people in different functions.
  • Initiative and a drive to achieve high-quality results.
  • Strong time-management and organizational skills that support on-time project delivery.
  • Ability to contribute ideas for product innovation and improve software development processes.

Responsibilities

  • Develop ROM code, low-level device drivers, tool-chain support, SDKs, and custom firmware.
  • Develop software for new core devices and support existing SDK and firmware customers.
  • Design software solutions using test-driven development to validate functionality, ensure code coverage, and drive continuous improvement.
  • Own software components for gauging ICs—including ROM, device drivers, SDKs, and gauging applications and features—from requirements gathering through planning, development, testing, and release.
  • Collaborate with cross-functional teams to align software strategy and address customer needs.
  • Debug and resolve software issues during development and in production systems to support customers.
  • Conduct code reviews and promote best practices and coding standards.
  • Learn battery-gauging technology to work effectively with customers.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service