About the Role
We are seeking a highly skilled and driven Senior Embedded Software Engineer to join our team in developing embedded software for cutting-edge medical devices. In this role, you will have responsibilities for the design, implementation, and documentation of embedded firmware in C/C++, contributing throughout the full software development lifecycle. You will work closely with cross-functional teams to translate system-level requirements into embedded system specifications, define interface architectures, and ensure compliance with industry standards such as IEC 62304, ISO 13485, and ISO 14971. Your work will directly impact the performance, reliability, and scalability of safety-critical medical devices.
As a contributor, you will help drive software architecture and design reviews, lead integration and testing efforts, and support regulatory submissions and audits. You’ll collaborate with electrical, mechanical, systems, quality, regulatory, and clinical teams to deliver robust solutions in a fast-paced, regulated environment. Applying CI/CD principles, you will help maintain traceability between requirements and test protocols, author and maintain technical documentation, and contribute to configuration management and milestone reviews. This is a unique opportunity to shape life-changing healthcare innovations.
Key Responsibilities
Primary Role: Firmware Design & Development
- Design, develop and maintain embedded C/C++ firmware for our BLE controller and implantable device, running on low-power microcontrollers
- Develop and own Bluetooth Low Energy (BLE) communication, including the protocol between the mobile app, the controller and the implanted device
- Write and maintain low-level drivers and peripheral code (SPI, I2C, UART, ADC, timers, GPIO), bootloaders and firmware update mechanisms
- Optimise firmware for ultra-low power consumption, reliability and safety in a battery-powered, implantable system
- Knowledge of embedded security, secure bootloaders and over-the-air (OTA) firmware updates
- Support board bring-up and hardware/firmware integration alongside the hardware engineering team, debugging with JTAG/SWD, oscilloscopes and logic analysers
- Produce firmware documentation in line with medical device software standards (IEC 62304), including requirements, architecture, design and verification records
Secondary Role: Test, Verification & Continuous Improvement
- Write unit and integration tests, and contribute to Python-based automated test scripts for firmware and system-level (app to controller to device) testing
- Support design verification, risk management (ISO 14971) and software anomaly tracking activities
- Help establish and improve firmware development processes, including version control, code review and CI practices
Required Qualifications & Experience
- Bachelor’s or Master’s degree in Computer Science, Electronic/Electrical Engineering, or a related field.
- 8+ years of experience in embedded software development, preferably in medical device or other regulated industries (e.g. automotive).
- Strong proficiency in C.
- Proficiency in Python.
- Working knowledge of C++ is a plus.
- Experience with microcontrollers, RTOS, and low-level drivers.
- Experience with Linux systems.
- Familiarity with IEC 62304, ISO 13485, and ISO 14971 standards.
- Skilled in hardware abstraction layers, bootloaders, BSP, and driver development.
- Experience with ARM Cortex processors and memory management.
- Proficient in communication protocols (SPI, I2C, UART, USB).
- Hands-on debugging using oscilloscopes, logic analyzers, and similar tools.
- Experience with unit testing and test automation frameworks.
- Familiarity with Agile/Scrum methodologies and tools (e.g., Jira).
- Experience with CI/CD pipelines and build/test infrastructures (e.g., GitLab, Git, Make, CMake, GCC).
- Strong analytical, documentation, and communication skills.
Preferred Technical Experience
- Knowledge of cybersecurity requirements for connected medical devices (e.g., FDA premarket guidance).
- Experience with CI/CD pipelines and automated testing in embedded environments.
Nice To Haves
- Experience with any of the following:
- Zephyr RTOS.
- nRF52/53 series of micro-controllers.
- STM32 micro-controllers.
- EN IEC 62304 certified compilers, test platforms & tools (e.g. ARM Compiler for Embedded FuSa, IAR toolchains, TESSY).
- MISRA coding standards.
- Experience with any of the following wireless protocols:
- Bluetooth Low Energy (BLE).
- RF.
- Familiarity with state machine controlled embedded systems.
- Experience with scripting languages (Python/Bash/etc.) and automating tasks.
- Experience with security best practices in embedded development (static code analysis, fuzz testing, secure design patterns, etc.)