About the role
We are seeking a Senior Software Engineer with 5-7 years of hands-on experience in backend engineering, distributed systems, cloud-native architectures, and high-performance application development using Java or Golang. The ideal candidate will be responsible for designing, developing, optimising, and operating mission-critical backend services that support gaming competitions, payments, leaderboards, fraud detection systems, matchmaking engines, user engagement platforms, and real-time event processing systems. This role requires strong technical depth, system design expertise, an ownership mindset, and the ability to solve complex engineering challenges in a fast-paced product environment.
The candidate will have responsibilities across the following functions:
Backend Architecture and Development:
- Design, develop, and maintain highly scalable backend services using Java or Golang.
- Build resilient microservices architectures capable of handling high throughput and low-latency requirements.
- Develop APIs, event-driven systems, and service integrations supporting platform-wide functionality.
- Write clean, maintainable, well-tested, and production-ready code.
- Participate in architecture discussions and contribute to long-term technical strategy.
Distributed Systems Engineering:
- Design and implement fault-tolerant distributed systems.
- Optimise services for scalability, reliability, and performance.
- Handle challenges related to: Service discovery, Distributed caching, Data consistency, Event streaming, Horizontal scalability, and Failover mechanisms.
- Develop systems capable of processing millions of events and transactions daily.
Performance Optimisation:
- Analyze application bottlenecks and improve performance.
- Optimise CPU utilisation, memory management, database queries, and network communication.
- Perform profiling and root cause analysis for latency-sensitive applications.
- Improve application throughput and response times through architectural improvements.
Cloud and Platform Engineering:
- Build and deploy cloud-native services.
- Work extensively with containerised environments and orchestration platforms.
- Implement infrastructure automation and deployment pipelines.
- Ensure systems meet availability, observability, and security requirements.
Data Engineering and Persistence Layer:
- Design efficient database schemas and access patterns.
- Optimise SQL and NoSQL database performance.
- Implement caching strategies to reduce latency and improve scalability.
- Build systems capable of handling large-scale transactional workloads.
Reliability and Observability:
- Define service SLAs, SLOs, and operational excellence standards.
- Build monitoring, alerting, logging, and tracing solutions.
- Participate in production support and incident response.
- Conduct post-incident reviews and implement preventive measures.
Collaboration and Leadership:
- Collaborate with Product Managers, Architects, QA Engineers, DevOps Engineers, and other stakeholders.
- Mentor junior engineers and contribute to engineering best practices.
- Drive code reviews, design reviews, and technical discussions.
- Promote engineering excellence across teams.
Technical Requirements:
Core Programming Expertise:
- Strong proficiency in either: Java Stack, Java 11/17+, Spring Boot, Spring MVC, Spring Data, Spring Security, Hibernate/JPA, RESTful API Development, Reactive Programming (preferred)
- Golang Stack: Go Modules, Concurrency Patterns, Goroutines, Channels, Context Management, Dependency Injection, REST/gRPC Development, Performance Optimisation, Memory Profiling.