Sunday, August 22, 2010

Why is India not a good Producer of software?

As i was traveling to my college in that bumpy town bus, my mind started wandering and suddenly some questioned popped out of nowhere within me, Why is India still a service provider and why hasn't been a company like Adobe Inc or SUN microsystems able to evolve in here?
The question was clear and my mind started searching for answers within itself, (unfortunately there wasn't a google and neither was there any access to the world of google!). So the immediate search results were:

1. Less student involvement,
2. Failure in understanding the complexity behind software,


Let me elaborate,

How many of us have ever wondered how Google chrome is able to override the Windows' default window properties and the minimize, maximize and the close buttons? That's far away, how many of us have even noticed it?

If I were to find a geek at photoshop or corel draw or MS Word or any other application software for that matter, i wouldn't have to look too far away, for our college has got a wide talent pool in all the afore mentioned categories. Similar is the case in Programming and Web designing where I find both the students and professionals great, both in terms of knowledge and experience. Also, I find a lot of people of my age who are really good at Gaming, hacking and what have you but it's a sheer rarity that I get to bump into someone who's really interested in software production. Even if i get to bump into one, i find him/her technically sound but with no idea of starting a business in mind! I find him as a aspirer who wants his name associated to the likes of Google, Microsoft or Apple - for eternity!
Which lead me to the following set of conclusions:

We, the students are so much mesmerized by these application softwares that we often forget the fact that "mastering the front end is not what a software engineer is meant for!"
We, the students dwell in an illusion that Software is produced just by a bunch of
alien code - You master programming it, you've mastered the art of softwaring(software + engineering, i'd be using this term as an alternative from now on).
Gaming and hacking is fun, Softwaring is not, or would not be!(at least for the gamers if not for Steve Jobs or Bill Gates). I say this because most people find the subjects like Object Oriented Analysis and Design, boring.
People who aspire to be entrepreneurs are not technically sound, and those who are technically sound don't even give a damn to entrepreneurship.

After all these, another question arose in me: So what really is Softwaring? Again i ran a search and the result read, "teamwork!"

That reminded me of Grady Booch and his views, which i'd like to put in here.
Software is inherently complex, which is an aspect that is handled very poorly by our mind. We cannot process multiple data simultaneously with ease. At the max we process 5 to 7 individual chunks of data simultaneously. So an individual trying to solve an industrial problem is like running windows 7 over an 8086 - impossible! The complexity from software can never be removed all that we can do is to define a set of generalized procedures to improve the way it's looked at. Still, teamwork matters no matter how efficient the procedure is. This is probably why no Software company on earth was started as a firm by an individual: had it been so it would have been nothing short of a 'flop'. Which eventually brings me to the conclusion that students must start building a team right from the beginning of their grad school to achieve high! But, unfortunately there's a disunity prevailing, among the students who are really capable of contributing something to
the software world, that prevents them from mingling in as a team.

I would have still been wandering into this sea of thought hadn't the conductor of the bus shouted, "VIT has arrived". I got down realizing that i have a college to go and a lecture to attend!

To be continued...
Feel free to comment, by the way!