• Are you an expert in digital signal processing and control systems design? • Do you have a passion for mathematics applied to the real world? • Can you see the bigger picture as well as keeping an eye on the finer details? • Do you want to be challenged?
We are looking for a talented embedded software engineers with experience in designing and implementing control algorithms or extracting information from biomedical signals using DSP techniques. This is a role that requires both a sound theoretical knowledge and implementation skills. 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. Main Role To specify, design, develop and test digital filters, control algorithms and control software for surgical, drug delivery and digital health applications.
Many of the systems you will be working on will include electronics, optics, fluidics, robotics and UI components thus requiring, on top of your software development skills, an all-round engineering knowledge, attention to detail and good team work. Each project is different and you will get involved at all stages of the product development lifecycle. As a senior, 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.
Responsibilities Your responsibilities will include: • Providing technical leadership in your area of expertise • 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.
Requirements To meet the requirements of this role, in addition to an excellent degree in a relevant subject such as software engineering, computer science, electronic engineering, biomedical engineering or applied mathematics you will have the following core skills: • Excellent knowledge of digital signal processing or control theory • Experience in modelling of dynamic systems, designing control algorithms and digital filters using MATLAB or other equivalent simulation tools • Sound experience in the implementation of digital filters, closed loop control systems, or other numerical algorithms in C on embedded processors on bare metal or with the use of RTOS • An understanding of development techniques such as hardware-in-the-loop or software-in-the-loop • An understanding of the software development life cycle and related tools and practices such as continuous integration and test driven development • Good communication and presentation skills •
This role requires both a sound theoretical knowledge and implementation skills. In addition, any experience of the following would be advantageous: • Processing of biomedical signals • Closed loop control of DC motors, stepper motors or brushless dc motors using a variety of control techniques • Experience with tools such as dSpace, MATLAB, Simulink or similar • Software development in a regulated industry (such as medical, nuclear or defence) or the automotive industry • Experience in programming under Windows, Linux, Android or iOS • Knowledge or experience in robotics, electronics and interfacing with hardware • Knowledge of information theory or probability theory • Knowledge of software and system modelling using UML or SysML