Senior Software Engineer
Senior backend engineer at online betting operator Betway (hybrid, Pretoria) building enterprise-scale microservices on .NET 8/C# with SQL Server and event-driven messaging (RabbitMQ/Kafka/Azure Service Bus), owning API design, Azure DevOps CI/CD, testing, and production incident response.
- Compensation
- Not disclosed
- Location
- Pretoria, ZA
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Full time
- Experience
- 3+ years
- Category
- Software engineering
- Posted
Skills
Must have
- 8+ years of backend software development experience
- 3+ years in a senior/equivalent role
- Experience building and maintaining microservices at enterprise scale
- Demonstrated impact on architectural decisions, mentorship, and system optimization
- Expert-level proficiency in .NET 8+ and C# 12+ (async/await, LINQ, performance tuning, reflection)
- Strong experience with Dapper / EF Core, including ORM trade-offs and performance tuning
- Advanced SQL Server skills: query tuning, indexing, execution plans, statistics
- Microservices design: boundaries, communication patterns, service reliability
- Event-driven architecture: RabbitMQ, Kafka, or Azure Service Bus
- API design (REST / gRPC), backward compatibility, and versioning strategies
- Strong ability to lead design discussions and influence architecture without formal authority
- Advanced Azure DevOps pipeline design and release management
- Understanding of modern deployment strategies (blue-green, canary, etc.)
- Deep experience with testing automation across all testing layers
- Strong understanding of SOLID principles, design patterns, and refactoring practices
- Performance profiling, optimization, and debugging complex scenarios
- Experience leading incident response, post-mortems, and operational improvement efforts
- Ability to maintain composure and lead through high-severity production challenges
Nice to have
- Deep understanding of ACID, isolation levels, deadlocks, sharding, and partitioning (beneficial)
- Redis expertise in distributed caching and invalidation strategies (beneficial)
- Elasticsearch experience: indexing, search and aggregation performance optimizations (beneficial)
- Experience with logging, tracing, and performance monitoring (OpenTelemetry) (beneficial)
Full description
Senior Software Engineer
Location: Pretoria
Remote Type: Hybrid
Time Type: Full time
Job Description
Kick-start your career in the online gaming world and experience the very latest in technology and innovation.
Experience: 8+ years of backend software development experience
3+ years in a senior/equivalent role.
Experience building and maintaining microservices at enterprise scale.
Demonstrated impact on architectural decisions, mentorship, and system optimization.
Technical Expertise: Platform & Languages:
Expert‑level proficiency in .NET 8+ and C# 12+ (async/await, LINQ, performance tuning, reflection).
Strong experience with Dapper / EF Core, including ORM trade‑offs and performance tuning.
Data & Search:
Advanced SQL Server skills: query tuning, indexing, execution plans, statistics.
Deep understanding of ACID, isolation levels, deadlocks, sharding, and partitioning. (Beneficial)
Redis expertise in distributed caching and invalidation strategies. (Beneficial)
Elasticsearch experience (indexing, search and aggregation performance optimizations). (Beneficial)
Architecture & System Design:
Microservices design: boundaries, communication patterns, service reliability.
Event‑driven architecture: RabbitMQ, Kafka, or Azure Service Bus.
API design (REST / gRPC), backward compatibility, and versioning strategies.
Strong ability to lead design discussions and influence architecture without formal authority.
DevOps, CI/CD & Observability:
Advanced Azure DevOps pipeline design and release management.
Understanding of modern deployment strategies (blue‑green, canary, etc.).
Experience with logging, tracing, and performance monitoring (OpenTelemetry). (Beneficial)
Software Quality & Craftsmanship:
Deep experience with testing automation across all testing layers.
Strong understanding of SOLID principles, design patterns, and refactoring practices.
Performance profiling, optimization, and debugging complex scenarios.