
Application Software Engineer
- Galway
- Permanent
- Full-time
- Location: Galway (Hybrid)
- Department: Research and Development
- Reporting to: R&D Manager
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.
- 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.
- 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).