Role & responsibilities
- You will be responsible for developing high-performance, scalable, and maintainable software using modern C++ (C++11 / 14 / 17 / 20).
- Implement and optimize multi-threaded, memory efficient code.
- Analyze and debug complex software issues using tools like GDB, Valgrind, application logs, etc and capture root cause analysis.
- Perform unit, integration and system testing to validate the code correctness.
- Participate in software releases and assist in deployment troubleshooting as on needed.
Mandatory Skills :
Strong proficiency in C, C++ with multithreading and networking experience.Solid understanding of object-oriented design, STL, and modern C++ idiomsPython Scripting and Shell Scripting.Good understanding of TCP and UDP protocols, good to have RTP, RTCP protocolsWorking experience in Linux environment and knowledge of Linux commands.Good hands-on in problem solving and debugging tools like GDB, profiling tools like Valgrind.Proficient in using Make and CMake for building and managing large-scale C++ projects, including writing custom build scripts and managing complex dependency trees.Nice to have Skills :
Good to have hands on ACE (C++) Framework.Good understanding and hands-on on relational and non-relational databases.Familiarity with source control tools like SVN and Git, and project tracking tools like JiraHaving a knowledge of audio codecs like G711, G722, Opus is a plus.Experience in VoIP, telecom, or IoT platforms is a plus.Educational Qualifications :
Bachelors degree in computer science, Electronics & Communication, Electrical Engineering, Information Technology, or a related technical discipline(Optional but preferred) Master's degree (M.Tech / M.S / MCA.) in a relevant field is a plus.Strong academic foundation in data structures, algorithms, operating systems, and computer architecture is highly desirableSkills Required
Data Structures, Algorithms, Operating Systems, C, C++