1. Solid expertise in C/C++ programming, coding, debugging, and optimization.
2. Hands-on experience in FPGA design and simulation using Verilog/VHDL.
3. Good knowledge of ARM-based embedded systems and peripherals such as UART, SPI, I2C, I2S, CAN, USB, Ethernet, ADC, and DAC.
4. Experience with RTOS (VxWorks, FreeRTOS, RTLinux, etc.), Linux and embedded software development.