#23 - Earn People & Leadership Lessons From Hyperscaling Gojek - Ajey Gore

 

   

“I always deliver myself against these four things: you should stay true to learning; be curious, understand what is going on; optimize for people, don’t optimize for money; and if you want to do something, there’s only one reason to do it, that you want to do it.”

Ajey Gore is an Operating Partner at Sequoia Capital India who was previously the Group CTO of Gojek. He helped build a strong Gojek engineering team with his passion, strategic insight, and innovative mindset, which was highly crucial in transforming Gojek to become Indonesia’s first decacorn. In this episode, Ajey shared his deep beliefs and motto of “earn people, not money” in various aspects of his career and life. We started from his sharing of his journey at Thoughtworks and what he learned there that helped shape a lot of his growth and leadership. Ajey eventually made a bold move, starting his startup journey which led him to founding CodeIgnition which was then acquired by Gojek. Ajey shared a lot about his exhilarating challenges and journey in Gojek, which includes the different Gojek scale and stages he went through, crucial technologies, and architecture decisions. He also shared his views about hiring and leadership that played critical parts to Gojek’s success. We also discussed briefly the importance of community contributions and his advice for fresh graduates to succeed in their career. At the end, I asked Ajey a philosophical question on how we should figure out what to optimize for in our life and career.

Listen out for:

  • Career Journey - [00:08:11]
  • Role in Sequoia - [00:10:36]
  • Impact of COVID for Startups - [00:12:20]
  • ThoughtWorks Journey - [00:14:38]
  • Earn People, Not Money - [00:18:38]
  • Moving to Startup - [00:22:34]
  • Starting CodeIgnition - [00:23:50]
  • Acquired by Gojek - [00:26:47]
  • First Role in Gojek - [00:28:31]
  • Gojek Scale and Stages - [00:30:01]
  • Crucial Technologies and Architecture - [00:34:59]
  • On Hiring - [00:39:14]
  • On Leadership - [00:45:19]
  • Community Contributions - [00:47:58]
  • Advice for Fresh Graduates - [00:49:26]
  • What to Optimize in Life - [00:51:27]
  • 3 Tech Lead Wisdom - [00:53:48]

_____

Ajey Gore’s Bio
Ajey is an Operating Partner - Technology with Sequoia Capital India, based in Singapore. He works closely with Sequoia India and Southeast Asia’s portfolio CTOs and CPOs to provide insight and expertise in building and scaling engineering, data science, product and design functions, and helps them build and mentor high-performing teams across Southeast Asia.

Prior to joining Sequoia, Ajey was the Group CTO of Gojek. Ajey earlier founded CodeIgnition, which was acquired by Gojek. He has also served as the CTO for hoppr, which was acquired by Hike Messenger, and was Head of Technology for ThoughtWorks.

Ajey has a B. Com degree in Commerce, Mathematics, and Statistics from University of Allahabad and a PG Diploma in advanced software technology/Computer Science from NCST.

Follow Ajey:

Mentions & Links:

 

Our Sponsors
Are you looking for a new cool swag?

Tech Lead Journal now offers you some swags that you can purchase online. These swags are printed on-demand based on your preference, and will be delivered safely to you all over the world where shipping is available.

Check out all the cool swags available by visiting techleadjournal.dev/shop. And don't forget to brag yourself once you receive any of those swags.

 

Like this episode?
Follow @techleadjournal on LinkedIn, Twitter, Instagram.
Buy me a coffee or become a patron.

 

Quotes

Career Journey

  • My career has been what I say is a flow of water in a lot of sense. As long as you put in some work, as long as you go meet people, as long as you do the right things, your career takes its shape.

  • A lot of times we focus on money or success. In my view, they should be a byproduct of effort you put at. So as long as you put the right effort, I think the right things will come out.

Impact of COVID for Startups

  • In the Tech world, what we could not emphasize early on was saying we should do documentation, we should do more purposeful emails or we should write more wikis. Those things have become a norm now.

ThoughtWorks Journey

  • Everything is possible, as long as you are willing to learn. So learning, being a learner, also means that you need to learn to unlearn things as well. What works in the past decade won’t work in the next decade. So that allowed me to be very open-minded. I am not married to a tool or language or framework or technology as long as you need to adopt. So you need to learn which results into adoption, which results into exposure of new things, and which results into a new journey.

  • Second thing, what I learned was I learned a lot of internal tools in ThoughtWorks as well. Products only become useful if they remove a significant friction in your daily life.

  • Third thing is to earn people, not money. You should figure out what you’re optimizing for your life.

  • If you want to do something, there’s only one reason to do it. If you don’t want to do something, you will come up with a thousand excuses.

  • I always deliver myself against these four things: you should stay true to learning; be curious, understand what is going on; optimize for people, don’t optimize for money; and if you want to do something, there’s only one reason to do it, that you want to do it.

  • If you have to make everybody happy, then you shouldn’t try to be in any team member role or leadership role, you just become an IC and just keep doing your job. But if you want to do something better, not everybody will be happy with you. And it’s okay at some level, if people are not happy with you, as long as around 70% or 60% people are happy with you. There’ll always be a lot of people unhappy with you. And don’t try to optimize to make everybody happy.

Earn People, Not Money

  • If you are working with people, actually they are not working for you. You are working for them and they are working with you. Once you believe that you’re working for people, that means when they encounter the problem, go sit next to them. And if you’re in trenches, you have to be in trenches with them.

  • Walk the talk. If you have to work with people, you can’t just sit and keep giving them instruction.

  • A lot of technical leaders do a lot of code reviews. And I kind of like it to an extent, but I don’t like it a lot because somebody worked very hard for one or two days, and then you did a code review and you put some five comments and just told them what to do. I would actually go ahead and spend 30 minutes with them and walk them through the code and work with them. I see a lot of people do that, but a lot of leaders don’t do that.

  • By working for them and letting them work with you.

  • You need to figure out, and we all know that deadlines are deadlines and they can be sacrosanct, but you can either optimize for the scope or optimize for time. You can’t optimize for both. A lot of time, we don’t put the sense around where you’re trying to optimize for both time and scope and working with people and understanding what they’re going through, if you go through their journey.

  • A lot of times, we are not that inclusive. Once you are inclusive and bring people into the decision, then they own the decision and you don’t own the decision. They also own the decision. And once somebody owns a decision, if it feels like their own decision, they will do it.

  • I always look for what is the strength of somebody. We are complimenting strength. So we need to understand what people are good at.

  • Sometimes they judge people with the same kind of measurement or same kind of metrics, and that does not work very well.

  • When you’re trying to hire people. It is very important for you to go meet a person who would be a future part of your organization. When you’re hiring somebody, look for the reasons to hire. The filtration criteria should be reasons to hire. Like what does he know, which can be useful for us. Then look for how curious somebody is. Then look for how good they are at their art or the skill. And then you should make a decision on hiring. A lot of times people actually interview as if they want to eliminate somebody from the round, and that is not the right approach.

Moving to Startup

  • Value creation is a constant part of your journey. If you have value creation somewhere, things go on.

  • You can always rebuild a house, but you won’t be able to rebuild a startup again. I could have taken a job and would have gone there, but I just chose to sell my home.

Acquired by Gojek

  • When you consult, you can look at consulting as a two-way street. One way is that you do a 9 to 5 job, you’ve billed your hours and you go home. Second way is that you kind of contribute to the success of your customer whom you are consulting.

  • You need to have skin in the game or rather flesh in the game. I think our attitude towards having flesh in the game or skin in the game is what made them talk to us about getting, becoming part of their journey.

Gojek Scale and Stages

  • Whenever a decision is done, most likely that is the right decision. Mostly it was the right decision because the exposure and the amount of knowledge you have about the current situation.

  • First, we started looking from the business point of view. Think what our bottlenecks are? Which are the functions being most used and start optimizing that? To handle the load, you need to look at it from a business point of view, business flow point of view, saying, what are the processes and what are the problems which are being created.

  • Second thing, you need to bring the software engineering hygiene. So MVP is always MVP unless you have enough time to make it a production grade. You always have two choices. One is the tactical choice where you do a monkey patching and move on. And second, is a strategic choice, that you do a monkey patching and move on, but you don’t take your sight away from that monkey patch and fix it properly.

  • You need to minimize your choices of languages, stacks, and all sorts. The reason was that we wanted to make sure that people understand what we’re doing and everybody is on the same stack. You need to bring those choices together so everybody can talk with the same language.

  • Third thing was we kind of decentralized and made teams across geographic. Communication was the second big step. You had to have very good communication. Because if we don’t do that, then the silos will get created, so you have to actively kill the silos.

  • Fourth thing which we did was cadences, like stand-ups and IPMs and all that stuff. Whether somebody comes or not, we have to go through those cadences.

  • Last thing was I think a lot of autonomy to the leaders, because if you bring somebody in to do some job, you give them as much autonomy you can, so that they can perform and they’ll do the right thing as well. People a lot of times don’t delegate enough. They kind of become proxies. If everybody’s still coming to you for a decision, then that’s something not very nice. So once you delegate, you delegate completely with authority and control. Both. You can’t keep the command to yourself and give control away, because everybody who wants to do sudo, they’ll come to you again.

