Job Summary
We are seeking a highly experienced and skilled Senior C++ Developer with 1015 years of experience to join our dynamic team. The ideal candidate will be responsible for designing, developing, and optimizing complex C++ applications in the Telecom & Datacom domain. You will collaborate with cross-functional teams to create robust, high-performance, and scalable software solutions.
Key Responsibilities
- 1) Software Development:
- Design, develop, and optimize high-performance, scalable C/C++ applications.
- Lead the architecture, design, and implementation of complex C++ applications.
- Develop efficient, reliable, and scalable software solutions.
- Ensure adherence to coding standards, efficient algorithms, and design patterns.
- 2) Code Optimization and Performance Tuning:
- Analyze core dumps, memory leaks, stack traces using tools like GDB, Visual Studio Debugger.
- Profile and optimize using tools (VTune, Valgrind) CPU, memory, I/O performance and identify the bottlenecks.
- Optimize multithreading, lock-free data structures, and parallel computing.
- 3) Low-Level System Programming:
- Work with Linux/Windows APIs, system calls, kernel modules.
- Work with networking protocols, socket programming, and memory management.
- 4) Team Collaboration & Leadership:
- Lead technical discussions, design reviews, and architecture decisions.
- Mentor junior developers in best practices.
- Work with cross-functional teams (QA, Product Managers, GUI).
- Create and maintain technical documentation and specifications.
Requirements
- 1) Programming Expertise:
- 1015 years of hands-on experience in C++ development.
- Strong proficiency in C and C++11/14/17/20.
- In-depth knowledge of STL, algorithms, multithreading, memory management.
- 2) System Programming:
- Linux/Windows internals (processes, threads, signals, syscalls).
- Experience with network programming (TCP/UDP), IPC, and shared memory.
- 3) Multithreading & Parallelism:
- Thread pools, task schedulers, async programming.
- Implementing lock-free and wait-free data structures using atomic operations.
- Experience in optimizing for NUMA architectures and reducing CPU contention.
- 4) Version Control and Build Systems:
- Experience with Git, CMake, Makefiles.
- Familiarity with GCC, MS Visual Studio.
- 5) Debugging & Performance Tools:
- GDB, Valgrind, perf, VTune.
- 6) Protocol Expertise: Working experience of VoIP and Wireless protocols (Core network).
Preferred Skills (Good to have)
- Scripting languages like Python for automation, testing scripts.
- Basic telecommunication concepts.
- Experience with DPDK.
Mandatory Key Skills
software development,Senior Software Engineer,Linux APIs,Windows APIs,Python,scripting,technical documentation,networking protocols,memory management,design reviews,C++*