Sunday, 15 May 2022

Can anyone draw me a road map for machine learning?

I run an AI/ML Startup and have hired many developers over the last 5 years. Here is a roadmap that I’d follow myself if I were to start again in Machine Learning:

  • Learn Python: I think Python is by far the best programming language when it comes to Machine Learning. I will spend significant time learning Python basics - variables, constants, loops, lists, dictionaries, functions, etc. There are some excellent online courses on Python programming. Pick up one such course and complete it end-to-end.
  • Learn Data Structures and Algorithms: Directly jumping from Python Programming to Machine Learning will absolutely be overwhelming. Machine Learning requires extensive programming skills and it is extremely important to be able to do that, otherwise one would find things frustrating. Imagine, you know the basics of writing a Python program, and there is a Machine Learning problem in front of you, which you can easily solve, but can’t write code for - how frustrating would that be? Therefore, I’d highly recommend spending time studying Data Structures and Algorithms. In any case, if you are going to apply for a job in Machine Learning, you are sure to face a Data Structures round and so, why not prepare for it? CLRS is the best book for Data Structures and algorithms. There are some great courses in Data Structures and Algorithms. I find the Coursera course to be quite relevant. However, if you are looking for a Python-specific course, then try this one. I’d not recommend spending money on purchasing certifications for Data Structures courses. Your focus should be on studying the course material and learning from it rather than on a certification.
  • Learn Machine Learning: Now that you know how to write code, and handle some relatively sizeable programs, it is the right time to jump into Machine Learning. The best course, to begin with, is the Coursera Machine Learning Course. This is a completely free course and is taught by Andrew Ng - a leading Machine Learning Scientist. I’d suggest that one should complete this course end-to-end including the assignments and exercises. The course will help you learn the basics of Machine Learning and you’d be ready to solve ML problems. Once you’re through with this course, it's the time to apply your knowledge to create meaningful projects which you can showcase on your resume. There is an excellent course for this that I’d highly recommend - Learn Machine Learning By Building ProjectsYou would not only learn the concepts of ML in this course, but also you’d be creating some excellent projects which will help you on your resume shortlisting for job interviews.

If done sincerely, the entire above curriculum can be completed in a time period of 2 - 3 months in the best case, and 3 - 4 months in an average case. I think one should aim for 15 - 20 days to learn the basics of Python, another 15 - 20 days for Data Structures, and the remaining time to learn the actual Machine Learning curriculum.

Apart from this, here are some general thoughts:

  1. To avoid boredom, you may want to consider partnering with a friend so that you both can learn together and most importantly, discuss doubts and collaborate. You both can bounce off problem statements at each other and challenge each other - the whole learning experience would become far more engaging.
  2. While Machine Learning would be a lot of theory, I’d highly recommend keeping the focus on the implementation of the algorithms. Nothing gives more clarity than implementing the algorithm and writing a working code. Only reading theory isn’t going to help.
  3. If you are not able to understand any specific algorithm, search it on YouTube and you would find some amazing videos and alternative explanations which will help you clear the doubt.
  4. To participate in Machine Learning contests, you may want to enroll yourself on KaggleIt is the most popular site for Machine Learning datasets and contests.
  5. The roadmap that I have explained above is only to get yourself started in Machine Learning and grab an entry-level job. By no means it is exhaustive. The sky is the limit when it comes to learning ML.

Happy learning!

Sunday, 8 May 2022

What are some of the easy jobs in India which ensure a decent salary?

Software Engineer.

I guess there is no question about Software Engineers getting a “decent salary”. The question is whether it is an easy job or not. Having studied Computer Science and Engineering myself, I think I am well qualified to talk about that.