Crucial Technologies and Architecture

  • Synchronous microservices are useless. Writing synchronous microservice in my view is like sin, a biggest level of sin because what you did, you actually broke up a monolith and put the models in two places and just introduced a HTTP stack in between. Nothing else. Because the calls are still synchronous, then that model does not actually have any advantage.

  • Our portals remain monolith till date because they are just doing one function of displaying the data.

  • If you are not doing asynchronous, if you don’t have a big, large message bus, there is no reason for you to go the microservices route.

  • Don’t do microservice, unless you really understand that you have to do it.

  • All languages, all tools are pretty capable of delivering very high volumes. And we have seen those examples all over the place.

  • You will see a lot of people blame technology for not scaling, I just don’t believe in that. I think we should capitalize on your expertise. If you don’t build it, if you can’t build it, get somebody else who can do it for you. But don’t blame the languages, tech stack on that.

  • Once you’re a large org, if you want everybody to listen to you, what will you do? You’ll continuously repeat yourself in terms of communication. And you have to communicate a lot.

  • If you are going from microservices, treat microservices as various teams. And if they have to talk among themselves, you need to figure out a message method to enable them to talk to each other. You need to have a very large message bus.

  • Use the language for what they’re built for.

  • When you are optimizing for time and resources and we know really well in Java, then stick to Java. Don’t have to go to a different world.

Hiring

  • What are you optimizing for? When somebody comes and asks me, I need 200 people, or I need 20 people or I need 40 people. I want to know why. What are you optimizing for? What kind of skills? What are those metrics or what is that enlightenment you had that gave you that exact number of 20 people or 40 people, or 100 people. Why? First thing is that.

  • Second thing is, I believe that you really don’t need a lot of people. You need a lot of good people. And if you don’t have a lot of good people, go back to my first principle of saying, try to hire people for what they know and if they’re curious. And if they don’t know something, it’s okay. Can you teach them?

  • You always need to look two years down the line or three years down the line saying if you hire a fresher today, in one or two years, if he’s working with you, he’ll become so valuable that he will actually beat anybody who has five years industry or six years industry experience.

  • You had to hire experienced people as well, but you have to over-index on bringing people in your domain yourself. You have over-index on growing your own talent or teaching your own talent.

  • Hire people with similar skills and optimize for their talents.

  • How do you know a chef is a good chef, or a painter is good painter, or a musician is a good musician? By observing their art.

  • How would you know a good product manager? How would you know a good developer, at whatever level they are? Those people like painters, musicians, those people have their art publicly displayed. Lot of us don’t have our art publicly displayed. A lot of us don’t ever quote publicly. If I’m not, which a lot of us are not, then how would you hire somebody? By asking them to show their craft, show their skills.

  • Hire people and ask them to write code.

  • I always look for people who are passionate and eager to show their craft. And even if they showed it, they might not have to write the perfect code, it’s okay to not to write perfect code. At least I know what they know. I do not want to know what they don’t know. I want to know what they know. Because when you focus on what they don’t know, that means you’re going to ask them questions, which the answers from them is going to be “No”. Creates negativity. We should ask them questions, which the answer is “Yes”.

  • Second thing what we did, we created a brand awareness. How would people know that we are good? How do we know that we are a good Tech engineering organization? So we created our thing. We started getting talks, going to conferences, talking about what we do at Gojek.

  • We have to tell people what we do, and as long as we perform in front of them as a company, they’ll perform in front of us, if they’re willing to, and then we hire them.

  • Curious attitude, attitude towards people, attitude towards their own job, attitude towards community, those kinds of things. What their passions are apart from writing code. People should be passionate about something — games, reading books, movies, whatever they are geeky about. I tried to find it out, what are you geeky about? Also, I look at somebody what their personal journey has been. Because I think a lot of people have put in a lot of effort. They have not got a good environment sometimes, and that’s why they have not flourished.

On Leadership

  • If you’re hiring somebody, you have to treat them as your peers. I think that is one thing. And you have to treat yourself as first among equals. First is that it means you’re constantly looking at replacing yourself. I think that the first job for yourself is to try to make yourself redundant. If you have that objective, that means you’ll delegate and give more and more responsibility to people. Maybe you get redundant, which is good. If you don’t, then you’ll go and do something better. You’ll do something else which will add the value. So the second thing is to find the next level of things where you can add value to, in terms of company, in terms of leadership, in terms of whatever it is.

  • Second is how you define leadership. What is leadership? Leadership is just something which actually, in my view, in a very plain definition is leading people, group or organization. On top of it, if you look at more, there are a lot of other things which you have to be a sounding board. So first, there’s empathy. Empathy and sympathy are two very similar things, but empathy is way more different. The first is empathy. Second is you have to be a sounding board or you have to lend your ears.

  • Third thing which I talked about in the product is you’ll always have to come up with the decisions. Sometimes not able to make a decision is a very bad thing. At least if you make a decision, you will know whether it went wrong or right. Not able to make a decision, you’ll always be in limbo.

  • You need to bring this tactical versus strategic thinking hat on yourself.

  • Once you have your own opinions, your own principles, then make sure that you have a lot of flexibility. So that these opinions don’t become your dogmas.

  • Around people, you should have two things, especially. One, you should be able to dive down to the level of people if they require you to. Being available, being reliably available. You should be able to understand and listen, and then act accordingly.

Community Contributions

  • The pot will be empty at some point of time. So somebody has to give, and if everybody gives, then you have a lot of good knowledge and everything else.

  • It just creates an ecosystem. Everybody benefits. Giving back is what creates a lot of good ecosystems. And if you can create a good ecosystem, then everyone wins.

Advice for Fresh Graduates

  • Any job nowadays is a learning journey. I have still not stopped learning. I think everybody should learn and they should continuously learn.

  • Second thing is whatever they are doing, they should ask this question, how can I do it better tomorrow?

  • Third thing is, I always think money should be the byproduct of whatever effort you’re putting in.

  • People should work for making sure the money or anything else is a success or anything else is a byproduct of their effort. They should focus on their effort a lot.

  • You need to focus on why you want to do something, and be good at it. Don’t do something which you don’t like. It gets very boring at some point of time. Because anything you do, when you like it, things will go better.

  • Focus on giving back. Explaining and teaching is really good. Talking in conferences is really good because it makes you better. People appreciate you, which is like a byproduct, but talking in front of people confidently about some technology is super good because you really have to work very hard to understand what it is all about.

What to Optimize in Life

  • Whenever people think I want to do this, then they should actually figure out what they should do to become that or what should it result in, and then they should optimize for that.

  • So my point is, people should look at what they’re gunning for. And what they should do to get that? What is your objective and what are your key results? People should really work on that.

  • You should optimize for your skills, your own skills, optimize for your own leadership, if you want to become a leader, and optimize for people on the way.

3 Tech Lead Wisdom

  1. When you’re hired into a job, then that is exactly what you are hired into. That means don’t complain about your difficulties in the job or your predecessors, because you’re hired exactly to solve the problems. You are there because someone needs someone like you.

  2. When you’re hired into a job as a leader, don’t complain about things, existing things which went wrong. Because there was a reason why they are like that. And the reason you are there to fix them.

  3. Observe and absorb for the first 90 days. Observe, absorb, understand what is going on, get the context.

    • Once you are in the new job, then that team is yours. That means you fully, wholly own it. That means you have to be with them. You can’t just sit there in your office and do something. Be available to them. So whatever way you do it, but be able to understand the business, understand the context, what is going on.

    • Another thing which has worked for me is hearing out a lot of things, what people really want to do inside. What they could not do earlier and be a force multiplier there. Try to do things which people really want to do.

    • My one advice for them is even up to six months if you have this itch to rewrite something, get the context behind what is being rewritten. Most of the time, it’s not right. These are the things you should never do, basically.

Transcript

Episode Introduction [00:00:50]

