Story of a programmer who fell in love with Hindi poetry — Satish Chandra Gupta
In this week's Techie Tuesdays, we bring to you the story of a boy from Kanpur (Uttar Pradesh) who fought against all the odds to become a living example of what you can achieve if you keep working towards your goal. Meet Satish Chandra Gupta, the co-founder of Slang labs.
I’ve met just a few people who never fail to see the bright side of everything and cherish the goodness of what they have got. It doesn’t mean that they don’t try to get more; in fact, they often chase their goals with a greater intensity. Satish Chandra Gupta is one such gem you’ll come across. Born in a village near Kanpur (Uttar Pradesh), Satish lost his mother at an early age of 12, but that just made him stronger. He went on to study at IIT Kanpur, regretted that he wasted that opportunity, and corrected that mistake by choosing a small college in the US for post-graduation. However, he didn’t intend to stay for long in the US, and came back to be what he became for almost his entire life — the compiler guy.
Satish is the Co-founder of Slang Labs, a voice-to-action mobile SDK, that enables app developers to easily add a natural voice interface to control their apps. It was started by his ex-colleagues and Little Eye Labs Co-founders, Kumar Rangaranjan and Giridhar Murthy.
Here’s the incredible story of Satish — of how he fought against odds to reach where he’s today.
‘What money can do and what lack of money can't deny you’
Satish was born in 1974 in Majhawan village near Kanpur city. He grew up in Kanpur near engineering institute HBTI and Chandrashekhar Azad Agricultural University. He went to Pt. Deen Dayal Upadhyaya Sanatan Dharma Vidyalaya, a renowned school in Uttar Pradesh. He recalls, “The year I took admission, more than 900 students appeared in the entrance examination for 80 seats. I had chicken pox just before the exam and pretty much everyone in my family thought I would not make it to the list of admitted students.”
Satish’s mother was educated till class VIII and his father till Class X (he later got a polytechnic diploma). His father ran an electric goods shop. Unfortunately, he lost his mother when he was in class VIII, just two days before Diwali. It was a tough time for the family. A lot changed about Satish after his mother’s death. All his classmates used to remark that he had grown mature all of a sudden.
Satish says, “We may not have been well off but compared to many other people, we were definitely not badly off either.” Satish grew up with a younger brother and a younger sister. He adds,
I realised early in life what money can do when I saw that having access to little more money could have made me do different things when I used to hold myself back. But I also learnt that what lack of money can't deny you.
Satish fancied becoming a wing commander when he was in class VII and prepared for the Sainik School exam. He cleared all the rounds but got stuck with the medical round. It was then that he discovered he was colour blind and not suitable for recruitment in armed forces. He recalls a naval officer telling him, “Nothing is the end. Good that you know now. It’s not too late. Now, you can choose what you want to do." It took him two years to recover from this failure. His father told him that he would pay only for a BTech but not for a B.Sc. degree.
Discovering the love for programming
Satish made it to the class XII board merit list and cleared JEE. He chose IIT Kanpur for two reasons. First off, he got to be close to his house, in case his father needed him for anything. Second, the overall cost at IIT Kanpur was the cheapest.
He says, “If these reasons weren't there, I would have taken say Computer Science at IT-BHU (or Maths at IIT Kanpur) rather than Chemical Engineering at IIT Kanpur.”
During the four years at IIT Kanpur, he was upset and rebellious thinking he wasted his time there and was capable of doing way more than what he did. He adds, “I wish somebody had told me then —'It's okay. Things have happened, you've made your point. Now go and make your life.’”
However, looking at the brighter side, he considers himself lucky to have found his love for programming. He spent a lot of time at computer labs. The students were taught PASCAL then. It did not have the complexity of C pointer manipulation, but had all the conceptual complexity of any modern programming language. He took three Economics, four Computer Science courses, apart from the regular courses at IIT Kanpur.
Related read - The incredible story of Ashish Gupta – how a humble techie from Ludhiana engineered Flipkart’s scale
Because, Happiness > Money
Satish joined Infosys after his graduation. At that time, mainly maintenance, COBOL and PL1 projects were being outsourced to India. Thinking that his skillset would be useful for a different kind of work than what he was recruited for, he informed the HR that he was trained for open system C, C++, and Unix. As a result, he was moved to those projects and he started building network management system. After two years at Infosys, he decided to pursue a master’s degree in 1999. When he was leaving Infosys, his boss's boss came up and explained to him the kind of money he was giving up on by leaving the company at that stage. Only a decade later, Satish understood that. He says, “I think I would have been richer had I continued to be in Infosys, but I wouldn't have been happier.”
Making of the compiler guy
Satish went to the University of Wisconsin, Milwaukee, to pursue a master’s degree in Computer Science. He consciously chose a small school. It had three professors (from Berkeley, Princeton) whom he spoke to and felt comfortable with. He was interested in the kind of problems they were working on. He knew very little of compiler, and was more into software engineering and tooling. So, he enrolled for a basic compiler course with Prof John Boyland (also his co-advisor) who maintained very high standards. Prof Boyland impacted Satish’s life a lot. He became a compiler guy only because of him and remained so for more than a decade to follow.
For his master’s project, Satish was building on his idea to embed hyper-media within source code without really impacting, compiling, and debugging the dev-tool chain. He used a versioned hypermedia system, built by another person, as storage and built a compiler and IDE on top of it. It was similar to Eclipse that was launched in 1999. Philip Wadler, the principal designer of Haskell, commented on his project at a conference — "You've taken a very revolutionary approach, you're asking me to dump my tool chain to adopt yours which is similar with an additional capability of embedding hypermedia. Can you take an evolutionary approach to do the same?" Satish couldn't understand it then. But later he realised that the impact of his work was much less due to the same reason, i.e. his revolutionary approach.
The +1 syndrome
After earning his master’s degree, Satish joined a startup, Sarvega, in the US. At Sarvega, the idea was to have appliances which could be put in the front of systems for load balancing. As the load increases, you buy more appliances linearly and configure them. These appliances would do load balancing and they would offload all your XML processing, XSLT Transformation. Satish worked with a small team of four people responsible for XML validation, processing, transformation. He was predominantly using semantic analysis. The startup was sold to Intel after one year (Satish had left by then).
Satish didn't want to stay in the US for long. He didn’t want to suffer from the ‘+1 syndrome’ — which means that every year, you decide to stay in the US for one more year, make another million dollars, etc., and the cycle never ends. So, he moved back to India. He says, “In 2003, India's growth story was more promising than ever before and a significant number of people were returning to India then. I don't think it was a bad move for my career.”
He got married a few months later to his classmate from the grad school and joined Rational Software (acquired by IBM) in Bengaluru. He had earlier applied to work (and got selected in the interview) for Rational Software a year ago. When he was planning to return, he just wrote to them to check if there were any openings. Fortunately, he got an offer letter directly (without going through an interview this time).
Also read - Meet Vibhore Sharma – the self-taught technologist who’s CTO of Naukri.com
For the love of code (and compiler)
Satish joined the Rational Rose team in the beginning and then switched to Rational Purify. But he had to wait for some more time before working on Purify. After Rational Rose, he worked on Leakbot (leak detection in Java code) in between for two and a half years. It was a part of IBM Research where the company wanted to productise their findings. He worked specifically on graph analysis.
Though Satish made his name in PurifyPlus AIX team, he thinks of his work in UAL as the most satisfying. The UAL project brief on which he worked was as follows:
All the telecommunication companies (clients) used Rose for real-time (Rose for RT) systems and they designed their whole systems using model and generated code out of that model. It was model-driven development, and if you wanted to change your system, you had to figure out what changes to make in your model, and then again regenerate the code. The reason was that the people working on it were electronics and systems guys and not programmers, and they understood signal processing and flow way more visually. The entire system was made using UML, except one part. The action part was written in native language (Java and C). The challenge for those people was to write this code snippet, not in the context of their model, but in the context of the code generated by IBM’s compiler. So, Satish and his team had to create a platform-independent action language for them to be able to write the code. The one-line description he received was — ‘our modelling tools should support action language.’
You may also like - Meet Joydeep Sen Sarma, the IITian who revolutionised big data at Facebook
The most satisfying project at IBM
One of the team members had built a prototype which Satish referred to. His master’s project experience also came handy here. He worked on a language which would be suitable for this situation. But it was rejected because it didn't make business sense. An IBM fellow told Satish:
Technically, you might be right that this is the best language for this project. But you don't understand that huge business cost of building another language. You've to train people, build ecosystem, community. It's an expensive and time-consuming process.
Satish realised that he had been focusing on just the engineering/technical side of things which may be necessary but not sufficient. He finally built an IDE which supported code based on the context of the model. His team found out a way to hook Rational Software Architect into it and came up with the subset and semantics of the language (which later on became OMG standard). Even though he could have hired six team members for this project, he managed with four since he couldn't find the right people.
Satish figured out how things work in the open source community. In his solution, he hooked in JDT, compilation system and debugging system. He says, “ We built model level debugger where you look at UML diagram and put a break point on transition/action, open an action code. It was for niche market - only for real-time systems, concurrent state machines."
Satish’s project was getting over in 2011, and things around the company were also changing. The culture was becoming more of IBM and less of Rational Software. He felt that the company had become very different from what it was when he had joined in. He also started to realise that he had been working on compliers all along and he could not stay in that field in India for long.
Into the world of research
Microsoft Research (MSR) started pinging Satish from 2010 when he showed an early prototype of his work in a conference. They were looking for people who were interested in research and also understood the product side of things. He fit the bill. Eventually, he got interviewed in 2011 and was made an offer he couldn't refuse. At MSR, his first project was energy profiler of Windows Phone. He built the implementation which included the data collection and data analysis engine. Its first release was scheduled in 2012.
He also worked on a project which figures out how to locate yourself in an area in the absence of GPS. He referred to the existing research of using gradient descend. The information of stride length, speed, map, compass and particle filter further helped in predicting accurate location. This eventually failed and the team learnt that Wi-Fi was a much better way to go about this.
During his time at MSR, he realised that he liked being in an engineering team more than doing research. He explains, “MSR was intellectually very stimulating but given my background and my desire to do something bigger, I would have to move to the US eventually.”
So, Satish left MSR even without a job offer. At that time, he was also going through a severe personal crisis then.
Wake-up call… not taken
Apart from Computer Science Satish, there are two other things that he loves. One of them is trekking (in Himalayas). In 2012, he failed midway on a trek and had symptoms of Altitude Mountain Sickness (AMS). He was very upset with himself. He recalls, “There were red flags and signs throughout out the way but I was just desperate to do this. I was upset and did not even know how I ended up in this situation (of desperation). I was in terrible a mind space and didn't want to work for some time.”
At the time, he was expecting his younger daughter and wanted to spend time with her. So, he decided to take a break. He had applied at Amazon, but when they made an offer, he declined.
He was then contacted by a VP who went out of his way to convince Satish to join Amazon. Satish regrets saying yes to him because he didn't follow his own conviction. At Amazon, he was the architect and developer of AmazonBusiness.in. He adds, “We seeded the India team. Amazon was an adventure for me - it came out of the blue and it gave me an opportunity to work on cloud (something I didn’t have experience of).”
Later on, Satish realised that his skillset made him a better fit for Machine Learning team. Even though he cleared their process, he couldn't change teams as it was still less than a year since he joined the company. AmazonBusiness.in was scaling down and he was being moved to another team. So, he decided to move on.
Doing the right thing
Satish had to sort out what was going on with him. He says, “I did the right thing. I took a break. I was very happy as I saw my younger daughter growing up.”
A few months later, Ola happened by chance. Through some mutual connections, Satish met the team and decided to join them. Satish recollects his time at Ola as the one with many failures and a lot of growth, all in nine months. Ola is sitting on a lot of data of user behaviour and they have a big team of data scientists to work on that. When Satish joined, they were then forming a team of four to five people to exploit machine learning in a big way to give user-centric solutions and Satish became a part of this team. Other than Git, java and Scala, he didn't know much. So, it was even more challenging for him.
At Ola, he majorly worked on two things:
1. Based on the user data, figuring out the customer’s home and office and let you save that address.
2. Unlike Flipkart/Amazon which are demand constraint businesses, Ola is a supply constraint business. The profitability depends on the utilisation of cab. His team mined the data to figure out the likelihood of booking a cab from different locations, places and time so that nearby cabs can be directed accordingly (thus increasing their utilisation). This was done in real time which meant processing more than a billion events in a day. Satish built a low latency (100 milli-second) high throughput (billion units processing) system.
He wrote a part of libraries in Java, but predominantly the work was in Scala. Satish believes that he was surrounded by some very smart people. But he realised that he wasn't ready for the kind of organisational chaos he witnessed at the company. He reflects, “Looking back I think I gave myself less credit and instead gave benefit of doubt to everything else in the system.”
Also read - Richard Stallman – the freedom defender whom we may not deserve but definitely need
To the new beginnings — Slang Labs
Satish left Ola in January 2017 and started consulting with some organisations. For the first time in last three to four years, he was in a situation where he had sorted out things in his life. In April and June 2017 respectively, he met Giridhar Murthy and Kumar Rangarajan, his ex-colleagues from IBM and Co-founders of Little Eye Labs. They realised that Satish’s work in machine learning and deep learning would be a much-needed addition to team Slang Labs. Satish also believed that voice is an interesting and challenging problem to solve. He finished his pending consulting work in next two weeks, and on July 17, they started the operations at Slang Labs. None of the co-founders needed immediate money and were in the position to take risk. All of them answered the important question before starting — if they want to work together? The answer was yes and it went off.
Satish and the other co-founders of Slang Labs understand dev tool market. They believe that if more and more people are going to use and benefit from internet and app, expecting them to know English and touch, is too much. Satish says, “Voice is the easiest technology to use to democratise internet and apps usage. We're developing a SDK which can be integrated with the apps to support some basic commands (of the app) in voice. We process the speech and figure out the intent out of it. The programmer can then map this intent to the actual action that app has to perform.”
A prototype is already in place.
Values maketh the man
Satish believes in truth and honesty more than anything. He says, “I can fail thousand times and stand up but if I lie or cheat, I'll break down.”
He has realised over the time that you know the right decision before you make it. He has made the most important decisions of his life by heart and not by brain.
Satish believes that your work alone cannot sustain you. He adds, “Thankfully I had something without knowing its existence and positive impact on my life. I really love Hindi poetry. From 2012, I've been writing more regularly. One day I want to publish my poems.”
Speaking of his second love, trekking, he says that he started pretty late, when he was 34 years old, after recovering from a back injury. Since then, he has gone for many difficult treks. He says, “You've to find these interests in life because when the chips are down, when things aren't going great, your work will not pull you out.”
Satish often describes himself as — “I’m just a programmer, an amateur poet, and an avid trekker.”
Message to young techies
His message is loud and clear to the young developers -
Don’t shy away from learning. Change will happen whether you like it or not. What you think as super important today will be useless five years down the road. I've seen it, my previous generation has seen it. The later you wake up to this, the more courage and effort it'll take to survive.
You can connect with him on his website and LinkedIn.