When I say Indian IT firms I am referring to Indian players like TCS,,Infosys,Wipro,HCL,Mahindra Satyam, services division of IBM India (GBS) , Accenture, CTS ... etc
1) 99% people are absorbed into Software Services businesses. The key difference between a software product company and a software service company is that, service companies serve their clients using tools and technologies developed by product companies.
All technologies/products are made by US giants like Microsoft,Oracle, Apple, Google,...etc
And services firms use these technologies to develop custom applications to their clients.
For eg: Infy,TCS etc works in windows OS developed by MS, to develop a payroll processing application using java/,net (both technologies from USA) , with Oracle as database and deploy the same in servers made by Dell/HP. And in this very process, they make extensive use of VOIP phones made by CISCO and Internet powered by Google and Yahoo!..
So if you are hoping to work in developing high end technology applying engineering skills - aim for companies like Microsoft,Oracle,SAP... etc.. and not on firms which are purely 'service' players.
(An analogy with Automobile industry : The job done is IT service industry is comparable to the work done by a mechanic in a auto garage! Only difference is, your job is white collar and you can work in A/C cubicles with 10 times the salary! )
2) A major portion of the work done by Indian IT firms are maintenance work. The required applications are already developed and deployed by Accenture /IBM/US firms or developed in house, and the maintenance jobs are outsourced to Indian IT firms. Maintenance jobs are not bad at all , and you learn a lot if you work in maintenance projects, but it can be boring for smart engineers! So if you hate working in maintenance projects , consider offer from India IT firms as a last option only!!
3) A good amount of people will be working in support jobs in all these firms. And If you think that you are a high-performer and you wont be put into support jobs - you are damn wrong about it!!
4) Don't expect that you will be put into an area of you interest! Its not uncommon to see Sun certified Java people working in mainframes, embedded systems certified people working in web technology, and people from Computer Science branch with 'n' certifications working as software tester!
5) Don't expect that you will get an onsite opportunity just because you topped in training or your are excellent in technology- onsite is purely business demand based. So you need a lot of luck to get an onsite these days. People doing the job of Database/network administration/monitoring etc have more chances for an onsite.
Although I mentioned that most end in services industry, few get products firm as well. Not only in MS, Google.. but also in Indian firms. Oracle Financial Services (previously called I-Flex Solutions) is a product company, Infosys has a product - Finacle, Sasken - a technology player and not pure services, Subex- telecom products .... Some end up in software division of companies like Siemens, Bosch,Alcatel etc where a lot of high-tech projects await you.
Also all these IT service firms can act as a good place to begin with. There are lot of people who started off their careers with services firms and later got into high tech companies and of course, high salaries!
For people who considers themselves as average, and want to get into some job, Indian IT services is the best choice! You get good respect in society, an 'IT lifestyle' in cities like Bangalore,Hyderabad with plenty of money to hand around with friends.! (gf/bf's as well)
For people who dream bigger, aim for the top shots, like MS,Oracle.. etc.. :)
when people come and tell me that "hey I got placed in so and so IT company in India."...
What should my reply be?
If he/she is average type, then obviously , "Congrats! "
For high performers, the reply have to be "Congrats! and Condolences!"