My client is a globally recognised technology business specialising in advanced imaging, sensing, and augmented reality solutions. With decades of innovation and a strong reputation for quality, they design and manufacture cutting edge systems used across defence, security, and industrial sectors worldwide. Their products operate in some of the most demanding environments and are trusted by customers in over 70 countries.
The Opportunity – Software Engineer C++ – Cambridge
We are looking for a skilled Software Engineer with a minimum of three years of experience in C++ development. This is an exciting opportunity to work on high performance, real world systems, contributing across the full software development lifecycle.
You will play a key role in designing, developing, and optimising robust software solutions, working closely with hardware, QA, and product teams.
Key Responsibilities – Software Engineer C++ – Cambridge
• Design, develop, and maintain applications using modern C++
• Write clean, efficient, and well documented code
• Contribute to system architecture and design decisions
• Debug, profile, and optimise software for performance and scalability
• Collaborate with cross functional teams
• Participate in code reviews and continuous improvement activities
• Develop and maintain unit and integration tests
• Support CI and CD pipelines
• Troubleshoot and resolve production issues
• Produce technical documentation where required
Required Skills and Experience – Software Engineer C++ – Cambridge
• Minimum three years of commercial C++ development experience
• Strong understanding of object oriented programming and design patterns
• Experience with modern C++ standards
• Strong knowledge of STL, memory management, and concurrency
• Familiarity with build systems such as CMake or Make
• Experience using Microsoft Visual Studio and debugging tools
• Solid understanding of version control systems such as Git or Subversion
• Experience developing for Windows environments
Desirable Skills – Software Engineer C++ – Cambridge
• Experience with real time systems
• Knowledge of networking protocols or low level programming
• Exposure to Python or C#
• Experience with hardware integration or driver development
• Familiarity with installer technologies such as NSIS or WiX
• Some experience with Linux development
• Knowledge of unit testing frameworks