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++ idioms
- Python Scripting and Shell Scripting.
- Good understanding of TCP and UDP protocols, good to have RTP, RTCP protocols
- Working 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 Jira
- Having 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 desirable