Henry Suryawirawan: [00:00:50] Hello everybody. This is Henry Suryawirawan. And welcome to another new episode of your beloved Tech Lead Journal podcast. Thank you for spending your time with me today listening to this episode. How has the new year been going for all of you so far? Have you had a chance to reflect back and do a retrospective of your 2020? And how about your new goals or resolutions for this year 2021, maybe in your work or in your personal life? Whatever the goals that you set for yourself this year, I hope that you ensure that you continue to take actions on them and hopefully by the end of the year, you would find yourself achieving your goals and also achieving another level of growth for you individually. If you’d like to learn more on how to do an effective retrospective, make sure to check out our previous episode with Aino Corry where she outlined everything about retrospective that she has learned from her past experience on how we can conduct a great retrospective and avoid some of the anti-patterns.

If you’re new to the show, thank you for listening and a warm welcome to all of you. Don’t forget to subscribe and follow the show on your favorite podcast app. And make sure to check out all other great episodes that I have on the show. If you haven’t joined any of the Tech Lead Journal social media channels, I’d like to invite you to join me on LinkedIn, Twitter, Instagram, and also on YouTube, where I post all the episodes plus other short clips that you can listen to in bite sized manner.

Before we go continue to our episode today, I’d like to introduce you to Ambrose Chua, one of the show’s patrons, and let’s listen to what he has to say about the show.

Ambrose Chua: [00:02:26] Hey, fellow listeners. I am Ambrose Chua, a beginning software engineer, and interested in distributed systems. I’m currently serving National Service in Singapore. I’m a fan of this podcast, not just because it provides insight and perspectives of technical leadership and various engineering practices, but it also drops advice on career and people skills. After each episode, which I usually listen to while commuting, I learned a lot and always look forward to the next episode. If you’ve been listening to this podcast. I’m pretty sure you’ve also learned something from it. And therefore, I recommend you join the Patreon to help support the podcast. If you’re listening to this podcast for the first time, I actually recommend you to go check out the earlier episodes because I enjoyed them and I think you would to. Thanks again, Henry for creating such a valuable resource for everyone.

Henry Suryawirawan: [00:03:18] Thank you for sharing your story with us, Ambrose. I really appreciate your support and I’m very happy to hear that you have benefited so much from the podcast. And I hope that you continue to benefit from all the future episodes as well. And if any of you would also like to make a contribution to the show by becoming a patron like Ambrose, please check out for more information at techleadjournal.dev/patron. Your support will tremendously help me to as achieving the goals that I’m currently running for the show.

In today’s episode, I am super excited to share my inspiring conversation with Ajey Gor, one of the most prominent tech leaders in Southeast Asia. Ajey is currently an Operating Partner at Sequoia Capital India, and he’s well known for his great contribution to the success of Gojek during his time serving as the group CTO of Gojek. Gojek is Southeast Asia’s leading on demand, multi-service tech platform providing access to a wide range of services, such as ride sharing, payments, food, delivery, logistics, and many more. Ajey helped build a strong Gojek engineering team with his passion, strategic insight and innovative mindset, which was highly crucial in transforming Gojek to become Indonesia’s first decacorn.

In this episode, I learned so many things from Ajey about his views on tech leadership and his life philosophy. We started from his sharing of his journey at ThoughtWorks and what he learned there that helped shape a lot of his personal growth and leadership. After spending 10 years in ThoughtWorks, Ajey eventually made a bold move, starting his startup journey, which eventually led him to founding CodeIgnition, which was then acquired by Gojek, and the rest, as some of us know, is history. Ajey shared a lot about his exhilarating challenges and journey in Gojek, which includes the different Gojek scale and stages that he went through, and some important technologies and architecture decisions that were instrumental during Gojek’s hyperscaling period.

Ajey also shared his views about hiring and leadership lessons that played critical parts to Gojek’s success. And one in particular that stood out for me is “earn people, not money”. We also discussed briefly about the importance of community contributions and his insightful advice on how fresh graduates can succeed in their career. Towards the end, before sharing his 3 Tech Lead Wisdom, I asked Ajey a philosophical question on how we should figure out what to optimize for in our life and career. Make sure to check it out and listen from his great advice.

I hope that you will enjoy this great episode. Please consider helping the show in the smallest possible way, by leaving me a rating and review on Apple Podcasts and other podcast apps that allow you to do so. Those ratings and reviews are one of the best ways to get this podcast to reach more listeners, and hopefully the show gets featured on the podcast platform. I’m also looking forward to hearing any comments and feedback on the social media, or you can also directly send to me at techleadjournal.dev/feedback. So let’s get the episode started right after our sponsor message.

Introduction [00:07:04]

Henry Suryawirawan: [00:07:04] Hey, welcome everybody to another episode of the Tech Lead Journal. Today, I’m very, very excited to meet one of the person that I admire within this region. His name is Ajey Gore. I’m sure most of you would have listened about Ajey Gore. His success story with Gojek in the last five years or so is really remarkable. From Gojek which was a very small startup company in Indonesia, and Ajey came in and helped to build the engineering part of it until become one of the largest unicorns within Southeast Asia. I think it’s pretty remarkable. And even before then, I always heard stories about Ajey from my colleagues in ThoughtWorks, ex-colleagues should I say, in which Ajey spent almost 10 years there. I’ve heard so many things, inspirational stories about Ajey. So today I’m really, really excited to hear from him directly. And Ajey, welcome to the show. Good to have you here.

Ajey Gore: [00:07:50] Yeah, thanks for inviting me. My honor to be here on the show and talking about Tech in Southeast Asia. Just a note of correction, I was not the first one to actually build Gojek tech. There are very, very many more people who actually build the Gojek tech before that. I just came and pitched them, and it just happened that it was useful. So I became useful to Gojek at some point of time, and Gojek has become a very important part of my journey as well. So thanks for that.

Career Journey [00:08:11]

Henry Suryawirawan: [00:08:11] So Ajey, I know you have a very long career and ups and downs, obviously. But in the first place, we want to hear from you. How would you sum up your career so far? Maybe you can highlight some of the things that you have gone through, the turning points that you have for us to learn from.

Ajey Gore: [00:08:26] I think my career has been what I say is a flow of water in a lot of sense. As long as you put some work, as long as you go meet people, as long as you do right things, career takes its shape. A lot of times we focus on say money or success. In my view, they should be a byproduct of effort you put at. So as long as you put the right effort, I think the right things will come out, hopefully. I started very early on trying to become an accountant and then I had my own business for DTD printing, helping my brother out. And then somehow I got interested in computers, working on windows, it was very intriguing machine to me that point of time. I’m talking about 95- 96. I wanted to know how this machine works, and that’s what got me interested in learning computers and programming and everything else. But I did pursue becoming an accountant for a while and then I just gave up on that and started and found computers more interesting and got into them. It so happens that that journey, which was started in this very small town in India, it still continues. So I’m pretty fortunate. So then after that I did my post-graduate studies in Bangalore and then I actually worked at National Center for Software Technology as a technical associate and a staff scientist. And there I worked on help out on Indian languages.

From there, I joined a company called ThoughtWorks, which you joined after some 10-15 years later. That was pretty interesting because that company kind of gave freedom to do whatever you could do. What I was doing almost changed every other year. So I started as a network engineer, then became an Information System manager, then became a developer, then became contribution manager. And ended up being a Head of Technology for ThoughtWorks India. But after 10 years, it was time to pursue something new. Consulting was good, but it has taken a toll on like a lot of travel and everything else. So I got out and joined a mobile startup. Then I realized I should do my own something. So I did my own startup, which eventually got acquired by Gojek. In between, we did a lot of good stuff within our startup in terms of cloud automation and consultant with a bunch of good facts. Then five years of Gojek, and now I’m at Sequoia Capital. So, yeah, that’s a really summary of my last 25-26 years.

Role in Sequoia [00:10:36]

Henry Suryawirawan: [00:10:36] Thanks for sharing that. It’s such a long journey. So the first thing I would like to understand, because for people who didn’t know what you’re doing at the moment, maybe you can spend a little bit of time to explain what you’re doing at Sequoia now.

