Working under general guidance, autonomously undertake the following responsibilities in a quality and time efficient manner :
Develop interactive Linux application using C++ and QT.
Design, develop, and maintain high-performance embedded applications using C for STM32 microcontrollers.
Integrate third-party libraries and middleware into the firmware architecture.
Debug and troubleshoot software issues to identify and resolve problems effectively.
Contribute to code reviews and provide constructive feedback to improve code quality.
Develop and maintain build scripts for packaging and deploying software effectively.
Troubleshoot build issues and identify potential build system improvements.
Stay up to date with the latest advancements in CMake and best practices for build automation.
Ability to follow rigorous Software Development Life Cycles including testing and verification.
Ability to interface with clients to analyze and document product requirements, estimate level of effort and translate clients' business requirements and objectives into technical applications and solutions.
Assist in the design of software applications to meet both functional and technical requirements.
Provide 2nd level support as required to regional customer support staff.