Let’s first understand the (wrong) perception that most people carry:

  1. When it comes to Software Engineering, most people only know about IT Services firms. People talk about Infosys, Wipro, TCS, CTS, etc. These companies hire Software Engineers at a certain price and staff them with clients at a higher price. That’s how they make money. To make more money, they can’t randomly increase the prices for the end clients. So, the only way for these companies to make more money is to pay less to the Software Engineer that they hire.

  2. Most people have faced a terrible Computer Teacher in school and so, they fear Programming. It is sad and unfortunate that Computer Science is seen as an inferior subject in schools. It is taught as a memorization subject where you cram the full form of CPU and ALU and get marks. In the name of Object-Oriented Programming, people are made to learn the definition of Abstraction, Encapsulation, and Polymorphism. That’s not how programming is.

  3. Most people think that programming is taught rather than learned. This is an extension of my point above - people think that their teacher will teach them to write code and because their teacher is bad, they never learn the right approach to learning Computer Science and Programming.

  4. Most people fear maths and so, they think that they cannot be Software Engineers. Definitely, some portion of Computer Science involves mathematics, but the maths that maths requires and the maths that Computer Science requires is not the same.

Because of all of this, people think that Software Engineering is difficult and is not meant for them. The reality is quite different though.

  1. There are amazing product-based companies that pay quite well. These companies do not staff you at the client site. Product-based companies have a Product and Engineering team that works on building a scalable Software Product that can be sold to multiple end customers. Selling an extra copy of the Software Product involves almost negligible Engineering costs and so, the gross margins of these product-based companies are high. Accordingly, these companies are able to pay quite well to Software Engineers. The starting salaries at Product companies are quite high as compared to IT Services firms.

  2. Because of the gazillions of educational resources available online, it has become extremely easy to learn programming on your own. One can spend literally ZERO money and learn programming as per industry standards. There are so many online courses on Web Development, Android App Development, Machine Learning & Artificial Intelligence, Augmented Reality, Crypto, Web3, Blockchain, and whatnot. To learn to program, one simply doesn’t have to rely on teachers or even college professors.

  3. There are so many domains of Programming that do not require a deep knowledge of mathematics. A high-level understanding of some of the basic concepts along with skill in problem-solving is sufficient. These things can be developed with practice. If one simply picks up an online judge like CodeChef, SPOJ, Codeforces, etc., and solves the first 100 or so problems, they would be 70% there. If one isn’t able to solve a specific problem, there are 100s of tutorials, explanations, and solutions available online. All it requires is a sincere effort of 3 - 4 months.

The best part of all? Most Software companies, especially product-based companies, do not care about your educational background. You crack their interviews and they will hire you. They don’t care whether you are a male or a female or a CS grad or an Electronics grad - you crack their interviews and they will hire you!

So, getting into Computer Science and becoming a Software Engineer has become easier than ever before. All you need is a laptop and an internet connection and sincere efforts and you can change your life forever. It is arguably the best time to be a Software Engineer. The demand is high, the resources to learn programming are infinite, and the pay scale is excellent. On top of that, most companies today are offering work-from-home to Software Engineers so, you can travel the world and keep earning money and doing something you love.

Before I conclude, I am putting some resources that might be helpful in learning programming. By no means are these the best resources. Definitely, these are not exhaustive resources. However, these resources would serve as a good starting point for someone who wants to explore a career in Software Engineering:

  1. How could a B.Tech CS student avoid getting caught in a trap of mass recruiters like Infosys, Wipro, TCS, etc.?

  2. Projects in Django: Learn Django Building Projects

  3. After getting a CS degree from a Tier 3 college in India, which had no resources, how should I hone my programming skills and knowledge within 6 months so as to secure a job in a good company?

  4. Learn Machine Learning by building projects

  5. How are people earning 55LPA/24 LPA at the age of 24-27? I am 23 years old. I earn only 24k per month working in an MNC. What should I do to get on par?

  6. How to start with Competitive Programming?

  7. What are some basic projects in Machine Learning?

  8. Advice for those students who learned nothing in their 4 years of college, but now wish to work at Google/Facebook

  9. How do I learn Machine Learning?

  10. What is the best way to learn Python and Django?

Saturday, 7 May 2022

How do I make a profile and do an internship like Aman Goel?