Ajey Gore: [00:10:48] Sequoia is very interesting. When I joined Sequoia, I was very skeptical on what will I do. I was excited that there’s something new, but I was really skeptical of what will I do. But then I realized that I always believe in giving back in some way or other. At Gojek, I was totally engrossed in Gojek and trying to do things only for Gojek. And I think Sequoia kind of gives me that chance where I can work with many, many more startups and help them with my experiences. Look, I will not have any advice for anybody in life, but what I have is my experiences to share on. And some of those experiences may resonate with them and they will take those experiences, like don’t do mistakes which Ajey did or don’t go and fail yourself. So I think I have like at least 10x failures than successes in my life. So Sequoia, it’s very interesting. What I do is I advise on companies in terms of how do we add value to them. Lot of our portfolio companies are very young founders and they are doing a lot of good stuff in technology, but also it means that they are prone to do same mistakes, which I have done. Or some of them are like really looking for some help, in terms of what they should do, in terms of what directions they should take. So basically my job is to advise companies in terms of doing the things the way they should, play a sounding board for them, and also help them find people in terms of growing your companies in next level. So that’s what I do at Sequoia in terms of advising to the companies and advising to our advisors as well. So basically in a short, how do we increase the value of companies. And I try to pitch in, do some of my part on that.

Impact of COVID for Startups [00:12:20]

Henry Suryawirawan: [00:12:20] In 2020, everything’s about COVID. So what do you see so far? Any effect on the startup scenes within this region?

Ajey Gore: [00:12:28] Actually, especially for tech companies, COVID has transformed the way we work. When we started earlier this year, everybody was very scared. Everybody did not know where we’ll go, but eventually if you look, COVID made us look through a lenses which we’ve never seen before. Like remote is possible. Now people have been working from home for almost a year and products have started taking off, market has been booming. So COVID hasn’t been that bad, especially for technology sector. In terms of working and not able to meet people, yes, that has some disadvantages. We are social animals. We need to socialize, so there are some shortcomings. But overall, I think there has been different kind of things which came out not only for tech companies, but for people internally as well, people start connecting with their families more. They started doing Zoom calls or conference calls with their friends more. They started calling out them. Also, the need to be more disciplined around doing documentation, need to be more disciplined around being expressive in your emails or in your requirements has been there. So in Tech world, what we could not emphasize on early on saying we should do documentation, we should do a more purposeful emails, all other stuffs, or we should write more wikis. Those things have kind of becoming a norm now, which is good, in a lot of sense, it’s good. Yes, it has a bad thing, the businesses are suffering, but overall, in a way, if you look, the markets have been very positive. Things have been going well and people have started learning the new norm. And I think this is going to continue. It’s not going to go away so soon yet.

Henry Suryawirawan: [00:14:01] So for this role, are you focusing more on the Southeast Asia or is it more global?

Ajey Gore: [00:14:05] I’m focusing more on Southeast Asia and India.

Henry Suryawirawan: [00:14:08] Do you see any new trends in terms of startup scenes in this region?

Ajey Gore: [00:14:12] We are seeing a lot of SaaS companies coming up, which is good. A lot of companies in B2C coming up. So wherever you have a lot of offline presence, people are trying to take that to online. Now Edtech is booming, online conference is booming, software service is booming. Anywhere you have offline friction, those startups are coming up. So basically, people are responding to the next set of demands for humanity in that sense.

ThoughtWorks Journey [00:14:38]

Henry Suryawirawan: [00:14:38] All right. So Ajey, let’s go back to your ThoughtWorks days. You spent about 10 years in ThoughtWorks. You mentioned that you have switched a lot of roles in between, right, inside ThoughtWorks, from doing network engineering, system admin, development, and config management. The last is Head of Tech in India. What do you see the things that you went through in ThoughtWorks? Like how did it influence you to become Ajey at this point in time?

Ajey Gore: [00:15:02] When I joined ThoughtWorks, I suddenly realized that I’m the nervous guy around. And I kept feeling that till the time I left ThoughtWorks. So that was one thing. I can tell you one, I worked with a bunch of very smart people. I don’t want to name drop any, but I’ve worked with a bunch of very smart people in ThoughtWorks. And that kind of inspired me to do many more things. So one of the things which I always took to my heart is that everything is possible, as long as you are willing to learn. So learning, being a learner, also that means that you need to learn to unlearn thing as well. What works in past decade won’t work in next decade. So that allowed me to be very open-minded. I am not married to a tool or language or framework or technology as long as you need to adopt. So you need to learn which results into adoption, which results into exposure of new things, and which results into a new journey. That is one thing which I learned in ThoughtWorks, and that’s allowed me to change roles. They were similar, but there is always a little bit of delta in every next role.

Second thing, what I learned was I learned on a lot of internal tools in ThoughtWorks as well. That kind of gave me insights on like products only become useful if they remove a significant friction in your daily life. Like taking anything offline to online is not something as straightforward. For example, suppose you are filling a form at some department and they ask you your address and your bank account, or your phone number every time. If you make that form online and if you still ask them the same thing again, and again, it’s useless. Instead, what you should do, if once user has created profile, then you don’t have to ask them those details. So those kinds of things are super important when to take from offline to online. You also need to think of the new way and also need to remove sizable chunk of friction in people’s lives. So that is one thing which is kind of fabulous.

Third thing which I learned a lot, which has become my principle, is earn people, not money. And that period of time has impacted me in a very positive way, because you should figure out what you’re optimizing for your life. If you’re optimizing for money, then there are multiple ways to earn money, right? And there can be good ways and bad ways. Once you start optimizing for money, then you start losing friends and people. So that was thing which kind of gave me a lot of good friends, which earn people not money. And that means that you have to give up a lot of stuff, you have to also compromise a lot. But eventually like now, I’m looking back my 22 years or 25 years of my career, after my college life, I see that has worked very well for me.

One more thing which I tell people that if you want to do something, there’s only one reason to do it. If you don’t want to do something, you will come up with thousand excuses. That is so true. I kind of evaluate people also on this a lot of times. When I talk to people and they come and tell me why they can’t do it, and every time they tell me that somebody else did something, that’s why I could not do it, I just see that as a pain excuse. Because if you wanted to do it, you could have convinced that person. You could at least put some effort. If you give me a full context, then it makes sense. So I always deliver myself against these four things: you should stay true to learning, be curious, understand what is going on, optimize for people, don’t optimize for money, and if you want to do something, there’s only one reason to do it, that you want to do it. So those are few things around my last 10 years, and that allowed me to go and try different things.

Also one more last thing which comes with, if you have to make everybody happy, then you shouldn’t try to be in like any team member role or leadership role, you just become an IC and just keep doing your job. But if you want to do something better, not everybody will be happy with you. And it’s okay at some level, if people are not happy with you, as long as like around 70% or 60% people are happy with you. There’ll be always a lot of people unhappy with you. And don’t try to optimize to make everybody happy. That is one thing that I learned pretty hard way.

Earn People, Not Money [00:18:38]

Henry Suryawirawan: [00:18:38] It’s interesting that you say you need to earn people, not money. I know a lot of people here, the listeners, are like aspiring leaders. They are either like tech leads or maybe even like head of engineering in their companies. How would you say some of the practical things that these aspiring leaders should do in order to earn people?

Ajey Gore: [00:18:55] I can tell you what, again, I can’t offer any advice, but I can tell you what worked for me. So one of the things which work for me is that if you are working with people, actually they are not working for you. You are working for them and they are working with you. So that is one thing. So it’s very small tangent, but it makes a lot of difference in the way you approach. Once you believe that you’re working for people, that means when they encounter the problem, go sit next to them. One of my basic instinct is that if I’m on floor and somebody got issues, I’ll just go sit with them and work on the problem with them. And if you’re in trenches, you have to be in trenches with them. So that is one thing which has worked a lot.

Second thing I think for everybody is walk the talk. See, I don’t know whether I’m a good leader or bad leader or that I’m a leader at all or not. But one of the things I realized that if you have to work with people, you can’t just sit and keep giving them instruction. I know what I’m saying is pretty controversial, but a lot of technical leaders do a lot of code reviews. And I kind of like it to an extent, but I don’t like it a lot because somebody worked very hard for one or two days, and then you did a code review and you put some five comments and just told them what to do. I would actually go ahead and spend 30 minutes with them and walk them through the code and work with them. I see a lot of people do that, but a lot of leaders don’t do that. And I think that is one way to earn people, is by working for them and let them work with you. So that is one thing.

Second thing is that you need to figure out, and we all know that deadlines are deadlines and they can be sacrosanct, but you can either optimize for the scope or optimize for time. You can’t optimize for both. A lot of time, we don’t put the sense around where you’re trying to optimize for both time and scope and working with people and understanding what they’re going through, if you go through their journey. Having discussed their problems, if you bring all of them together, product, QA, UI/UX, mobile developer, frontend, backend, and we bring all of them together and hear them out and then put an inclusive plan. Then that point of time you will know what are you optimizing for? Either you are optimizing for time, so you say, “Guys, we need to deliver something on 31st of March!” Perfectly fine. Do we need to deliver these many features? Then figure out what is possible. People need to understand these two sides of coin. A lot of times, we are not that inclusive. Once you are inclusive and bring people into the decision, then they own the decision and you don’t own the decision. They also own the decision. And once somebody owns a decision, if it feels like their own decision, they will do it. So that is second thing. You have to be very, very inclusive.

