AND Digital
AND Digital
AND Digital is a technology consulting firm that helps organizations strengthen their digital capabilities and deliver better digital products. Its work spans consulting, software engineering, mobile app development, experience design, and data solutions, supporting clients across the UK, Europe, and the USA. Through its “Guide, Build, Equip” approach, AND Digital combines hands-on delivery with capability building, working through close-knit clubs that pair dedicated client relationships with access to broader technical expertise.

Contract C++ Developer - Hybrid London

Contract C++ Developer role at AND Digital, building reliable embedded Linux software for safety-critical medical technology. The work covers C++17 application components, alarms, persistence, supervision and fault management.

Description

  • Develop technical alarm conditions from hardware and operating system telemetry
  • Implement alarms for patient sensors, signal quality and external monitoring
  • Integrate hardware alarm interfaces, including mute controls, alarm-level validation and telemetry
  • Build fault-handling and recovery mechanisms
  • Develop power-on, hardware compatibility, GPU and system self-tests
  • Implement fail-safe states, fault management, watchdogs and system supervision
  • Support interrupted-session detection and recovery
  • Develop application logging, audit logging and log rotation
  • Build storage interfaces with atomic and checksummed writes
  • Manage reading, deletion and session listing across fixed storage partitions
  • Develop patient-data packaging, queueing, flushing, retention and retrieval
  • Support data backfill and the presentation of historical data
  • Create versioned interfaces between backend data and the GUI
  • Manage patient sensor and session lifecycles
  • Support session metadata, recovery and graceful shutdown
  • Develop power-button handling and controlled power-down processes
  • Support USB data export, service tools and device service handlers
  • Support software updates, confirmation and rollback procedures
  • Implement log extraction and audit logging
  • Own a self-contained application area from design through merged, tested and documented code
  • Collaborate with the Software Architect and engineers working on adjacent components
  • Contribute to a highly regulated, safety-critical medical technology product

Requirements

  • Strong experience developing modern C++17 applications on embedded Linux
  • Strong knowledge of RAII, fixed-width types, std::atomic, multithreading and lock-free or bounded queues
  • Experience building software where deterministic behaviour and reliability are critical
  • Experience with allocation-free or low-allocation runtime environments, including pre-allocated memory and fixed-capacity containers
  • Experience with ports-and-adapters or 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 background in unit testing, code coverage and quality gates
  • Comfort working within formal engineering processes, including peer review, traceable changes and documented design decisions
  • Experience developing safety-critical, mission-critical or highly regulated software
  • Experience developing medical devices or other safety-critical systems (desirable)
  • Experience working in regulated environments or lifesciences (desirable)
  • High proficiency with AI (desirable)
  • Knowledge of IEC 62304, ISO 13485 or comparable regulated software development standards (desirable)
  • Experience with medical alarm systems or other alarm and fault-management systems (desirable)
  • Understanding of IEC 60601-1-8 or an equivalent safety standard (desirable)
  • Experience with state-machine-driven supervisors and fault-management systems (desirable)
  • Experience with NVIDIA Jetson, CUDA or GPU-accelerated processing (desirable)
  • Experience with Yocto and embedded Linux board-support packages (desirable)
  • Experience with systemd, sd_notify, D-Bus and journald (desirable)
  • Experience with OpenSSL, TensorRT or similar external technologies (desirable)
  • Experience using Docker for development environments (desirable)
  • Experience with GoogleTest, behaviour-driven testing or Gherkin (desirable)
  • Python experience for tooling and deployment scripts (desirable)
  • Experience contributing to software FMEA activities and implementing risk controls (desirable)

Benefits

  • An equal-opportunity employer committed to an inclusive workplace
  • Reasonable adjustments are available throughout the recruitment process where required

Related Jobs

Knowtion Health

Remote Talent Acquisition Manager

Knowtion Health

Oversee recruiting systems, requisitions, analytics, and contingent workforce operations at Knowtion Health. Help support scalable hiring processes for a growing healthcare company.

Open