Senior Software Engineer (C++)
Senior Software Engineer (C++)
About the Role
We are looking for a skilled Senior C++ Developer with 5+ years of experience in designing, developing, debugging, and optimizing scalable desktop and backend applications. The ideal candidate will have strong expertise in modern C++ standards (C++17, C++20, and C++23), object-oriented programming, multithreading, memory management, and software design patterns.
The candidate should be comfortable working in an Agile environment, collaborating with cross-functional teams, and leveraging AI-assisted development practices alongside human-led engineering and code review.
Key Responsibilities
- Design, develop, maintain, and optimize scalable desktop and backend applications using modern C++.
- Apply strong knowledge of C++17, C++20, and C++23 standards to build reliable and efficient software solutions.
- Implement multithreaded applications, effective memory management, smart pointers, and performance optimization techniques.
- Apply object-oriented programming (OOP), STL, design patterns, and SOLID principles to develop maintainable and high-quality code.
- Work with Microsoft technologies, including Visual C++ (VC++), Microsoft Foundation Classes (MFC), COM, and SQL Server.
- Identify and resolve technical issues through debugging, root-cause analysis, and performance profiling.
- Participate in code reviews, unit testing, refactoring, and continuous improvement of existing codebases.
- Use Git and Azure DevOps for source control, collaboration, and CI/CD workflows.
- Follow Agile/Scrum methodologies and contribute to Scaled Agile processes.
- Collaborate with engineering teams and stakeholders to understand requirements and deliver effective technical solutions.
- Apply AI-assisted development practices to improve productivity, with appropriate human oversight, validation, and code quality controls.
- Contribute to technical discussions, knowledge sharing, and continuous improvement initiatives.
Required Skills and Qualifications
- Bachelor's degree in Computer Science (BCS), Software Engineering, or an equivalent field.
- 5+ years of professional software development experience, preferably in C++ development.
- Strong hands-on experience with C++17, C++20, and C++23.
- Proficiency in Visual C++ (VC++), MFC, STL, and object-oriented programming.
- Strong understanding of multithreading, concurrency, smart pointers, and memory management.
- Experience with software design patterns and writing efficient, maintainable, and scalable code.
- Working knowledge of Microsoft SQL Server and COM.
- Experience with Git and Azure DevOps, including version control and CI/CD practices.
- Familiarity with Agile/Scrum methodologies and Scaled Agile processes.
- Strong debugging, analytical, and problem-solving skills.
- Experience with unit testing, code reviews, code refactoring, and performance optimization.
- Knowledge of virtualization and networking concepts.
- Good verbal and written English communication skills.