The Graduate Software Engineer will join a team developing software for controlling next-generation medical devices and maintaining lifecycle products.
Successful candidates will have the opportunity to develop software engineering skills through quarterly formal training sessions in medical device software development, a tailored professional development plan and day-to-day team related software tasks.
The ideal candidate will have knowledge of multiple programming languages, a detailed understanding of software testing techniques (unit testing, integration and system testing), operating systems (embedded/RTOS) and an interest in software that controls sensors and actuators.
- Develop embedded software to timelines based on software requirement specifications.
- Implement unit tests for software components controlling actuators, sensors and communication devices.
- Develop and maintain scripts for executing unit, integration and system tests.
- Demonstrate excellent knowledge of software engineering best practices
- Collaborate with cross-functional groups and contribute to the design of advanced subsystems through software.
- Ownership and accountability for all Quality aspects related to the role in support of patient need and regulatory compliance.
Education / Experience / Skills:
- BSc in Computer Science or Computer Engineering
- Knowledge of C, C++. This experience gained via university projects is acceptable.
- Good understanding of real-time and embedded operating system principles. Exposure to Linux, QNX, SafeRTOS.
- Interest in sophisticated software used to control electromechanical medical devices.
- Understanding of software verification and validation
- Understanding of GUI frameworks such as the Qt environment is an advantage.
- Knowledge of software development standards (IEC62304) and an appreciation of working in regulated software development environments.
- Good understanding of hardware specifications and schematics.
- Effective communication
- Analytical Skills
- Team Player