How do I make a profile?

  • Prepare hard for JEE - like really really hard. Forget practically everything else and just focus on JEE preparation. Aim for a top 100 rank. Join FIITJEE All India Test Series and go crazy about being able to solve AITS level problems. Screw up JEE and somehow still land up with a top 50 rank.
  • Join Computer Science program at a reputed old IIT - They have increased the seats now and so, if you are within top 50, you are sure to get into IITB CSE.
  • Get a high GPA in first year - Aim for 9.8+ (on a scale of 10). Aim for a top 10 rank in the batch (of 800+ IITians). Don’t screw up even a single course. Engineering drawing will give you nightmares, but it will be like Chemistry - giving you edge over others.
  • Chill out during first year vacations - become a JEE blogger on Quora. Waste a lot of time. Talk to people, meet relatives. Get a driving license.
  • Get into a foreign Univ during campus internship interviews because of that 9.8 pointer - go to Europe, but somehow spend the entire summer in your little chamber and prepare hard for interviews. Solve that so called cracking the coding interview - they say it is quite good. InterviewBit is also quite good they say. Try ’em both. Don’t work at all on the project you were assigned for internship - you want a job, right?

Do an internship like Aman Goel?

  • Get hired by Tower Research Capital for an internship - do well in their interviews and later tell them - ‘oh man, I screwed up! I never wanted to join your company, you are a finance firm’. They’ll anyway hire you, don’t worry.
  • Cry and look for US internships - oh ya, you are an IITian. Americans know about IITs and IITians and so, you are sure to get attention. Resume will be shortlisted. Schedule an interview at 11 PM. They are 12.30 hours behind our time.
  • Crack the interview - you solved cracking the coding interview, right? They said they ask a lot of questions from that book. They never asked a single question from it. They asked tougher problems. Don’t worry, you know shit because eh, you worked hard for all these years. You are still better than many many others.
  • Get an internship - get hospitalized with tension about internship selection results.
  • Fly to Palo Alto - post some airport pics on FB to tease your friends.
  • Enjoy the internship - they’ll scold you for not eating cookies. You are an intern, you should be pampered!
  • Get amazed by the startup culture in Silicon Valley - startups, VCs, innovation, tech, AI, ML, what not shit - all buzz words.
  • Come back to India - realize that India is the best :)
  • Get a return offer for excellent work during internship

Turn it down and enjoy working on your own startup :)

When did Aman Goel start competitive programming? When did he start CodeChef and Topcoder?

I did some amount of competitive programming during my second-year internship. I never did it earnestly. The goal wasn’t to become a top competitive programmer. The goal was to nail the coding interviews of top tech companies. Competitive programming was just the means by which I could reach that goal.

According to me, competitive programming in itself has no use. You cannot ship it as software. However, the concepts learned in competitive programming are central to understanding computer science, improving one’s thinking skills, developing problem-solving ability, and building up the ‘not-giving up’ mindset which are all key factors in the success of any software engineer and so, I feel that everyone must get some experience of competitive programming.

I never really ‘started’ CodeChef/TopCoder. I solved some problems from these platforms while picking up concepts. For instance, I solved a lot of DP problems from TopCoder to pick up DP. However, I never competed on these platforms.

What is the biggest hurdle in becoming a successful startup company?

Founders giving up

The biggest hurdle in a startup becoming successful is “founder burn-out”.

Creating a startup is difficult. Let’s accept it. You need to look at Sales, Customer Support, Operations, Product, Engineering, HR, Recruitment, Marketing, Branding, and whatnot. Goof-up at one place and you’re doomed.

Many founders give up because of this. And that’s what differentiates a successful startup from a startup that isn’t successful.

