×
Register Here to Apply for Jobs or Post Jobs. X

C ++ Developer

Job in Greater London, London, Greater London, W1B, England, UK
Listing for: AND Digital
Contract position
Listed on 2026-10-13
Job specializations:
  • Software Development
    Unix/Linux, Embedded Systems/ Firmware/ IoT
Salary/Wage Range or Industry Benchmark: 101000 - 166000 GBP Yearly GBP 101000.00 166000.00 YEAR
Job Description & How to Apply Below

Contract C++ Developer

Location: London, 2 days onsite in Kings Cross
Contract: Immediate start - 12 week contract

Who We Are

AND Digital are on a mission to close the world's tech skills gap.

We help organisations navigate the future of technology by combining human expertise, emerging tech and AI to deliver better outcomes, faster.

Since 2014, we've worked alongside clients to solve complex challenges, build high-performing teams and create lasting capability. Today, we're over 1,300 people across the UK, Europe and the USA, with ambitious plans for continued growth.

The Role

We're looking for four Embedded C++ Developers to join an in-house backend engineering team working on a highly regulated, safety-critical medical technology product.

You'll 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'll work closely with the Software Architect and engineers responsible for surrounding components, while taking ownership of delivery within your area.

This role is well suited to 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.

What You'll Be Working On

Your work could span a number of areas of the embedded application, including:

Alarms
  • Developing technical alarm conditions based on hardware and operating system telemetry.
  • Working with signals including battery, temperature, clock, power faults and telemetry quality.
  • Implementing patient sensor, signal quality and external monitoring alarms.
  • Working with hardware alarm interfaces including mute functionality, alarm-level verification and alarm telemetry.
  • Building robust fault handling and recovery mechanisms.
Start-Up, Self-Test & Supervision
  • Developing power-on checks covering logging, hardware compatibility, GPU checks and system self-tests.
  • Implementing fail-safe states and fault management.
  • Integrating watchdog and system supervision mechanisms.
  • Supporting interrupted-session detection and recovery.
  • Developing logging, audit logging and log rotation functionality.
  • Working with OS telemetry including power button and storage health monitoring.
Patient Data Persistence & Presentation
  • Developing storage interfaces supporting atomic and check summed writes.
  • Managing reading, deletion and session listing across fixed storage partitions.
  • Building patient-data packaging, queueing, flushing, retention and retrieval functionality.
  • Supporting data back-fill and historic data presentation.
  • Developing versioned interfaces between backend data and the GUI.
Session Lifecycle, Power-Down & Service
  • Managing patient sensor and session life cycles.
  • Supporting session metadata, recovery and graceful shutdown.
  • Developing power-button handling and controlled power-down functionality.
  • Supporting USB data export functionality.
  • Working with service tools and device service handlers.
  • Supporting software updates, confirmation and rollback.
  • Implementing log extraction and audit logging.

Essential Skills & Experience

  • Strong experience developing modern C++17 applications on embedded Linux
    .
  • Strong 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
    .
  • Experience 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 Flat Buffers, Unix-domain sockets or named pipes
    .
  • Experience with CMake
    , automated testing and CI/CD pipelines.
  • Experience with cross-compilation, ideally for aarch
    64
    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
    .

Desirable Skills & Experience

  • Experience…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary