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
- 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.
- 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.
- Low-Level System Programming:
- Work with Linux/Windows APIs, system calls, kernel modules.
- Work with networking protocols, socket programming, and memory management.
- 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
- 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.
- System Programming:
- Linux/Windows internals (processes, threads, signals, syscalls).
- Experience with network programming (TCP/UDP), IPC, and shared memory.
- 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.
- Version Control and Build Systems:
- Experience with Git, CMake, Makefiles.
- Familiarity with GCC, MS Visual Studio.
- Debugging & Performance Tools: GDB, Valgrind, perf, VTune.
- 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++*