Software Engineer — C++ / Systems Programming (Audio) –
Basic salary £55k
Hybrid
HQ -Central London
Our client is looking for a pragmatic systems engineer who loves building fast, reliable software that talks to real hardware. You’ll work alongside product designers, embedded/EE, and application developers to ship maintainable, high-performance systems for professional audio.
What you’ll be doing
• Designing and implementing robust, maintainable C++ systems (C++17/20).
• Building efficient, asynchronous services (event loops, concurrency, IPC, networking).
• Managing complex toolchains (cross-compilers, CMake/Bazel), packaging, and versioning workflows (Git, trunk-based or GitFlow).
• Owning CI/CD pipelines and release engineering for smooth delivery.
• Writing rigorous automated tests (unit/integration/functional) with coverage and reliability gates.
• Profiling and debugging in production-like environments (perf, valgrind, ASan/TSan/UBSan, heap/CPU profilers).
• Collaborating tightly with hardware and firmware teams to integrate software with real devices.
What we’d love you to bring:
• Strong background in modern C++ (required): templates, STL, concurrency, RAII, move semantics.
• Solid Linux systems programming: sockets, filesystems, epoll/kqueue, threads, timers, IPC.
• Experience with secure systems design (threat modeling, least privilege, secrets, sandboxing).
• Familiarity with embedded Linux development (Yocto/Buildroot, cross-compilation, init/services).
• Interest in audio software, plug-ins, and AoIP (Audio over IP).
Nice to have
• Rust experience (or a serious interest in learning it); FFI with C/C++.