Our client a rapidly growing medical device company seeking an Application Software Engineer with strong experience in Qt development and C/C++. A solid grasp of embedded systems would be very beneficial. This role is primarily application-focused, but you will engage frequently with embedded platforms running Linux-based operating systems (e.g., Yocto customisations) and using established industry communication protocols. This is a key role in the development of our cutting-edge medical devices. The preparation of documentation and adherence to relevant standards (i.e., IEC 62304) will form a significant aspect of the workload. Prior experience in this area is a distinct advantage.
Duties and Responsibilities
Design, develop, and maintain application-level software using the Qt framework for embedded medical devices.
Implement multi-threaded applications using design patterns and featuring robust event-handling mechanisms.
Collaborate on embedded platform integration, including Yocto-based Linux customisations and system maintenance.
Perform debugging, unit testing, verification testing, and extensively document releases for Linux and Windows-based applications. The use of design tools, test tools, and installation tools is encouraged.
Participate in design discussions, clearly justifying architectural and pattern choices.
Work closely with cross-functional teams to explore and implement new approaches for data presentation and processing.
Contribute to performance improvements, bug fixes, and feature enhancements with a strong eye for detail.
Maintain documentation and provide technical insights to support product evolution.
Required Skills & Experience
2–3 years of Qt framework experience (Qt, QML, C/C++).
Knowledge and experience in implementing protocols such as RS-232/485, SPI, I2C, and USB is required.
An ability to use collaboration tools such as Git, SVN, and JIRA is an advantage.
Strong experience with Linux-based systems (Yocto is an advantage).
Detail-oriented, with a strong focus on reliability and robustness in application development.
Solid understanding of multi-threading, concurrency, and event-driven architectures.
Ability to explain and justify design choices in a clear and structured way.
Knowledge of software optimisation techniques (resource usage, CPU efficiency, responsiveness).
Strong problem-solving skills and the ability to debug complex issues in embedded and application-level contexts.
Desirable / Nice-to-Have Skills
Familiarity with data visualisation and UI/UX principles for technical applications.
Some knowledge of hardware components and integration requirements (e.g., amplifiers, transformers, analogue signal monitoring).
For further information please contact James Cassidy [email protected] or call on confidence 086 0204322