Change the world. Love your job.
TI is the world's leading battery gauge IC supplier, used in products all over the world including phones, notebook computers, and industrial applications. These gauges are MCUs that run application firmware, that includes industry-leading and patented algorithms to determine the state of charge and health of rechargeable batteries. The Battery Gauges Firmware team develops both the gauge application firmware for various customers as well SDKs for customers who want to develop their own gauge firmware and algorithms for TI's Guaging ICs.
About the job
The software development engineer is responsible for the development of ROM code, low-level device drivers ( both bare-metal & RTOS based), tool-chain support, SDK development & custom firmware creation for major OEMs. This includes the development for new core devices as well as supporting existing SDK and firmware customers.
Design software solutions with a test-driven development approach to validate functionality, ensure code coverage, and drive continuous improvement
Define and own software component for Gauging ICs, be it ROM, device drivers, SDK, gauging application and its features, from requirements gathering, planning, development, testing, and release
Collaborate with cross-functional teams to align on software solution strategy and customer needs
Debug and address software issues during development and in production systems to support customers
Show the full description
Conduct thorough code reviews and promote best practices and coding standards
Also, ramp up on battery gauging technology to be able to work effectively with the customers.
Minimum Requirements
Bachelor's in Electrical Engineering, Computer Engineering, Computer Science, or related field of study
4+ years of relevant experience with hands on low-level driver and/or ROM and firmware development
Preferred Qualifications
Experience with developing ROM and/or low-level device drivers, be it bare-metal or RTOS based drivers
Experience of working with RTOS like FreeRTOS etc
Experience developing and debugging firmware on embedded microcontrollers
Experience with security and authentication in a microcontroller
Experience in 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 work in teams and collaborate effectively with people in different functions
Ability to take the initiative and drive for high-quality results
Strong time management and organizational skills that enable on-time project delivery
Be able to bring new ideas for product innovation and help improve software development processes