Staff/Lead Software Engineer, Back End (Bangkok based - Relocation provided)
About the role
In Agoda’s Back End Engineering department, we build the scalable, fault-tolerant systems and APIs that host our core business logic. Our systems cover all major areas of our business: inventory and pricing, product information, customer data, communications, partner data, booking systems, payments, and more. These mission-critical systems change frequently with dozens of releases per day, so we must employ state-of-the-art CI/CD and testing techniques in order to make sure everything works without any downtime. We also ensure that our systems are self-healing, responding gracefully to extreme loads or unexpected input. In order to accomplish this, we use state-of-the-art languages like Scala and Go, data technologies like Kafka and Aerospike, and agile development practices. Most importantly though, we hire great people from all around the world and empower them to be successful. Whether it’s building new projects like Flights and Packages or reimagining our existing business, you’ll make a big impact as part of the Back End Engineering team.
Responsibilities
- Lead the development of product features, experiments, technical initiatives, and complex systems.
- Act as a technical leader by shaping architecture decisions, Influence and coach distributed team of engineers
- Continuously improve system architecture and drive better software design and engineering practices.
- Play a key role in strengthening agile and scrum ways of working.
- Collaborate closely with backend, client-side, and infrastructure teams to deliver the best technical solutions.
- Proactively identify opportunities to enhance products, code quality, and development processes.
- Write high-quality, maintainable code while supporting others in doing the same.
- Influence and drive important technical decisions across the organization.
Requirements
- 10+ years of experience building performance-critical applications in production environments using JVM tech stack (Java, Scala OR Kotlin)
- Proven experience leading projects, technical initiatives, and/or engineering teams, with full ownership of the systems involved
- Hands-on experience with data platforms such as SQL, Cassandra, or Hadoop, and a solid understanding of selecting the right data solution for different application needs
- Strong knowledge of algorithms and data structures
- Demonstrated excellence in software development and coding
- A proven ability to improve team productivity and effectiveness through KPI-driven engineering practices
- Strong software architecture skills, with experience driving architectural decisions within a team
- A passion for software craftsmanship, continuous learning, and engineering excellence
- Excellent written and verbal English communication skills