Software Engineer
Indexed description
Department: Engineering
Reports to: Software Development Manager
Type: Full-time, Permanent
Thermoteknix Systems Ltd, founded in 1982 and based in Cambridge, is a world leader in thermal imaging, night vision, and augmented reality systems. Our award-winning technologies are trusted by defence, security, and industrial customers in over 70 countries. With in-house R&D, cutting-edge innovation, and a global reputation for quality, we design and manufacture solutions that perform in the toughest environments.
About You
Role Overview
We are seeking a Software Engineer with at least three years of professional experience in C++ development to design, implement, and maintain high-performance, reliable software systems. The role involves working across the full development lifecycle, with emphasis on efficient algorithms, robust system design, and maintainable code.
Key Responsibilities
- Design, develop, and maintain software applications using modern C++.
- Write clean, efficient, and well-documented code following best practices.
- Participate in system architecture and design discussions.
- Debug, profile, and optimise applications for performance and scalability.
- Collaborate with cross-functional teams including hardware, QA, and product stakeholders.
- Contribute to code reviews.
- Develop and maintain unit and integration tests.
- Support continuous integration and deployment pipelines.
- Troubleshoot issues in production and provide timely resolutions.
- Specify and document where required.
- Minimum 3 years of professional experience in C++ development.
- Strong understanding of object-oriented programming and design patterns.
- Experience with modern C++ standards.
- Proficiency with STL, memory management, and concurrency (threads, mutexes, etc.).
- Familiarity with build systems (e.g. CMake, Make).
- Experience with Microsoft Visual Studio IDE, debugging and profiling tools
- Solid understanding of software development lifecycle and version control (Subversion / Git).
- Experience developing for Windows.
- Experience with real-time systems.
- Knowledge of networking protocols or low-level system programming.
- Familiarity with additional languages (e.g. Python, C#).
- Exposure to hardware interfacing or driver development.
- Familiarity with DCOM and installer systems (e.g. NSIS / WiX).
- Some exposure to Linux programming.
- Understanding of unit testing frameworks.
- Some experience training or fine-tuning LLMs or AI models using data acquired from thermal imaging sensors.
- Ability to prepare, label, and validate sensor datasets for machine-learning workflows.
- Understanding of applying AI models to predict conditions from thermal image and associated sensor data.
- BSc in a relevant discipline; or
- Appropriate Microsoft certifications with equivalent practical experience
- Proactive, methodical, and adaptable
- Strong interpersonal skills, able to collaborate well in development teams.
- Prepared to support all elements of the development process
- Self-starter with a commitment to quality, accountability and continuous improvement.
- Involvement in cutting-edge imaging technologies.
- Collaborative working environment with strong technical expertise.
- Training and career development opportunities.
- Competitive salary and benefits package.
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search