Responsibilities
- Participate in product definition, specification and requirements analysis working with cross functional stakeholders
- Developing drivers for various hardware in embedded environments
- Design and implement real-time software for sensor fusion, signal processing and motion control on embedded platforms
- Work closely and collaborate with hardware teams to bring up new platforms
- Help hardware engineers isolate hardware problems
Minimum Qualifications
- Bachelor or master degree in Computer Science, Electrical Engineering, or related field with minimum 5 years industry experience
- Solid background in building software and driver on embedded RTOS and/or Linux platforms
- Strong C/C++, python with production code experience
- Experience with ARM CPU for both high-performance and low-power application (e.g., A53, M3, M4 & similar) coding & toolchains
- Experience with embedded communication interfaces (e.g., UART, SPI, I2C, ethernet etc)
- Familiar with STM32 and FreeRTOS
- Understand circuit schematics and experience in component selection
- Proficient in using debugging tools (e.g., JTAG, logic/bus analyzer, oscilloscope)
- Team player and self-motivator
Preferred Qualifications
- Familiar with Linux environment for embedded software development
- Familiar with Linux kernel is highly desired
- Hardware design experience is highly desired
- Strong knowledge of sensor fusion, digital signal processing, and control theory
- Experience with developing time critical software
- FPGA (Zynq) design is a big plus