Software Engineer
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 Skills for This Role
Full Job Posting
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.
Required Skills & Experience
- 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.
Desirable Skills
- 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.
Education
BSc in a relevant discipline; or
Appropriate Microsoft certifications with equivalent practical experience
Personal Attributes
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.
About Thermoteknix Systems Ltd
Designs and manufactures infrared thermal imaging and night vision systems.
Visit company websiteJobs and hiring trendsApply for this job in 1 click
Skip the repetitive application forms
Install the Base Career Chrome Extension and autofill job applications across major job boards with your profile.
Trusted by over 500,000 job seekers on Base Career
More from this employer
More jobs at Thermoteknix Systems Ltd
Electronics Engineer - Production Engineering
Waterbeach, GBR
Software Engineer - Production Engineering
Waterbeach, GBR
Production Technician - Electromechanical
Cambridge, GBR
Electronics Engineer - Production Engineering
Waterbeach, GBR
Junior Electronics Engineer
Waterbeach, GBR