Create specifications and define software architecture for embedded systems.
Design and develop software or firmware for embedded system.
Design and develop middleware, application and GUI in Windows, embedded Linux or other environments.
Work closely with other engineers to analyze and resolve bugs.
Analyze performance bottleneck and optimize product quality and throughput.
Job Requirements
Master or degree in computer science, computer engineering or electronic engineering, or equivalent
At least 5 years direct relevant experience for the senior engineer position.
Fresh graduates with relevant knowledge or experience are welcome.
Experience in embedded Linux software or MCU based firmware development.
Experience on Linux BSP development including u-boot, kernel and root filesystem, hands-on experience with Yocto Linux for embedded system is preferred.
Good understanding in hardware and ability to develop low level codes.
Strong programming experience in C/C++. Rich experience on embedded software development is a plus.
Good knowledge in software debugging and performance optimization.
Good experience in embedded systems based on ARM Cortex-M or Cortex-A series processors.
Familiar with software development process, source version control and bug tracking system is an advantage.