When I started Cogno AI in 2017, we faced a lot of hurdles:

  1. My parents did not agree to me leaving my Tower Research and Rubrik Job offers to start Cogno. It was quite difficult for me to convince them that a startup is not a gamble, but rather a calculated risk with a high reward. My parents did not agree. To sort this, I helped Rubrik India Head hire a bunch of people from IIT Bombay, Delhi, and Kanpur. In return, he assured me that if in the future my startup didn’t work out, Rubrik’s door will remain open for me. I showed that to my parents and they were happy that now there is a backup.
  2. Due to GST being rolled out on 1st July 2017, our first large client was not able to pay us timely. This was because they could not make changes to their Vendor Payment system so fast. We were running out of funds. To solve this, we invested some of our own money into the company to let it run. Mind you, at that time, we had started to incur expenses - rent, food, travel, etc.
  3. My co-founder quit in just 1.5 years. At that time, I was in deep shit. We had less than Rs. 5 lakhs in the Bank. I was left with 1 intern and 1 full-time Engineer. It was a bad situation. I had no clue what to do. I called up my college friend Harshita and explained the situation. I further showed her the vision of how big this could become. She left her job and joined me as the Co-founder. Today we are a 100+ member team.
  4. In 2019, we had a lot of difficult situations - a friend who I got onboard at Cogno for a senior role, back-stabbed us by using our developers to work on his independent project. It was a tough situation because he was managing one of our large clients. Cleaning the mess and ending the whole episode gracefully was a big challenge, but we did it.
  5. In September 2019, an Engineer from a reputed tech firm picked up a few words from one of my LinkedIn posts and created chaos around it to gain popularity. He wanted to ride on the name of IIT Bombay and defame me to get “likes, comments, and shares”. He raised allegations that at Cogno, we were mistreating our employees, specifically freshers. He wrote about it on LinkedIn in highly negative sentiment. I am not taking any names here because doing that will not leave any difference between me and him. All of my team members were shocked and in despair. Today, we are proud to say that not only do we have a 4.4/5 rating on Glassdoor but also most of the reviews are around Freshers praising the Company culture that has helped them learn and grow fast in their career.
  6. In April 2020, our invoicing suddenly went down due to the COVID-19 pandemic. It was a tough situation for us. Money inflow went down overnight. However, we took this as a challenge and emerged successfully. We went from ~18 members to 100+ members in 18 months. We did salary increments and appraisals for all our eligible team members. We did not do any salary cuts or any structural changes. In fact, I was clear that if a tough situation arises, I will put my personal funds into the company to ensure that all the team members are paid their exact salaries timely.

If you see the pattern, you will realize that there is 1 thing that we did - we continued executing relentlessly irrespective of the situation. We never gave up. If we had given up at any of the above points, Cogno would have shut down. We were clear that we need to grow this into a big business.

Don’t give up and you’d emerge successfully.

What is the best career path for a jack of all trades?


An Entrepreneur needs to be a jack of all trades and a master of some. There are so many dimensions of a business that needs to be taken care of and someone who knows a little bit about everything would be perfectly suited for an entrepreneurship-based career path. A typical entrepreneur has to know the following:

  • Sales: an Entrepreneur needs to know how to sell their product/service to customers to be able to generate revenue.
  • Customer Support: after the sale has been done, an entrepreneur needs to understand the basics of providing support to customers to maintain relationships with them.
  • Recruiting: very similar to sales. Recruiting = selling your company and vision to the best talent in the market.
  • Product Management: knowing what customers want and building your product accordingly. Iterating over the product with a change in customer needs.
  • Engineering: product development and optimization.

The last 2 are important primarily for product and tech-driven businesses. Some businesses may not require them. However, Sales, Customer Support, and Recruitment are 3 activities that every entrepreneur should know the basics of.

Apart from the above, there are a bunch of things that an entrepreneur should know - negotiation, communication (written and verbal), deep thinking, networking, problem-solving, risk-taking, finance, time management, etc.

Obviously, entrepreneurs need not be skilled at everything mentioned above. The least an entrepreneur should know about a domain is the amount that is required to recruit an expert in that domain. After that, the domain expert may take over.

To conclude, for anyone who is a jack of all trades (and potentially master of some), entrepreneurship might be a fantastic career path.

How can I earn online? I am law student exploring options to make money through internet.

