About Thornhill Medical:
Thornhill Medical’s ground-breaking products are designed to be used globally by emergency health care providers, humanitarian and military medical teams. Thornhill’s oxygen-focused research and applications are transforming patient care in extreme circumstances, while inspiring and enabling other new technologies to unlock vital life-saving solutions. Thornhill Medical’s innovations are in 19+ countries including Ukraine. With a team committed to courage, collaboration and saving lives, Thornhill Medical leads the way in the nimble and precision-focused field of medical technologies.
Role Summary:
The Firmware Developer is responsible for designing, developing, integrating, and maintaining the embedded software used in Thornhill’s products as a member of a product team. The position contributes throughout the medical device software lifecycle, including requirements analysis, software design, implementation, developer testing, integration, release, maintenance, and problem resolution. Working closely with other engineering disciplines, the position supports the delivery and ongoing maintenance of safe, effective, reliable, and maintainable medical device software in accordance with Thornhill’s quality management system.
Role Responsibilities:
Design, Development, and Sustaining:
- Designs, develops, tests, and maintains embedded software in C.
- Contributes to the development and maintenance of software requirements, architecture, detailed design, interfaces, and traceability.
- Develops reliable, maintainable, and testable software using appropriate coding standards, unit testing, static analysis, code review, and automated testing practices.
- Performs developer-level testing, debugging, and hardware-software integration to confirm that software components operate as intended before formal verification.
- Produces clear technical documentation in compliance with quality system requirements and best practices.
- Actively collaborates with:
o electronics designer on hardware design, hardware/firmware integration, and board bring-up;
o manufacturing specialist and electronics designer on hardware sustaining activities;
o test engineering on verification activities, including execution of safety and performance testing to satisfy applicable standards (e.g., IEC 60601-1).
- Investigates and resolves complex firmware, hardware-software integration, and system-level issues arising during development, production, service, and field use.
- Supports development and maintenance of CI/CD pipelines, build systems, and automated test environments.
General Engineering:
- Prepares and supports engineering change requests and engineering change orders.
- Participates in code, architecture, and multidisciplinary design reviews.
- Provides technical input to project planning, effort estimates, technical risk assessments, and product roadmap activities.
- Establishes and maintains appropriate development, debugging, simulation, and test environments.
- Shares product and technical knowledge with other team members and contributes to the continuous improvement of firmware development practices.
Other:
- Considers quality in all aspects of the job and respects procedures and norms.
- Other duties as assigned.
Education & Experience:
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science or related field.
- 5-7 years of practical experience working in a regulated industry (e.g., medical device industry preferred).
- Experience with bare metal firmware development for low power embedded systems in C.
- Proven experience with debugging techniques for embedded systems using soldering and common electronics tools (e.g., logic analyzers, microcontroller debuggers, oscilloscopes).
- Experience with revision control systems (e.g., Git/Gitlab).
Skills & Knowledge:
- Microcontroller embedded software development in C/C++.
- Familiarity with sensors and serial protocols (e.g., I2C, SPI, UART) common in embedded systems.
- Excellent problem solving, troubleshooting, and debugging skills, including use of common tools and techniques (e.g., logic analyzers, microcontroller debuggers, oscilloscopes).
- Aptitude in programming for reliability and testability.
- Strong organization skills with attention to detail, plus the ability and desire to create maintainable designs.
- Strong understanding of complex integrated electromechanical systems and embedded software.
- Working knowledge of the following standards: IEC 62304, ISO 14971, and IEC 60601.
- Excellent interpersonal and communication skills (verbal and written).
- Self-starter that is highly motivated, creative, and able to work both independently and within a team environment.
- Ability to build strong relationships and work collaboratively with cross-functional teams to meet shared objectives.
- Drive to consistently achieve results, even under tough circumstances.
- Holds self and others accountable to meet commitments.
- Strong computer skills and proficiency with Microsoft Office suite products (Word, Excel, PowerPoint, Access).
- Development expertise with Microchip dsPIC and PIC32 microcontrollers.
Other Requirements:
- Primarily office related requirements with exposure to production work rooms when required.
- Light lifting and bending.
- Some travel may be required.
Compensation:
The target salary range for this position is $80,000 - $110,000 per annum. The salary range reflects the base pay only and does not include bonus or benefits. The position is also eligible for a bonus.
The starting salary offered to a candidate will be dependent upon several factors, including but not limited to experience, job-related skills and relevant education and/or training.
This job posting is to backfill an existing vacancy within our organization, and the recruitment process involves the use of artificial intelligence.
Thornhill Medical is an equal opportunity employer and welcomes and encourages applications from all qualified people, including those with disabilities. Accommodations are available on request for candidates taking part in all aspects of the selection process.
We thank all applicants for their interest, however, only those selected will be invited for an interview.