We are seeking a highly skilled Senior Software Engineer specializing in C++ with over 5 years of experience in designing, developing, debugging, and optimizing scalable desktop and backend applications. The ideal candidate will demonstrate strong expertise in modern C++ standards including C++17, C++20, and C++23, along with solid knowledge of object-oriented programming, multithreading, memory management, and software design patterns. This role requires working effectively within an Agile environment, collaborating with cross-functional teams, and utilizing AI-assisted development tools alongside traditional engineering and code review processes.
Key Responsibilities
- Design, develop, maintain, and optimize scalable desktop and backend applications using modern C++ standards.
- Apply advanced knowledge of C++17, C++20, and C++23 to build reliable and efficient software solutions.
- Implement multithreaded applications with effective memory management, including the use of smart pointers and performance optimization techniques.
- Utilize object-oriented programming principles, STL, design patterns, and SOLID principles to produce maintainable, high-quality code.
- Work with Microsoft technologies such as 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 actively in code reviews, unit testing, refactoring, and continuous improvement of existing codebases.
- Use Git and Azure DevOps for source control, collaboration, and continuous integration/continuous deployment (CI/CD) workflows.
- Follow Agile/Scrum methodologies and contribute to Scaled Agile processes to ensure timely delivery of solutions.
- Collaborate with engineering teams and stakeholders to understand requirements and deliver effective technical solutions.
- Leverage AI-assisted development practices to enhance productivity while maintaining rigorous human oversight, validation, and code quality controls.
- Engage in technical discussions, knowledge sharing, and continuous improvement initiatives within the team.
Required Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, or a related field.
- Minimum of 5 years of professional experience in software development, with a focus on C++.
- Strong hands-on experience with modern C++ standards: C++17, C++20, and C++23.
- Proficiency in Visual C++ (VC++), MFC, STL, and object-oriented programming concepts.
- Solid understanding of multithreading, concurrency, smart pointers, and memory management techniques.
- Experience applying software design patterns and writing efficient, maintainable, and scalable code.
- Working knowledge of Microsoft SQL Server and COM technologies.
- Familiarity with Git and Azure DevOps for version control and CI/CD practices.
- Experience working in Agile/Scrum environments and familiarity with Scaled Agile frameworks.
- Strong debugging, analytical, and problem-solving skills.
- Experience with unit testing, code reviews, code refactoring, and performance tuning.
- Basic knowledge of virtualization and networking concepts.
- Good verbal and written communication skills in English.
Culture of Belonging
At SSI, we are dedicated to fostering a culture of belonging where every individual feels valued, respected, and empowered to contribute and grow. We believe that a diverse and inclusive workplace drives innovation and success, and we encourage candidates who share these values to apply.