Preparing for Interview at Agoda

Best practices and useful tips from an interviewer to a candidate

Agoda Engineering
Agoda Engineering & Design
7 min readJun 19, 2023

--

by Vlad Batushkov

At Agoda, we are always looking for talented individuals to join us in powering travel for the world, but we know that navigating the interview process can be overwhelming. In this article, we will address commonly asked questions from candidates, provide tips on enhancing your CV, and discuss two interview rounds: “Coding and Algorithms” and “Platform Interview.”

Here’s what the typical interview process looks like at a glance:

Diagram showing sample interview stages at Agoda

What does Agoda’s IT Team do?

Agoda has four platforms to develop: iOS and Android mobile applications, Desktop and Mobile Web versions of Agoda website. We provide our customers with trip experience products such as Hotels, Accommodations, Flights, and Activities.

Frontend developers are not limited to working solely on the client-side; they also contribute to front-facing API services. On the other hand, Backend developers work on travel domain services like Finance, Supply, Pricing, Marketing, and more. We focus heavily on data skills, so every developer is proficient at working with Big Data. Lastly, our software engineers specialize in pure technical work, which involves improving Agoda infrastructure, creating internal tools, and innovating the tech stack with new technologies.

What is the Tech Stack in Agoda?

We foster a culture where software engineers embrace programming languages as tools and continually expand their skills with new technologies and domains. We encourage cross-functionality among our teams and engineers, promoting versatility and collaboration.

We use numerous programming languages in Agoda products, including TypeScript, Swift, Kotlin, C#, Scala, Go, Python, and more.

Our software engineers and teams embrace a multiprogramming mindset. For example:

  • Staff mobile engineers contribute to Objective-C, Swift, Scala, and C# codebases.
  • Senior full-stack engineers expand their TypeScript and C# skills with Android and Kotlin development.
  • The backend team creates new systems using Scala and Rust.

So, if you want to work in a rapid learning environment, Agoda is the right place to join.

What are the Different Teams Within the Tech Department?

There are two main team types within Tech at Agoda. The first is the Product team, responsible for creating exciting new features for Agoda’s users and improving customer experience. It is typically supported by a Product Owner and a Development Manager.

The second is the Platform team, which focuses on infrastructure and development processes to ensure the smooth operation of Agoda’s systems. For example, Data Warehouse for analysis, Messaging pipeline for logs and measurements, the Experimentation platform, CI/CD infrastructure, and many more.

Both team types are built on InnerSource culture and self-management, and they play a crucial role in serving millions of users worldwide.

How to Apply for a Job at Agoda

  1. Visit the careers website: Browse the available roles and apply directly for the position you are interested in.
  2. Apply via LinkedIn: Find the job description on LinkedIn and submit your application through the platform.
  3. Get referred by an Agoda employee: Utilize the power of LinkedIn connections to network with Agoda employees who can refer you for a position within the company.

Tips for Optimizing your CV

  • Use a well-structured, readable template.
  • Keep it concise, aiming for a maximum of two pages.
  • In the experience section, focus on 2–3 of your most recent projects. Summarize projects that are more than 5 years old into a single line.
  • Add links to external resources (If your Github is empty, this may work against you).

When describing your projects, focus on your achievements. Be specific about what you accomplished and the results. Remember that everything can be measured: task complexity can be measured in story points, deployment time in minutes, and microservice performance in terms of response time, throughput, latency, error rate, and resource utilization.

Use numbers to support your contributions and achievements wherever you can. Be specific and use well-described scenarios.

  • Instead of: My team migrated from legacy framework A to modern framework B.
  • Try: I led a team of 3 engineers in successfully migrating from a legacy framework A to framework B within 2 months, saving costs by $50K per year and improving system performance by 2.5 times.

Be concise and clear. Take your time and write something that really matters in your CV.

  • Instead of: My career goal is to join a forward-thinking organization where I can apply my programming skills and knowledge of emerging technologies to design, develop, and implement cutting-edge software solutions that will positively impact the world.
  • Try: I am interested in a company that cares about the work-life balance of employees.
  • Try: Being a “generalist developer” archetype, I am open to changing my current tech stack.

