Saturday, April 25, 2015

General advice to young students about Startups

(This article has been derived from a talk I gave to Final year Computer Science students)

Before I start, I would like to ask you to think about the dream companies that you aspire to work for after graduation. You will probably come up with names of big companies. Have you ever thought how these companies were started? Have you thought about who were these crazy people who started these companies? If these people would have thought - let me join a big company and have a stable life, then these companies wouldn't have existed, right? Don't you think these people are special, not only because they create employment for others, but they also create a lot of value and wealth, not just for themselves but for countless others? The point of this thinking exercise is that instead of going to work for a big company, you can think of starting your own.

I just made startups look a bit glamorous, but let me tell you some important things. Startups are very challenging. Its like taking a roller coaster ride, there are lots of ups and downs. Sometimes, it happens, that while you are on the roller-coaster, you feel like puking. But when you are done with it, you feel like - hey, I want to do that again. Startups are also strangely addictive in the same way.

Another important thing - startups are really really hard. Let me give you a statistic - 90% of all tech companies fail. They close down. If that doesn't make your head spin, let me give you another one. 75% of all Venture Capitalist funded companies fail. If you know about Venture Capitalists, they only invest in companies that are already quite successful, that are already moderate sized. They mostly put in money for the company to scale. Imagine, these guys having all the money in the bank and still 3 out of 4 such companies fail. You might think once you have money, you will be successful. But surprisingly, that's not what always happens.

So you guys must be thinking - how is working in a big company different from working in a startup.

In a startup, there is lot of freedom to do things and a lot of learning happens. Lot of growth happens, because you will be doing multiple things at the same time. If you think in the short term and want financial stability, then go ahead, you can go for a big company. But if you think in the long term, if you think about learning and growth, then startups become a really good alternative.

One major complaint I hear about big companies is that there is lot of politics that happens. You need to suck up to the right people, or show that you are productive in some way, and that's how you get a promotion or a raise. Or perhaps somebody else does that better and gets ahead of you, which sucks, right? In startups, politics doesn't work. You have to just create something that your users want. You have to create a product that users love. You have to work hard, and that's what matters. Any tricks you do, simply stop to matter. I am thrilled that there is something is this world where hard work really pays. Startups in this way, are a great meritocracy.

Another major thing I hear about people working in big companies is that they are terribly bored of their work. Its not surprising to me. It happens that you get stuck in a role in a big company and you don't get interesting stuff to work on. In a startup, I have worked for my company for around 5 1/2 years, and I have to tell you that I have experienced all kinds of emotions like fear, anger, frustration, happiness, joy, thrill but I never experienced boredom.

In fact, if I were to define an entrepreneur in a simple sentence, it is someone who makes things happen. An entrepreneur is someone who keeps on doing things. How can you be bored when you keep on doing something or the other? So an entrepreneur does something, if that clicks, he will try to improve that. If it doesn't work, he will try to do something else. And that's how it works, an entrepreneur keeps on doing something and keeps on learning lessons along the way. As he learns, he becomes more mature and increases his chances of success.

So you might say - ok, I am interested in a startup. What can I do?

There are 2 most important people in a startup. The first is the people who do marketing and sales. In startup lingo - they are called the "hustlers". These people talk to customers, they try to sell the product. They also talk to customers and get their feedback as to how to improve the product. They hustle, and somehow get the product in the hands of the customer, they somehow get the customers to pay for the product. If you think that you are the kind of person who likes to talk to people, then you can become a hustler in a startup.

The other kind of people who are the most important in a startup are the technical people. They are also called "hackers". People like me. These are the people who write code. They make the web-app, they make the mobile app, they take care of the technology. They create the actual product that the customers use. I have to tell you that over the years, I have worked on different products, some failed and some were successful. At the end of it, it is highly satisfying to have worked on some products which people actually use. As computer science students, you should seriously look at this kind of role.

There is also another category of people - who are called the "hipsters". These people are the design people, they work on UX, UI design. They work on the website layout and the graphic design stuff. They are not as important as the other 2 people. But if you are into design, you can take this role.

Many a times, I goto startup events, I meet people and they say - hey, I am a marketing person and I am looking for a tech co-founder. Its never the other way round. So after long, I have realized that there is a huge demand for good technical people in Bangalore. And you may be surprised to hear that. Because you might think that Bangalore is the place where you have all the tech companies. You may think that this is where all the tech stuff is happening. But still, there is need for more technical people who are really good.

Here, I would like to tell you about a close friend of mine who works for a company called Accenture. Now, Accenture is a big company, an MNC, its a great brand to work for and you will think that working for Accenture is great. But the fact is - that he totally hates his job. And he has a technical profile. Can you guess why he hates his job? He is into Automated testing. He writes testing code for some shit code that somebody else has written. That's like the most boring job you can find. That's what happened, all the boring jobs have been exported from US to Bangalore. That's why, when you talk to IT crowd in Bangalore, they will tell you that Tech jobs are boring. Its because they are doing uninteresting and boring stuff like testing or BPO jobs. Here, I would like to give you some advice, that in case a company comes along and hires you for a testing job, try to convince them to give you a development role. If they don't agree and say that they are still going to make you do testing, try to negotiate with them saying that you will agree to do testing for 1-2 years, but after that, you will expect to work in a development role. Because working for years in testing is straight path to boredom.

If you want to become a good technology person, you may ask - what are the current hot technologies? What is that I should know to become good in the Technical domain. Nowadays, people are building web-apps. Like facebook, gmail are webapps. They are not websites, but they are complete applications running in the browser. So learning to write webapps would be great. For that you need to know HTML, CSS and most importantly Javascript. Because Javascript is the language that runs within the browser, so being good at Javascript will be a good investment of your time.

On the server-side for the webapps, different languages are used. We use Java, but you can use Java, PHP, Python, Ruby and others. Picking up any one of them will be good. Another thing, there are a lot of people carrying Android phones in India and lot of companies are investing in mobile app development. So, if you are good at Android development or iPhone development, then that's something really hot nowadays and you will not have any difficulty in finding opportunities.

Another question you might have is - when should I start my company? Is it immediately after college? Or is it a bit later.
There is no correct answer to this question. In the media, you must have heard of people like Mark Zuckerberg who dropped out of Harvard to work on Facebook and made it really big. The Snapchat CEO, Evan Spiegel, is the youngest billionaire at 24. So you might think that starting as soon as you graduate is the right thing to do. But in my opinion, starting a company right after college is really hard, unless you have some good mentors. So, working for a couple of years in another company is quite good. Or better, after you graduate, you should look for a job in a startup. This may jump start your career and may give you valuable experience, so that you can start on your own, at a later time.

Typical successful founders are 30+ years. So when you hear about successful people in their early twenties, they are the outliers, they are very few in numbers. Its later in life, that people become successful.

One important person I want to tell you about is Paul Graham. You probably wouldn't have heard of him, but he is very popular amongst the startup community. If you are even remotely interested in startups and entrepreneurship, you should check out his articles. They are all posted on his website, for free, and its a great resource.

Finally, I would like to conclude, that you guys being students, should have a lot of hunger for learning. There is a lot of exciting stuff that is happening within technology and if you dive into the right things, you will have a successful and satisfying career.