Responsibilities:
- Design, develop, and maintain robust, efficient C++ applications on Linux platforms.
- Implement and optimize multithreaded applications to enhance performance and scalability.
- Write clean, well-documented, and testable code following best practices.
- Participate in the full software development lifecycle (SDLC), including requirements gathering, design, coding, testing, and deployment.
- Debug and troubleshoot complex software issues, providing effective solutions.
- Optimize application performance through memory management, loop optimization, and inline functions.
- Collaborate with cross-functional teams including software engineers, QA, and project managers to deliver high-quality software solutions.
- Contribute to architectural design discussions and provide technical input.
- Stay current with the latest C++ standards and industry best practices.
- Utilize and integrate source code management tools for version control.
- Apply Agile/Scrum methodologies during software development.
- Work with Docker and containerization technologies to deploy applications.
Mandatory Skills:
- 5+ years of hands-on experience in C++ programming, with a strong grasp of memory management, file I/O, and stream concepts.
- Solid expertise in multithreading, including thread creation/management, synchronization (mutexes, condition variables), and kernel-level concepts.
- Proficiency in Linux application development and troubleshooting, including command-line tools, POSIX standards, processes, and networking.
- Strong understanding of software architecture principles within a C++ environment.
Good to Have Skills:
- Familiarity with source code management tools such as Git, ClearCase, and their integration with IDEs.
- Experience with Agile and Scrum development methodologies.
- Proficient in GIT for version control and Confluence for documentation.
- Knowledge of developing web applications using C++.
- Understanding of project lifecycles and SDLC processes.
- Proven experience in debugging, troubleshooting, and performance optimization.
- Experience with Docker and containerization technologies for deployment.
Soft Skills:
- Excellent written and verbal communication skills for clear and concise technical communication.
- Strong interpersonal skills including empathy, active listening, and emotional intelligence.
- Positive, proactive attitude with adaptability and collaborative spirit.
- Sound decision-making ability, analyzing information to make effective judgments.
- Ability to collaborate effectively with team members to meet shared goals.
Skills Required
C++, Linux, Stl, Debugging, Performance Tuning