Senior C++ Developer in London

Senior C++ Developer in London

London Full-Time 56700 - 69300 £ / year (est.) Hybrid
A

At a Glance

  • Tasks: Develop and enhance safety-critical medical technology using modern C++ on embedded Linux.
  • Company: Join AND Digital, a mission-driven tech company focused on closing the tech skills gap.
  • Benefits: Competitive pay, flexible working, and opportunities for professional growth.
  • Other info: Inclusive workplace with a commitment to diversity and career development.
  • Why this job: Make a real difference in healthcare technology while working with cutting-edge tools.
  • Qualifications: Strong C++17 experience and familiarity with embedded systems required.

The predicted salary is between 56700 - 69300 £ per year.

  • Description
  • Contract Senior C++ Developer

Location: London, 2 to 3 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 checksummed 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 lifecycles.
  • 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 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.

Desirable Skills & Experience

  • Experience developing medical devices or other safety-critical systems.
  • Knowledge of IEC 62304, ISO 13485 or similar regulated software development standards.
  • Experience with medical alarm systems or other alarm and fault-management systems.
  • Understanding of IEC 60601-1-8 or equivalent safety standards.
  • Experience working 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 Open SSL, Tensor RT or similar external technologies.
  • Experience using Docker for development environments.
  • Experience with Google Test, behaviour-driven testing or Gherkin.
  • Python experience for tooling and deployment scripts.
  • Experience contributing to software FMEA activities and implementing risk controls.
  • Engineering Environment

You'll be working with technologies and practices including

  • Embedded Linux
  • NVIDIA Jetson / aarch64
  • Yocto
  • CMake & Conan
  • Docker
  • Google Test
  • Flat Buffers
  • Boost. Asio
  • D-Bus
  • systemd / sd_notify
  • Unix-domain sockets
  • NVMe storage
  • Sonar Qube
  • Doxygen
  • CI/CD and target-hardware testing
  • Equal Opportunities

AND Digital is an equal opportunity employer.

We welcome applications from people of all backgrounds and experiences and are committed to creating an inclusive workplace where everyone can thrive.

We will make reasonable adjustments throughout the recruitment process where required.

AI Statement

We champion tech that helps people work smarter, but we want to get to know you!

If you use AI to assist with your application or interview prep, please ensure all information submitted remains an accurate, truthful representation of your personal achievements and capabilities rather than generating false or misleading information.

We may reject applications where AI is used inappropriately at any stage of the recruitment process.

Senior C++ Developer in London employer: AND Digital

AND Digital is an exceptional employer that prioritises collaboration, innovation, and personal growth. With a unique 'Blended Working' model, employees enjoy flexibility in their work locations while engaging in meaningful projects that impact lives. The company fosters a supportive culture with dedicated career development teams, training budgets, and regular team socials, making it an ideal place for those looking to thrive in a dynamic tech environment.

A

Contact Details:

AND Digital Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Senior C++ Developer in London

✨Join Local Tech Meetups

Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at AND Digital or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!

✨Contribute to Open Source Projects

Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to AND Digital.

✨Tap into Online Developer Communities

Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like AND Digital.

✨Explore Job Boards Specifically for Tech Roles

Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like AND Digital that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!

We think you need these skills to ace Senior C++ Developer in London

C++17
Embedded Linux
RAII
Multithreading
Deterministic Behaviour
Low-Allocation Runtime Environments
Ports-and-Adapters Architecture

Some tips for your application 🫡

Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.

Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at AND Digital.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at AND Digital and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!

Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!

How to prepare for a job interview at AND Digital

✨Brush Up on Your Coding Skills

For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.

✨Know Your Tools and Frameworks

Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If AND Digital uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.

✨Showcase Your Projects

Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.

✨Prepare for Behavioural Questions

While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.