To be able to earn money, you need to create value for others so that they return you a portion of that value in the form of money. Being a law student, the best option for you is to help people solve their legal problems. Here are a few suggestions:

  1. Start a YouTube channel on law: talk about how the law works, what are the common pitfalls, etc. Start with something general, and then over time, figure out which type of people are finding your content useful, and then double down on that. For instance, start writing about law, in general, and if you find that small business owners are viewing and commenting more on your channel, you can narrow down your focus to law for small businesses.
  2. Provide Legal consultancy: because you are still a student, many people may shy off from giving consultancy projects to you, especially in a topic as critical as law. However, there are some not-so-critical topics in law. Basis my minimum understanding of the law, I think there are some such areas - non-disclosure agreements, drafting a legal notice, small ticket size service agreements, drafting resolutions, etc.
  3. Start a Blog on law: this would be similar to the YouTube channel. Through your blog and YouTube channel, you can showcase your legal expertise and use that as a funnel to draw customers to your Legal Consultancy work. Basically, people who will read or watch your content and find it useful would want your consultancy services.
  4. Start an online course on law: I don’t know how the entrance exams in law work. However, if you’ve got a decent rank in your competitive exams, you may want to guide students on how to do that. For instance, through my blogs, I have guided IIT-JEE aspirants (now JEE Advanced).

Apart from this, if you want to start something outside the law as the domain, then you’d have a lot of options. However, competition will also increase. Anyway, here are a few suggestions:

  • Provide Content writing services
  • Provide Video making services
  • Sell T-shirts
  • Take-up coding and freelancing projects

Needless to say, you might need to learn some new skills to be able to take assignments in the above domains.

I have written a detailed answer about what I did to earn money when I was in college. Here it is:

Profile photo for Aman Goel
Aman Goel
 · 2y
Disclaimer: This answer would be useful primarily for the Indian audience. A lot of students in India want to learn how to make money parallel to their college studies. Due to sheer talent in the country and a huge amount of requirement in India and even in foreign countries, there is a large opportu…

Cheers and all the best!

How did you start your own startup? How did you choose the idea?

Long story ahead. Grab a bucket of popcorn.

In the months of May, June, and July 2016, I was in Palo Alto, California, for my tech internship at a startup called Rubrik. My third year had just ended and Rubrik was indeed the best internship opportunity that I’d have got. I was working with their File Systems Team, working on migrating their backend database from one DBMS to another. I was working with some really smart team members and learned a lot.

However, during the internship, I realized a few things:

  1. I can’t stay away from my parents. Given that my parents won’t move to the US, it is best for me to stay in India.
  2. The learning experience at Rubrik was great and so, I thought that I should also explore starting up on my own.

My 7th semester at IIT Bombay was starting around late July 2016. I spoke with a couple of college friends, explaining my desire to start something of my own. One of them suggested that I should explore courses in DSSE (Desai Sethi School of Entrepreneurship) at IIT Bombay. IIT Bombay has such a large academic infrastructure that it is nearly impossible for anyone to know everything that the institute offers. I had spent 3 years at IIT Bombay and I had no idea that we had something like DSSE in the Institute.

I wrote to their Project Manager and the Professor in charge and expressed my desire to start a company. In spite of my being late for the enrollment date, they were kind enough to allow me to enroll in the ENT101 course - Introduction to Entrepreneurship.

When I came back to India around the end of July 2021, I started attending the ENT101 classes and I thoroughly enjoyed them. In a typical course in an engineering college, one expects slides, lectures, assignments, quizzes, and pen-paper-based exams. ENT101 was totally different. In this course, senior alums of the IITs took sessions, explaining various entrepreneurship concepts through their own entrepreneurial journey. These professors were not academic professors. They were themselves, startup founders and entrepreneurs, some of them even being billionaires themselves. They took classes to pay back to the institute.

They didn’t take any exams. The mechanism of the evaluation was to see how much a student is investing time in talking to customers, building a minimum viable product, and eventually building a startup of their own. The professors focused purely on the end outcome rather than on written exams.

