Collecting my answers from Quora, where I advice young students getting into engineering now and aspiring to build a career in Data Science, AI or Programming.

Q. My brother is confused which branch he should opt for between AI and computer science. As in upcoming times AI has a very large scope. Can anybody suggest me?

Originally answered here:

There is a branch called Artificial Intelligence already in some Indian college ? That is a bit too early. Some opinions from me :

Opinion 1 : As of 2020, I personally feel that AI is not a field broad enough for a 4 year graduate course in Indian context, a BTech in Data Science in India is still conceivable. A Computer Science degree with Machine Learning, Deep Learning and good calculus and statistics courses should be enough to enter into the field of AI and I am almost sure this will not change in 4 years. Unless you are looking at an undergraduate research degree, I dont think a bachelor’s degree in AI will be worth it. In fact, a lot of the field of AI is just actually traditional Computer Science, Statistics and Optimization (All 3 fields were covered in my undergrad degree at BITS Pilani). The only new things are Deep/Machine Learning algorithms which can be taught in 2–3 electives.

Opinion 2 : Even if some university comes up with a clever course structure around BTech in AI say (I think there is a possible course structure choosing subjects from Computer Science and Maths and Machine Learning specific courses), I dont think any university in India has enough faculty talent pool to teach modern AI well apart from a few top ones. Its hard for large companies and top universities to find top AI talent, how would a general university afford it. Heck, most universities dont teach even Computer Science well. So many CS grads in India and many job vacancies never get filled.

Opinion 3: If you are really interested in AI, according to me a good path will be to pursue Computer Science from a college with good A. Coding campus culture and B. CS faculty in AI. Some good ones in India are : IIT(M/Kgp/B), IIITH, other good IITs, BITS and a few NITs. If you are not able to secure entry into these colleges try completing

courses or do an online minor like IIT Madras Online Degree Program.

Just getting a degree in AI from a random institute where practical knowledge is rare will be of no use.

Q. 🙏EXCUSE ME.I am Going to Join Engineering This Year What is The Basic I should Start With. I am Going to join Computer science and engineering with specialization in artificial intelligence and Machine Learning.what should I learn start my Journey?

Originally answered here:

Recommendations from me here are are subjective, some people might not agree with what I say. Hope other people share their ideas with you as well so that you get a varied perspective.

Some more general advice before you start your courses (not related to Machine Learning coursework) :

  1. Most people who join CSE willingly do so because they want to build a website, build a game, build a cool AI algorithm or build a software they always wondered about. Some join because they want to earn a lot ! A Computer Science degree teaches you not just how to build these things, but also the principles behind the building process. Remember you are getting in not just to learn what you always wanted to build, but also build it effectively in a technically sound way. Your aim should be to focus on both these goals : Learning to build using computers and learning the right way to build using Computers. They are slightly different skills, like cycling and learning about center of gravity and equilibrium in Physics, but the smartest people I find are those who know both how to write software and write it effectively. I will break it down more in upcoming points.

  2. Studying to learn and studying for marks can be two different things sometimes and the same thing many other times. Learn to recognize this. Dont neglect your marks totally. A few days of studies before the exams manages grades well generally. However, more importantly, dont study just for exams. Remember if you dont come out of your university as a good (or an average) Data Scientist in your own perception, you would have wasted a lot of time and money even if you would have gotten good marks. On the other hand, if you come out as a good Data Scientist in just your perception with poor marks, the world will not be willing to bet on you. Lagom.

  3. Remember most teachers you will find on the way will be average or below average. Your aim should be to become better than most if not all of them. There would be many times when they will not be able to help you intuit about something well. Its your responsibility to use the vast amount of resources available to make yourself good at the courses you take. In computer science, you have this unique advantage of learning from anywhere. Don’t just depend upon your teachers for your understanding.

  4. Do practical things. Push yourself as much as possible to do practical projects with researchers/developers, even for no or little compensation or recognition. There are ways in Indian colleges to avoid practical work in courseware by doing “jugaad”. My biggest regret from my college days was not doing more practice. Again, do as many projects and as much programming as possible. In retrospective, the best way is to do jugaad in exams/labs so that you can score the maximum but do practice in your free time where you focus on quality and learning.

  5. Remember that credentials like marks and university brand value is just a good launchpad, your skills will take you ahead from there. Dont fret too much about marks if you think you are good at practice. Learn to build. Just don’t neglect exams and marks altogether as I said earlier.

Ok. Enough of boring meta lecture. Let me tell more about academics :

  1. Learn Python very well (and R too). They are easy and can be learnt online for free at many places. You need to be fluid in Python just like you are in one of the languages you speak. Programming is taught in most CSE curriculum but the aim is often to ensure a minimum standard than making you fluent at it. You need to take charge and make sure you are fluent.

  2. Keep a track of 3 courses being taught to you very well. These courses are Statistics, Linear Algebra and Optimization. As a Data Scientist, these are the three courses you use the most at job after programming. Many tutorials/courses available for free. Here is a list of 50+ free books which might be useful for self-learning these topics:

  3. Remember your differentiator as a Computer Science first Data Scientist is going to be programming. Keep good command on Data Structures and Algorithms courses and Databases/Data Processing.

  4. When you now about the basic somewhat, try doing courses like the ones listed on · Making neural nets uncool again , and Data Analysis specializations on various platforms like Coursera/Edx. Please remember, doing the courses is more important, buying certificate is optional. Do assignments, not just theory.

  5. Subscribe to a few newsletters to make sure what is going on in real world of Data Science when you are in college. State pf the art research and new tools.

    1. Q. How important are good colleges (IITs & all) in forming an entrepreneur and how does it differ from a dropout in India?

Originally Answered here:

Good Question.

There are 3 things I consider very important to be a successful entrepreneur :

  1. Basic Intelligence : “All smart people don’t goto IITs/NITs” and “Not every IIT/NIT student is smart”, but you will agree that many of them have above average intelligence. Certain amount of intelligence is needed to be an entrepreneur and many good colleges will have kids like that.

  2. Awareness/Environment/Compounding : This is the most important, but really underrated property. Good colleges are a gathering of high percentage smart people who are connected to other smart people and know about what is going on in the world. The environment and conditioning in 4 years can change people’s world views a lot and make them look at world in a way that helps them churn out successful technology businesses. This is not unique to IITs say, Stanford, Cambridge Cambridge, Massachusetts – Wikipedia and OxBridge etc have demonstrated this too. You can also see this in other spheres of life as many successful businessmen come out of successful business families and many brave army officers come out of army families and many civil servants come from civil servant families. Environment and conditioning compound over time and give a distinct advantage. I think this is the major contributions top colleges bring to ones life, awareness and network.

  3. Risk Appetite : Any successful entrepreneur is one who takes many risks. Risks which have extremely high payouts (in Billions of dollars) and relatively less loss (say 2 year in career growth). When one takes 10 such risks, they have probability of getting success is OK, when one takes 1 such risk, their probability of success is close to zero. Although it might sound unfair, but it is about trying to get lucky while losing out less for every trial. IITians and people from top college know that the payout on success is huge, while on failing their degree/credential will give them some kind of a social security by getting them a decent job. For someone without a credential, its just way harder making their risk appetite less. Introduce some kind of achievement based social security for entrepreneurs and see the number of startups from non-elite colleges soar.

Cannot say about dropouts, you don’t have too many dropouts in India ! Peter Thiel asks people to dropout and work on their business and when you look at his fellows, that doesn’t look entirely wrong. Thiel Fellowship - Wikipedia

That said, society in India recognizes credentials much more (probably because we were rules by British in past) and the factor 2 above will not be fully possible for a dropout. That said, one can build awareness and network without going to a top college too, its not impossible, they just need to know what to do and stay committed.

Q. Is Computer Science (CS) overrated in India? Every other engineering students wants to take CS in any college whether he has interest in it or not.

Originally Answered here:

As bad it feels while saying this, CSE is actually NOT overrated in India. CS has both a supply side and demand side advantage in India thus creating opportunities that are just not possible for other streams. Let me try to explain my point :

  1. Most (not all) Indian educational institutes were opened after India allowed foreign firms to enter India. These firms were either opening sweatshops in India or opened factories in India so that they could sell to Indian market. As you can imagine, not a lot of innovation is required for both such jobs as all they need is cheap resources and people managers with domain knowledge. This shaped the Indian education system to create Engineering Schools which handed out degrees to average engineers for cheap. Government, Businessmen and People they all wanted cheap accessible degrees, why spend a lot on Engineering education when everyone gets a 2.4–3 Lakh Rupees per year job, wherever they study from. One wont spend 50 Lakhs to get a degree that pays 3 Lakhs/Year. To be clear, I am not complaining, this was a good move given pre-1990 salaries in country. People did not mind doing low quality work if it paid relatively better. Only some T-schools subsidized by government could continued focusing on high quality during this time. Students from these institutes had to run to US or EU for a job as they just couldn’t compete salarywise to others. Most Indian colleges have BAD faculty, not even average. We have better high school teachers in our nation than Engineering lecturers in many cases, because to push cheap degrees, we cannot pay good money to people teaching engineering. When all you need is an Engineering degree to get a low wage job with high certainty, this is what would emerge. Unlike other branches of engineering, where you need great investment to setup labs and research facilities, CSE education can effectively be completed on a single laptop. Most universities and experts around the world are also more open in CSE to share their knowldge through the internet, very less secret and proprietary research. High quality CSE study material is available for free or cheap on internet for minimal investment and someone who doesn’t want to be just an average Engineer and wants to actually know and build in detail has an option to do so. People in colleges with good infrastructure (IITs/BITS) could take advantage of this arbitrage before it was commonplace. Almost everyone in our batch (2008–12) had done Ars Digita University ArsDigita University – Wikipedia courses during our engineering years. So unlike no other branches of Engineering, in CSE, people can spend quite less money to get a degree and still become very good Engineers if they know where to find the right information. You have coursera, edx, udacity, udemy and many free courses on youtube teaching CSE for free/cheap. This is a unique advantage for CSE students. While you still get a degree from a system that is designed to make you average, but still, you can be really good. This creates an arbitrage where your salary requirement would be lesser than the top engineers who invest a lot of money for quality education. Supply of high quality cheap Engineers brought in many many jobs opportunities into India. Unlike the sweatshop work of yonder years, this was well paying work. If there is a reason why CSE is so coveted, it is this set of jobs.

  2. This created a cycle, India’s top software talent then went ahead founding more software based companies/startups whose high caliber, high skill work in done in India as well. This created more high paying positions and talented individuals which forced more foreign firms to bring high caliber more jobs into India to stay competitive. A self-enforcing cycle. Basically, Indian software power is like a black hole, keeps sucking in jobs and thus creating better outcomes for students. In last 10–15 years, the entire scenario has changed for the better in a way no one could imagine.

  3. Most other industries in India mostly took safe bets. Put up a car assembly line, Build a road and things like that. Indian Engineering jobs in these sectors have been domain-informed people-management mostly. All innovation was mostly done in US or Germany or (now) China. There was no loop of Skill-Jobs supply-demand set up. Reason being there is no way to get cheap education in say Mechanical Engineering or Electrical Engineering without compromising in quality to self-motivated people. With India now moving towards a self fulfilling manufacturing base, we will probably start moving towards this, but the progress will be slower.

So to answer your question, CSE is actually a good bet for people who have no idea about what they are interested in. Most kids actually dont know what they will want to do at the age of 17–18 years as our education system before that keeps us away from decision-making and vocation. Maybe that would improve in the future too. For such people, it is actually a good bet to take CSE. If they put in some effort apart from what is taught in the class, their learning has no restrictions and they might make it big.

However, for someone who understands how they will chart a course as a Mechanical Engineer say, it is stupid to push them into pursuing CSE. One of my first year wingmates took Mechanical Engineering at BITS by choice (ie could have gotten a Information Systems degree like me which had a lower cutoff or even Electronics as he had scored high) knew exactly what he wanted to do in Mechanical Engineering and ended up creating one of the biggest robotics companies India had ever seen. Smart people will almost always find their way !

Q. My relatives are pressuring me to do graduation and I want to learn coding because I think the value of graduation is now gone after the new education system policy. What should I do?

Originally Answered Here:

Relatives are pushing you to get a degree than do self study due to three things :

  1. Coming from our British colonial past and then post-independence socialism and then IT services based economy, credentials of a person (like degrees, certificates) have been used as a filter have been used to filter people for jobs (marriages too in some parts of India from what I hear, “cannot marry my kid unless you are an IITian”). So when your relatives were students, a good degree was must to get anywhere. Indians were mostly doing petty stuff for most of this time, aircraft maintenance than aircraft building, updating BI tools rather than creating BI tools and implementing an MNC’s policy in India rather than making policies. The problem with such relatively-lower-skill jobs is you just need “good enough” people for them and thus can use any arbitrary filters to screen them. Degrees, thus were very important to tell how “eligible” one is. When I was writing JEE and BITSAT in 2007–08, not getting into a good college basically meant very very reduced exposure and brownie points, there was no match between the outcomes of an elite degree and non-elite one! Even now, there is still some difference in outcome, if a person has no differentiator other than college degree. This has started changing only very recently as Indians have started building original products and companies, which is harder to achieve and thus they need people who are really good and passionate about their work. Hiring someone from IIT who cannot get my app grow really fast by digital marketing is not going to help me as a founder, I would rather hire someone who is really good at digital marketing from whatever college. Due to the competition, Indian elite colleges are still much more likely to produce many super-intelligent and hardworking people than average colleges, but yeah, IIT/BITSians only type job postings are slowly declining. So by this criterion, I guess there is no disadvantage in not wasting money on a university degree. At least for programming and Computer Science, free and high-quality education is available online which you can get to become a great programmer without any CS degree. If you are going to start a company or going to work for startups for most of your time and are committed to keeping your skills top notch by self learning, graduation degree actually is redundant. But be assured that institutions that run on credentials: Banks, Service companies, formal education, government and others, are almost never going to hire you, unless there is a radical change.

  2. That said, the field of academia is still very credential based. It is not uncommon to hear someone to get rejected from a MS(Data Science) program because their Bachelors was in Electronics. Think of it, there should be no big deal about an electronics graduate willing to pursue Data Science, but academia as a field runs by credentials and sometimes even this gets stuck. No wonder, academia is the system of credential building and the whole castle will fall if they start making exceptions. So if you are avoiding graduation, you can be assured that you cannot go back to a college or university at skill level you really are at after all the self learning. You will have to start with bachelors whenever you decide to go back to school, even if you might have published a paper in Nature. Chris Olah, who is an AI researcher at OpenAI (and flunked graduation when he heard and read Peter Thiel) writes in detail about it here : Do I Need to Go to University? He used to be active on Quora too !

  3. One important thing you need to know about universities, they may be suboptimal institutions at undergraduate level, but they are really good at one thing, ensuring a minimum standard when a student is given a degree. Everyone getting a degree is not really great at their job, but you know that they will have some bare essential qualification if they have taken exams and completed formalities. If you decide to stay outside this framework and take responsibility and are driven to self-educate overcoming procrastination and comfort-zone, it is really good. However, you have no safety net, there is no guarantee that you are not totally wasting your time away. You will have to be very proactive to make sure you are actually making progress and are not getting stuck.

Net net, ditching gradation was unthinkable maybe even 5 years back, but for programmers, it is a feasible decision now. However, it has many implications which one needs to understand before they take the call. Its a “package deal” all the independence and super efficient learning combined with the risk of procrastination, staying no to credential based system. Make your choice well, Hope this helps !

Q. Will it be worth it to invest 25-30 lakhs for a BTech in BITS Pilani after COVID 19 if ROI decreases as jobs will be affected?

Originally Answered Here:

We don’t know how the job market will look after 4 years (understanding that you are entering Engineering now). From what we have seen in history, after a economic crisis (like the ongoing year where jobs are extremely hard to come by), there is a economic boom. Unless the policy is really bad (or socialist which doesn’t allow private sector), an economic slump weeds out bad (sometime good) competitors and when the market gets some confidence back, the survivors experience a massive surge. Also people who lose jobs develop new expertise and come back with new innovative ideas in the booming market where the survivors are making money to make more money themselves. During an economic crisis is the best time to get educated and prepare for a future career.

For example, during my early years at BITS, the 2008–09 crisis had made things really bad. My seniors had to take jobs with companies who were not allowed in campus a few years back because they paid really less or had employment terms not aligned with college’s policy. But that was a bad time to enter workforce. However, by the time I graduated in 2012, the job market was in full swing and people were getting placed in top MNCs with salaries 2008-09 graduates could only dream of. The MNC craze got done around 2015–16 with Indian startups becoming the highest payers until this pandemic disruption. The pandemic disruption will change industry and economy for long term, but unless something goes really wrong, I think 2–3 years down the road, we should experience another economic boom.

Most people dont think in terms of RoI and treat education as a cost to build long term employment out of it. So take a loan, complete a degree, work your way up the ladder, pay the loan back, do a masters, start a family… you know the general rule. If you are planning this type of a trajectory, I think its a good bet to get into college and start a degree right now and hope economy to bounce back in a few years.

If you want a quick RoI on the 25 Lakhs, well that is a lot of money to get time bound RoI on. During our batch, you could typically earn back all money you spent on college degree in a year or two. Even lesser if you had an MCN. However, it seems that wont be the case now. In a positive way, that can be a good incentive for people to work really hard and develop as much expertise as possible during their stay in college, because that degree is really you burning a lot of money. People 10 years back had optionality, people now dont have that, great things are achieved when you dont have optionality.

Also probably incoming college students need to think more about long term perspective before they choose what they study. For example, A lot of my batchmates just took a loan for a US college degree just after they passed out and had to think of the RoI only while planning for their masters degrees, I dont think new people will have that liberty given 25 Lakh already needs borrowing money at graduate level. At least one or two paths to follow after they graduate should be clear to them from start. You can only get a sure-shot high RoI if you plan a way to get RoI, dont just invest and hope the dice turns a SIX.

This might be expecting a bit too much maturity out of the young people entering colleges and I am sorry about that. We are not expected to make any decisions in our first 12–14 years of education and it will be huge change to take a decision keeping 4 years in perspective. That you are asking a question about RoI at such a young age is already impressive. Hope you have a good BITSAT score :) .

