Infosys, TCS, or Wipro?
Sometimes computer science, information technology, or electronics and communications engineering students get placed in two or three major Indian IT companies and they find it hard to decide which one to join. "Infosys, TCS, or Wipro?" is one of the most common questions I have faced from such students. The answer I have for them is much simpler than they think it is. My answer is,
Before elaborating my answer further, I should first clarify what this post is not. This blog post is not about how these companies put food on the table for hundreds of thousands of engineers. This post is not about undermining the efforts of these companies. They are probably good at keeping their customers happy. This post does not intend to offend the employees of these organisations although that is going to be hard to avoid due to the nature of this post.
This blog post is about a choice that fresh engineering graduates usually have to make and the information they should have before they make that choice. This post is about urging these students who want to make a career in engineering to avoid making a mistake that I did because I did not have the necessary information at the right time; a mistake that I corrected two years later after I realised it. This blog post is about some very unpleasant facts about these major Indian IT companies that you wouldn't know unless you have been a part of it.
Note: If you do not share the interest in pursuing excellence in engineering or if you find contentment in working for one of these three companies for reasons that are valid to you, this post may not resonate with you. You may want to discontinue reading this post here.
Let me now dispel the different myths that exist about these organisations one by one. I am not going to mince words while I do this.
Training: People think that these organisations are good for new engineering graduates because they receive a lot of training which they wouldn't get in other organisations. I must remind such people that attending training programs does not necessarily amount to learning. Indeed these organisations provide a lot of training but only about 1% of the trainees actually absorb the knowledge. The 1% that do absorb the training do not stick to the organisation for a long time because sooner or later they realise that they want to do some real engineering work. The figure "1%" is not merely a guess. This is my observation across various trainee-batches that have been trained in one of these organisations. Think about it. Can you learn a new programming language in just 3 days? However, that is the kind of training these organisations provide.
Engineering: One can find engineering problems in these organisations but no trace of engineering. For those of you who work in one of these organisations and are offended by this claim of mine, please revisit your engineering textbooks again. Try to remind yourself what you studied then. Consider what you do now.
Engineers: The number of engineers in these organisations are very very few; perhaps only 1 in every 200 is an engineer. This is a guess, albeit not a wild one. This is why there is no engineering in these companies despite the presence of engineering problems. "But isn't a degree in engineering the minimum qualification to get a job in one of these organisations?", you might ask. It is. Yes, all of them have a degree in engineering but only about 1 out of 200 is an engineer. The rest 199 do not understand why the bitwise operation
bitcount(not (x xor y))counts the number of bits in
ythat match in their corresponding positions, why one cannot write a POSIX Basic Regular Expression (BRE) to match only strings with arbitrary number of balanced parentheses, or how to find the shortest chain of connections between two friends in a social network. Note that I have used "or" as the conjunction, not "and", in the previous sentence. They may be good software users or good "software-tailors" who can create software by stitching together many library functions but I wouldn't call them engineers.
Culture: These organisations have one of the worst kinds of culture you can find in the whole of software industry. Very few engineers are busy trying to advance their engineering knowledge. Many employees use the company resources such as corporate blog, bulletin boards, etc. to flirt with their female colleagues. Others are busy cribbing. For those who have never worked for one of these organisations, it may come as a surprise that the corporate forums occasionally witness unprofessional behavior, including mud-slinging.
Onsite: Contrary to the popular belief, the number of trips abroad is not a measure of one's technical prowess. The so-called "onsite visits"x are usually driven by project requirements. As a result, they often depend on luck. The work done during onsite visits can range from technical support to firefighting. In fact, some of the smartest engineers I met in these organisations were reluctant to go for onsite trips due to the dull and stressful nature of the work involved. Most of them left these organisations, joined a better organisation where they could put their knowledge and skills to better use, and then moved abroad to work on good problems where their knowledge and technical skills were actually required.
Therefore, my answer to the question "Infosys, TCS, or Wipro?" is "None." That's not a very helpful answer. Here is a more helpful one. One can consider applying for a job in an organisation where he or she can get an opportunity to solve some engineering problems. One cannot learn engineering and programming merely by attending trainings. One has to learn it by doing, solving problems, observing what experienced engineers do, experimenting, screwing up a few times, reworking, talking to good engineers, etc. One can try looking for an organisation where the leaders of projects are very good engineers. Startups are more likely to have them. Some matured ones are Gluster, Parallocity, SlideShare, etc. New startups come up every year. Software companies which develop famous and successful products are more likely to have them. Some good examples are Adobe, Amazon, Google, Phoenix, RSA, etc. How does one figure whether a certain organisation is an organisation of engineers?
The clue is: Interview.
Remember the technical problems they discuss in the interview. Think about them later. Try discussing them with your friends who are known for solving good engineering problems. An interview is not only an opportunity for an organisation to evaluate an applicant, it is also an opportunity for the applicant to evaluate an organisation.
Update on 28 Oct 2011: This post got way more attention than I had anticipated. It was discussed and debated here in the comments section as well as on Hacker News and Reddit. Here is a follow-up post that addresses some of the points discussed in these debates: Re: Infosys, TCS, or Wipro?.
Update on 19 May 2021: It has been 10 years since this post was published. I still occasionally get messages from students and professionals who are early in their career that this post has had a positive impact on their careers. I am grateful for the positive feedback and the enduring usefulness of this post.
However I would rather not discuss this specific post anymore. I wrote this post at a time when I felt strongly about the problems prevalent in the troublesome culture discussed in this post. My intention was to share my experiences and concerns, serving as a cautionary tale for others. Since then, I have distanced myself from that particular culture, and it is no longer a focal point of my thoughts. Further the profession of software engineering has evolved a lot since then. The widespread availability and utilisation of open source packages in the technology industry have rendered certain engineering skills, once crucial, considerably less relevant in the present day. The specific recommendations I offered towards the end of the post may be outdated too.
While I will always appreciate the kindness of those who find value in this post, I encourage you to read some of my other posts that I find more enjoyable to discuss. To find them, navigate to the home page which has links to several topics that I am eager to converse about.