Strong programming knowledge in C Good knowledge on Linux applications programming (Tasks, Threads, System calls, IPC etc ) Good understanding of Hardware, schematics and communication protocols Hands on with C, C++ or Java programming skills with very good knowledge of architecture Hands on with Python/Shell scripting Knowledge of all layers in Linux based OS development (BSP, MW, kernel etc) Knowledge of agile development methodologies Knowledge of unit testing theory Knowledge of Git Good analytical skills and problem solving skills with a can-do attitude Experience of IoT is a plus Experience of Linux system start-up and U-boot is a plus Experience of Linux Device driver is a plus