Q. Are there any Indian startups who can accept a fresher for an internship?

Originally answered here :

“Startups” is a very broad set of companies. From decacorns like Ola to your neighborhood garage startups, its a very wide spectrum of companies. Here is how I think one should look for jobs/internships in Indian startups depending upon what one’s profile is.

The larger startups act like large companies, having a dedicated arm to hire talented freshers/interns and nurture talent so that they can become a part of company culture. They will typically act like large firms, HR CV sifting, tech rounds, salary negotiations and so on. A fresher on hiring here can expect proper orientation, training and a career like traditional jobs {with some more challenges and fun}. There will be formal calls for internships and people sending resumes and referrals here to apply. Let’s call it type A.

There is another extreme which is a garage startup where everything is figuratively on fire and they are looking for cheap hands to just “man the wall”. They will hire almost anyone as long as you don’t have expectations of high salary. If you learn stuff well while being on job, you might be able to get good leverage and stocks later on. Interns in such startups are proper employees, handling stuff that the founders cannot squeeze into their 24 hours. Let’s call it Type B.

So while Type A has more of a “formal training to smart people” approach, Type B has more of a “learn on the job” perspective.

Then there is everyone in the middle. Looking to possibly get a product market fit or scale according to crazy investor expectations. They are in middle of Type A and Type B. These startups IMO are looking for “self-starters”, people who can actually get small things done, so that they can own small chunks of their products and help senior people focus on harder problems {There is never a lack of hard problems}. Let’s call this type C.

So, if you are a fresher who is good at academics, have a good CV, try applying for type A startups. Look for open internships on their careers page/LinkedIn or write to their HR.

If you want to learn from the very basics, apply as a fresher intern in a type B startup. Just write to the founders directly in this case. Look for recent seed fundings on Yourstory or Inc 42 or news about startup incubators/accelerator shortlists or your startup whatsapp groups for such companies.

If you have some basic knowledge of some technology stack/ business or operations stack and want to apply it, Type C is a good place to actually learn more and apply these skills. Just write to their careers address or the founders or senior people from these companies you follow to learn more about the field you are interested in.

Q. What are the career opportunities in India for a graduate student who studied computer science in the US and now wants to move back to India?

Originally answered here :

This answer has my personal opinions as a recruiter, who has interviewed US graduate students in past and many many Indian aspirants for the same job profiles.

India now has Computer Science jobs which are very well paying from Indian standards and involve graduate level work. Not just at my startup, but at other startups and enterprises as well. However, US graduate students are at a great disadvantage when it comes to Indian jobs. They have a big liability in terms of the student debt they have accrued and the US credentials have little benefit to offer over Indian students who have learned advanced Computer Science using open study materials and MOOCs. You can find many Indian applicants who have better exposure to research projects in IITs and IIITs demanding lesser salaries than someone who attended a tier 2 or 3 US university with just plain coursework MS program. Even for normal Indian students not having exposure to research, studying Data Structure and Algorithms at a tier 2 US university is not really better than taking and passing a Stanford algorithms course on Coursera in my opinion. And thinking of it, there are Indian students who have written papers with IIT professors in tier 1 / tier 2 Computer Science conferences competing for the same job profiles demanding lesser salary, people with plain coursework US degrees don’t compete well. People with good research exposure during graduate studies might be able to compete with Indian jobseekers, but I frankly haven’t seen many such students seeking jobs in India.

People who have studied at Stanfords and MITs have a brand that can get them employed at institutions which can afford the extremely high salaries US graduate students on an average demand. But if you have a tier 2/ tier 3 US university degree or are going for it, know that it is a package deal where you have to work in the US after your degree at least till you have your debt sorted.

Q. How can I learn the Python language easily? I am in 10th.

Originally answered here:

Use Youtube. There are many different introductory level Python tutorials available. In fact, try out many of them to see whose teaching style sits best with you. I learnt Python around 10 years back fully from a Youtube channel because as a student I found reading books cover to cover quite boring. The channel was thenewboston , whose tutorial videos from then are still online {but irrelevant today as they were for Python2 } :

Given I have watched some videos from freecodingcamp and liked them, I would recommend you to maybe start your search for a good course on youtube from freecodecamp :

You can also try free Udemy courses. Don’t buy one, login then search for “Python” courses and on the filter menu choose price as free to find free courses on Udemy. Udemy courses are somewhat more structured and completing the course gives feeling of accomplishment if you like that.

Q. Do you agree that Career Curve of a software Professional can be expressed as Bell Curve as shown in the video ?

Originally answered here :

First of all, this psuedoscience should stop using Normal Distribution so lightly. Bell Curve has a meaning and I am pretty sure career trajectories don’t follow it. Normal distribution - Wikipedia

