Job Summary:
We are looking for a skilled C++ Developer with strong knowledge of Data Structures to join our development team. You will be responsible for building high-performance applications and optimizing algorithms using advanced data structures. The ideal candidate should have a deep understanding of C++ programming and be proficient in implementing efficient data structures for solving complex problems.
Key Responsibilities:
Design, develop, and maintain C++ applications with a focus on performance, scalability, and reliability.
Implement and optimize data structures such as arrays, linked lists, stacks, queues, hash tables, trees, graphs, and more.
Analyze and solve complex computational problems using appropriate algorithms and data structures.
Write efficient, modular, and well-structured code using C++11/14/17 standards.
Optimize code performance, including memory usage, time complexity, and algorithmic efficiency.
Participate in code reviews and ensure the quality and consistency of the codebase.
Collaborate with cross-functional teams to design solutions that meet business needs.
Debug, troubleshoot, and resolve software defects in C++ applications.
Conduct unit tests and ensure software meets quality standards.
Stay up-to-date with the latest developments in C++ and algorithms/data structures.
Document technical specifications, processes, and code.
Required Skills and Qualifications:
Proven experience in C++ development with strong knowledge of C++ standards (C++11 or higher).
Expertise in data structures and algorithms with the ability to apply them in real-world scenarios.
Strong understanding of object-oriented programming (OOP) concepts and design patterns.
Solid knowledge of memory management, including dynamic allocation, pointers, and smart pointers.
Experience with STL (Standard Template Library) and its containers (e.g., vectors, maps, sets, etc.).
Understanding of multithreading and concurrent programming techniques.
Familiarity with complexity analysis (Big O notation) to write efficient algorithms.
Strong problem-solving skills and the ability to optimize existing code for better performance.
Familiarity with debugging tools like GDB and version control systems like Git.
Ability to work independently or as part of a collaborative team.
Any gradudate