Description
The Compute Platform team at Agoda operates a fleet of bare metal and virtual machines infrastructure that every product runs on. As a Staff/Lead Software Engineer, you will contribute to a mission-critical private cloud with over one million cores, spread across hundreds of Kubernetes clusters, OpenStack virtual machines, and bare metal servers.
You will own and evolve the architecture of ACP (Agoda Compute Platform), our in-house, lightweight orchestration stack for dedicated-resource virtual machines on bare metal. You will design, build, and operate Agoda's compute and fleet tooling in Go and Python, including systems that interface with Kubernetes, OpenStack, and out-of-band hardware management APIs.
Responsibilities:
- Own and evolve the architecture of ACP
- Design, build, and operate Agoda's compute and fleet tooling
- Lead medium to large projects across Fleet, Compute Platform, and adjacent teams
- Take an active role in System Design Reviews
- Use agentic coding tools as a normal part of design, implementation, testing, and review
- Troubleshoot product and system issues at scale
- Interview and mentor engineers across the team
- Define and use clear measures for ACP reliability, operational load, and delivery quality
- Work with Software Development, Infrastructure Management, and adjacent teams to gather requirements and design scalable, resilient services
- Write technical documentation and training for the team
Requirements:
- 10+ years of software engineering with a strong hands-on background in infrastructure or compute systems
- Strong distributed systems development skills in Go; Python is advantageous
- Proven experience owning and evolving distributed systems
- Experience with virtualization and bare-metal provisioning at scale
- Practical experience using Kubernetes in production
- Comfortable using agentic coding tools in day-to-day software development
- Strong understanding of observability for distributed systems
- A track record of leading medium to large technical projects and driving architectural decisions
- Experience working across team boundaries and learning the internals of adjacent systems
- Clear written and verbal English