Software Engineer


CMR is seeking a bright, ambitious engineer to join our software team, to create, analyse and develop new robotic technology for use in minimally invasive surgery.

Key Responsibilities

  • Make specific contributions and manage tasks as part of a multi-disciplinary product development team
  • Architecting and coding software which is suitable for use in an invasive medical device and is compliant with the relevant medical device standards
  • Following best practice for software development
  • Develop and implement creative solutions based on different technologies and key requirements
  • Deliver project tasks within agreed time-scales and budget
  • Writing complex technical design documentation and test protocols

Experience and Qualifications

We expect candidates to have a 2.1 or above in a computer science degree, relevant engineering, mathematics, or science discipline, with appropriate experience in software product development. Candidates should be able to demonstrate strong software development skills and be determined to develop software to the highest standards within agreed time-scales.

Required Skills and Experience

  • Excellent problem solving skills demonstrated throughout the design process
  • On-the-job experience of using C/C++ for software applications.
  • Knowledge of software development best practises and designing software for testability.

Desirable Skills and Experience

  • Developing real time embedded systems using both bare metal and RTOS architectures.
  • Exposure to software development for high reliability systems (E.g. Functional Safety / IEC 61508 or Software for Medical Devices / IEC 62304).
  • Experience of working within an Agile management framework.
  • Experience of working to specific coding standards for safety, such as MISRA C or High Integrity C++.
  • Development of software with unit tests for regression testing.
  • Experience of working with continuous integration systems for automated build and testing.
  • Familiarity with a scripting language Python (e.g. Python).
  • Comfortable reading electronics schematics and debugging software on target hardware.
  • Developing software and algorithms for robotic technologies