Software Engineer
Role details
Job location
Tech stack
Job description
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.
Requirements
-
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++.
-
Real-time considerations (low-latency I/O paths, jitter budgets, lock-free structures).
-
Networking for media: multicast, PTP/IEEE-1588, AES67/RAVENNA/Dante/AVB-TSN.
-
Audio domain exposure: plugin formats (VST3/AU/AAX), DSP pipelines, JACK/ALSA/CoreAudio/ASIO.
-
Observability/tooling: metrics/logging/tracing, crash capture, OTA/firmware update infrastructure.
-
Internal tools and partner portals: small web backends (C++/Rust/Python) to support ops/dev.
What we're looking for
-
Software engineering background (degree or equivalent professional experience).
-
Ability to design and deliver well-structured, maintainable systems end-to-end.
-
Comfortable collaborating across disciplines with designers, software engineers, and hardware engineers.
-
Ownership mindset: you ship, measure, and iterate.