System Software Engineer

Job Description:

We are looking for an experienced (2-7 years) Systems Software Engineer to work in the IoT (Internet-of-Things) domain. The candidate shall be part of an existing engineering team.


The candidate should be able to handle one or more of the below responsibilities.

  • System Programming - Strong knowledge of operating system kernel (RTOS or Linux) and system software (Compiler, Linker), microprocessor/microcontroller architecture, synchronisation, IPC, memory management, system security, third party and open source software.

  • Networking - TCP/IP, socket programming, understanding of wireless communication protocols such as Wi-Fi, Ble, understanding of commonly used application level protocols such as HTTP and basic understanding of network security.

  • Support software QA, provide post production support.



  • Solid programming and debugging experience in C or C++.

  • Desirable to have experience with one or more scripting languages like Python.

  • Hands-on expertise with commonly used data structures and algorithms.

  • Experience in hands-on development and troubleshooting on (preferably) embedded targets.

  • Experience in writing and maintaining multi-threaded code would be desired.

  • Experience in software performance measurement and optimization.

  • Familiarity with software configuration management tools, defect tracking tools, peer review tools and source control systems (like git).

  • Create and maintain good quality software documentation.

  • Good verbal & written communication skills in English.