Role Overview
We are seeking experienced C++ professionals to design, develop, and optimize high-performance, scalable, and reliable software applications. Depending on experience, candidates may contribute as Developers, Lead Developers, or Architects.
Responsibilities
- Design, develop, test, and maintain high-performance applications using C++.
- Write clean, efficient, and maintainable code following industry best practices.
- Develop multithreaded and concurrent applications for performance-critical systems.
- Design and implement efficient data structures and algorithms.
- Work on Linux-based application development and debugging.
- Develop and maintain socket-based client-server applications.
- Apply object-oriented design principles and software design patterns.
- Perform code reviews and ensure adherence to coding standards.
- Debug, troubleshoot, and optimize applications using profiling and debugging tools.
- Collaborate with cross-functional teams throughout the software development lifecycle.
- Contribute to system architecture and technical design decisions.
- Mentor junior developers and provide technical leadership.
Requirements
- 3–15 years of experience in software development.
- Strong programming experience in C++ and STL.
- Solid understanding of Object-Oriented Programming (OOP) concepts.
- Strong knowledge of Multithreading and Concurrent Programming.
- Excellent understanding of Data Structures and Algorithms.
- Experience with Linux application development.
- Hands-on experience in Socket Programming (TCP/IP, UDP).
- Experience with CMake build system.
- Proficiency in debugging using GDB.
- Experience with Git version control.
- Bachelor's or Master's degree in Computer Science, IT, or Engineering.
Skills
- C++
- Linux
- Multithreading
- CMake
- Git
Nice to Have
- Experience with Modern C++ standards (C++11/14/17/20).
- Familiarity with scripting languages such as Python or Bash.
- Exposure to CI/CD pipelines and Agile development methodologies.