I got an opportunity to listen to the success stories of industry veterans as well as young founders. One particularly striking story was of an IITB 2014 batch Alum (let’s call him Mohit). Mohit was just 3 years senior to me and had created a multi-million dollar company. I was extremely inspired to hear his story. I thought to myself - “Mohit is just 3 years senior to me. If he can create such a successful startup, why can’t I?”

An important lesson taught in the ENT101 course was that ideally, one should partner with a co-founder when starting up. Not that solo founders don’t do well, just that partnering with a co-founder makes life a little easier. I started thinking about who to partner with. A natural choice was to find someone in the friend circle. Most of my friends, including myself, came from a relatively humble background and so, convincing someone to forget about the thought of a high-paying job, and start a company, was quite difficult.

I realized that if there is someone who would not think twice before leaving the idea of a job, then that would be my friend Soham, who stayed 2 rooms away from me at Hostel 3 - yes, the same Hostel 3 that you saw in the movie Chhichhore. I had the privilege to spend 3 years of my life at Hostel 3!

I spoke with Soham and as expected, he was up for the idea. Both of us had internships from fantastic companies and both our companies had extended us pre-placement offers. This meant that we had a full 1 year of time (the 4th year of college) to experiment on various startup ideas. In fact, we had a really good situation:

  1. In the 4th year of college, no one expects you to earn money, and hence, we could experiment and fail during this time, without any external pressure.
  2. The Undergrad Project (BTP) is optional at IITB CSE and hence, we didn’t have to spend time on that.
  3. We both had pre-placement offers and so, we didn’t have to prepare for placements.
  4. We both didn’t have to go for MS or Ph.D. and so, we didn’t have to prepare for GRE or TOEFL.
  5. We had our core courses almost completed, and so, we had to take minimum courses in the final year.
  6. The institute allows taking up courses from outside CSE Department and tag them as institute electives. So, we could take up entrepreneurship courses and get the credits counted in our core CSE curriculum.

Yes, I am thankful to IITB for providing such a flexible curriculum!

Soham and I took multiple entrepreneurship courses:

  • Introduction to Entrepreneurship
  • Technology Venture Creation
  • Marketing for Entrepreneurs
  • Intellectual Property for Entrepreneurs

One important thing we learned was that startups are built around problem statements. We, engineers, tend to think that if we build a cool technology, the market will buy it. In reality, the reverse happens.

One needs to understand what the market wants, and then one should build a product (or technology) around it.

This single important lesson changed our thinking perspective and we both started looking for problem statements. One interesting problem statement that came up was that in spite of so many apps for ordering food (Swiggy, Zomato), purchasing items (Amazon, Flipkart), or ticket booking (IRCTC, MMT), parents still can’t use these apps easily and rely on their children. I personally faced this because my parents always take my help in such things.

We started validating this problem statement. We spoke with a bunch of people including our parents, friends, professors, etc. We figured out that the problem statement is quite a large one. This whole problem statement discovery exercise was a part of the course Technology Venture Creation. For the course, we started presenting this idea as the project.

We started thinking of solutions to the above problem and an idea that struck us was that we can potentially create an IVR (phone call) based mechanism where parents can simply call a standard 1800 kind of number, and talk to an intelligent voice assistant, and speak their query. The voice assistant would be powered by Natural Language Understanding (NLU) technology and would be able to help parents order food, book a cab, order from Amazon or Flipkart, and book tickets.

When we presented this idea in our course Presentation, the feedback we got was that we will have to stretch ourselves to acquire customers and it will require heavy funding. Therefore, we should consider licensing this technology to businesses that already have acquired customers. The idea sounded quite interesting to us - not only would we avoid the hassle of acquiring customers but also we will be able to monetize easily.

Another interesting learning in one of the courses (Marketing for Entrepreneurs) was that we should chase customers rather than investors. We all always hear the news around IITians getting millions of dollars in funding from investors. It is easy to get swayed away with the core focus and divert one’s attention towards raising funds. However, based on the course learning, we always stayed away from any kind of VCs or institutional funds.

Through the contacts of the professors, we started to meet some institutions to see how we can partner with them and co-create the product with them. We started converging on a single market segment - Financial Services. It seemed quite big, a possible multi-million dollar opportunity.

