How a small-town commerce graduate became CTO of a multibillion-dollar company
Ajey Gore, a commerce graduate from University of Allahabad, is a brilliant example that you don’t need a formal degree to chase your dreams. Hailing from Banda in Uttar Pradesh, today he’s the group CTO of Indonesia’s first unicorn, Gojek.
Once, while running his startup, Ajey had reached a stage where he had to sell his house and was left with only Rs 2,000. Even then, he didn't think of borrowing money as he believed that he'll survive. And he did.
This week’s Techie Tuesdays is the story of a boy from a middle class Maharashtrian Brahmin family in Uttar Pradesh, who fought through poverty and discrimination with positivity and survived the bad times. Today, by virtue of sheer hard work, he’s living his good times shuttling between Jakarta and Bengaluru. Ajey turned 40 last week and is rediscovering his love for building things. He shared his life’s story during a three-hour chat with YourStory.
From riches to rags
Ajey’s family moved from Maharashtra to Uttar Pradesh almost 300 years ago. According to him, Maratha king Shamsher Bahadur was sent to Banda (in UP) to become the Nawab of Banda. This was followed by the movement of many other Maharashtrians to UP. Ajey’s forefathers served as ministers in the empire and later were given the zamindari (ownership) of a few villages. Fast forward 200 years. With the abolition of zamindari in 1952 Ajey’s grandfather was left with very little land, and he soon passed away leaving behind Ajey’s father, who was 22 then, and six sisters for him to look after. Fast forward 20 years. Ajey’s family lost even more property and had become poor by then. The family, which once fed itself on silverware, had to now think about sustaining itself. His father learnt how to wind motors and became an electrician. Ajey explains, “My father had to marry off six sisters and dowry was prominent around this time. Also, people expected more from us because we were zamindars not long before.”
Ajey remembers his childhood as one with very few resources where he was taught to manage with those means. He says, “My parents never got angry on each other for anything in front of us. We all used to participate for all the household chores.”
Ajey’s mother holds a Masters in fine arts from the JJ School of Arts. She had to turn down an offer to join the Sahitya Kala Academy and move to a small village in Banda after marriage. She took arts classes for Ajey’s friends. But her skills couldn’t be put to optimum use. Ajey recalls, “She made diagrams for rich people's kids who'll themselves not make science diagrams/charts for class 8-12th.”
Ajey says that his mother was his biggest support in childhood. He recalls how when his school principal didn’t allow him to appear for a scholarship exam, his mother fought with the principal and ensured that he got the permission to write the exam. He was the only student from his school to get the scholarship and he never paid for school education after that. That incident taught him the valuable lesson of standing up for whatever one believed in.
Ajey went to Saraswati Vidya Mandir School, a Hindi medium school. He decided to learn English by reading a newspaper, which used to reach his hometown a day late in those days.
Related read - Meet the co-creator of Julia programming language, Viral Shah
The BCom graduate who blew up the computer monitor
Ajey’s elder brother chose to come back to the family after studying textile design and started a shop for electronic typewriting and photocopying in 1989. His brother decided that Ajey should study commerce and become a chartered accountant one day. Ajey would later realise that he could’t switch to science or engineering. By this time, Ajey’s elder brother got a computer, which was the first in the entire district. Ajey recalls, “It was monochrome, Windows 3.1 machine. I was more interested in how it works than what it does.”
Ajey went to the University of Allahabad to pursue bachelors in commerce but somehow that didn't interest him. Due to his family’s poor financial situation, he took up a part-time job as a graphic designer at an advertisement company.
Ajey’s brother got a project in 1995 to make the telephone directory for Banda city (which had around 5,000 phones). He called Ajey for the same and he could build the system after learning V BASE. In the meanwhile, Ajey started a company called Impressions to print high-quality business cards. He didn't have any capital but he proceeded nonetheless. Though the business gave him some pocket money, it never grew. He says, “Later, I realised that mostly the people placing small orders won't bother about quality and choose the economical options, whereas the ones who were concerned about quality usually placed a large order (10,000 cards in a month) which we didn't have the capacity (and resources) to process.”
Ajey made some good friends in college. He says,
Always earn people and never try to earn money. Because if you try to earn money, you lose people, but if you try to earn people, money will come somehow.
After completing his B.Com, Ajey appeared for SSB (Short Service Board) exam but couldn't qualify and returned to Banda in 1997.
When PC Quest magazine came up with a Linux CD in one of its issues, Ajey took the CD out and simply put it in the system in his family shop. He ended up blowing up the monitor and wiping out the entire hard disk with all the customer data. Though nobody said a word to him, he got scared and didn’t experiment further for next 2 years.
Where a BCom and BA could study programming
In 1998, Ajey came to know about NCST (National Centre for Software Technology) in Bangalore, an offshoot of TIFR (Tata Institute of Fundamental Research) which was running a full-time post-graduate diploma in Advanced Software Technology, and allowed non-engineering graduates to appear in the entrance exam which tested general aptitude and basic C knowledge. He didn't know C then. Ajey recalls,
“I started figuring out how to get C in Windows machine so I went to Delhi again and spent one hour in a cyber cafe and learnt about running C on Linux.” He purchased Ansi C by Kernighan and Ritchie and learnt the basic programming on his own in one month.
He got through the institute and landed in Bangalore with a demand draft for college fee and Rs 2000. He could read and write English but had difficulty in speaking the language. NCST was near Vidhan Soudha and since the area was expensive, Ajey stayed in a PG accommodation in Kammanahalli. After paying rent, he was left to survive on Rs 30 per day. Set dosa for lunch and walking back home saved him a lot of money, so he kept it that way for a year.
Since computer time was limited at the institute, Ajey practiced by writing code on paper before typing it into the computer. He remembers, “There were smart kids with a BE and BTech and sometimes I was made fun of. There were only two students from non-engineering backgrounds in my entire batch. I was a BCom. and my friend was a BA in Anthropology.”
Ajey learnt C, C++, Java, GUI programming, X Windows, Windows programming, and a few other modules in NCST. He was one of the seven (in a batch of 50) students who passed NCST but still couldn’t make it to campus interviews. He says, “I guess the recruiters were looking for 12+4 (years of education) background from the point of view of H1 B (visa).” On director’s recommendation, Ajey joined NCST as Technical Associate.
The NCST contributed in a big way in the internationalisation of Microsoft Windows 2000 which supported Unicode. The institute designed the fonts (Raghu for Hindi and Latha for Tamil) and worked on rendering Indian languages (Hindi, Marathi, Tamil) on Windows.
At NCST, Ajey worked on the world's first multilingual virtual classroom project with an aim to provide education to remote areas with low bandwidth at that time. The product was Vartalaap-- and fostered better communication between students and remote teachers. It was implemented using Unicode font rendering for Indic languages.
Later, he worked on porting and enabling Indic languages in Bhartiya OpenOffice – which is now available as a product suite at CDAC website. He worked on multilingual technologies for Windows and Linux using C and C++.
Also read - Amitabh Misra, the architect of India’s largest online marketplace
Thoughtworks – a tale of 11 years and a soulmate
In 2001, ThoughtWorks was setting up its Bangalore office and reached out to Ajey, who joined them as the first employee of ThoughtWorks India. After working for the firm in multiple capacities, he headed the Global IT operations for ThoughtWorks and was responsible for overall IT operations and technical leadership for executing internal projects. His overall responsibility included both technical and operations side of IT such as security, VPN, budgeting, resources, data centre operations and responsibility around people management and internal project executions.
During this tenure, ThoughtWorks expanded from nine offices to 21 offices, and Ajey was given the responsibility for handling security, networking and operations at all these offices. He implemented global VoIP network and was later instrumental in taking ThoughtWorks’ in-house IT to SaaS model. He headed (and/or implemented) projects for making move to Gmail, SalesForce, Avature, ZenDesk and many other internal systems to be hosted outside with single sign on and centalised authentication system.
Later, he worked on various finance and leasing systems and went on to set up a PoS system for one of the largest UK electronic retail stores. He worked on product configuration, server deployment, scaling and performance improvements. The store had 2,200 remote tills and 15-plus backend systems and Ajey played a key role as the System Integrator on this project. He then worked with UK's largest telecom provider to develop a integrated web mail platform for end users using J2EE and Google's Web Toolkit.
During his last stint at Thoughtworks India as head of technology, Ajey advised clients on configuration management, systems administration, cloud and virtualisation, networking, business continuity planning, application performance, scaling and stability. Recently (as advisor), he was working on ThoughtWorks Studios SaaS product initiative now known as snap-ci.
Ajey got married in 2005 to Shraddha Gore who worked at Thoughtworks. By the time, the couple had their second child, traveling was a taking a toll on Ajey and he decided to leave Thoughtworks and take a break. Thoughtworks offered him a three-month paid leave (which they usually give after 10 years of service) but he didn't take that. He says,
If you really want to do something, you've to close all the back doors. If you've a back door, you'll rush inside as soon as you face the first problem.
Working in a startup and starting up
Ajey joined Hoppr, a device agnostic and location-based check-in service to discover brands n the vicinity, as CTO. Ajey is a polyglot tech person, who used multiple technologies at Hoppr to create a scalable and appropriate product for serving millions of users and check-ins. The company scaled up service to 8 million users and more than half a million check-ins a day, using technologies such as Ruby, TorqueBox (jboss), JMS, Java, Javascript, node.js and php. The company wrote its own ETL tools to transform NoSQL database to RDBMS for create data cube for analytics services. Ajey created a hybrid infrastructure for Hoppr, where the app's backend lives in AWS while other processes and stay back in their data centre.
After eight months, Ajey realised that Hoppr wasn’t his cup of tea and he decided to start up on his own. He was used to a culture of openness and didn't like the concept of reporting to someone. He says,
Nobody should report to anyone in my opinion. Humans shouldn't have authority, they should have accountability.
In between, Ajey and Shraddha started a school but had to shut it down in one year because managing 50-60 kids became an issue and the couple couldn't pay attention to their first son.
In April 2013, Ajey along with two colleagues from Thoughtworks and Hoppr, two freshers and his wife, started CodeIgnition. He worked on a product for almost an year, burnt a lot of money, even sold his house in Pune, but it didn’t seem like going anywhere. So, the partners decided to pivot to devops and scaling because they thought companies didn’t pay enough attention to these. Ajey recalls,
I was left with Rs 2,000 in my pocket but I didn't take any loan because I had belief that we'll survive and we did. I might not be very successful but I'm very fortunate to be where I am.
CodeIgnition then became an infrastructure automation consulting, helping startups with networking and devops to create self-healing, monitored and scalable infrastructure for their products. The company worked with major cloud providers and with languages such as Ruby, Javascript, go, Java and C#.
CodeIgnition didn't have many long-running clients.
In 2015, Ajey’s friend Sidu Ponappa, who left Thoughtworks in 2010 to start a software engineering company C42 Engineering, along with co-founders of both the companies met and decided to work together to offer a complete package to clients. C42 could do the consulting while CodeIgnition focused on the last mile (deploying into the production). The entities remained separate but they had put an Internet domain called Codemonk which represented both companies as a brand.
Also read - From the power capital of India to the powerhouse of India’s largest e-commerce company
GoJek story – the connection
When Ajey and Sidu were looking to set up an office in Europe (for Codemonk), Anandamoy Roychowdhary, Director, Technology at Sequoia Capital suggested that they check Indonesia as well. The market and opportunity there excited them and they subsequently went on to work with Tokopedia and Gojek. Niranjan Paranjpe (CTO, C42) and Sumit Gupta (CTO, CodeIgnition) spent some time at Gojek and solved their problem. When the company sought more help, Ajey sent another crew around July 2015 and after working for 2-3 months, the team solved the problem. With enough confidence in the capabilities of CodeIgnition and C42, Nadiem Makarim (Co-Founder GoJek) acquired both the companies and opened a development centre in Bengaluru.
Shraddha ran CodeIgnition smoothly as COO but after the acquisition by GoJek, she wanted to take a break and decided not to join GoJek. Ajey went to Indonesia in January 2016 and was asked to step up as CTO in March 2016 as GoJek’s existing CTO wanted to focus on security and other issues. He says, “With great power comes great responsibility. And these responsibilities are not towards businesses but towards people.”
GoJek grew from four to 18 products in nine months and 500,000 daily transactions mark in December 2016. The company has seen 900x growth from the launch (500 orders per day). Today, GoJek has 16 mainstream products, yet the smallest team possible in IT today with only 135 backend engineers. Ajey says,
We are up against the giants like Grab and Uber who haven't been able to take the first place from us in this market yet.
GoJek story – the strategy
At GoJek, Ajey sat with the tech team to identify the problems. He says,
You can live with some problems without solving them whereas you can’t do the same for others . It’s important to figure out the latter and attack them one by one. In the process, you should not get blinded by what's most important for you vs. company vs. team.
There's a joke where a mechanic asks a surgeon: ‘Hey Doctor, you do heart surgery and get paid a lot. I also kind of do the same thing, I fix the car engine. Why don't I get paid a lot?’ The surgeon goes and switches on the car engine, opens the bonnet and says, ‘Now change the pistons’.
This is the challenge with GoJek as well with hundreds of transactions happening every hour. The company had to pull out their app on April 1st because of a glitch. People thought it was an April Fool prank.
At GoJek, Ajey’s team created mircoservices (a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services) and attacked problems. For example, if you get a lot of login one day, then if you had login service you could just increase the instances for that service. That's how they created the chain of commands which could do these things one at a time. Microservices helped a lot in scaling. Ajey says,
Out of our 16 application, at least 6 of them share the same backend because motorcycles, cars, bikes, taxis, food and shopping -- all of them need some transport. Our backend is organised like functions.
GoJek story – the Tech Stack
GoJek’s tech stack is varied and they use Java, Ruby, Go, Clojure, JavaScript and PHP. The entire brain behind finding a driver and allocating to it the customer is on Clojure because a functional language is needed to solve that kind of problem. Ruby and Ruby on Rails power GoJek’s portals, and Java powers their backend (the company use gRPC instead of REST). Go (programming language)solves the concurrency problem and takes all high processing loads. They use MySQL for old parts and newer ones use PostgreSQL with MongoDB at few places.
GoJek has 120 microservices right now and the company processes 180 million internal API calls per second. Ajey says,
People don't realize how complex it is to have these 16 products using the same user ID, same credentials, 16 different OMS(Operations Management Suite) sending you 16 different receipts but appearing the same. Because your history is coming from 16 places. We use a lot of message buses, and queues(event driven framework) to solve this problem.
GoJek uses scheme automation, self healing infrastructure and business metrics based alert system. Ajey says, “We monitor the business metrics. For example, your servers might be up but they might be slow. If you monitor the throughput of the server v/s throughput of the server at same time yesterday, and find out that it's low. While infrastructure won't generate any alert this is a business alert. Measuring on business metrics is the most effective way of measuring the performance of your systems.”
GoJek’s servers are a mix of cloud and physical servers based in Jakarta, Singapore and Taiwan.
How we got RubyConf to India
Ajey believes that there are always ways to solve problems and if you look hard enough you will find the solutions 98 percent of the time. He adds, “I believe that people give up too soon.”
The annual conference on Ruby (not to be confused with Ruby On Rails), RubyConf takes place in US and Ajey and Sidu wanted to go there with their team. But it was tough to get sponsorship for all, so Sidu thought about bringing the RubyConf to India. He didn’t give up and the team of volunteers put up months of efforts to make it a big success when it came to India first. Yukihiro Matsumoto, creator of Ruby has come to India twice to speak at the conference.
Ajey and Sidu, through their not-for-profit organisation, Innovation and Technology Trust, started GoConference which got sponsored by Google. The duo have been supporting these conferences for seven years now. Ajey says, “If we just thought about our participation, we would have potentially missed on hundreds of developers experiencing this. If you're adamant on solving a problem, you'll find some amazing solutions.”
Shailendra Singh, MD, Sequoia Capital helped Ajey articulate what he has always believed in,
People in life take OR decisions. OR decisions are the one where you say I'll do this OR I'll do that. But AND decisions are very difficult to take i.e I'll do this AND I'll do that. Once you get into AND more, you find very different paths for arriving at solutions.
How to hire right
“How much ever you want to hire somebody, other person should be willing to join you that much as well,” says Ajey while sharing his advise on hiring and culture. According to him, it’s very important for the companies to figure out whom do they want to hire. This will avoid attrition at a later stage. He has had zero attrition in GoJek’s tech team in last one year. Some of the guiding principles followed by Ajey while building tech teams are:
- Everyone writes code — Writing software is not a low-level task; it’s at the very core of what we do. Leaders who code are better judges of technical skill in people.
- Everyone needs to ‘Walk the talk’- We respect people who get down in the trenches and take a hands-on approach to problem solving.
- Leaders are grown and not made — You earn your leadership mettle, not by formal appointments.
- Every decision is correct at the time it is made — Swift decision making is extremely important in a fast paced environment. Whenever someone makes a decision, it is the right one, given the information available to them at that time. Only the passage of time can tell us whether a particular decision was right or wrong. It’s ok to change decisions and people should not be afraid to make a decision.
- Every person has some strengths, even if we don’t always see them
- Working in Tech means learning all the time
- Pair Programming and TDD work — The bottomline is : to write beautiful code, we believe that there is no better way than rigorous pair programming and writing code practicing test driven development.
Ajey himself practices the following to make sure he’s on the right track.
- Be positive
- Keep your temper in check
- Be replaceable!
- Debate, but agree and follow
- Be consistent
- Be humble and feel privileged
- Be a business champion
Ajey believes that if you hire smart individuals, then you don't need people to manage them.
Balancing work and life
According to Ajey, work-life balance isn't about shutting down at 6 pm. He says,
Work-life balance is a jargon for the people who want to see the world in black and white which it's not. It's grey and you need to figure out your shade of grey in it.
Shuttling between Bengaluru (two weeks) and Jakarta (two weeks), he spends weekends at work only. But he doesn’t shy away from taking calls of the family and friends during meetings. He says, “I don't miss Shraddha's call irrespective of howsoever important meeting I'm in or how many times she calls me. Because your family and friends are the ones who have made you who you're.”
Ajey calls 40 the new 25 because he can start afresh again (typically what you do at 25).
What doesn’t kill you makes you stronger
According to Ajey, scarcity of resources can either discourage you or encourage you, but scarcity of resources coupled with a great mother will always encourage you to excel in life. Ajey’s mother, brother and wife have played a very important role in his life. His mother taught him two things:
- Deal with your challenges and never give up.
- Nothing is impossible, you can learn anything. You may not become a master but you can learn so much that you can understand a problem and solve it.
Ajey believes that as one ages most of the things start going out of one’s full control. He says, “Where I'm today is not entirely in my control and it is because I've done something in the past.”
Ajey loses cool sometimes, but never loses his temper. He says,
There's a difference between the two. When you lose cool you can keep it inside you but when you lose temper it's exposed. And anger doesn't solve a problem.
At the end of our conversation, we were interrupted by a door bell, and I could hear Ajey speaking to someone in Bahasa (Indonesian language). Clearly, he’s learning new things and enjoying his ‘second’ 25.
You can connect with Ajey on Twitter and LinkedIn.