a. The IT and Outsourcing boom happened in the 2000s and the Indian IT sector started outpacing all other industries and non-IT companies began to suffer. For example, during the 80s and 90s, there was demand for electrical and electronic engineers in state owned corps like BEL and there were other players such as Onida, Dyanora and Kirloskar. Then globalization happened - suddenly in came Infosys and Wipro with unheard of pay scales and they started sucking in the talent. Foreign players came into the electronic appliances space and non-IT companies began to lose talent heavily. They never were in a position to compete with Samsung etc., and got completely wiped out. As a result, in the 2000s, most engineers irrespective of their specialization (Computer Science, Electrical, Civil) would go towards an IT space looking for a job.
b. Indian IT is mostly service based. As a result, they are looking to maximize value at all times. They don't care if you can't think on your own or need supervision. As such, the idea is that if you are good enough to graduate with an engineering degree, you are good enough to succeed in an Indian IT job. There are no true technical interviews, there are no true behavioral interviews. They are looking for molds. The same guys go on to become supervisors and they in turn look for similar traits when they recruit.
c. I seem to be the only one always complaining about this but Indians in general are not risk taking. They seem more content working for a Wipro or an Infosys than taking the plunge to start their own companies. The problems here are multi-prong. Parents are more focused on ensuring their kids success relative to others. The whole thing is based on a giant mediocrity scale. As long as I earn more than my friends or their friends daughters and sons, parents are happy. Inheritance, wealth, prestige are far more important and play a huge role in related incidents such as marriage, political influences, etc., Part time jobs will get you treated like you are below the poverty line. As a result, failure is not an option. Start-up mentality is non-existent in most engineering colleges. In fact the whole setup is against startups. Opportunities are extremely hard to create. The political hoops, the societal hoops turn most people off. No start-up companies in turn leads to lesser product based companies and more IT service based. And as globalization progresses further, the cost differentials and the drops in quality cause a progressive decrease in number of jobs outsourced etc., So, of course the job market is going to suffer.
d. The last part is around the Indian Education system. I came from a pretty good Univ and again, the whole thing was set on mediocrity. Labs were strictly controlled. You couldn't use equipment when lab supervisors were not around and they were in general never around unless they had a class going on. Most programming courses I took hardly had any practical implications. I thought I was terrible at programming only to later realize that it was taught to me in a ridiculously stupid way by professors whose only knowledge of programming came from Indian authored text books which in turn acted as guidebooks for technical interviews to Indian IT Service Companies. So, it was a giant vicious cycle. My final coding test was to swap a set of numbers using pointers and I could never understand the practical implications of any of it. My Professors used employment statistics for comparisons with other educational institutions and between students and constantly emphasized how hard work would get you through an Infosys. At the same time education hardly costs anything compared to what is spent in the US. The Govt authorization of educational institutions is a giant political scam in itself and requirements are fairly minimal. So institutions are mostly ill equipped and are focused on quantity than quality. You will never know your relative worth in an Indian educational system because there is already a pre-existing mediocrity scale for that.