We met executives at some of the large financial institutions:

  1. YES Bank
  2. HDFC Bank
  3. Axis Bank

The idea was to sell before we build. Product/Technology development had to be done along with the customer so that it is more of a co-creation of something that’s valuable. The executives at these big banks were kind enough to give us feedback (positive and negative) and share non-confidential information about what they were doing, what problem statements they were looking to solve, and what solutions they already had.

This whole customer interaction exercise really changed our thinking process. We realized that if we just talk to customers and get feedback, we can build the right product extremely easily.

Our initial idea was to build an IVR (phone call) based voice assistant for enterprises. However, we realized that the 1800 number was a HUGE customer support channel for these large organizations and they didn’t really want to trust two kids of 21 years old each, on technology for such a large platform. Most explained that they were exploring chat and chatbot-based solutions that that’s where they can experiment with us and see if we are relevant for them.

One of the above banks agreed to do a pilot with us on one of their internal employee-facing mobile application where they wanted a chatbot solution wherein their employees can ask basic product-related queries. Their employee base was huge and so, new employees need to be trained on their product portfolio. If these new employees need some help, they call their managers or the back office for assistance. This large bank wanted us to automate this via a chatbot within the app.

We found this use-case interesting and started working on the pilot. However, we later realized that we were being taken for granted. When we spoke about a possible commercial engagement for the pilot, we were told that the bank expected this to be an academic project for no charge. Obviously, we were quite disappointed with that and stopped working on the project. This whole episode happened around February 2017. This was when we were still in the 8th semester of college.

Towards the end of March 2017, one of the professors introduced us to the Head of the Innovations team at SBI. He liked our concept and told us to apply for an application via their portal. We went back to the hostel room and started the application only to realize that it was mandatory to have a company incorporated. I called up one of my cousins, who’s a CA, and requested him to help us incorporate the company. SBI told us to get the application process completed before they can proceed with our evaluation.

On 21st April 2017, AllinCall Research and Solutions Private Limited was incorporated. We got our DSC (Digital Signature Certificates) and DIN (Director Identification Number). As soon as we got the company incorporated, we completed the SBI application process and went back to meet their Head of Innovations. Remember, this was a time when it took 3 - 4 weeks to get a company incorporated. Now, obviously, it is much faster - a week or so!

When we went back to the Innovations Head, he had forgotten us completely. Obviously, we were shocked because of this lost opportunity. We figured out that the person was sensible and he can’t forget us so easily and so, he must be testing our patience and persistence. We started to build rapport with his reportee to understand what’s going on. We convinced him to allow us a gate pass to come to the SBI office so that we can convince the Innovations Head.

Daily we used to travel from Powai to Belapur, 30+ kms one side. Those who stay in Mumbai would know how hot and humid the weather is during the April and May months. On top of that, we had to wear formal clothes.

In a few days of time, the Innovations Head understood that we are determined to get a business from him and we won’t leave him like this. He finally called us and told us to make a proof-of-concept (POC) of a simple chatbot that can answer loan-related queries. He told us that if we deliver well, they will launch the chatbot on the 1st of July 2017, the bank’s foundation day, and also the last year of their tech-savvy Chairperson Ms. Arundhati Bhattacharya.

We were in the sky hearing this! We were given a timeline of 2 - 3 weeks to build the POC. We came back within a week to show him the solution. He tried it and really liked it. He saw our enthusiasm and agreed to take this forward. He showed a demo of the end solution to his seniors and they all liked it. We were extremely delighted to know that the project was being taken forward.

This was around the end of May 2017. I had my joining at Rubrik on 27th June. Soham’s joining at Indeed (the job search company) was around the same time. We both realized that if SBI gives us a contract around mid-June, we will be able to focus full-time on building AllinCall. So, we started accelerating the whole process.

