We are seeking a highly skilled and experienced C++ Developer to join a dynamic team, focusing on developing high-performance applications on Linux platforms. You will be involved in all phases of the software development lifecycle, from design and implementation to testing and deployment, with a strong emphasis on multithreading and system-level programming. This role requires a proactive individual with excellent problem-solving abilities and a commitment to code quality.
Roles & Responsibilities:
- Design, develop, and maintain robust and efficient C++ applications on Linux.
- Implement and optimize multithreaded applications to maximize performance and scalability.
- Write clean, well-documented, and testable code.
- Participate in the full software development lifecycle (SDLC), including requirements gathering, design, coding, testing, and deployment.
- Debug and troubleshoot complex software issues, identifying and implementing effective solutions.
- Optimize application performance through techniques such as memory management and loop optimization.
- Collaborate with cross-functional teams, including software engineers, QA, and project managers.
- Contribute to architectural design and discussions.
- Stay up-to-date with the latest C++ standards and best practices.
- Utilize and integrate with source code management tools.
- Employ Agile/Scrum methodologies in the development process.
- Work with Docker and containerization technologies for application deployment.
Skills Required:
- Strong hands-on experience in C++ programming, with a deep understanding of memory management, file I/O, and streams concepts.
- Solid expertise in multithreading, including creating and managing threads, synchronization mechanisms (mutexes, condition variables), and kernel-level understanding.
- Proficiency in developing and troubleshooting applications on Linux, with a deep understanding of command-line tools, POSIX standards, processes, and networking.
- Strong understanding of software architecture principles and experience in building applications within a C++ environment.
- Familiarity with source code management tools (e.g., Git, ClearCase) and integrating them with IDEs.
- Experience with Agile and Scrum methodologies.
- Knowledge of developing web applications on the C++ platform is a plus.
- Proven experience in debugging, troubleshooting, and performance optimization techniques.
- Understanding of Docker and containerization technologies.
- Excellent written and verbal communication skills.
- Strong interpersonal skills, a positive and proactive attitude, and the ability to make sound judgments.
QUALIFICATION:
- Bachelor's degree in Computer Science, or a related field, or equivalent practical experience.