We are seeking a highly skilled Senior Software Engineer with over five years of experience specializing in C++ development. The ideal candidate will have a strong background in designing, developing, debugging, and optimizing scalable desktop and backend applications. Expertise in modern C++ standards, including C++17, C++20, and C++23, along with a deep understanding of object-oriented programming, multithreading, memory management, and software design patterns, is essential. The role requires working effectively within an Agile environment, collaborating across teams, and integrating AI-assisted development practices with traditional engineering and code review processes.
Key Responsibilities
- Design, develop, maintain, and optimize scalable desktop and backend applications using modern C++ standards.
- Utilize C++17, C++20, and C++23 features to build reliable and efficient software solutions.
- Implement multithreaded applications, manage memory effectively using smart pointers, and apply performance optimization techniques.
- Apply object-oriented programming principles, STL, design patterns, and SOLID principles to produce maintainable and 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.
- Collaborate with engineering teams and stakeholders to understand requirements and deliver effective technical solutions.
- Leverage AI-assisted development tools to enhance productivity while ensuring human oversight, validation, and code quality.
- Engage in technical discussions, knowledge sharing, and initiatives aimed at continuous improvement.
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, C++23).
- Proficiency in Visual C++ (VC++), MFC, STL, and object-oriented programming.
- Solid 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 technologies.
- Familiarity with Git and Azure DevOps for version control and CI/CD pipelines.
- Experience working in Agile/Scrum environments and knowledge of Scaled Agile frameworks.
- Excellent debugging, analytical, and problem-solving skills.
- Proven experience with unit testing, code reviews, refactoring, and performance tuning.
- Basic understanding of virtualization and networking concepts.
- Strong verbal and written communication skills in English.
Culture of Belonging
Our organization is dedicated to fostering an inclusive culture where every individual feels valued, respected, and empowered to contribute and grow. We believe in creating an environment that supports diversity and encourages continuous learning and collaboration.