Secondly, there might be some truth in what the person is saying (given that is what one find obvious to happen). The growth rate of a person they correlate with years of experience roughly correspond to people’s priorities in life. Young people place high priority on dating and parties and slowly get more and more career oriented with time, until they start putting their families on high priorities and career becomes means to make money for family. People who think that the experience in years numbers is the one factor that decides growth rate are just falling for a simple Simpson’s Paradox IMHO.

Originally answered here :

In all these places.

I mean you cannot write any Python program without using dictionaries or lists (or arrays in Data Science). They are all Data Structures. All profiles you mentioned will require Data Structures and Algorithms, mostly as language constructs or libraries. Sorting algorithms are just calling sorted() in most real world scenario, most standard things are pre-implemented.

What many people mean by “using” Data Structures and Algorithms in such questions is actually “implementing” complex data structures and algorithms. That is generally when you are familiar with a domain (and programming) enough that you start designing APIs or start solving open ended problems for which no APIs or libraries are available.

Q. Is there ML & AI in the IT syllabus? Can I learn ethical hacking in IT?

Originally Answered here:

This question cannot be answered in a Yes or No. IT degrees are not regulated (which is a good thing!) and hence are free to decide what to teach and what not to. Basically, answer is “depends upon what college you pick”

You will need to make an effort to find out what courses are taught at a program you are applying for. That may/may not have Artificial Intelligence / Machine Learning courses or Ethical Hacking courses.

Q. What are the advantages and disadvantages of working in product based companies?

Originally answered here:

With the kind of blanket points about product based/service companies I see in other answers, I think the stereotyping is already done.

First of all, one should take any statements like “all X are Y” with a grain of salt, there is some probability of truth in such statements, but they cannot be used to take decisions.

There can be unique facets to working in a product based company or service company like being able to focus on a product long term or solving many challenges over time (in service companies). These are not really Pros and Cons.

Let me now suggest you to take decision of where you want to work based on what is important for you, rather than whether the company is product based or service based. These things are :

  1. Who pays more money right now. (There are low/high paying product/service companies, how much it pays depends upon the company’s business model)

  2. What is the outcome of investing X years with the company, do you get locked in or do many opportunities open up for you. (This depends upon the work practices of the department you are put in rather than you are in a product/service company)

  3. Personal Growth. (Be selfish, ask what it has at the end of it for you)

Talk to some ex-employees of the companies about their experience. Understand why they have any perceptions about company (if any). Checkout their Glassdoor, remember the following : A warning about Glassdoor

Taking a decisions about your work on a broad metric like whether a company builds a product or provides services makes no sense.

Q. Can a non-technical person start an AI startup?

Originally answered here:

Yes. They can.

The most important skill as a startup founders are : 1. Storytelling and 2. Getting the right team onboard. If you have these skills, you can start an AI company and get other people who know AI onboard to solve the problem for you.

Although 1 and 2 sound very simple skills, 1 basically determines how well can you sell your product to customers and investors {thus raising money} and 2 needs both identifying the right people and getting them onboard. Both 1 and 2 are rare skills. That said, you will need an AI person in the team as early as possible to keep your storytelling grounded. You will need to understand what is achievable with current day technology rather than building your startup stories around technology hyperbole.

Some observations from me about initial stages of an AI startup : Patterns I Noticed While Getting An Ai Startup From Zero To One

Q. How hard is it to find and hire people with great AI skills or expertise for a new AI startup?

Originally answered here :

Very. At least for now, most people in these fields have expectations to work at a FAANG company with a FAANG salary. That is extremely hard to afford.

Luckily in case of my startup, one of the founders (that is me) had interest in the field to work as an individual contributor as well as to set expectations of our investor that we would hire people who would tinker and learn on the job by trial and error.

Don’t start a new AI company IMO if :

  1. You cannot onboard someone who can get things done in the field as a founding team member (or)

  2. Raise enough money to compete with FAANG salary with salary and ESOPs.

Some points I could figure out starting an AI company are listed here :

Patterns I Noticed While Getting An Ai Startup From Zero To One

Q. How can we get data for a machine learning startup?

Originally answered here:

Figuring out where to get the initial training data from is one the hard things in a Machine Learning startup. Its as hard as figuring out a product market fit (or maybe somewhat easier but still quite hard).

Some things you need to think of :

  1. If you are building a Machine Learning startup, the better your algorithms, the better name you get.

  2. For most Machine Learning algorithms, more training data generally gets much higher accuracy.

  3. Acquiring annotated data requires money and investment. In fact there are some domains where you don’t have the data publicly available to capture.

Some suggestions from my experience :

A. Don’t do a startup in a domain where acquiring data is hard. (Of course unless you have some unique skill/contacts to get this data).

