Tired of ads? Enjoy an ad-free experience by signing up.
  • Insights
    This article was written by a TIA community member. Insights pieces undergo the same rigorous editorial process that newsroom-produced articles have.
Adithya Venkatesan · · 8 min read

How Gojek’s early team managed 1 million drivers with 12 engineers

In Norse mythology, Yggdrasil is a gigantic mythical tree that connects the nine worlds of the Norse cosmology. It’s a holy tree whose branches touch the heavens. The gods hold court beneath it, debating the fates of other gods, men, and monsters. It’s the tree of life and the center of everything.

At Gojek, the Allocations Team is the eternal green ash tree. The company’s multiple products rely on this team to assign drivers and ensure completion of orders. The team cuts across products and services responsible for more than 1 million registered drivers on the platform. Back then, there were only 12 engineers in the team.

This is their story.

Problems galore

In 2010, Gojek started as a call center. Customers would call a number, then someone from the call center would “allocate” a driver after looking at a list of drivers in an Excel sheet.

Nadiem Makarim, Gojek’s CEO, was the first person to test the Gojek app. As soon as a dummy order was created and Makarim got the first notification, the app was open for business.

At its peak in 2014, the company had 200 drivers. The three-person engineering team then had a stopgap model for matchmaking drivers and customers. The codebase eventually had to be reworked to match scale, so the new matchmaking codebase was built in two days and could handle about 700 drivers. But everything was manual, and something had to be done to automate the whole process.

In the beginning of 2015, a version of the app was launched to keep pace with increasing demand. The company’s other products – Go-Ride, Go-Food, and Go-Send – went live. Customers would “bid” for a driver, then drivers would get a notification and accept the order.

This was the birth of the “bid engine,” a classic matchmaker between supply and demand (in this case, driver and customer). It would form the genesis on which Gojek was going to be built.

But there was a problem: siloed boxes.

There was a total of three products with the same underlying infrastructure, but without interconnectedness. That was a problem that shouldn’t exist when success depends on deeper linkage across teams. The problem was serious, as all three teams were working on the same infrastructure.

Moreover, Gojek simply wasn’t prepared to handle the kind of adoption and growth it began to witness as soon as the app was launched. The algorithm started to crumble. The engineering was pretty straightforward with 10 to 15 lines of code, solving problems for a small set of data. As the drivers increased, downtimes became a routine affair. There were way too many bottlenecks.

Gojek was failing – and fast.

Soon enough, the company had one of India’s best consulting firms, Code Monk, in its arsenal. The task for the engineering team then was to work on the bidding engine and ensure that there’d be no more downtimes.

It’s about the ones and zeros

The old codebase was written in Java. It’s a programming language that belonged to the internet age, but not for a startup in 2015 that was exploding in demand and imploding with a lack of resources and engineering wherewithal.

Why were we using Java? Because of the Golden Hammer anti-pattern: “I know Java, so Java is the best.”

The new normal

Seeing 10x growth, but 100% failure

The big rewrite 

Shaping a mindset

Stay ahead in Asia’s tech landscape

You've reached your 2 free content limit for the month. Sign up for free to read the full story.

🏄 For casual readers / 👶 Free

Basic

US$0

Free forever

Get instant access to this article and more every month

0 premium content

Unlimited news briefs

5

5 articles

Ad-free reading experience

Just US$0 per day

⌛Sign up in 20s. No payment details needed.

📖 For learners / 👍 Starter

Lite

US$4.92/month

Billed annually at US$59/year

Get instant access to this article and more every month

4

4 premium content

Unlimited news briefs & articles

Ad-free reading experience

Just US$0.17 per day

Cancel anytime

Our subscriber community includes professionals from these companies:

Stay updated on the go with our mobile app.

Get latest insights with smoother, more personalized experience through TIA mobile app.

Community Writer

Adithya Venkatesan

Adithya heads marketing for the India operations of the largest unicorn company in Indonesia, Gojek. He is responsible for brand perception in India and strategizing ways to attract the best engineering, product, and design talent at Gojek. Before this, Adithya was voted by PR Moment as one of the Top PR people to watch out for under 30 years old. He has written communication strategies for 3 unicorn startups and dabbled in a dozen other corporates and seed-stage startups. He is a logophile and history-lover with a keen eye on how technology shapes human behavior. You can reach out to him on Twitter: @adadithya .