Graduate Embedded Software Engineer
Our Medical Technology division develops breakthrough innovative medical systems, at the heart of which there often is a piece of software that helps deliver a better, smarter and more connected healthcare.
We are looking for a talented graduate software engineer to join our growing medical software group. You will be given the opportunity to do real world engineering from day one while at the same time develop you skill through training and mentorship.
Do you want to take on the challenge?
Main purpose of the job
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 graduate engineer we would expect you to be involved in multiple projects simultaneously, gradually taking responsibility for the delivery of the assigned task according to your level of experience.
Type of work undertaken by the group
The Medical Software Group is part of the Medical Technology Division which undertakes development projects in four focus areas:
Surgical and Interventional Products
Medical Diagnostics and Instrumentation
Drug Delivery Devices
Wireless devices / eHealth
Recent project work includes:
Control software for large systems comprising multiple interconnected processors and involving large code bases and geographically distributed teams;
Software for tiny, resource-constrained microcontrollers that form part of cost-sensitive products to be manufactured in high volumes;
Safety-critical software for surgical systems;
Computer vision based diagnostics software;
Software to enable wireless communication between components of medical devices;
Medical software for mobile platforms;
Exciting user interfaces developed in conjunction with our industrial designers.
We work using industry best practises including: continuous integration, test-driven development and code generation.
As you develop, with specific training and support, you will become responsible for:
Working within a multidisciplinary team to develop software specifications and test protocols
Delivery of high-quality code, according to specifications
Delivery of 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, 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 limited only by you own capabilities and ambition.
You will be expected to work on multiple projects at once.
The role may include some travel.
To meet the requirements of this role you will have:
A good degree (2:1 or first class) in a relevant subject, such as Electronics Engineering or Computer Science
Good knowledge of C or C++
A working knowledge of microcontrollers or embedded microprocessors
Good oral and written communication and presentation skills
In addition, any experience of the following would be advantageous
An understanding of electronics and interfacing microcontroller with various sensors and actuators
Experience in programming under either Windows, Linux, Android or iOS
Knowledge of another programming language or a scripting language
A background in control theory, digital signal processing or computer vision
Relevant work experience or participation to the Year in the Industry programme
A background in system modelling using UML or SysML or OO design techniques