Validation and testing: Develop and execute comprehensive test plans and automated test scripts to ensure the software meets all functional and performance requirements.
Customer Support: Provide technical support to application engineers and customers, assisting with firmware-related issues and implementation guidance.
Documentation: Create and maintain technical documentation, including design specifications, firmware architecture, and test procedures.
Continuous Improvement: Participate in code reviews and contribute to the improvement of software development methodologies and processes.
Required Skills and Qualifications
3+ years of industry experience in software development on embedded devices.
Bachelor's or master’s degree in Electronics/Electrical/Computer Engineering, or a related field.
Strong proficiency in embedded C/C++ and familiarity with assembly language.
Experience implementing industry-standard communication protocols like PMBus, I2C, and SPI.
Experience with TI's Code Composer Studio (CCS), IAR, Keil and other relevant development tools.
Familiarity with scripting languages like Python, JavaScript and ability to automate software development and test flows/methods.
Knowledge of software development life cycle and experience using development tools like git, KlocWork, Unity Test Framework etc.
Direct, hands-on experience developing software for TI's UCD digital power controller family will be an added advantage.
Deep understanding of digital power control theory and common topologies (PFC, buck, boost, LLC, etc.).
Basic understanding of signal processing and experience using model-based development tools like MATLAB and Simulink will be a definite plus.
Ability to read and interpret schematics and datasheets, with experience in hardware-software interaction and board-level debugging.
Proficiency in using standard lab equipment and debugging tools.
Strong analytical and problem-solving skills, excellent communication abilities, and a collaborative mindset.