Software Engineer
Role details
Job location
Tech stack
Job description
- 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.
Requirements
Do you have experience in Visual Studio?, Do you have a Bachelor's degree?, 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., * 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.
Desirable AI Skills
- 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.
Applicants must have the right to work in the UK at the time of application. Unfortunately, we are unable to provide visa sponsorship for this role.
Benefits & conditions
- Involvement in cutting-edge imaging technologies.
- Collaborative working environment with strong technical expertise.
- Training and career development opportunities.
- Competitive salary and benefits package.