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.
Responsibilities:
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.
Requirements:
-
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.