Third, I think one of the things which worked for me is I always look for what is the strength of somebody. We are complimenting a strength. Somebody is very good at articulating things. Somebody is very good at logic. Somebody is very good at like designing things. Not all fingers are same. So we need to understand what people are good at, and whether your thumb, which is smaller than your index finger, it is still a very important part of your hand. And people need to understand that. Sometimes they judge people with the same kind of measurement or same kind of metrics, and that does not work very well.

And fourth thing, when you’re trying to hire people. Till like 2017 or even late 2018, I used to interview almost everybody at Gojek. After that, it was just humanly impossible because there’s so many teams inside, but it is very important for you to go meet a person who would be future part of your organization. So I would actually do a call with everybody and ask them what is going on. Also, when you’re hiring somebody, look for the reasons to hire. The filtration criteria should be reasons to hire. Like what does he know, which can be useful for us. Then look for how curious somebody is. Then look for how good they are at their art or the skill. And then you should make a decision on hiring. A lot of times people actually interview as if they want to eliminate somebody from the round, and that is not the right approach. So I think those are the four things. And actually all those four things kind of lead to earning people. And then all those four kinds of things you actually need to optimize for people, which results into everything else.

Moving to Startup [00:22:34]

Henry Suryawirawan: [00:22:34] Thank you for all these sharing of experience, the way you like to put it. So after ThoughtWorks, 10 years you have been doing this little bit of consulting as well. You decided to move out and join a startup. What made you make the decision? I mean, if you went through back in time and you know, because 10 years is such a long journey and you have benefited a lot, you have learned a lot as well, right?

Ajey Gore: [00:22:54] Yeah, so I think value creation is a constant part of your journey. If you have value creation somewhere, things go on. At some point of time in ThoughtWorks, the role I have was very consultant-driven role. And consultants are not bad. Consultants, at a grassroot level, are pretty good people. Their services are auxiliary support for you at some point of time. They support additional people in your organization. But sometimes that value starts eroding. When your job kind of involves selling. Don’t take me otherwise, but that was not what I really was built for. I’m a builder. I’m not a seller in a lot of sense. And that kind of led to a very busy lifestyle. It was mostly lifestyle choice, which made me think that is it all worth it? And nothing against ThoughtWorks. They are very nice to me, but I said, “Okay, it needs to stop.” So I didn’t look for a job, I just started putting my papers down. And the thought process was going on for almost like six months. But one day at some point of time, my second son happened and all those things and I was like, “Okay, I think I should pause and that’s why I paused.”

Starting CodeIgnition [00:23:50]

Henry Suryawirawan: [00:23:50] Thanks for sharing that. So I know you spend a little bit of time with the startup before you actually started your own startups, CodeIgnition.

Ajey Gore: [00:23:57] Yeah.

Henry Suryawirawan: [00:23:57] What made you venture to being an entrepreneur?

Ajey Gore: [00:24:00] Oh, so when I was in Hoppr, it was a very good startup. We built pretty amazing product and everything else. But at some point of time, the journey kind of led me to think, is it what I want to do? And at that some point of time, is it what I want to go for? And that pretty quickly became very clear that this is not what I want to do. But I promised them that I will be there for a year. So I stayed there for a year. After that, I was thinking what to do next. So actually CodeIgnition was a by-product of one of the startup. We were trying to create uh—I never talked about it, we were trying to create a voice conferencing system. That point of time in 2012, getting into conference call was pain. You have to remember your phone number and then pin and all the stuff. Nowadays people just click a link and they are in the conference call. But that point of time, we are trying to create a product which was about like you are a server service and service will call you instead of you calling your conference call. Something like that, but we did not do a lot of mathematics around like how much money we’ll make, and it was very telecom intensive product. So telecom operators will take a bigger chunk of our revenue, and it did not become viable. And that’s when CodeIgnition started on the sides, where we saw a lot of good approach on cloud orchestration, cloud automation. So we wanted to create a product which would do cloud automation/orchestration on the lines of whatever we have today. But since we did not have money, so I ended up selling my own house, my home for that. And then we ended up creating this whole company, which would do automation and cloud orchestration, cloud automation for all the other companies, and that’s how we ran it.

And then we ran into Sequoia as a VC firm and they connected with their advisory companies, the company they advise to partner with. And that’s how we ended up in Indonesia. So first, we helped Tokopedia, and then we had Gojek. And before that, we were having a bunch of other companies for the last three years in India. Gojek was very interesting in a lot of sense and then Gojek asked us to join them full time and then we saw a sense of value creation. We saw a sense of hustle. We saw a sense of impacting people and that kind of thing kind of led us to say, “Okay, these people are good. They’re sensible people.” Indonesia as a country is pretty interesting. It’s one of the amazing country, like I still call Jakarta my second home because it’s just the people are so nice. They are always like happy, smiling, always so courteous, always so helpful. So that’s how we ended up coming to Gojek. And then the rest is history. It was pretty interesting.

Henry Suryawirawan: [00:26:21] Wow. I didn’t know that you had to sell your house in order to fund your startups, so that must be a very bold decision.

Ajey Gore: [00:26:28] Oh, that is a byproduct, right? Again, the thing is when we do a startup, we don’t have money, and the house EMI is piling up and you have to get rid of that, right? Like you can always rebuild a house, but you won’t be able to rebuild a startup again. I could have taken a job and would have gone there, but I just chose to sell my home.

Henry Suryawirawan: [00:26:45] Right.

Ajey Gore: [00:26:45] It was very, very interesting.

Acquired by Gojek [00:26:47]

Henry Suryawirawan: [00:26:47] Yeah, it is definitely. So you helped Gojek initially, and then they approached you and tried to acquire. So what made them think that by acquiring you would make sense for them? Because I see a lot of startups these days, they also engage other consulting companies. But not all of them would be a target for acquisition. So what made CodeIgnition, something that is worth to acquire by Gojek?

Ajey Gore: [00:27:09] It is not only CodeIgnition. We had CodeIgnition, C42, two companies. We’re kind of with my friends, Sidu and others. So Sidu and his company C42 use to do app development and application lifecycle. We used to do last mile and cloud automation. We were kind of very complimentary, so we call it CodeMonk. So we kind of sold CodeMonk entire company to Gojek. I don’t know what they saw. Most probably I can tell you what we did. I think, again when you consult, you can look at consulting as two-way street. One way is that you do 9 to 5 job, you’ve billed your hours and you go home. Second way is that you kind of contribute to success of your customer whom you are consulting. I think we took the second approach where we were like we didn’t stop even day in, day out. We didn’t stop. We just worked. We just worked on because the problems were real and problems were every day. There was not a single day when we did not have issues. So for six months, we didn’t even take off. I’m not saying that not taking off is what made them acquire us, but I think the attitude we had towards their part of success was something maybe make them acquire us. Also, I think Nadiem and everybody else saw that we did not treat it as a consulting assignment. We treated it as our own assignment, our own product, and that’s what the idea was that when you go and you go in 100%. You need to have skin in the game or rather flesh in the game and a lot of times we all don’t do that. So I think our attitude towards having flesh in the game or skin in the game is what made them talk to us about getting, becoming part of their journey.

First Role in Gojek [00:28:31]

Henry Suryawirawan: [00:28:31] So when you were being acquired, what was the first role that you had in Gojek?

Ajey Gore: [00:28:35] Oh, I was systems engineer in Gojek. I took on the role of doing cloud automation and other things. So my first job at Gojek was to look at the performance of Gojek app. So my job was very simple. I ended up creating a bunch of dashboards and I would just sit and look at where this performance bottlenecks are. And we had three or four people with me and we just opened a lot of console windows and you look at the top. And then we started looking at Datadog dashboards. And that was my first job for first six months. The job was to just make sure that we don’t go down. It was very interesting, very, very amazing. That experience was crazy. The thing is, you have hundreds and thousands of customers trying to get a Gojek. And you suddenly have database issue. You go solve that database issue and then you figure out, “Oh, we have some other issue.”, and then you solve that issue. So it’s like that Martian movie, right? When Matt Damon says that you solve one problem and then you solve another problem, and then you solve other problem. Once you solve all the problems, then you get to go home. So it was like that. I think Gojek still has a lot of issues, but yeah, and that’s all I did my part for five years.

