C++ Software Engineer (Embedded Systems)

Job Title: C++ Software Engineer (Embedded Systems)
Location: Cambridge (On-Site)
Salary: £50,000 - £60,000 + Bonus & Benefits (Depending on Experience)

NOTE: Only candidates with permanent, unrestricted UK working rights will be considered, as visa sponsorship is not offered for this position.

Overview:

On behalf of a Cambridge-based client, we are looking for a C++ Software Engineer to work on Embedded Systems for a range of Medical Products.
The client develops innovative sensor-based medical electronics for advanced measurement and assessment applications.

Combining advanced sensors, electronics, and life-science technology, my client's product products deliver fast, accurate, real-time results. This is an exciting opportunity to work at the intersection of engineering, electronics, and healthcare, developing technology with real-world impact.

The successful candidate will contribute to the development of software with a strong focus on machine control, instrumentation, hardware integration, and experimental workflows. 

This is an ideal opportunity for a candidate with a few years of commercial experience looking to make a step into a role where they can have a true impact! 

Job Responsibilities:
  • Contribute to the development of software controlling instrumentation and experimental workflows.
  • Develop and maintain software interfaces to firmware and hardware components, including microcontrollers, sensors, and actuators.
  • Support the implementation of reliable communication between software and physical devices.
  • Help diagnose and resolve issues across hardware and software boundaries.
  • Contribute to the development of backend systems, data handling, and experiment execution.
  • Support rapid prototyping and iteration of new hardware and experimental features.
  • Assist with integrating new capabilities into the existing software platform.
  • Maintain and improve the existing software codebase.
  • Fix bugs and improve overall system robustness, reliability, and performance.
  • Contribute to unit, integration, and system-level testing.
  • Work closely with scientists, electronics engineers, mechanical engineers, and other technical teams to understand requirements and constraints.
  • Contribute to technical discussions, solution design, and software architecture.
  • Support the continued development and evolution of complex, multidisciplinary products.
  • Follow good software engineering practices and contribute to maintaining a high-quality, maintainable codebase.
Experience Required:
  • Degree in Software, Electronic Engineering or a related engineering discipline.
  • 2+  years' professional experience in software development for Embedded Systems (Bonus if it is in a regulated industry/sector)
  • Strong programming skills in C++ and Python for Embedded Systems.
  • Experience with Embedded and/or Control Systems, Instrumentation and Hardware.
  • Experience interfacing software with hardware such as microcontrollers, sensors, actuators, or other instrumentation.
  • Good understanding of Git, automated build processes, and software development lifecycle (SDLC) practices.
  • Strong problem-solving skills and a methodical approach to software development and debugging.
  • Demonstrated ability to rapidly learn new technologies, systems, and concepts and apply them effectively in a practical environment.
  • Strong communication skills, with the ability to collaborate effectively across software, hardware and wider engineering disciplines
  • A genuine interest in working close to hardware and systems, with enthusiasm for solving complex problems in an evolving product environment.
Apply Now - or -