Thursday, August 7, 2008

My take on Indian IT Industry

Well it is not just about recession, layoffs and mergers. There is more to know about the very basics. Read on...

It’s fortunate that the skill, intellect and competency of the Indian Youth have landed us in such a remarkable position in the world. Millions of us riding high on this boom and earning our bread, but let me point out that we are not just earning our bread but also flaunting our riches.

This boom like any other has had its peaks and troughs. And we have witnessed it. But more recently a silent change is creeping into our lives unnoticed and not thought of. Are we prepared for that? Are we trained for that?

Let me be more clear on this. Who was your best buddy in college (ok at least for the assignments sake), I bet it would have been some geek proficient in C/C++/Java able to dole out lines of code at slightest provocation and with a built in memory chip having references to all libraries and source codes from the latest release of the language.

What were the languages we were taught while in graduation? C, C++, java, data structures, algorithms, right? Wasn't the stress on cracking complex problems using efficient code?

But what are we doing today? Can any one compare the efforts we took in honing our skills to the efforts we put in today designing a form / screen. I guess the answer for most of us would be NO unless we are into R&D.

Has any one wondered why this has happened? Do they think its good to be lazy once we have secured a job? No I guess not. The answer lies in the fact the outsourcers have heavily stared relying on proven architectures and reusable codes for dependable and robust enterprise systems and minimum development time thus reducing costs.

So have any of us wondered, why native libraries are disappearing, why Visual C++ took over traditional C? Why Microsoft comes with a new version for Dot net every now then expanding its class library? Why java is also approaching newer levels of standardization?

The fact is that Programming Languages are shifting more and more away from the binary and approaching levels of human intellect. Work done by any human today is encapsulated and shipped into a new version release tomorrow, so that newer generation has lesser and lesser piece of code to write each time.

The architectures and platforms are growing larger and larger with each passing day, and the onus on programmers today is just to reuse proven efficient code.

The question here is that should schools and colleges now teach C# and J2ee, Oracle Apps instead of C and basic SQL to students? Won't it make them industry ready in much smaller time than ever before and prepare them for emerging trends? Or will it seriously curb the analytical and problem solving / coding skills of graduating studs, thus enslaving them to architectures.

We need to introspect, because the time has come to innovate at a totally new level, reduce costs, and move up the value chain, to kill competition from newer bases for IT.