So first year was crazy. It was literally crazy. Like we are trying to change the engine while the engine is running. Like we are writing new microservices. We’re putting CI/CD. We are putting dashboards. We’re putting more and more performance, patches. So we are doing something. We are rewriting our routing allocation logarithms. We are rewriting our apps. We are churning out a bunch of more products. So it is crazy. It was amazing. And it was like full of that adrenaline rush.

Gojek Scale and Stages [00:30:01]

Henry Suryawirawan: [00:30:01] So what was the scale initially when you started, as a system admin. Is it like thousand or hundred thousands?

Ajey Gore: [00:30:08] I think we used to do around 10,000 orders a day or 20,000 orders a day, something like that. That was like, I think April or May 2015, and then it just went bonkers. It just went crazy after that. Like I remember after a year, I was giving a talk at Google about what our journey has been. And that point of time, we used to do around like 2.4 million concurrent sessions per second on the backend and around 120 million APIs per second on all our microservices. It grew really fast. Think about this, doing around maximum half a million orders per month to moving to half a million orders per day in six months. It was like pretty crazy in that sense.

Henry Suryawirawan: [00:30:45] So obviously this is not an experience that everyone of us could experience. But could you probably succinctly tell us, obviously these stages, the growth from what you said, like half a million orders per month to half a million orders per day. These are like tremendous growth. What did you do, in terms of going through these stages, from low traffic to high traffic?

Ajey Gore: [00:31:05] I always say this, whenever a decision is done, most likely that is the right decision, most probably. If you look at this enough to like six months, you said that is not right thing to do, you did, but mostly it was the right decision because the exposure and the amount of knowledge you have about the current situation. Few things we did. First, we started looking from the business point of view. Think what our bottlenecks are? Which are the functions being most used and start optimizing that? First one was that. And I can tell you that this crazy growth number, very few companies experienced, so I was very fortunate to actually experience that. But the one thing I just said, it was like building the dams. Like you have a lot of traffic coming in and you build a big dam and that dam breaks, you kind of build another dam to stop the traffic to handle the thing. So to handle the load, you need to look at from business point of view, business flow point of view, saying, what are the processes and what are the problems which are being created.

Second thing, you need to bring the software engineering hygiene. So MVP is always MVP unless you have enough time to make it a production grade. So we had to do a lot of monkey patching. You always have two choices. One is the tactical choice where you do a monkey patching and move on. And second, is a strategic choice, that you do a monkey patching and move on, but you don’t take your sight away from that monkey patch and fix it properly. So we did those two things. So, for example, in early days, our allocation engine was kind of the bottleneck. So Niranjan actually went out and wrote the allocation engine in 7-8 days. Actually, three days, and then he improved it over a point of time. And we ended up actually rewriting that allocation engine like four times in six months because we realized that, okay, this language is not good, that language is not good, or this combination technology is not going to be a learning. We did not know what to do.

So second thing is you need to minimize your choices of languages, stacks, and all sorts. So we kind of created a rule saying you can use only like three languages, Ruby, Java, and Go. Clojure came pretty late. The reason was that we wanted to make sure that people understand what we’re doing and everybody is on the same stack. And that is not something that is a very popular decision because there’s some JavaScript fanatic. There are some Scala fanatic. There are some Clojure guys. There are some Java guys. So somebody will be happy. Somebody will not be happy, but you need to make that decision. So when we started writing GoPay, we made a decision in 2016 that we will write GoPay backend in Java, not JavaScript, not Node.js, not React, nothing like that. Just simple Java with a simple web framework, simple ORM. And I think that was one thing which kind of gave us a very good discipline around introducing new language. We did introduce new languages later on. We do have a bunch of languages now. But limiting your options like which database you should use, everybody agrees on that. Which product management tool everybody use, everybody agrees on that. We finally agreed that in early 2019. Because we had so many teams and so many new things, so everybody had their own choices, but you need to bring those choices together so everybody can talk with the same language.

Third thing was we kind of decentralized and made teams across geographic. So if we had a team in Bangalore, we will have a team in Jakarta. Same part of team members, same part of same team. That kind of led the communication goal. So communication was second big step. You had to have very good communication. That made me travel a lot, and other leaders travel a lot, and everybody else traveled a lot between Bangalore and Jakarta. Because if we don’t do that, then the silos will get created, so you have to actively kill the silos.

And fourth thing which we did was cadences, like stand-ups and IPMs and all those stuff. Whether somebody comes or not, we have to go through those cadences. So sometimes what happens is, “Oh, if Ajey is not there, let’s cancel this meeting.” So we said that like, if you know somebody is not showing up, meeting should continue. And we try to limit those as well. So those are a few things we did.

And last thing was I think a lot of autonomy to the leaders, because thing is if you bring somebody in to do some job, you give them autonomy as much autonomy you can, so that they can perform and they’ll do the right thing as well. People a lot of times don’t delegate enough. They kind of become proxies. If everybody’s still coming to you for decision, then that’s something not very nice. So once you delegate, you delegate completely with authority and control. Both. You can’t keep the command to yourself and give control away, because everybody who wants to do sudo, they’ll come to you again.

Crucial Technologies and Architecture [00:34:59]

Henry Suryawirawan: [00:35:00] So I know you mentioned a couple of things about technology, like you decide about languages, you decide rewriting things in microservices, but are there any other fundamental, maybe technical architecture decision or even technologies, databases or things like that?

Ajey Gore: [00:35:15] Yeah, there are a lot of things, like there are some first principles around it. For example, when you’re doing microservices, then we went to fire and forget and compute and callback kind of thought process where we try to move everything asynchronous. Synchronous microservices are useless. Writing synchronous microservice in my view are like sin, a biggest level of sin because what you did, you actually broken up a monolith and put the models in two places and just introduced a HTTP stack in between. Nothing else. Because the calls are still synchronous, then that model does not actually have any advantage.

So a lot of times our portals remain monolith till date because they are just doing one function of displaying the data. So one of the things was, if you are not doing asynchronous, if you don’t have a big, large message bus, there is no reason for you to go to microservices route. I actually would go one more level up saying, don’t do microservice, unless you really understand that you have to do it. Just useless. First thing is that monolith is very good for like when people say we can’t scale something, any language you did for say 5,000 orders a day, I just believe that they are not using the language or tool, write in the right way. All languages, all tools are pretty capable of delivering very high volumes. And we have seen those examples all over the place. If say, if you take example of PHP, we have Wikipedia who is serving billions of pages every day. If you take JavaScript or anything else, you have your Facebook as well. And then your JavaScript, you have a lot of other companies who are doing this. If you say Ruby and Rails don’t scale, then you have GitHub right there on your face. So my point is that you will see lot of people blame technology for not scaling, I just don’t believe in that. I think we should capitalize on your expertise. If you don’t build it, if you can’t build it, get somebody else who can do it for you. But don’t blame the languages, tech stack on that.

Henry Suryawirawan: [00:36:53] How about architecture? You mentioned about large message bus. Maybe can you clarify a little bit? What do you mean by that?

Ajey Gore: [00:36:58] Oh, I didn’t want to use a specific software name because people will just clinch on the buzzword. But first, we use RabbitMQ earlier days, and then we kind of embarked on journey of Kafka in 2015 and gRPC as well. gRPC did not go down that well, but it’s still working. Kafka went down really well, and that point of time Kafka, we didn’t have a streaming and anything else. The thing is, we always say DRY for software. You don’t repeat yourself a lot. But once you’re a large org is there, if you want everybody to listen to you, what will you do? You’ll continuously repeat yourself in terms of communication. And you have to communicate a lot. Same with the software architecture. If you are going from microservices, treat microservices as various teams. And if they have to talk to among themselves, you need to figure out a message method to enable them to talk to each other. I don’t know, people can do an email based something as well if they want to, but I don’t care about that. But the thing is, you need to have a very large message bus. There is Kafka, you can do that with the RabbitMQ or anything. I need a service which can actually come to that level perfectly fine. Don’t have to clinch on the buzzword. Sometimes you don’t need that as well. You may be just be happy with RabbitMQ, and even with the Resque based on Redis, you can be happy with that, unless you need different features.

So a lot of times people actually use things just because it’s buzzword. Few days back, I was talking to somebody in the tech saying, a lot of companies who are actually saying they use big data, they actually don’t have data big enough. We stick to Postgres in Gojek, which kind of was a very good choice. But unless you understand Postgres very well, don’t go there because autovacuum will kill you. A lot of small things, dude. I kind of published a checklist on what are the things we should do and we should not do, for example, if you have a very large table, like hundreds and millions of rows, don’t try to add a column during production deploy, those kind of things. So yeah, that’s what it was.

