Position Overview
We are looking for an experienced Senior C++ Software Engineer to design, develop, and maintain high-performance, reliable, and scalable software solutions.
The ideal candidate has strong expertise in modern C++, software architecture, multithreading, performance optimization, and complex software systems. You will work closely with software engineers, architects, product teams, and other technical stakeholders to develop robust solutions and contribute to technical decisions throughout the complete software development lifecycle.
This position requires strong hands-on engineering skills, a structured problem-solving mindset, and the ability to work independently in technically demanding environments.
Key Responsibilities
- Design, develop, test, and maintain high-quality software using modern C++
- Develop robust, scalable, and high-performance software components and applications
- Design and implement software architectures, modules, APIs, and interfaces
- Write clean, maintainable, efficient, and well-documented code
- Analyze existing systems and identify opportunities for optimization and modernization
- Troubleshoot complex technical issues and perform root cause analysis
- Optimize software for performance, memory usage, latency, stability, and reliability
- Develop and maintain multithreaded and concurrent applications
- Participate in architecture and technical design discussions
- Conduct code reviews and ensure adherence to software engineering standards and best practices
- Develop automated unit, integration, and system tests
- Support continuous integration and continuous delivery processes
- Collaborate with cross-functional and international development teams
- Contribute to technical documentation and software specifications
- Support the integration of software components with existing platforms and systems
- Mentor less experienced engineers and contribute to knowledge sharing within the team
- Evaluate new technologies, libraries, frameworks, and development approaches
Requirements
- Required Qualifications* Bachelor's or Master's degree in Computer Science, Software Engineering, Electrical Engineering, or a comparable technical discipline
- 7+ years of professional software development experience
- Strong professional experience with C++, ideally C++17, C++20, and/or C++23
- Excellent understanding of:
- + Object-oriented programming
- + Generic programming and templates
- + STL
- + Memory management
- + Smart pointers and RAII
- + Multithreading and concurrency
- + Data structures and algorithms
- + Design patterns
- + Software architecture principles
- Strong experience developing software in Linux environments
- Experience with debugging, profiling, and performance optimization
- Good understanding of network and inter-process communication concepts
- Experience with build and dependency management tools such as CMake, Conan, or vcpkg
- Strong experience with Git and modern source-control workflows
- Experience with automated testing frameworks such as Google Test, Google Mock, Catch2, or comparable technologies
- Experience working with CI/CD pipelines
- Strong analytical and problem-solving capabilities
- Ability to analyze and improve complex existing codebases
- Strong communication skills and ability to collaborate within international teams
- Professional working proficiency in English
Technical SkillsEssential
- C++17 / C++20 or newer
- STL
- Multithreading and concurrency
- Memory management
- Linux
- CMake
- Git
- Unit and integration testing
- Debugging and profilingnt>Contin