c++, Internet Protocol Suite (TCP/IP), SSL/TLS, DSA, Multithreading, C,.
Application Development:C++.
Fluent with advance concepts of C++, e.g., constructs, strings, pointers, arrays, arrays & pointers, double pointers, function pointers, pointers to arrays, internal storage for various datatypes, creating in memory data-structures, bit-field operators, recursions, function call and stack formation, standard file I/O library, buffered IO, etc..
Relational database (SQLite).
Standard protocol implementation (TCP/IP, Serial etc).
Knowledge of object-oriented concepts and programming.
Multi-Threaded development.
Good design skills, familiar with SOLID principles.
Experience with Make tools and cross compilation chains for ARM architecture..
Strong debugging and profiling skills (gdb, gprof).
Shell scripting, Python Scripting.
Good understanding of data structures and implementation knowledge such as Stacks, queues, trees, etc..
Operating System.
Operating system architecture (Linux, BSD flavours).
Working with process, threads, memory management.
Locking mechanism in the OS.
Good To Have (Operating System).
Networking stack knowledge.
Networking stack programming experience will be an advantage..
Exposure to embedded systems interface (programming using in devmem, gpio, DMA).
Other Areas.
Documentation and version control.
Unit Testing and Integration Testing.
Open to learn and adopt frequent changes..
Logical Reasoning.
Experience in mentoring juniors and technical leadership of 2 to 6 engineers.