Also, use the language for what they’re built for. For example, if you are doing some functional programming, use Clojure, if you want to, and it’s pretty nice language, which allows you to do a lot of functional programming. But if you are trying to do a lot of computation and a lot of high speed per se, use Golang, it gives you compiled thing. But if you don’t want to, even you still do with Java and Ruby and Rail, it’s not going to hurt you. It may take some more resources. But the thing is when you are optimizing for time and resources and we know really well in Java, then stick to Java. Don’t have to go to different world. My point is that.

Henry Suryawirawan: [00:39:07] So you mentioned about checklists, I’ll make sure to put it in the show notes for people to refer and learn from all the past experiences that you have.

On Hiring [00:39:14]

Henry Suryawirawan: [00:39:14] Let’s go to hiring. Of course, during this time you hire a lot of people, like maybe massive, maybe, I don’t know, in thousand? So what do you think are some of the tips for hiring from your side?

Ajey Gore: [00:39:25] We never hire thousand people, actually. We doubled every year. We kind of hover around 850 to 900 engineers plus like 200-300 product managers. So yeah, hiring, what are you optimizing for? So when somebody comes and ask me, I need 200 people, or I need 20 people or I need 40 people. I want to know why. What are you optimizing for? What kind of skills? What is that metrics or what is that enlightenment you had that gave you that exact number of 20 people or 40 people, or 100 people. Why? So, first thing is that.

Second thing is, I believe that you really don’t need a lot of people. You need a lot of good people. And if you don’t have a lot of good people, go back to my first principle of saying, try to hire for people what they know and if they’re curious. And if they don’t know something, it’s okay. Can you teach them? So we kind of followed those too. So we hire a lot of freshers. We used to. I think we still do. We hired around 40 to 60 freshers every year from universities in Indonesia and India. And then we trained them for six months. And that is where your investment is. I think one of the main thought process I had was that you always need to look two years down the line or three years down the line saying if you hire a fresher today, in one or two years, if he’s working with you, he’ll become so valuable that he will actually beat anybody who has five years industry or six years industry experience, which has been true for us a lot of times. I’m not saying that experience is bad. You had to hire experienced people as well, but you have to over-index on the bringing people in your domain yourself.

And let me tell you a very practical thing. When Gojek was there, how many companies are there in ride hailing space which are as big as Gojek? If you look at on top, if you take from top to bottom, we have like maybe 3 or 4 in Southeast Asia, one in China, 2 or 3 in US, which are very big. Like maybe 10 companies overall. So if you were to hire, either hire from competitors all the time, or the companies will hire from you. I had no experience in ride sharing. I had no experience in food delivery. I had no experience, still we could do that. Maybe I did not do very well, and which is fine, which is okay. We reached somewhere, right? And everybody has to learn. Tomorrow, suppose you start a AI startup in machine learning, and there are only two companies which are doing like image recognition or something, very crazy. How would you hire those? How do you get those? So, one thing is that you have over-index on growing your own talent or teaching your own talent. That we did.

And second is hire people with similar skills and optimize for their talents. How do you optimize for talent? So think about this way, I asked this question to everybody, how do you know a chef is good chef or a painter is good painter or a musician is a good musician? By observing their art. Either you listen to music, or you taste their dish, or you look at their painting. How would you know a good product manager? How would you know good developer, at whatever level they are? Those people like painters, musicians, those people have their art publicly displayed. Lot of us don’t have our art publicly displayed. A lot of us don’t ever quote publicly. Suppose I’m an open source developer, and I contribute to say some open source project and you are requiring some skill, you will hire me just like that. You don’t even ask me five questions because you know that I’m an open source contributor, easy for me. But if I’m not, which a lot of us are not, then how would you hire somebody? By asking them to show their craft, show their skills. Lot of people actually get offended when we ask them to write code. I don’t know why. Either they don’t believe it’s a good skill or they believe it’s not the best use of their time. So my thought process has been very simple, hire people and ask them to write code. So Gojek was notorious. Blamed that we have a very high bar or we are very strict. But the thing is what we are looking for is that, well, you can write code or not? Simple. That’s all.

There are other ways to look at somebody good or not. And maybe, I don’t know those ways. But what I did, I always look for people who are passionate and eager to show their craft. And even if they showed it, they might not have to write the perfect code, it’s okay to not to write perfect code. At least I know what they know. I do not want to know what they don’t know. I want to know what they know. Because when you focus on what they don’t know, that means you’re going to ask them questions, which the answers from them is going to be “No”. Creates negativity. We should ask them questions, which the answer is “Yes”. So that’s what we did. Second thing what we did, we created a brand awareness. How would people know that we are good? How do we know that we are good Tech engineering organization? So we created our thing. We started getting talks, going to conferences, talking about what we do at Gojek. We started our blog, which still goes on. We publish something every two weeks at what we do. Later on, Nadiem also created a podcast, like how do we run things at Gojek. So basically, we have to tell people what we do, and as long as we perform in front of them as a company, they’ll perform in front of us, if they’re willing to, and then we hire them. Super easy.

Henry Suryawirawan: [00:44:00] Yeah, I mean like I know it’s super easy, but hiring is kind of tricky sometimes. There are a lot of people. And you’re saying that we need to find the good people, right? So obviously this is partly art, partly also from the person itself, how they show the craft. Anything in particular, apart from coding that you’re looking for in the talent? So you mentioned about how passionate they are and things like that. Any other particular things that you think you’re looking in the candidates?

Ajey Gore: [00:44:24] Curious attitude, attitude towards people, attitude towards their own job, attitude towards community, those kinds of things. What their passions are apart from writing code. People should be passionate about something — game, reading books, movies, whatever they are geeky about. I tried to find it out, what are you geeky about? Also, I look at somebody what has their personal journey has been. Because I think a lot of people have put in a lot of effort. They have not got the good environment sometimes, and that’s why they have not flourished. It happens, right? Job in the SpaceX or a job in say, Uber, won’t be available in Indonesia. If SpaceX were there in Indonesia, then we would have had a lot of space engineers and a lot of good developers as well. 10 years back. So I’m very much interested in what made them who they are. Like what made Henry who Henry is. I asked you this question as well, right? What made you who you are. I always focus on a lot of personal journeys and figure out what is the DNA of this person. What is this person is built of? And sometimes it just works out very well.

On Leadership [00:45:19]

Henry Suryawirawan: [00:45:19] Let’s switch a little bit into leadership, right? So one of the key skills about leadership is to be a multiplier, like you said, right? Delegate. When you delegate, let the leaders take the ownership. So anything in particular that you want to share about leadership? Like how do you manage when the team grows larger and larger and larger, double every year, you mentioned. So how do you ensure that everyone goes to the same direction?

Ajey Gore: [00:45:40] In terms of leadership, right? If you’re hiring somebody, you have to treat them as your peers. I think that is one thing. And you have to treat yourself as a first among equal. First is that means you’re constantly looking at replacing yourself. I think that is the first job for yourself is to try to make yourself redundant. If you have that objective, that means you’ll delegate and give more and more responsibility to people. Maybe you get redundant, which is good. If you don’t, then you’ll go and do something better. You’ll do something else which will add the value. So second thing is to find next level of things where you can add value to, in terms of company, in terms of leadership, in terms of whatever it is. So that is one.

Second is how you define leadership, right? What is leadership? Leadership is just something which actually, in my view, in a very plain definition is leading people, group or organization. That’s what it is, right, at the end of the day. On top of it, if you look at more, there are a lot of other things which you have to be a sounding board. So first, there’s like the empathy. Empathy and sympathy are two very similar things, but empathy is way more different. The first is empathy. Second is you have to be a sounding board or you have to lend your ears. That is second thing.

Third thing which I talked about product is you’ll always have to come up with the decisions. Sometimes not able to make a decision is a very bad thing. At least if you make a decision, you will know whether it went wrong or right. Not able to make a decision, you’ll always in limbo. So make your decision. That means you need to bring this tactical versus strategic thinking hat on yourself. That is one. Once you have that, this kind of form your opinions. Once you have your own opinions, your own principles, then make sure that you have a lot of flexibility. So that these opinions don’t become your dogmas. So that is another thing which is very much important. Like somebody convinces you things other way round, then things are other way round, and get convinced. Not only always try to push your agenda around. You need to know you should get convinced. So these are the things which you work around thing.

