We are seeking an experienced Embedded Software Engineer to design and develop software for embedded systems used in advanced medical device products.
This role is suited to a strong technical specialist with experience in embedded systems, real-time environments, or control systems, including candidates with complementary skills in low-level programming, Python, or systems engineering, in addition to or in place of deep C/C++ expertise. The position is for 6 months with potential to extend.
Key Responsibilities
- Design and develop software components supporting medical device product development
- Develop and/or refine algorithms, including:
- Motor control
- Sensor integration and control
- Deliver high-performance, robust, and validated software aligned with medical device regulatory standards
- Produce and maintain software design and technical documentation
- Contribute to embedded software architecture and system design
- Ensure compliance with mandated processes and standards for medical device software development
- Collaborate with cross-functional teams across hardware, systems, and quality engineering
- Support testing, validation, and verification activities
Skills & ExperienceEssential
- Bachelor’s degree in Software Engineering, Computer Science, Electronics, or related field
- 5+ years’ experience in embedded, systems, or real-time software development
- Strong understanding of:
- Real-time systems and performance constraints
- Memory management and concurrency
- Hardware-software interaction
- Experience delivering high-quality software within defined timelines
- Strong written and verbal communication skills, with ability to work collaboratively
Core Technical Skills (one or more of the following)Embedded / Firmware
- Strong programming skills in C and/or C++ (preferred)
- OR experience with:
- Embedded Rust
- Low-level Python / MicroPython
- Experience with embedded operating systems:
- FreeRTOS
- SafeRTOS
- Zephyr or similar
- Experience with microcontrollers (e.g. ARM, STM32, ESP32)
- Knowledge of hardware interfaces:
- SPI, I2C, UART
Algorithm / Control Systems (complementary)
- Strong Python scripting skills (NumPy, SciPy or similar)
- Experience with:
- Motor control systems
- Sensor data processing
- Signal processing
- Exposure to MATLAB / Simulink (desirable)
Systems / Low-level Engineering (desirable)
- Experience with:
- Multithreading / concurrency
- Performance optimisation
- System-level debugging
- Exposure to embedded Linux or driver-level development
Desirable
- Experience in a regulated industry (medical devices preferred)
- Familiarity with:
- IEC 62304 (medical software lifecycle)
- ISO 13485 (quality systems)
- Experience with:
- Hardware/software integration
- Validation and verification processes
What We’re Looking For
- A hands-on technical specialist with strong problem-solving ability
- Someone comfortable working at the intersection of hardware, software, and algorithms
- Strong focus on quality, compliance, and delivery timelines
- Ability to thrive in a collaborative, cross-functional environment