Today morning, I read this blog post titled Why Indian startups need to get off their asses and learn to program (via HN). Even though the post is specific to what Infinitely Beta experienced, it quite correctly describes how most Indian startups don't really bank upon building quality products. They think core work can be outsourced and they don't have a team of solid technologists. If you haven't already read that post, I suggest you read that before you read what I have to say.
So what am I writing about? About why (IMO) this is happening. Why Indian tech startups are failing to understand what it takes to deliver a quality product or service. Something fundamentally wrong with the CS industry here.
Point 1: Underestimating the importance of quality. There's barely any tech products that have come/are coming out of India. Why? A major reason for that is building a product means more risk than delivering a service. Risk is something that we here don't take so easily. We're easy going people :-) It's in our culture, you could say. Is it a bad thing? No, of course not. But it's something that you need to break out of, if you want to deliver a product. Services are easier to do, so most people pick them.
However, even in service companies, the usual quality of work is rather crappy. Not everyone can build products and the market needs services too. Service companies don't mean "cheap labour" and they shouldn't! There's nothing stopping anyone from building a quality service company, you can even charge more and your clients won't mind :-)
Point 2: Lack of passion/direction. I just finished my bachelors degree in CS. During four years of college, I've visited, traveled, met up and talked to tons of CS students. The situation is disappointing. Most people who pick CS do it because of reasons like "it will get me a good job" or "that's what every high-ranker does". I don't think more than 15-20% CS students actually want to study it. But they do. And they suck at it. They don't like it. They don't love their jobs. They just want to live a life. So they do the bare minimum that their job asks. They don't have that drive to excel at their work.
However, even people who do like CS, are hit by other issues. Outside of IIT/NIT, the CS syllabus and teaching is horribly outdated and broken. It is taught like we were taught history in school. Rote-based learning. Ugh. They don't see the joy of programming. They don't see the magic of design.
Then there are the "inspirational" companies. Ask any regular CS graduate "what is your dream company?" and I can assure you, you'll mostly hear Infosys/TCS/Accenture/HCL foo. That's your dream company? Companies that don't even judge you technically during their hiring process? You can't think of Google even in your dreams? That just saddens me. People need to start thinking broad, wide and out of the box.
Point 3: The "Design is gay" misconception. This one's a real shocker. I know a fair bit of people who work as "Graphic Designer" or "UX developer" but don't really like design nor do they have an eye for it. They do it because the job asks for it. If you know me, you'll know I'm rather "aggressive" when it comes to design. I can't tell how many people look at me with twisted, cringed looks when I talk about design. What's interesting is how people think good fonts or clean layouts are pointless BUT the same people will ogle at a beautiful car or exquisite jewelry. Wake up, morons. Design is appreciated everywhere. I'm going to do a plug for Infinitely Beta here, because their service paisa.com has a stunningly awesome UI. I was blown away when I first saw it and I don't know how many people I've shown that website to, as an example of good UX.
If this is to change, we need a fundamental shift in the way people think about computer science. No, it isn't easy to get a job in CS. Not the work is not trivial. People need to do things they love, not something daddy, Uncle X or Friend Y considers good.
PS: I recommend reading Computer Science FAIL on GeneralMaximus's blog, for his hilarious first-hand CS education experience.
Update 1: Edited certain words for clarity.
Update 2: Found and fixed some design glitches, thanks to so many comments.