Then around people, you should have two things, especially. One, you should be able to dive down to the level of people if they require you to. Like, for example, wherever systems used to go down at Gojek, I can spend 99% of time I was on call with people. And that is something important, being available. So being available, being reliably available. And third is which is you should be able to understand and listen, and then act accordingly. Those are the few things I think are right things. I don’t have a very good leadership course in me, but yeah, this is what I have.

Community Contributions [00:47:58]

Henry Suryawirawan: [00:47:58] All right. Thanks. Thanks for all that. So you mentioned a couple of times, a lot about community contributions. So why do you think community contributions are so important?

Ajey Gore: [00:48:08] The pot will be empty at some point of time. So somebody has to give, and if everybody gives, then you have a lot of good knowledge and everything else. I met so many people from other companies, and all I said, let’s talk as engineer to engineer talk. Let’s forget where we work, what we do, let’s talk. And that kind of helped a lot. I’ll give you this example, in 2010, when we started RubyConf in India, we wanted to go to RubyConf because RubyConf India was not happening. And we could not because it expect us to go to US and all this stuff. We sat down bunch of us and said, why don’t we bring RubyConf to India? So we brought RubyConf to India. We’ve got some speakers. We’ve got some sponsors and get going. So we had Max coming and recorded video from the first RubyConf. But after five years, we had Max coming and working with us, speaking to us, just amazing. So that’s how the community. And that’s what we did. We tried to do it with Indonesia as well. We had Ruby.id. And we did RubyConf in Indonesia. And we did DevOpsDays in Indonesia. It just creates an ecosystem. Everybody benefits. Giving back is what creates a lot of good ecosystem. And if you can create a good ecosystem, then everyone wins. Not only me. And I will win as well. I will have more people and more employees and we got so many good colleagues out of those conferences to us, which I can be very proud of them today. They are in Indonesia. So we could find so many new colleagues, which are there in Indonesia right now. So that’s what happened.

Advice for Fresh Graduates [00:49:26]

Henry Suryawirawan: [00:49:26] So another thing you mentioned about fresher during the hiring. So for those freshers, what would you advise them to do in terms of upskilling themselves and level up in order to progress in their career?

Ajey Gore: [00:49:38] I think any job nowadays is a learning journey. I have still not stopped learning. I think everybody should learn and they should continuously learn. First thing is that. Second thing is whatever they are doing, they should ask this question, how can I do it better tomorrow? That kind of takes it to the next level. Third thing is, I always think money should be the byproduct of whatever effort you’re putting in. I have met a lot of people who have focused on money and getting the raises and all this stuff. But other thing is that people should work for making sure the money or anything else is a success or anything else is a byproduct of their effort. They should focus on their effort a lot. That is what I have been doing.

The rest, everything is up to the individual. As I said, to do something, you need one reason to do it, that is your own reason. To not to do it, you have hundred thousand excuses why you couldn’t do it. So you need to really focus on why you want to do something, and be good at it. Don’t do something which you don’t like. It gets very boring at some point of time. I always ask people, do you really like to code? I think I did ask you that as well. Do you really think you really like to code? Because if you don’t, if you’re doing it for something else, you’re doing it for just job making end meets, don’t do it. If you really like it, then do it because anything you do, when you like it, things will go better. People can say, “Oh Ajey, you’re sitting over here. That’s us talking like this.” But I can tell you, I have actually been through that. Lot of time, the reason I did not and could not quit ThoughtWorks for 10 years was the same reason saying, “Hey, I can do this better. Or these people are really nice.” So I optimize for people and my skills, and I just could not leave. I could’ve left at any point of time. There are always job offers out there. And at some point of time, focus on giving back. Explaining and teaching is really good. Talking in conferences is really good because it makes you better. People appreciate you, which is like a byproduct, but talking in front of people confidently about some technology is super good because you really have to work very hard to understand what it is all about.

What to Optimize in Life [00:51:27]

Henry Suryawirawan: [00:51:27] You mentioned a lot of times about optimizing for something. So a lot of times for individuals these days, especially with, I don’t know, like from social media, distractions, news, and things like that, it’s pretty difficult to know what to optimize for. So what do you think can be done for us to know what is our North Star? What should we optimize for in life or in work? It’s more philosophical question.

Ajey Gore: [00:51:48] Very philosophical. I can tell you what I optimize for again. I’m optimizing right now, this phase, I’m optimizing for my family and my friends. In different phases, people will optimize for different things. So suppose a lot of people do new year resolution. I want to get fitter or get healthier this year. What does it really mean? What are you optimizing for? There are hundred ways of getting healthier. But instead of that, you should take a resolution, in my view, that is action resolution. I will go to gym two times a week. Or I’ll swim once a week. Or I’ll walk once a week. And that has a byproduct. If you do that, you will become healthy. So whenever people think I want to do this, then they should actually figure out what they should do to become that or what should it result in, and then they should optimize for that. So, for example, I’m optimizing for my family and friends, that means I should spend more time with them. That means I should have more lunches and dinners. We should plan more. I’m optimizing for giving back to community, that means at Sequoia, I should contribute to things. Not only able to talk to people, but write down my thoughts and tell my experiences to other people so that then they can maybe benefit from it. Maybe they don’t do those mistakes. So my point is, people should look at what they’re gunning for. First thing is that. And what they should do to get that? What is your objective and what is your key results are? People should really work on that.

At a different side of things. If you’re saying after college and you are going to say for next 10 years of career. So I think you should optimize for your skills, your own skills, optimize for your own leadership, if you want to become a leader, and optimize for people on the way. That kind of worked for me for first 15 years. Now if you’re looking from like 35 to 45 or 35 to 50, then you should optimize more and more for people and friends and family and health and everything else. I like cuisine. You’ll get married. You’ll have kids. So you have to spend some time. Go reunite with your parents because you spend a lot of time building a career. Spend time with that. So that’s what I think I’m doing. So maybe people should do something similar. Or figure out what they want to. There will be some people just don’t want to talk to anybody. So it’s okay if they don’t want to talk to anybody.

3 Tech Lead Wisdom [00:53:48]

Henry Suryawirawan: [00:53:48] So Ajey, as my last question for all the guests that I have normally. What is your three technical leadership wisdom? If you can share with all of us here?

Ajey Gore: [00:53:56] The first one, I think is when you’re hired into a job, then that is exactly what you are hired into. That really means don’t complain about your difficulties in the job or your predecessors, because you’re hired exactly to solve the problems. You are there because someone needed someone like you. I treated it like something like this in a while. A long while.

Second thing, I think when you’re hired into a job as a leader, don’t complain about things, existing things which went wrong. Because there was a reason why they are like that. And the reason you are there to fix them. There is no reason for you to do that.

And third thing is I always say that observe and absorb for first 90 days always. Observe, absorb, understand what is going on, get the context. That is when you get into a new job, first thing. Now, once you are in the new job, then that team is yours. That means you fully, wholly own it. That means you have to be with them. You can’t just sit there in your office and do something. Be available to them. So whatever way you do it, but be able to understand the business, understand the context, what is going on. That is the second thing I would say.

And third thing which has worked for me is hearing out a lot of things, what people really want to do inside. What they could not do earlier and be a force multiplier there. Try to do things which people really want to do, and if in your opinion, they are the right things to do, then please act on those. So that kind of allows people to understand that you are really for them, first thing is that, and also allow you to understand the system in much, much broader category. That is, while you are in the job now. And once you’re scaling up and scaling out, that point of time, I think a lot of new leaders when they come in, the first thing they do is to rewrite some things. My one advice for them is even up to six months if you have this itch to rewrite something, get the context behind what is being rewritten. Most of the time, it’s not right. These are the things you should never do, basically.

Henry Suryawirawan: [00:55:45] So thanks again for sharing all these wisdom and experience and all your journey. It’s really my pleasure to have you in the show, Ajey. Thank you so much for your sharing. For people who want to find you online, where can they find you?

Ajey Gore: [00:55:57] I’m usually on Twitter and I have my own website, ajeygore.in. I don’t write a lot on that. I have not written a lot, but I will start writing soon. Let me promise that I’ll write one story or a quarter, let me put it that way. Twitter is the best way to reach me and talk to me if you want to.

Henry Suryawirawan: [00:56:12] So, thanks again, Ajey. Hope you have a very wonderful 2021.

Ajey Gore: [00:56:16] Thank you, sir. And thanks a lot for hosting me and hopefully I wish you a lot of success and prosperity in 2021. And hopefully we will be able to travel, meet our families, meet our colleagues and friends this year. Thanks a lot and have fun. Take care, Henry.

– End –