Location
London, 2 days onsite in Kings Cross
Hours
Full time, contract role
Salary
Negotiable
About the Role
AND Digital are on a mission to close the world's tech skills gap by combining human expertise, emerging tech and AI to deliver better outcomes, faster. Since 2014, they have partnered with clients to solve complex challenges, build high-performing teams and create lasting capability. Currently, they are seeking four Embedded C++ Developers to join an in-house backend engineering team working on a highly regulated, safety-critical medical technology product.
In this role, you will own a self-contained area of the application, taking work from initial design through to merged, tested and documented code. Depending on your experience and the team's needs, this could include areas such as alarms, patient data persistence, device supervision and start-up, session management or service functionality. You will collaborate closely with the Software Architect and engineers responsible for surrounding components, while taking ownership of delivery within your area.
This position is ideal for an experienced Embedded C++ Engineer who has worked on Linux-based safety-critical, mission-critical or highly regulated products and is comfortable working with formal quality processes, static analysis, code coverage and rigorous testing requirements.
Key areas you may work on include:
- Alarms: Developing technical alarm conditions based on hardware and OS telemetry, implementing patient sensor and external monitoring alarms, and building robust fault handling and recovery mechanisms.
- Start-Up, Self-Test & Supervision: Developing power-on checks, fail-safe states, watchdog integration, interrupted-session detection and logging functionality.
- Patient Data Persistence & Presentation: Managing storage interfaces, data packaging, queueing, flushing, retention, retrieval and versioned interfaces between backend data and GUI.
- Session Lifecycle, Power-Down & Service: Managing session lifecycles, power-button handling, USB data export, software updates, log extraction and audit logging.
You will be working with modern technologies and practices including C++17, Embedded Linux, NVIDIA Jetson / aarch64, Yocto, CMake & Conan, Docker, GoogleTest, FlatBuffers, Boost.Asio, D-Bus, systemd, Unix-domain sockets, NVMe storage, SonarQube, MISRA C++ 2023, Doxygen, CI/CD and target-hardware testing.
Experience
- Strong experience developing modern C++17 applications on embedded Linux.
- Deep understanding of RAII, fixed-width types, std::atomic, multithreading and lock-free or bounded queues.
- Experience developing software where deterministic behaviour and reliability are critical.
- Familiarity with allocation-free or low-allocation runtime environments, including pre-allocated memory and fixed-capacity containers.
- Experience with ports-and-adapters / hexagonal architecture, interfaces and dependency injection.
- Strong Linux systems integration experience, including services, watchdogs and system-level fault management.
- Experience with IPC and serialisation technologies such as FlatBuffers, Unix-domain sockets or named pipes.
- Experience with CMake, automated testing and CI/CD pipelines.
- Experience with cross-compilation, ideally for aarch64 platforms.
- Strong experience with unit testing, code coverage and quality gates.
- Comfortable working within formal engineering processes, including peer review, traceable changes and documented design decisions.
- Experience working on safety-critical, mission-critical or highly regulated software.
About You
- Experienced Embedded C++ Engineer with a passion for quality and reliability.
- Comfortable working in regulated environments and following formal quality processes.
- Collaborative team player who takes ownership and delivers high-quality code.
- Motivated to work on challenging, safety-critical medical technology products.
- Adaptable and eager to learn new technologies and methodologies.
Qualifications
- Experience developing medical devices or other safety-critical systems is desirable.
- Knowledge of IEC 62304, ISO 13485 or similar regulated software development standards is advantageous.
- Familiarity with medical alarm systems or other alarm and fault-management systems.
- Understanding of IEC 60601-1-8 or equivalent safety standards.
- Experience with state-machine-driven supervisors and fault-management systems.
- Experience with NVIDIA Jetson, CUDA or GPU-accelerated processing.
- Experience with Yocto and embedded Linux board-support packages.
- Experience with systemd, sd_notify, D-Bus and journald.
- Experience with OpenSSL, TensorRT or similar external technologies.
- Experience using Docker for development environments.
- Experience with GoogleTest, behaviour-driven testing or Gherkin.
- Python experience for tooling and deployment scripts.
- Experience contributing to software FMEA activities and implementing risk controls.
AND Digital







