Responsible for software development and maintenance of assigned customer projects.
Support North American customers to develop SW features, debug customer and test team reported bugs on software releases, maintain software stack and enhancement of demo applications.
Implement and optimize low level hardware drivers, firmware, communication protocols including LTE modem software protocol stack.
Conduct unit testing and integration testing to verify software functionality and performance.
Collaborate with cross functional and overseas R&D team including platform team, hardware engineers, Field application engineers, SW department & project managers, and quality assurance teams.
Maintain, create and update software documentation, high level and low-level design specification, technical analysis report and knowledge articles.
Required qualifications:
Bachelor's degree in computer engineering, Electrical Engineering, Computer Science, or a related field.
Experience in C & C++ programming, microcontroller/microprocessor architecture and firmware programming.
Experience with RTOS system, FreeRTOS, Linux knowledge is plus.
Familiarity with embedded software development life cycle.
Experience in various communication bus protocols i.e., I2C, SPI, UART, USB, I2S and peripheral interfacing.
Familiarity with hardware/software integration and debugging techniques.
Strong analytical and troubleshooting skills with fluency in English language.
Be flexible to collaborate in different time zone and the role may require occasional travel to North America region.