Senior Embedded Software Engineer (Medical Devices)
Are you an expert in real-time embedded software? Can you see the bigger picture as well as keeping an eye on the details? Do you have a passion for excellence? Do you want to be challenged?
We are looking for a talented embedded software engineer with experience in real time applications. You will join our growing medical software group working on a variety of novel medical devices and contribute to the whole development lifecycle from concept to validation.
Cambridge Consultants Medical Technology Division develops cutting edge medical devices using rigorous processes whilst maintaining an informal and friendly environment. It is a great place to work, encouraging innovation and filled with people with a real passion for excellence in engineering.
To specify, design, develop and test embedded software for complex medical systems for diagnostics, surgical, and drug delivery applications.
Many of the systems you will be working on will include electronics, optics, fluidics, robotics and UI components thus requiring an all-round engineering knowledge, attention to detail and good team work skills.
Each project is different and you will get involved at all stages of the product development lifecycle.
As a senior engineer, we would expect you to be involved in multiple projects simultaneously, taking responsibility for the delivery of the assigned task.
Type of Work
The Medical Software Group is part of the Medical Technology Division which undertakes the development of innovative Medical Devices and In-Vitro Diagnostics equipment from concept to manufacture, often incorporating considerable technical challenges.
The division's activities fall into four focus areas:
- Drug Delivery, including break through inhalation and injection devices;
- Digital Health, including development of innovative connected solutions for medical devices located both outside and inside the body with the use of novel antenna design, as well as for mobile platforms;
- Surgical and Interventional Products covering sophisticated surgical tool and implantable devices;
- Medical Diagnostics and Instrumentation ranging from over the counter personal diagnostics e.g. digital pregnancy test through to instrumentation for use in hospital laboratories.
Our projects are often multidisciplinary, where software is just one part of larger system and you will work side by side with other talents, such as human factors engineers, optical physicist, electronics and mechanical engineers.
Software development for medical devices follows a rigorous approach guided by standards such as IEC 62304 and streamlined by the use of a suite of Software Engineering tools and techniques such as continuous integration, static code analysis, test automation and code generation.
- Working within a multidisciplinary team to develop software specifications and test protocols
- Deliver high-quality code, according to specifications
- Deliver high-quality design documentation according to medical regulations
- Perform tests, code reviews, and other quality assurance tasks
- Fast prototyping in support of proof of principle activities
- Carrying out your specific project tasks within the timescales and budgets agreed with the project manager
There are many other aspects to the work in addition to design and development, including the participation in work estimation, the presentation of results to clients or the participation in concept-generation sessions.
As your experience develops you will be given the opportunity to take on further responsibilities such as project team leadership or project management.
You will be expected to work on multiple projects at once and the role may include some travel.
To meet the requirements of this role, in addition to an excellent degree in a relevant subject such as software engineering, electronics engineering or computer science, you will have:
- Excellent knowledge of either C or C++
- Experience in developing real time embedded software on bare metal or by means of an RTOS
- A working knowledge of how to interface microcontrollers with various sensors and actuators
- Good communication and presentation skills
In addition, any experience of the following would be advantageous:
- A background in control theory, digital signal processing or computer vision
- Experience in programming under Windows, Linux, Android or iOS
- Knowledge of another programming language or a scripting language
- A background or experience in system modelling using UML or SysML
- Experience with software development in a regulated industry (such as medical, nuclear or defence)