Electric Sheep Blog

I first heard of GO-JEK toward the end of March 2015, from a VC firm we had close ties with. At the time, I was running C42 Engineering, a web engineering consultancy that specialised in working with fast growing startups. The firm in question wanted us to meet their portfolio companies in Indonesia and see how we could help.

By early April, I was in Jakarta for a quick, two day recce. I was to meet the CEOs and CTOs of two national success stories with tens of thousands of daily transactions and one tiny startup called GO-JEK that had just gone digital in January, was doing a couple of thousand orders a day through a few hundred drivers and wasn't really on anyone's radar in a big way.

April 2015: A Jakarta Street with no GO-JEKs! Unimaginable today.

So I met and pitched the leadership of each of the firms straight off a red eye flight - the first two at fancy offices and GO-JEK at a bungalow in a residential area. What I saw of Indonesia blew me away: A wide open market, negligible investor presence, enormous purchasing power (~2x India's per capita GDP), population of 250M, high internet penetration, high app adoption, fast growing startups and a tiny pool of tech talent.

A view of Jakarta's business district from my hotel room.

That evening I tried Sop Buntut. I took photos of the traffic, and the night skyline. I drank myself silly with friends. And I came back to Bangalore and told my co-founders and our partner firm (at the time), CodeIgnition, that we should scrap all our US/EU growth plans and focus on south east Asia.

We started working with one of the two larger firms I'd met - an e-commerce giant with millions of monthly orders. Tactical piece work, largely, fixing particular scaling issues. GO-JEK vanished off the radar.

Around July, the same VC firm called us again and asked if we had capacity. Having just launched GO-FOOD, GO-JEK's stack was maxing out at just under 10K orders per day and could we send someone over to see if we could help. By a happy co-incidence, our CTO, Niranjan, had just rolled off a long engagement with Staples Labs dealing with large Clojure codebases running at massive scale. This would make for a welcome break from all the pressure. How wrong we were.

So off Niranjan went to Jakarta. With a couple of weeks of tuning, GO-JEK was clearing 40K daily orders. Then the core allocation system was re-built as an independent golang service: 100K. Then GO-JEK's COO, Rohan, decided to 10X our competitor's driver recruiting.

Between late August and early September his team recruited 5000 drivers daily, taking us to 200K drivers nearly overnight.The daily orders went straight up the handle of the hockey-stick and to support the load, both C42 and CodeIgnition had to move their entire staff to work on the GO-JEK stack to keep it scaling.

By September, GO-JEK's are everywhere! Here, drivers wait at a coffee shop for their next booking to appear on their phones.

Just over a year after my first visit, scaling continues apace with more than 100X growth in daily transactions. We've launched 14 new offerings including payments and our food delivery business is, by one report in the Times of India, larger than the whole of India's combined. GO-CAR, which was launched in March, grew 10X in it's first four weeks. GO-PAY is currently running at a scale 3-4X more than the banks we integrate with are able to process.

A couple of weeks ago, the engineering college I graduated from invited me to join an industry panel to give the graduating batch some advice about careers and dealing with the real world.

Too little of it, in my opinion, focussed on the single most important problem you need to solve in a modern career: The rapid pace at which your professional skills and your employer's business models are rendered obsolete. This is not unusual - most people still continue to live their lives and careers as though obsolescence and layoffs aren't hiding around every corner.

This post is an expansion of that talk and is based largely on things I wish I'd done better myself as a fresh grad. None of this comes with a warranty - I'm wrong far too frequently for that.

The future doesn't need you

You as you define yourself today. You as a programmer. Or a driver, doctor or musician.

Don't let yourself feel it's safe to stagnate, now that you've graduated. The era of one skill-set lasting for your entire career is over.

So accept this: Your skills will be obsolete shortly. "Shortly" is maybe a 10 year period now, and is dropping steadily. Given most people work for ~40 years, that's a lot of churn to deal with.

Regularly updating your skills, and keeping a careful eye on market trends in your professional area is critically important or you could get a nasty surprise when you least expect it.

Draughtsmen, typists, file clerks, journalists, farmers, postal service employees, switchboard operators and photography film processors are just a few of the roles that have seen heavy reduction in openings due to automation filling the gap. Next up, all the drivers in the world thanks to Google's driverless vehicles.

In the IT industry, I'm personally seeing a decreasing need for QA and DBA roles. Technology and automation are reducing or removing significant portions of their workload, massively reducing the number of QAs or DBAs that are needed to successfully solve a problem. And that's just in my little section of the industry.

Change requires decisions. Making decisions is hard

Not just the big ones either: All decisions are hard. Many people find making decisions frequently fatiguing, even.

So you put off the decision. Big ones, small ones... you procrastinate.

However, there are other people in your organisation and community who aren't hesitating. Some of them will be successful, and will draw scarce resources toward themselves and away from you, narrowing your choices.

Don't wait endlessly for certainty to ease the fear and the doubt - by the time it comes, it's usually too late as all the choices have been taken out of your hands by circumstances.

Seek to gather sufficient data to make an informed decision, then stop procrastinating and make the decision.

There is no "right" choice that guarantees a better career

"I'm an EC student. I'm only getting IT jobs. Is it better for my career to do my masters in an EC field or take up an IT job?"

This, or some close variant, was the most common question asked of the panel. The answer is: Nobody else can tell you. You are the only person who can define "better for my career."

What is "better"? More money? Flexible hours? A big designation? Social Impact?

Nobody else can tell you this. You are the only person who can decide what it is that you value, and what you're willing to give up to get it.

TANSTAAFL. To get something, you almost always have to compromise. Everyone hates compromise. It is human nature to want to wait until everything is perfect.

A good career needs to be defined by you, and you need to chase it. If it not a well understood, mainstream career, then you have to be willing to take risks and fail in order to get what you want.

Doing what most do leads to an average case outcome

If you decide to do what the majority does, that is the definition of average.

If you expect to have an exceptional career, you need to be doing something different.

If you do something different, the likelihood of failure goes up substantially.

If you are unwilling to fail, then you are waiting for Perfect. This will slow you down enormously.

How much risk you are willing to take is up to you, but be rational in your analysis. Risk appetite is a deeply personal thing, and again is an area where you should make your own choices.

Doing what most say without verification is dangerous

Argumentum ad populum is a fallacy. Just because everyone says it's so doesn't mean it's true. Always fact-check any "wisdom of the crowds" type advice.

Here's a real life example.

For the last fifteen years, Electronics and Communications (EC) has been the preferred stream for aspiring engineers in the state of Karnataka. The top ranks prefer it. Paid seats are the most expensive.

Given that most aspiring engineers aren't clear about what stream they have a taste for, they're mostly sorting by the quality of job opportunities. Parents would discuss how EC had excellent growth opportunities. CS was also good, but EC is better.

Reality, it turns out is quite different. While there are a few excellent EC jobs in India, most meaningful EC work requires a Masters degree and is outside the country. The vast majority of EC grads wind up in the large scale Indian IT services industry. Even if they have the capability to go after top consulting or product engineering roles, they tend to lose out to CS grads.

To add insult to injury, EC is arguably a much harder course than CS in Karnataka.

Arrogance slows you down

If you think you're better than the next person, you're likely to be filtering out valuable feedback that could help you improve enormously. Both from other people and from reality.

Or, of course, you could simply be awesome! If you are, remember, be nice.

Don't be impatient

Montages are for movies. Any non-trivial undertaking will take time. Be willing to commit the necessary time before you make a decision, be patient and see it through to a meaningful conclusion after.

The people you hang out with makes a difference

The easiest way to go after a better career is to surround yourself with people in your profession who are constantly pushing boundaries, seeking to be better. Interesting, stimulating conversation is a great soft metric.

You're more likely to achieve an exceptional outcome if you're surrounded by exceptional people.