1. Experience with integration and testing for a complex system
2. Experience with low level operating systems, RTOS, UBOOT, or other bare-metal programming
3. Experience coding with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB, PCIE
4. Experience in real-time processing for computer vision and user interaction tasks, high-compute/throughput systems
5. Experience with FPGA and hardware evaluation boards, EDA design tools, and/or ISA simulators
6. Experience with C/C++ for embedded systems