B. Raise a lot of money (using your skills or credentials) and then get the data annotated by investing some amount of this money.

C. Build a product that has a feedback mechanism to learn from errors. Spend relatively less amount of money correcting the Machine Learning predictions (which is during the feedback part) and put this data back into the retraining Machine Learning algorithms, so that it gets better.

Some detailed thoughts here about an early stage AI/ML startup : Patterns I Noticed While Getting An Ai Startup From Zero To One

Q. How do I find investors for a start up business in India?

Originally answered here:

I hope the author of the question is a person who is hoping to do a startup in future (and not someone who is already started a company). Dont start a company before you understand the importance of fundraising and cash. Startups unlike traditional businesses depend a lot on the fund raising capabilities of founders.

About raising for a startup, the following is what any standard online “guide” will tell you:

  1. Have a vision for the company.

  2. Have some kind of a working prototype/PoC

  3. Create a pitch for your product, long version and short version.

  4. Network, there are many startup events where there are investors looking for startups and many many startups looking for investors. Go out and pitch your idea and vision using your prototype. It will take many many pitches, multiple events and one-to-one meetings before someone writes you the first cheque (unless you have a team with excellent credentials) , subsequent cheques will be even harder.

  5. Adapt to the feedback from your customers and potential investors. Its not necessary that you incorporate all feedback (many people give feedback just to feel smart, not because they know), use your judgement, but adapt your vision, pitch and product. Understand that its next to impossible for someone to intuitively come up with a superb product.

  6. Read about the rest of the ecosystem. Its slightly easier if you are going in flow and in sync with what is trendy these days. EdTech for example will yield more funding than Tourism based ideas in November 2020 : Muktabh Mayank’s answer to Does Edtech industry really got a boom due to Covid 19 since most people started learning online?

    1. Q. Which do you think is better for an entrepreneur planning to create tech startups; an MBA or a CS degree? And why?

Originally answered here:

This is going to be very subjective so take this with a grain of salt. My life experience doesn’t necessarily model the world.

The answer in short is : Depends upon the type of startup you are creating. If you are starting a company where a lot of contacts are needed, MBA might work. Contacts help if you want to raise large of money even before product works (say you are developing an electric vehicle company or starting a modern coffee chain or you are trying to get into well set supply chain of a country etc). There are moonshots which need one to able to raise a lot of money just on credentials, an MBA from GSB or HSB is basically a credential. If I try to explain it more, its the type of companies where differentiator is not technology but the scale of idea itself working on commodity tech. An hi-scale idea + commodity-tech business market is open generally because contacts are required to pull it off and few people have them. A good (but controversial) example of such a business is WeWork (before Neumann came into news for all the wrong reasons). MBA’s aim as a degree is basically to build network in less time. Other than that, no part of business is a skill that can be taught :

There is no skill called “business.” Avoid business magazines and business classes.

— Naval (@naval) May 31, 2018

Basically one of your batchmates or seniors from B-school might be running the funds which can invest than amount of money without a product. If your company is selling to large businesses where your batchmates are decision makers, this network might help you get a step in the door for sales.

If you are starting a company where a product is differentiated by tech, almost all aspects apart from sales do not require contacts. However, building non commodity tech does require knowledge about computers.

Study microeconomics, game theory, psychology, persuasion, ethics, mathematics, and computers.

— Naval (@naval) May 31, 2018

That said, being an tech entrepreneur doesn’t always need a full degree in Computer Science, one needs to understand what computers can do and where to find teammates who can make the tech work for the idea. That is all. This includes ideas like Oyo, Flipkart, PayTM, Cred and so on.

OTOH, there are some ideas which can only come to someone as a techie (say developer tools or new tech infrastructure). I don’t think a non Computer Science educated (formally/informally) founder can develop these:

[Postman: a software startup valued at around $2 billion Gadgets Now](,_Inc


Databricks - Wikipedia

Julia Computing Raises $4.6 Mn Funding From General Catalyst

Hasura - Wikipedia

Q. Can you get a good programming job in India within 3 months if you have never programmed before but are a quick learner?

Originally answered here :

“Can you get a good programming job ?” I don’t think so.

“Can you get an entry level programming job ?” I think this is possible given that you are able to become comfortable with programming.

Please remember programming is like learning a language (say English). Very few ‘good’ jobs are given on the basis that someone knows a language. You need to understand the domain : hospitality, education, multimedia, journalism etc. along with knowledge of English to get a good job. But that said, you can be an intern at a newspaper or a trainee at a hotel and learn about the domain there.

Similarly, after learning programming, you can get an entry level job as a web developer, data engineer, data scientist, embedded systems engineer etc. But you will have to gain expertise in the particular field along with programming to get a good job.

Q. What’s the difference between an IITian who gets a yearly package in crores and a first generation entrepreneur?

Originally answered here :

I graduated from my college with a better than average job offer and then worked for 2 years before I quit to start my own company. So, I can probably answer this question from both sides.

I am not an IITian, but I am a first generation entrepreneur. Also, I did not get package in crores after my college so I cannot tell how much a crore rupees in your bank account looks like. {Frankly, a package in crores in only for people who are joining companies on the US west coast where cost of living is very very high, so its much less money than probably what you might expect it to be !}. Another person I know very well qualifies exactly for the question [IITian, package in crores, came back to India to become a first time entrepreneur]. So I will try to put my observation of them in this answer too.

About job and building a company :

  1. Building a company is much harder and requires much more patience than day to day job. So, you will probably never be able to start your own company if you are working on something you are not passionate about. It is just too much of a responsibility, you cannot do it part time or do it without interest. The same amount of passion which you possibly feel about your college crush or cracking JEE is needed, possibly for more time.

  2. Despite a day-to-day job being relatively easier, it is much more frustrating. People feel bad about weekend ending when working in a company, in a startup they can work all weekend and then the next week.

  3. Building a startup requires much more thick skin. If someone says something to you in a day job you might feel bad (and maybe quit in search of better company culture), 10s of people will criticize your product in a startup and you will probably have to convince and sell to these same people.

  4. Building a startup is much more risky. I am not going to sugar coat it for you, but you might seriously be behind your peers in terms of income while possibly being ahead of them in wealth. This is a unique scenario as most Indians [and people from families of first time entrepreneurs] equate social status with income and not wealth. 2–3 years down into a startup and unless you are very lucky you might be living a less “lavish” lifestyle than your peers, for some small probability that you ca become super rich in furture. Also wealth [valuation of your stock] you accumulate in a startup is very high risk, as its all eggs in one basket, your company might close and cash flow of your company is effected due to COVID disruption, and your wealth might become zero.

  5. Also the dedication required in a startup effects your social life. If an introvert in a regular job gets 5/10 in social life, an introvert in a startup would get 2/10 at best. If they are getting more than this, they are not putting enough effort IMO.

  6. Its not just you who is taking risk as a Data Scientist, its your family, your significant other and other near and dear ones. You will need to sell your vision and care about getting outcomes in time to make your way ahead and keep everyone interested.

  7. Startup is what the authors of Freaknomics call “Tournament” lifestyle, you are either on top [in 1% or 0.1% cases] or you are behind average. Day to day job keeps one close to the average. Average [after passing out of IIT] is not bad by the way. Most people are thus like “why take risks ?”

Understand more about Tournament lifestyle here : Muktabh Mayank’s answer to How can I stand out as a machine learning/artificial intelligence engineer in India? Additional details in comments.

Another essay you might find interesting : Muktabh Mayank’s answer to Everyone says “India needs more entrepreneur”. But the same people want their friend or child to be in a big company or a good government job. Why?

Q. How can I start my own startup using artificial intelligence?

Originally answered here :

It will take decades/centuries before AI can just let you start a full company. Like “Jarvis, start a company which does X!”. I think that was not being asked in the question in the first place, but just in case.

Typical method I think you can use while starting a business where you want to use AI as a tool :

  1. Know about what can be done using current advances in AI. A typical rule of thumb as of 2020 is anything which humans take a few seconds to take a decision can be done by existing AI techniques too. Don’t read MSM coverage of AI, its often plain wrong, read research or close to research tech articles to understand what is actually possible and what is hype (There is a lot of hype). Stay away from things that follow a Fat-tailed distribution - Wikipedia

(like predicting success) and do Phrenology - Wikipedia

  1. (detecting psychology from appearances). Typical usecases of currently existing AI algorithms are recognizing stuff in images, reading / classifying and responding to text, catching out of ordinary patterns in data (customer churn / credit default guesses), understanding and responding to human speech etc.

  2. Make a list of problems: Make a list of real world problems where there are inefficiencies or frustration. See how existing AI can solve the problem. If you want to invent something to solve the problem of your choice, get a research grant, not venture capital. Only build what can be solved by existing AI techniques.

  3. Build a prototype quickly : Collect some data and quickly build a prototype. Pick off the shelf AI models. This is very important, as it makes sure you are not all gas.

  4. Approach early adopters and start setting up moats: Once you have a prototype, its time to reach out to and find early adopters. Also its time to think of what will be your moat and start taking first steps towards it.

A very detailed set of my observations about what needs to be done after you figure out a business idea can be found here: Patterns I Noticed While Getting An Ai Startup From Zero To One