Interview Round: Coding and Algorithms

Excellent problem-solving skills are essential to an engineer’s success. Can a candidate approach problems effectively? Can they clearly articulate their thoughts? Can they write code that is both efficient and readable? We don’t need highly challenging problems to assess these qualities. Instead, we focus on the candidate’s approach.

It can help to put yourself in the shoes of the interviewer. Imagine observing an individual as they write code to solve an algorithmic problem. The interviewer will be on the lookout for:

  • Testing skills
  • Critical and systematic thinking
  • Code efficiency and readability
  • Computer science knowledge, including algorithms, data structures, computational complexity.

Tips on improving your algorithm and problem-solving skills:

Make sure you understand the ideas behind the main algorithmic patterns. Take the time to fill in any gaps in your knowledge before the interview using resources like Leetcode, HackerRank, Educative, and Udemy.

When approaching a programming task, it is better to use a language you are comfortable with rather than trying to impress others with a new language. Take the time to fully understand the task before starting to code, as attempting to solve a different problem will lead to failure.

Explain your plans and thought processes clearly in plain English. It’s okay to admit if you’ve encountered something unfamiliar and instead focus on showcasing your strengths in other areas. It is crucial to provide a working solution, even if it’s not optimal, as a non-functional solution will likely result in failure. Proactively discuss your approach and algorithm complexity without waiting for the interviewer to ask about them.

To demonstrate that your solution is correct, you must prove it by showing the correct results. Passing tests is essential; detailed explanations and comments are secondary. Test your algorithm for both true and false outputs, and consider edge cases to ensure the accuracy of your solution.

Interview Round: Platform

This round focuses on engineering specialization. As a discipline, engineering requires a lot of knowledge and practical skills. Specifically, it involves a deep understanding of technical aspects such as programming languages, frameworks, concepts, and various tools to develop robust and scalable software. This round is an ideal opportunity to showcase your theoretical and practical skills. The interviewer will evaluate the following:

  • Communication skills
  • Level of expertise
  • Development, design, and architecture skills
  • Analytical thinking
  • Whether you are a good fit for the role

Introduce Yourself

It’s important to remember that this is just the starting point and should be kept brief. Save time for the questions that will follow.

  • Instead of: Start from your graduation and mention every job and project you’ve worked on.
  • Try: Talk about your current job and what your responsibilities are

Your CV will act as a roadmap of your qualifications and career trajectory, so look over it before your interview and be prepared to provide explanations and further insights.

Design and Architecture Task

During the Platform interview round, we typically ask candidates to implement something related to Agoda. You will be given a task that will allow you to demonstrate your development and design skills. It could be a feature for the Agoda website, mobile application, or one of Agoda backend systems.

For instance, if you are tasked with building a website feature, it’s crucial to provide an overview of the frontend, backend, and data layers. However, you should avoid getting too caught up in the details of a single layer. Instead, focus on providing a high-level explanation of all the components first. This approach will significantly enhance your chances of success.

To excel in this round, it is essential to keep the following key points in mind:

  • Discuss requirements first
  • Explain your plan for this conversation and lead it
  • Follow a ‘top to bottom’ approach
  • Use a structured written form (as if you’re creating technical documentation)
  • Draw something meaningful (like a sequential diagram)
  • Discuss tradeoffs
  • Share ideas on metrics and how to test your solution

Development Task

During the Platform interview round, we often include a task that involves reviewing, fixing, and improving a given code snippet. This activity allows us to assess your development skills. To help you succeed in this task, here are a few tips:

  • Take time to understand the provided code snippet.
  • Confirm with the interviewer that you understand it correctly.
  • Explain your plan and your ‘top to bottom’ approach.
  • Don’t start with implementation details; start with Types and Contracts
  • Share code improvement ideas.
  • Find and fix bugs in the code.
  • Play the role of a lint tool.

Best of luck with your interview!

Acknowledgments

Special thanks to Royee Goldberg for reviewing this article.

--

--

Agoda Engineering
Agoda Engineering & Design

Learn more about how we build products at Agoda and what is being done under the hood to provide users with a seamless experience at agoda.com.