Senior Systems Software Engineer
Senior Systems Software Engineer at Terra Quantum in Munich (hybrid) building Quantum Key Distribution systems. Work involves high-performance Python services on Linux, optimizing QKD algorithms (sifting, error correction, privacy amplification), hardware acceleration via GPU/FPGA, and defining software architecture for the core QKD platform. Requires Python, asyncio, WebSockets, Docker/GitHub Act
- Compensation
- Not disclosed
- Location
- Germany - Hybrid; Munich, Germany
- Work setup
- Hybrid
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 3+ years
- Category
- Software engineering
- Posted
Skills
Nice to have
- Experience with QKD systems, cryptography, or high‑rate data pipelines
Full description
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