[Techie Tuesday] From enterprise software and Farmville to healthcare: meet 1mg CTO Gaurav Agarwal
Gaurav Agarwal doesn’t remember when his interest in mathematics and technology was born. But, he remembers that he was always curious.
Education was all-important in his Kanpur-based joint family. His father didn’t go to college, and joined the Army to ensure that there was food on the table. “He would keep telling me ‘I don’t want you to go through what I went through so you better study’,” Gaurav recollects.
“My father would buy me a book every time I graduated from a class. It was my earliest memory of getting something I loved doing. I would read all my school books before summer was over. I simply loved reading,” he says.
Gaurav went on to graduate from IIT-Delhi. He is now the CTO and Co-founder of Gurugram-based healthtech platform. He leads the product and growth team at the diagnostic and medicine delivery platform, and spends most of his time on strategic aspects of technology, figuring out new tech areas where 1mg can invest.
He’s also learning more about data science, understanding the math, and publishing the startup’s papers.
“Last month we published our first paper in JMIR (Journal of Medical Informatics Research) on our triage AI system. We proved that our system is as good as a panel of doctors,” he says.
Gaurav Agarwal, Co-founder and CTO, 1mg
The journey to IIT-Delhi
As a child, Gaurav was keen to be a fighter pilot. Growing up, he realised that he didn’t have the physical stamina to be one. Focusing on finding his passion and skillset, Gaurav realised he loved mathematics and English.
By the time he was in Class 8 and 9, Gaurav had started reading specialised mathematics textbooks on trigonometry, complex numbers, and calculus. In 1994, if you were good at math, the path forward was engineering. “You either became a doctor or an engineer,” he says.
Gaurav was good at biology, but squeamish about dissection so his decision was made. “Today, I just love biology. I keep reading books on physics and genetics, biology, and how AI works in healthcare.”
But things were different in the 90s and he began preparing for IIT. He didn’t get through in the first attempt, and joined a regional engineering college in Kanpur.
“The first class was a mathematics class. I ended up having a tiff with the professor because I felt he was teaching calculus the wrong way. And he eventually said, ‘I am going to teach it this way and if you disagree with me, learn it your own way’. I came home and told my parents that I would drop a year and go to an IIT or study law,” Gaurav recalls.
Kanpur was known for its local politics and lawyers, and Gaurav saw law as a viable option. Hailing from a middle-class family, his parents weren’t keen on the idea of their son dropping a year. However, he persuaded them; in 1997, he joined IIT-Delhi for a course in computer science engineering.
Things were about to change. Gaurav had almost no exposure to computers until IIT-Delhi. He had just seen computers in Class 11. But, during his first session at the IIT computer lab, he was taken aback and immediately took to computer graphics.
“Something I can touch and feel has always motivated me, and graphics were like that. It wasn’t theoretical; you could see the results on screen.”
Ultimately, Gaurav ended up managing the student computer science labs. In the 90s, most people didn’t know how to manage 50 machines, but he kept tinkering and building systems there as the “unofficial IT manager”.
Gaurav Agarwal during IIT-Delhi days.
Starting his career with the dotcom bust
“I loved what you could do with a computer. It just wasn’t about writing a single program. I loved that you could write a program that could figure out prime numbers, quickly and easily, and how algorithms could change something in real time. Application fascinated me, not the theory. I think I was average in programming, but was good at putting it all together and connecting the dots,” Gaurav says.
He even on to win the best BTech project award. In 2001, he was placed at NetApp in the US; he ended up staying in the US till 2013.
Gaurav joined NetApp in an 'interesting year'; it was the height of the dotcom bust.
“It was my first job and I was supposed to work on this advanced edge caching system. I had some exposure to this, with an open source variant. That position had disappeared, but NetApp was kind enough to honour that offer. And I got the position of a QA,” Gaurav says.
The practical learnings at NetApp
Recollecting his experience, Gaurav says he didn’t know how software was written in the real world until then.
“We didn’t understand what debugging and quality meant. And it was a fascinating year. I got to work on quality infrastructure, which was written in Perl. I wrote some core modules in that quality infrastructure,” he says.
After a year, Gaurav, who was keen to do “something different”, managed to work under the high availability area. He explains that these are clustered, highly available systems where he understood “what mission critical availability meant”.
To Decru and NetApp again
Gaurav says NetApp gave him proper understanding and exposure to “everything I learnt in my computer science course”.
“I learnt how schedulers were written and everything about the internal workings of a computer and the evolution of that technology,” he says. He may have been one of the most junior members of the team, but it’s where he learnt all about file systems, data protection, and data backup.
In 2004, he left NetApp to join Decru, a small data security startup in the US. The team was working on NSA-grade security advances to encrypt data on the fly. A Decru device could be put in between a client and a server, and it would transparently encrypt and decrypt data on the path.
“Our clients were top banks and governments, and it was a fascinating journey. I learnt more about security and federal information processing standards. However, what was more fascinating was that NetApp acquired Decru a month or so after I joined,” he reminisces.
Gaurav stayed at NetApp until 2008, and worked on security and data protection.
“I realised that NetApp’s core value proposition was file systems, and that cloud was disrupting traditional data centres. By 2005, many data centres were reducing their deployment of high-end storage appliances and had started using low-end devices where the software provided stability,” Gaurav says.
During this time, Google had got a 30,000-device box with inexpensive servers, with software providing the protective layer.
Gaurav realised that software was going through a transition and started to work on how NetApp could do the same. He went on to lead a project with an advanced development team comprising PhD researchers, all working on the cutting edge of software to productise ideas.
Gaurav Agarwal during his NetApp stint.
The years of FarmVille
In 2010, Gaurav decided to move out of enterprise software, as the pace was slow and shipping products took time. Going from ideation to the first release would take two to three years.
It was then that one of his friends from Zynga called.
“It was probably one of the most chaotic environments I had ever come across. I had several interviews, some of them technical and some project managerial, and eventually I got through,” Gaurav says.
Interestingly, Gaurav always wanted to be a product manager. But, his progress on the technical ladder meant nobody at NetApp considered him a product manager. He did become a project manager, but soon realised that it wasn’t his cup of tea.
At that point in time, Zynga was building a cloud data centre. Gaurav was offered two options: the cloud data centre or a game team. Having gone the enterprise route, he decided to join a game team - Farmville.
Gaurav joined as the director of engineering at a time when Farmville was growing exponentially. The game was recording 20 to 25 million daily active users. In a year, he became the senior director of operations for the game, and manager engineering and project manager.
“We were facing and scaling technical stability challenges every day. The game would go down every time we pushed a release. It meant long hours, sleepless nights.”
Gaurav soon became the general manager for the game and got product exposure. He managed the P&L, content, and product.
Games have an interesting cycle of ups and sharp downs. Most teams find this hard to deal with. “Everyone tries to fight it. But I was able to put in technical processes to reduce the manpower requirements needed for a game. So the transition for the game was easier,” he explains.
The Zynga and FarmVille journey revealed to Gaurav that while he thrived in chaos, he also had an innate need and ability to drive structure.
At Zynga, he learnt everything on consumer internet, and data infrastructure and processes.
“We measured everything so I even understood how data-driven decisions were taken. It was an amazing culture; a high speed and high functioning organisation,” Gaurav says.
Gaurav during his Zynga days
Bay Area losing its sheen
By 2013, Gaurav wanted to move back to India as his parents were getting old, and he wanted to spend time with them.
“I was also getting jaded with the Bay Area. Everyone spoke about changing the world, but was solving for the top one percent. They had no idea about real problems like poverty and healthcare. I felt cognitive dissonance; I felt like I was living in a sterile bubble,” he says.
Gaurav moved to Delhi, and joined HealthKart, which was founded by Sameer Maheshwari and Prashant Tandon. Prashant was Gaurav’s batch mate at IIT-Delhi; Sameer was a senior.
In 2014, when Prashant spoke to Gaurav about 1mg, he realised it was a once-in-a-lifetime opportunity to change healthcare systems in India. “Technology has a huge potential to impact and transform healthcare, and it was a no-brainer,” Gaurav says.
In 2015, the company (Healthkart) hived off its medicine and medical ecommerce operations into a separate entity: 1mg, founded by Prashant, Gaurav, and Vikas Chauhan. The first 1mg app was built by an outsourced partner, but they soon moved all the technology in-house.
“1mg was built as a monolithic java application. As business grew, we started facing challenges on the structure and applications. We decided to rewrite the whole thing in a month in Python,” Gaurav says.
It was then that Gaurav learnt his toughest lessons as CTO.
Gaurav Agarwal and Prashant Tandon of 1mg.
The mistakes and learnings
“I figured that rewrites always take longer and business gets faster than you anticipate. And I understood that while you trust, you also verify,” he says.
“I had taken my eyes off the ball and the rewrite, which needed to be completed quickly, didn’t get done in a month. The person doing the job left, and I was left with half a rewrite.”
It meant going back to the basics, without rollout or stability plans. But, his NetApp and Zynga experiences helped.
“I could think from first principles on how we should progress. Over a lot of late nights and stress, we figured out the right infrastructure, metrics to measure for stability, and were able to shift. I realised I had an awesome team,” Gaurav says.
Founders of 1mg - Prashant, Gaurav, and Vikas
But some poor decisions made still haunt the team. The initial rewrite included custom message infrastructure, which has been the single biggest problem in scaling up infrastructure.
“If we want to do something, we can’t use off-the-shelf components, as there is a custom piece of infrastructure that processes messages between our micro services. We haven’t been able to replace it because it gets harder to go back and fix at our pace. However, we have figured out how to neutralise it. We don’t just use Python; most of the new stuff is on Ruby on Rails as it gives us flexibility and speed,” Gaurav says.
What does he look for now while hiring a techie? “Curiosity and self-drive.” Gaurav feels most young techies haven’t taught themselves new things, don’t have structure, and often need spoon feeding.
“Everything you want to learn now is a Google search. So, more than skills, I look for curiosity. One of my biggest peeves with techies is that they don’t stick with a problem long enough. Everyone wants a quick fix. I look at depth for problem solving,” he says.
Any advice for techies? “Lack of resilience and staying power affects the depth and gravity of problems you can solve. Stay with a problem for at least a few years to actually learn. Don’t look for the new and flashy thing. It doesn’t teach you anything different.”