We started working on the final product version with the SBI team, refining the product and preparing for deployment of the Software in SBI servers. In the deployment process, we learned a lot of new things - UAT, Production, Web Server, App Server, Database Server, Secure Code Deployment, Vulnerability Assessment, Penetration Testing, Application Security, and whatnot! SBI had an Information Security Department which did a hell lot of testing on our code and pointed out some 4500 open observations. Needless to say, we were shocked to see this.

Soham was extremely passionate about cybersecurity in college and he knew a lot of these things. Within 3 days, he had closed all the 4500 observations. To date, I am surprised how he did that!

In parallel, I was working on the documentation and paperwork with the SBI team. They needed a lot of documents around our technical architecture, data flow, technology, use-case, best practices, analytics, etc. They needed a formal commercial proposal (quote) also. In parallel, the process was initiated for the Non-disclosure Agreement (NDA) and Service Level Agreement (SLA). All of these things were totally new to us. We did a lot of Google searches and picked up some of these.

In between, unfortunately, Soham’s grandmother expired and so, he had to rush to Ahmedabad for her last rites. It was a difficult period for us because effectively, half of our bandwidth was gone. In between, I had some rounds of negotiations with the SBI team. Their GM who was negotiating with us had an experience almost equal to Soham and my age combined. Needless to say, they negotiated hard on a bunch of things - pricing model, payment schedule, licensing, and the overall numbers. We didn’t know much here and so, we went with the flow.

Around 27th June, we were ready for deployment and on 1st July, as per the planned date, the solution was launched for SBI. SBI Team did a grand celebration of their Foundation day and we also got a spot. We were honored by the CIO and CTO of the State Bank Group. For us, it was a great starting point.

Getting the largest bank in the country as the first customer, was indeed a great achievement for us. SBI gave us a launchpad which we could have never got elsewhere. We got extremely good support from the SBI officials and they guided us throughout the process.

SBI issued a certificate in the name of our company, signed by their CIO.

In August 2018, 1.5 months after the SBI chatbot launch, we graduated from IIT Bombay. It was a proud moment for our parents that we were able to acquire such a large enterprise client before even graduating from college.

The Head of Innovations was kind enough to put a word to SBI Group companies and SBI Life immediately invited us for a demo. They were evaluating partners for chatbot, but a reference from SBI helped them finalize on us quickly. Today, many SBI Group companies are our clients - SBI Life Insurance, SBI Mutual Fund, SBI Cap Securities, SBI General Insurance.

I have even taken sessions with SBI Team where they wanted us to share our learnings with their young team members from the IT side.

I also got an opportunity to meet with other senior SBI officials at their PBBU (Personal Banking Business Unit) Conclave in Goa.

Later, AllinCall rebranded as Cogno AI. COVID-19 helped us grow our business and today, we are a 100+ member team, with 60+ enterprise clients including the likes of State Bank Group, Kotak Group, HDFC Group, ICICI Group, Aditya Birla Group, Bajaj Group, and many others.

Soham, for his own personal reasons, left the Company in August 2018. His exit process happened amicably and we still remain good friends - there was no reason for us to create a conflict. I respect his decisions and today, he is quite successful, heading the Technology Team at a leading Startup.

Later I partnered with Harshita, who is my current co-founder and leads our Product and Engineering Teams, while I look at the customer side of things. Harshita has played a critical role in building the product that our customers absolutely love.

At Cogno, we recently joined hands with Exotel in November 2021 where Cogno AI was acquired by Exotel. Exotel is a leader in the cloud communication space and we feel that together we can build the best Customer Experience Platform from India.

The whole ~4.5 years of the journey so far have been quite exciting and we learned a lot. We learned large enterprise customer acquisition, building an enterprise-grade product, customer success, project management, delivery and support, negotiations, recruitment, employee experience, and many other things.

We are thankful for the support of our customers, team members, mentors, advisors, and parents, without whom, this would not have been possible.

Kudos to you if you could read till here. Hope this answer helped. All the best!

Can anyone draw me a road map for machine learning?

I run an AI/ML Startup and have hired many developers over the last 5 years. Here is a roadmap that I’d follow myself if I were to start aga...