Introduction summary 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.
Specific responsibilities 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.
Minimum requirements 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