EU remote
Senior Systems Software Engineer
About this role
The Role The Senior Systems Software Engineer will be a member of the core team building the Quantum Key Distribution system. The focus is on high-performance Python services on Linux, algorithm optimization and acceleration (also via hardware offload), and the role spans defining software architecture, integrating with FPGA/embedded subsystems, and turning requirements into reliable, observable software. The Senior Systems Software Engineer leads and co-owns the overall internal QKD software architecture and client-facing software API.
By setting engineering standards, mentoring, and unblocking delivery, they ensure predictable releases and a strong execution cadence. The Responsibilities The Senior Systems Software Engineer should expect to work in the following activities. System architecture Leading and co-owning the QKD software architecture: control plane services, key sifting/postprocessing integration, configuration management, monitoring, and external interfaces Defining module boundaries and service APIs; evolving the system toward clear data/control-plane separation Efficient implementation and hardware/software integration Designing and implementing high-performance Python services on Linux (asyncio, WebSockets, NumPy); profiling and tuning for latency and throughput Developing, profiling, and optimizing QKD sifting and postprocessing algorithms (signal handling/processing, error correction/information reconciliation, LDPC, privacy amplification) to maximize key rate and minimize end-to-end latency; applying algorithmic improvements and implementation techniques (vectorization, concurrency/async, memory/layout tuning, C/C++ extensions, SIMD/CUDA/GPU/FPGA offload where appropriate) Defining and maintaining robust interfaces with embedded/FPGA system components over UART/USB/PCIe/Ethernet; respecting realtime constraints and failure modes Guiding downstream system integration (WebSockets/gRPC/REST) and ensuring clear contracts and backward compatibility Designing for test – building mocks/simulators and automated test systems DevOps Building and maintaining CI/CD with Docker and GitHub Actions; automated tests, static analysis, artifact management, and release pipelines Establishing observability (structured logging, metrics, tracing) and operational runbooks; improving reliability and debuggability with SLOs/alerts Embedding security and crypto hygiene by default: secure transport, secrets management, key handling, and coordination with cryptography stakeholders Adding performance benchmarking and regression tracking for key rate and end-to-end latency; integrating profiling/flame graphs into CI and enforcing performance budgets The Requirements The Senior Systems Software Engineer is expected to have the following qualifications and experience.