Job Title: Senior Backend Engineer (Switching Systems)
Location: Cape Town, South Africa (Hybrid or On-site)
Role Overview
We are looking for a Senior Backend Engineer to design and build high-performance switching systems that route, process, and manage real-time transactions or communications at scale.
This role is deeply technical and backend-focused, requiring strong experience in low-latency systems, concurrency, and reliability engineering. You will play a key role in building the core systems that power critical flows in our platform.
Key Responsibilities
Core Systems & Switching Logic
-
Design and implement switching/routing engines for high-throughput, low-latency systems
-
Build systems that handle real-time decisioning, routing, and failover
-
Develop and maintain protocol-level integrations (e.g., TCP/IP, HTTP, gRPC, or domain-specific protocols)
-
Ensure correctness, ordering, and idempotency in transaction flows
Performance & Reliability
-
Optimize systems for latency, throughput, and fault tolerance
-
Design for high availability and graceful degradation
-
Implement robust retry, backoff, and circuit-breaking mechanisms
-
Debug complex production issues in distributed systems
Backend Engineering
-
Build and maintain backend services and APIs
-
Work with data stores (relational and/or NoSQL) to support high-scale workloads
-
Contribute to system design, code reviews, and engineering standards
Infrastructure & Observability
-
Collaborate on deployment architecture (cloud or hybrid environments)
-
Implement monitoring, logging, and tracing for critical paths
-
Improve system visibility and operational readiness
Experience
-
5–8+ years of backend software engineering experience
-
Proven experience building high-throughput, low-latency systems
-
Experience working on switching, routing, or real-time processing systems (telecom, payments, networking, or similar domains)
Key Competencies
1. Technical Skills
-
Strong proficiency in one or more backend languages (e.g., Go, Java, C++, Rust, or similar
-
Deep understanding of concurrency, multithreading, and asynchronous systems
-
Experience with network protocols and system-level behavior
-
Solid understanding of distributed systems fundamentals
-
Experience with databases under high load
2. Systems Thinking
-
Ability to reason about failure modes, edge cases, and system limits
-
Strong debugging and performance tuning skills
-
Focus on building resilient, production-grade systems
Nice to Have
-
Experience with telecom switching (e.g., SS7, SIP) or payment switching (e.g., ISO 8583)
-
Experience with event-driven architectures or streaming systems (e.g., Kafka)
-
Familiarity with kernel-level or systems programming concepts
-
Experience in regulated or mission-critical environments