Sometimes computer science, IT or electronic and communication 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 is much simpler than they think it is.

"None."

This blog post is not about how these companies feed the stomachs of lakhs of people. This blog post is not about undermining the efforts of these companies. They are probably good at keeping their customers happy. This blog is not about offending the employees of these organizations. That'll be an unintentional side-effect.

This blog post is about a choice that freshers usually have to make and the information they should have before they make the choice. This blog post is about urging the freshers who want to make a career in engineering to not make a mistake that I did because I did not have the necessary information at the right time; a mistake that I could correct two years later after I realized 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.

ALERT: If you are not interested in making a career in engineering, lack the confidence to do so, or you are very content with working for one of these three companies for reasons that are valid to you, this post is not for you. It won't make any sense to you. Do not proceed.

Now, let me start slaying the different myths that exist about these organizations one by one and I am not going to mince words while doing this. You have been warned.

  1. Training: People think that these organizations are good for freshers because they get a lot of training which they wouldn't get in other organizations. I must remind such people that attending training programmes is not equivalent to learning. Indeed these organizations provide a lot of training to freshers but only about 1% of the trainees actually absorb the knowledge. The 1% that do absorb the training do not stick to the organization for a long time because sooner or later they realize that they want to do some real engineering. The figure '1%' isn't merely a guess. This is my observation across various trainee-batches that have been trained in one of these organizations. Think about it. Can you learn a new programming language in just 3 days? If your answer is "no", you shouldn't join one of these organizations. If your answer is "yes", you shouldn't join one of these organizations.
  2. Engineering: One can find engineering problems in these organizations but no trace of engineering. For those of you who work in one of these organizations and are offended by this statement, please go and open your engineering textbooks again. Try to remind yourself what you studied and what you learnt. Consider what you do now.
  3. Engineers: The number of engineers in these organizations 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 the minimum qualification to get a job in one of these organizations bachelor's of engineering?", you might ask. It is. Yes, all of them have a degree in engineering or computers of some sort but only about 1 out of 200 is an engineer. The rest 199 do not understand why a bitcount of 1's complement of bitwise XOR of two variables would give you the number of similar bits in corresponding positions in both variables, why one can not create a POSIX compliant regular expression to match only strings with 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 and not 'and'. They may be good software users or good "software-tailors" who can create software by stitching together many library functions but they aren't engineers.
  4. Culture: One of the worst cultures you can find in the whole of software industry. Very few are busy trying to learn a few things mentioned in the previous paragraph. Some employees are busy figuring out ways to impress their female colleagues using the resources provided by the organization rather than learning and solving problems in better ways. Others are busy cribbing. Here is a shocking piece of information for those who have never worked for one of these organizations. One can also manage to find mud-slinging in company forums once in a while. Professionalism is at its worst here. But they convince themselves that they are professional because they speak English fluently and know how to wear a tie. Employees feel their salaries are pathetic. I feel they are overpaid. How much should a good software user earn?
  5. Onsite: Contrary to the popular belief, the number of trips to foreign lands isn't a measure of one's technical prowess. It is mostly (but not always) a measure of how dispassionate one is about engineering and his profession, and how greedy one can be for wealth. Some of the best engineers I have met in these organizations were never eager to go onsite, never went, joined an organization where they could put their knowledge and skills to better use and then flew to a foreign land because their knowledge, skills and understanding of technology were needed there.

So, my answer to the question "Infosys, TCS, or Wipro?" is "None." That's not very helpful. Here is a more helpful one. One can consider applying for a job in an organization 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 and reworking, talking to good engineers, etc. One can try looking for an organization where the leaders of projects are very good engineers. Start-ups are more likely to have them. Some matured ones are Gluster, Parallocity, SlideShare, etc. New start-ups 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, etc. So, how does one figure whether a certain organization is an organization of engineers or an organization of good software users?

The clue is: Interview.

Remember the questions they ask in the interview. Think about them later. Try discussing the questions with your friends who are known for solving tough engineering problems. An interview is not only an opportunity for an organization to evaluate an applicant, it is also an opportunity for the applicant to evaluate an organization.

Update: October 28, 2011: This post got way more attention than I wanted. It was discussed and debated at various places on the web. As a result, here is a follow-up post: Re: Infosys, TCS, or Wipro?

110 comments

Aakash said:

Hey really really great article man! truly impressed!

Sambeet Sahoo said:

Susam,

Nice blog but it looks like you are discrediting many people working in these companies by your blog. Let me clarify.

  1. About the trainings, who's fault is it that the Trainee's absorb only 1%? If the trainee's are good enough, they can always learn the stuff taught without problems. Anyways, the organization you are referring to wherein a PL is taught in 3 days might be the only one doing it. The organization I work for trained us in an application for many days with a thorough syllabus. And when our Org tried to train people on different PLs quickly, it was assumed that they would know pretty much of that already since they were part of IT and CompSc branches or were from the coveted 'best' colleges like NIT, IIT etc. So they probably do assume that since these trainees are getting paid more and are from better colleges, there ability to grasp new things would be much higher than the rest. Anyways, this is just my viewpoint, just like the blog is your viewpoint.
  2. What do you mean by engineering? The only engineering I hear about in these companies is in the field of Product Engineering (and maybe where they use VLSI and stuff). But this is a small sector of these organizations. They have many more sectors wherein the requirement is to fulfill the client's requirements. As simple as that. Be it providing a service like Administration, or create new applications. But seldom are people told to 'create' products for companies, especially the BFSI sector which is primarily one of the highest revenue earners for these organizations.
  3. I myself work in Data Warehousing and don't have anything to do with creating Products or writing millions lines of code. But we are directly interfaced with Business and create critical applications for the client using our ETL tools. So is this work bad? Is this work something that Engineers aren't supposed to be doing? Then who is supposed to be doing this? And do note that this job requires very high analytical skills which engineers should have in them.
  4. Culture: Well, I can agree on some points that you made. But you cannot classify the whole organization into this. And what is a computer user? Aren't these professionals building something for someone? Are you saying that anybody who can browse the internet and knows about the computer can do our jobs? Don't you think we would find that a bit insulting? It might be true in many cases where the proper training can make a monkey do our jobs, but isn't that true for many fields? Aren't monkeys being trained to pilot airships?
  5. Onsite: I won't comment on this since I'm onsite. But do know this that there is a chance that someone might actually like the way business is done onsite and the work culture out here. And yes, money is a big factor. But does that make them greedy? Everyone has their own responsibilities and how they perceive them. Will you say that a poor man's son who is in onsite earning money for his family is greedy? So its all about perception. And your statement about everybody who goes onsite is greedy has a hint of jealousy in that, even though you might not want to agree. So the picture isn't always black and white my friend. You need to factor in everyone's needs and desires.

Anyways, no offense to you or your blog. Just wanted to point out that everyone's perception is different. Since you do not work with any of these companies now, its easy to be outside and comment. But I've been with my organization for quite some time now and I feel absolutely fine with that. Anyways, thank you for an opportunity for a healthy debate.

Susam Pal said:

Sambeet,

This blog post is not about why the training is not effective or whether monkeys are being trained to pilot airships. This blog answers the question, "Infosys, TCS, or Wipro?" The answer I choose is: None.

Your second point allows the possibility that the work can be done by a high school student with a crash course on software and that is precisely what these companies do, but with engineering graduates. I didn't see any mention or hint of a concrete engineering problem in our point 2 that requires the skill and knowledge that one is meant to acquire in a 4 year engineering course. Perhaps, "engineering" means different things to both of us.

Building things isn't a proof of being engineers. Building things like engineers is. Your fourth point also demonstrates how the employees of these companies convince themselves that they are professional engineers just because they can create a working software. Sadly, the fact is that people of these companies build software in a manner some college students with no programming or engineering experience do.

In your point fifth point you agree that going onsite is less about one's technical prowess and passion for engineering and more about greed for money or circumstances that lead to greed for money. In your fifth point, you claim that you see a hint of jealousy in my post. Jealous of what? :-)

Abhishek said:

Sambeet said:
Are you saying that anybody who can browse the internet and knows about the computer can do our jobs?

@Sambeet: Isn't that true? In my last 1.5 years in infosys, I have not done a single work which required me to use anything I learnt in my 4 yrs of engineering. All I do is write javascripts to take care of user input. You call that engineering?

AnonymousCoward said:

I work for a client of TCS. So, I have to post as an anonymous coward due to legal reasons. :] I am quite alarmed by Sambeet's response, especially his 5th point where he writes that the Indian vendors send their employees to work on client's site not because they are proficient in technology but because you need to factor in everyone's needs and desiers. Excuse me! We need good technology people. Why can't you guys just be professional and keep your personal lives and poverty aside while discussing technology?

Anonymous said:

Sambeet said:
About the trainings, who's fault is it that the Trainee's absorb only 1%? If the trainee's are good enough, they can always learn the stuff taught without problems.

@Sambeet: Read http://norvig.com/21-days.html

Ajit Sahoo said:

Great post Susam. But I disagree that startups are a good place to get real engineering work where we can use our engineering knowledge. Many startups in India also do only sofware-tailor job. but I agree that there are good startups also where we can get good engineering problems to work on. Indeed a fresher should always choose a startup over infosys, wipro or tcs if he wants to learn useful things.

Sambeet, you asked:

Are you saying that anybody who can browse the internet and knows about the computer can do our jobs?

I will say... yes. if you are talking about software like crappy SBI bank sofware or ICICI bank software which can not run reliably all the time, keeps crashing at the drop of a hat then yes anbody who can browse the internet and knows about computer and a little bit programming can do you jobs.

Vyankatesh said:

Well, with due respect to you opinions, I will share mine.

  1. Absorbing the knowledge shared in training is the responsibility of the employee. And definitely more than 1% get this knowledge.
  2. Engineering does happen. More than what we have learnt in school and college. While we learn theory at college, here you solve real world business problems.
  3. People who work are well qualified for the job. Some are much more qualified than an Engineer - a CA, a MBA, a PhD, etc. - and sharing your work space with these guys does broaden your spectrum.
  4. As for culture, it is we the people who build it. It is a sum of parts - with each of us being a part.
  5. As for onsite, it is a based of various factors.

All in all, things are not as bad as perceived.

Susam Pal said:

Vyankatesh,

I don't think you learn theory only in college. You are also trained in practical experiments in college. That's why every engineering course in India has a fixed number of lab-hours which you need to complete and pass. In professional life, you need to apply both to solve real-world engineering problems.

As I have mentioned before, most people in these companies neither have the knowledge or skill nor the interest to use well known existing engineering concepts to solve real world business problems efficiently.

I have even seen people storing data as records in a database which should instead be represented as graphs. This happens because most engineers in these companies do not have the confidence to represent data as graphs and write graph search algorithms for them.

In these companies, I have seen people writing a chain of string library function calls to do something which should ideally be solved using an abstract syntax tree or at least with a DFA. Unfortunately, people of these companies are simply out of league when it comes to solving a computing problem in the right way. The result of course is a software that runs slower, breaks on unexpected inputs, etc.

Hence, my advice to one who asks, "Infosys, TCS, or Wipro?" is "None." My advice to them is to join some organization where people know how to solve real-world business problems with the right engineering techniques so that they can learn how to solve problems like an engineer.

I agree that people working in these companies have degrees. In fact, I have mentioned it in my post. What they do not have is engineering skills. I don't see how people people with engineering degrees who can not solve three simple real-world computing problems I have mentioned in my blog post are well qualified to do their jobs.

Anonymous said:

If you want to work 60hr weeks, pay for your own expenses when abroad and be treated like robots ... join TCS, Wipro or Infosys.

Paritosh said:

Hey Susam,

Saw this debate going on and couldn't help but jump in. Before I start, let me point out a couple of ground realities:

  1. All the three companies you named self-confess that they work in the "Services" domain. There is no mention of "Engineering" anywhere.
  2. These are mass recruiters. They recruit people who don't have a chance of joining google or RSA just out of college.

Having said that, I come back to the question you asked. My take would be joining these companies is good in two cases:

  1. You love computers and like solving real world problems using computers. But you don't have a degree from the heavy weight colleges, so don't have a chance in the biggies of the industry. Get in these companies, use them as a launch pad and get ahead in your life.
  2. You don't know anything about computers, but want to earn a decent white-collar living. Get into these companies, get set for your life.

I don't think there is any third category of people joining these or rather any other company in the industry.

I rest my case. :)

Prunthaban said:

@Paritosh Regarding using these companies as launch pad, I am not quite getting it. In fact if you study in a not so good college and worked in these companies for 5+ years, your resume is worthless and you cannot launch yourself anywhere. I worked for 2.5 years in one of these companies (in addition to having a degree from a not so good college) and from my personal experience I can say for sure that it only adds one more hurdle to jump if at all you manage to launch a career later.

Ravi Krishna said:

@Vyankatesh Err.. What? you've got CAs, MBAs in Infosys, Wipro and TCS and so it broadens your spectrum? You think CAs and MBAs don't exist in better companies? And what has the presence of CAs and MBAs have to do with engineering? It is funny that people from these companies who are coming to this blog to defend their companies are making matters worse and showing us how sorry the state of these companies are. The people defending their companies in this blog have not worked in a company where real engineering work happens and so do not even know what they are talking about.

Vamsi said:

@Paritosh I think starting a career in Infosys, TCS, or Wipro is a very bad way of starting a career. Sambeet and Vyankatesh are the biggest examples of why it is a bad way to make a career. After they stay in these companies they become institutionalized. Their outlook of the technology world becomes so narrow that they believe whatever they are doing is engineering and everywhere it is like this. They are not in a position to even accept that their work is something that does not need BEs. Anyone with internet connection can do that work. It is because of this that people like these can not get out of these companies and remain stuck in these companies forever only to come and post in blogs like this and mislead general public when someone tries to expose the truths about these companies to the outside world. No real technology would company would like to hire people with such narrow outlook.

I very much agree with Prunthaban that once you stay in these companies for a few years, your resume is screwed because every technology giant knows what kind of crap these companies hire.

Anton said:

I have led a project where we interacted with one of the three companies mentioned in this article. One thing I can say for sure that there is no such thing as a good engineer in these companies. They were supposed to deliver a project in 3 months' time. Not only did they lack severely in technical skills, they handled the project very unprofessionally and their behavior showed complete lack of integrity. Deadlines were missed, delivery was delayed and even after the delay, the delivery was not functional. There were numerous bugs which showed a basic lack of understanding of the system among the developers. Deadlocks in databases were common and when we filed a ticket we realized that the engineers lacked a basic understanding of what kind of operations lead to deadlocks. Despite being clearly spelled out in the document that the software must make use of multithreading to take advantage of the multicore servers we use, we did not find performance improvements when we increased the number of threads. We expected linear improvement in the performance with the increase in the number of threads. They kept insisting that they had multithreading in the software but our analysis contradicted their claims. We had to escalate the matter and asked them to rewrite the multithreading code. The most ironic part of the whole affair was that our engineers had to work with their engineers and supervise them to get the multithreading part done correctly. After such a horrible experience I can very confidently confirm that the 3rd point in this blog post is 100% true.

Paritosh said:

@Prunthaban, Vamsi et al...

When people say working in these companies for 5+ years makes your resume is worthless and you cannot launch yourself anywhere, I feel they are hiding behind excuses. You don't need a great company to write beautiful code. What you need is belief in yourself and basic analytical and logical abilities.

Lots of people have come out from these companies and gone to write great code. I personally know a few. Hell even the author of this post used one of these so called crappy companies to launch his career (sorry Susam for bringing this up).

Prunthaban said:

@Paritosh I think you misunderstood me. I am not saying people who work in these companies will always write crappy code :-) I worked in one of these companies for 2.5 years and I have met/seen great coders (including the author of this post as you rightly said). These people are great coders because they used their extra-time to learn stuff. But a good engineering company will make you learn all this the easier way through your day to day job itself (How many times you get the chance to see a piece of code written by really great coders with 20+ years of experience in one of these mentioned companies?).

My point is that when a person working in these companies decide to launch a different career, these companies in your resume makes it 'one more hurdle' to jump. I am not saying it is impossible. I am only saying that these companies does hinder your progress. I spent 2.5 years and I can say with confidence that if I had spent that 2.5 years in some other engineering company I would have been in an even better position. I am sure that applies to Susam too.

Susam Pal said:

Paritosh, you mentioned:

even the author of this post used one of these so called crappy companies to launch his career (sorry Susam for bringing this up).

I did start my career in one of these three companies I've mentioned in the title of this post. But it is a negative point rather than a positive point in my resume. It didn't help me at all when I went for an interview in one of the companies I have suggested to the freshers. What helped though were the reading and application-security related projects I did late at nights after spending 9–10 hours daily in one of the three companies mentioned in the title. I got the job.

If I had known what I have shared in this post 5 years ago, I would have never made the mistake of starting my career in one of these three companies.

Ravishankar Haranath said:

Good post. But, one thing I would like to suggest is, you need to mentioned that, it is about 'Computer Science' engineers and their lack of engineering skills, since, the organizations in question are IT/Software based.

There are solid points for discussions, as to to why Engineers from other background get into these but, as I can see from your post, you were mostly aiming at IT/CS folks though not explicitly pointed at them.

Start-Ups find it difficult to get in fresh Engineers as these organizations do because, there is a social aura in favour of these, more than anything else.

Susam Pal said:

Ravishankar,

I am not specifically aiming at IT/CS engineers. Some of these companies need other kinds of engineers too. Unfortunately, no matter what kind of engineers they are, there knowledge and engineering skills have been found to be dismal. Some examples from my personal experience.

An entire team of electronics engineers did not know basic digital logic. Hence, they were unable to think of efficient solutions to some real world business problems that could be solved in a very elegant and efficient manner using digital logic. I have selected one of those problems and mentioned it in point 3 of my blog post.

I have met people with degree in electronics and communication engineering in one of these companies who did not know about information entropy and hence were unable to take decisions about data compression.

In one of these companies, I have met an electronics engineer who configured a circuit incorrectly because he did not know that a p-n junction diode requires forward bias to "turn it on". In the same company, I have met a couple of computer science engineers who did not know that a regular expression can not be used to match only strings with balanced parentheses.

Now, these are really basic concepts in the respective engineering fields. If people who do not know such basic things about their fields are working in good positions (they are sometimes project leaders too) in these companies, it speaks a lot about what kind of engineering these pepole must be doing, and what kind of software or other non-software projects these people must be building.

We have digressed from the point I've tried to make in this post. I am not really concerned with the kind of software they are building. I am concerned what my friends who ask, "Infosys, Wipro, or TCS?", are going to learn in these companies. My answer to them is, "None", because I want them to look for a good start-up or a big technology company known for hiring good engineers where they can learn how to solve problems from the right people.

Vamsi said:

@Paritosh I agree that it does not make the resume fully worthless but it screws up your resume. I hope you agree with this. But the decision to not join Infosys, TCS or Wipro is still good. There are many startups who try to look for good engineers. They have difficulty in hiring good engineers because they are not as popular as Infosys. But they provide good work. Why to join Infosys, TCS or Wipro when you can try and join good startup?

Jyotsana Kandpal said:

Hi Susam, It is really great to see you posting eye-opening writings so that both the kinds:

  1. those who are still to face this question will think twice before even asking this question
  2. who are there sailing in the boat of these IT companies.

might realize something and break out from the shackles of hollowness.

Anonymous said:

Hi Susam, great blog post. You have missed one more myth that needs attention.

Brand name: Students feel that Infosys, TCS, Wipro are great brand names. It is far from the truth. Infosys, TCS, Wipro are embarrassing brand names to write in your resume with the exception if you want to join another Infosys, TCS, Wipro like company or Cognizant, Accenture like companies who are ready to hire any crap that comes out of Infosys, TCS, Wipro. Good technical companies know that these brand names are like balloons. They look big from outside but has only gas inside. Actually an engineer from a good but less popular startup has more chance than a person from Infosys to get a call of interview from a big technical company.

HR guy said:

@Vyankatesh I completely disagree with your statement: "All in all, things are not as bad as perceived." This blog post reveals only the tip of the iceberg. The actual condition in these companies are much worse. The high attrition rate in these companies is a proof of this.

Anonymous said:

I would like to agree with what Susam has said here, nothing to take away anything from anybody here. Somewhere, I feel, we as Engineers have lost control over our knowledge sources.

Codevalley said:

I think all the 5 reasons pertain to the employee rather than the organisation. I would love to join Infy/Wipro just for the reasons you have given.

Training: If only 1% make it, I would want to be a part of that elite group.

Engineering: Nobody "is" using proper engineering technique does not force me to follow them. Why can't I do it the right way?

Engineers: 1:200 is not under my control. A company has the rights to choose how many engineers and how many janitors they need. I would choose to be an engineer anyways.

Culture: For gossipping or cribbing why do you have to go to Infy/Wipros? You can just be a blogger! (pun intended)

Onsite: The so called "engineers" study theories and algorithms created by Dijkstras, Adlemans and Tanenbaums. Why wouldn't an engineer want to meet people like them?

Having said all that I myself am a bootstrapper and run a startup. And I can tell you that most of the average fresh-out-of-college engineers wouldn't survive in a startup for the very exact reasons you have given.

Susam Pal said:

Codevalley,

It seems to me that you have left your comment for the sole purpose of disagreeing with my post without really knowing or having a first hand experience of what these companies are. However, I'll take it in stride. :-)

In my opinion, one should always strive to be in the company of engineers who are better because it exposes one to challenging problems and ideas on a daily basis. This accelerates the pace of learning new concepts severalfold. Yes, one can definitely learn through self-study using the internet, books and virtual friends, but the experience of working with a talented and experienced engineer sitting next to you is priceless. It only adds. I don't see how it subtracts.

You have a very wrong idea about these companies if you believe that you are not forced to follow bad software practices in these companies.

The corporate network of any good company is and should be much more civil and conducive to development than the internet. In these companies the situation is reversed. So, I don't understand what your point about culture is.

One doesn't meet Dijkstras and Adlemans by going onsite. That takes a lot more effort than just going onsite. :-) I can tell you from my personal experience.

You also seem to undermine the capabilities of average freshers. Also, it seems like you fail to attract the best talent. I have interviewed many freshers who are way better than people with 5 years of experience in these three companies. One of the brightest engineers I work with joined as a fresher last year and now sits next to me.

Avlesh said:

Bang on! I liked the content and your style of writing. Hope enough number of freshers read your blog and choose to join lesser known startups.

Anonymous said:

Don't forget that if you become a part of the 1% elite group in these companies everyone around you would leech upon you until you go insane and run away from the place.

Sambeet Sahoo said:

I just want to say that not all engineers plan to go for core jobs while studying. I was always interested to work in IT but had to get a good Engineering degree to fulfill that dream. It sounds bad but I don't use what I studied on my job, but I've learnt a lot more now and I use that in my job. And yes, I'm proud that I've nothing to do with 'engineering' and am still happy with it.

In the end, I guess Susam wanted to highlight that not much engineering might be happening in these companies. I won't comment on that since I was never into that field as such. But I do know of many S.E. patents coming out of these companies so I guess they must be doing something right. But these companies have never claimed to be Engineering companies and have always been IT companies. So Susam is correct in saying that Engineers who want to use their knowledge they gained during Engineering should not join these 3 companies. The only thing you need to see is how much percentage of Engineers actually choose to do so.

And Susam, by saying something like all people who go to onsite are greedy, you are labeling them. What if I said that all people who worked in these companies for more than a year and couldn't make it onsite were LOSERS, would my statement be correct? Wouldn't I be labeling a hell lot of people. So please do not label everyone just because you might have come across a few instances. Thanks.

Susam Pal said:

Sambeet,

I think you have misunderstood my blog post. Solving problems with ETL, patents, etc. have got nothing to do with what I am expressing in this blog post.

It is a popular myth among students that onsite opportunities depend on technical prowess. I have tried to clarify it. You seem to agree with it as well.

I am not labeling everyone as anything. I have given the very rough ratios and percentages in my blog post as per my observation which clearly imply that there are a few good people in these organizations.

Freshers do solve real engineering problems. Please read my blog post once again and my comments where I've given plenty of real-world problems which require usage of proper engineering concepts which most people of these organizations are incapable of doing and thus end up creating horrible software.

Good problems are available everywhere, even in these three companies. But whether one can apply the right engineering concepts and techniques to solve these problems depends on the people working on it. In these companies, such people are very rare. So, I advice the freshers to join a company where such people are more in number. It would help them learn more.

Anonymous said:

hello all, what if someone(CS/IT engineer) is not interested in engineering and he wants to do mba from a very good college. But he needs time for preparation. So he make decision to join tcs/infosys/wipro (cause he didn't get job other than these companies), only for job experience and he can get time for preparation of CAT/XAT/snap/cet etc.. Will it be a good decision??

sanket said:

Hey Susam,

I agree with your point. But if no Infosys, no Tcs, then where should a fresher go??

Let me tell you, I am a fresher selected at Infosys and about to join it.

Susam Pal said:

Anonymous, As mentioned in the orange box in this post, the content of this post is not meant for people who are not interested in engineering.

Sanket, My suggestion is mentioned in the last three paragraphs of this blog post.

Anonymous said:

@Susam : thanks, you mentioned it in orange box but still it was related to tcs/wipro/infosys so I asked. Because people commenting here can be from both educational backgrounds (CS/IT engineer and business administration). Btw, your blog is really helpful for freshers.

Anonymous said:

hey susam, what about cognizant,accenture & persistent?

Susam Pal said:

I don't know much about Cognizant, Accenture and Persistent Systems.

Vams said:

An interview is not only an opportunity for an organization to evaluate an applicant, it is also an opportunity for the applicant to evaluate an organization.

This is exactly true. I was very happy that interviewer didn't ask many technical questions when I went for one of this big company. Now i am feeling the heat.

I would like to call my designation as Cyber-coolie and not an SE.

I totally agree with you when u say Its no engineering. Perhaps thats why my company realised this and removed "technologies" from its name :P

Onsite is now no more a fruit for the aspirants of these companies. And that too many of them work as production support guys. That is horrible but given that you get a decent money, people dont complain.

These companies say that colleges are not making people skilled as required to industrial standards. I would like to ask them "Do these companies match the skills of the students?"

As I say to my juniors, "If you think you did something or learnt something in four years of engineering, dont join these companies." :)

Anonymous said:

I completely agree with you Susam. Even I lived in that shell of IT companies a couple of years, before moving to a startup.

Now when attending interviews, my toughest task is covering up my work in the first company.

@ajit sahoo: Startup doesn't mean new company. Susam has given some excellent examples of startup, companies like flipkart, zoho, aryaka to follow.

Amwy said:

You know this is exactly the idealistic post that wants to make you feel I'm the rockstar because I did not join any of this company. I disagree with you. I don't work in this organisations, but let me tell you, this whole startup culture we are seeing just because US is exploding is farcical in my opinion. Google,Facebook,Microsoft,Palantir etcetc are exceptions and not norms. You know why people work there, because they did their engineering right, that is in college. So any engineer who got his education right will always find ways to solve problems. It is very easy to criticise the processes and methodologies of this organisations, but only true engineers can improve them. Most of the startups preach about work culture, freedom, blah blah bull crap. Very few startups in India actually try or think computationally. Most of this startups are web-based products and sure as hell don't apply your graph algorithms or even basic algorithms.

I'm not saying this organisations are the best thing to happen to our country. Infact I think they might be a reason why one day we actually have recession and people go jobless. My point is if you get here, try to be your man/woman. Work hard and learn as much as you can. We still don't have startups which are actually using Computer Science. There's more direction towards solving a problem which could make money for you. You can easily find out about this startups by looking at their Hire page, how many will appreciate your knowledge of Lisp or Assembly programming or someone who's read CLR's or TAOCP. All they look for is a very good PHP programmer to build stuff for them. If you want to learn get your education right. The rest will follow.

Manindra said:

@Amwy You can not be more wrong when you say that we still don't have startups that are using computer science or engineering. Ever heard of Kritikal, zresearch, OnMobile, ...? I'm sure as hell there are many more examples.

Sudeshna said:

@Ajit & @Amwy: I have worked in one crappy company in the blog heading & then I switched to start up. I agree that all startups don't have engineering liking people. But many of them have good & expert people. I disagree that somebody should join Infosys, TCS & Wipro and try to be his own man/woman. The culture & stupid processes & tech-leads of these companies force u to do programming & software projects in bad ways. It is always better to join start ups if u don't get a call from Google, Microsoft etc.

I don't agree that if ur education is right the rest will follow. Correct information is necessary or freshers will fall for overhyped brandnames like infosys, TCS, wipro in spite of good education like I fell for the hype. This blog does very nice job of providing correct information.

After one year, i switched to start up & now I am doing better work & I am happy.

shaunak said:

This blog post is very inspirational. Thank you for it. Perhaps you just changed my life.

Santosh said:

@Ammy You are not well informed. Each startup suggestion posted by Susam are very respectable companies. They are also popular for keeping their employees happy. If you think SlideShare.net only hires good PHP programmers I have only one thing to say. Please update your knowledge about these companies before posting incorrect information. SlideShare.net does a good variety of work. They have a good variety of openings too. Freshers who join there start working on creating Ruby or Python API in the starting, eventually get to work on distributed systems, map-reduce, search engines, analytics, recommendation systems etc. within one or two years. All of these require good core computer science knowledge, algorithms and also graph theory.

So please refrain from posting incorrect comments without doing proper research.

Amey said:

Abhay said:

@ All, Read all of the comments in the post and found them informative, but for me, being just a student, all they did was confuse me more. Having attended a pre-placement of one of these companies in the morning itself, I was, before reading this, sure of what my 'dream job' was.. probably for the lack of an hands-on experience in the industry... and the blog has definitely budged my perceptions. As for the start-up companies, what do they look for in a fresher, and does the graduation institute matter, (I must mention i aren't from a very known college) What I couldn't get from the text, where to apply as a fresher, and their pre-requisites... or to pursue further studies... Thanks...

All said:

@abhay no general answer. different startups have different requirements. the companies have careers/jobs pages in their websites. they will give you some ideas. no need to be from a very known college for startups. they can't afford to keep men who cant do work. so they hire with care. so just be good with your concepts.

Kinkfisher said:

I don't know if this has been brought up yet, but the blog post seems to say that you don't find challenging problems in these big IT companies, and hence the work you do there is not really "engineering".

What is not appreciated is that these companies are *huuuuge*, and somewhere some team certainly is working on challenging projects. They even have dedicated research groups. However, you must proactively look for them, and persistently try to join in. Just as they have "real" problems, they need "real" engineers to solve them, and requests will eventually be granted if they see that you are really good.

10 years ago, a friend was very interested in aeronautics, and he actually found a related project in Infy. Aeronautics, of all things!

It's just the nature of IT outsourcing that 95% of the work is non-challenging CRUD work, but then 95% of employees don't want challenging work anyways. Be in the other 5%.

Susam Pal said:

Kinkfisher,

That's not what the blog post says. If you read point 2, it says:

"One can find engineering problems in these organizations but no trace of engineering."

tuxomaniac said:

Great article. Hope the graduates understand what exactly is the purpose of the degree they hold.

Loved your method to analyze the a company. The interviews. So clean a method. :-)

IMHO, Engineering is not always about doing low level coding. It is also about designing highly scalable - systems, algorithms, applications and building them. :-)

Kinkfisher said:

"One can find engineering problems in these organizations but no trace of engineering."

That's only true for problems that *can* be solved without engineering. A large fraction of IT outsourcing projects are enterprise applications, used only by hundreds or thousands of people at most. They don't face, for instance, the scalability problems that require good engineering, and hence simple solutions and brute force is sufficient for most of these.

However, there certainly are projects with hard problems where only proper engineering can get the work done. Or sometimes, otherwise dull projects throw up a small but really hard problem. When I was there 10 years ago, I was aware of people in each of these companies solving problems that required thoughtful engineering. Unsurprisingly, they were also seen as the most valuable employees, the "go-to" people whenever hard problems come up.

Granted that these were rare cases. But I think it will get better with US companies beginning to outsource their R&D to India in addition to the dull IT stuff.

neha said:

After reading all these comments I just want 2 say "Everyone has his own view 2 see things " . But yes thanku very much 4 suggesting . I've heard alot about these firms (as sam explained ). My seniors who hav worked with these firms warned me earlier 'not 2 join them'.I know many people who left these companies.

besides this one more thing I would like 2 say that if u r a freshly graduate n u got a job in above said firms it really matters very much because of the big name associated with them . Many of us want to know which type of environment, professionalism ,people & opportunities r there . some people say these r gud ,some say they don't but anyways i've not joined any so i'll think abt it coz there is no fun in waisting time .

Maddy said:

@neha I shall recommend alternative action instead of thinking abt Infy/TCS/Wipro. Upload your resume to job sites. You can get calls from startups. No offence meant but if you want to end up like Sambeet working with ETL tools in these companies till you grow old then Infy/TCS/Wipro is good. Infy/TCS/Wipro are big names but they are not respected names. You shall realize it later when you try to apply to big sofware companies or startups who do good work. Listen to your seniors who warned you. They are right.

praveen said:

The 1% that do absorb the training do not stick to the organization for a long time because sooner or later they realize that they want to do some real engineering."

I fall in this category, i left before it's too late Would have been nice if you point this to "IT Consulting comapanies" in general rather than to 3 of them.

Anmol More said:

Very nice post ! True figure of IT Industry..

Remember the questions they ask in an interview. Think about them later.

I thought about this, before it was too late similar to Praveen. Think before you join consulting and try to find difference between consulting and development.

InfosysTCSWipro said:

Hilter does not want to work in Infosys, TCS, or Wipro: http://www.youtube.com/watch?v=XRjM3d_Bseg

Utkarshraj Atmaram said:

Some of the points are debatable, but well-written! Someone had to say it!

Harsha said:

First of all, nice blog, very informative to freshers like me who are almost ready to step out of college. After reading this blog, i must admit that i'm in a big state of confusion on what to do and what not to ? Because, Unfortunately i have been placed to one of these IT Companies in college, and fortunately i haven't joined them yet. My college is still going on and i'm expecting my joining atleast 3 months from now.

I have good academics through out my career and an excellent extra curricular track record.

"Remember the questions they ask in an interview. Think about them later" -- This is still taunting me, because this happened to me exactly as you described in the interview. Literally, they didn't ask me anything in the Technical Interview apart from a few basic Questions like syntax of case, for , while loops and so on. I still think they just recruited me because of my high academic scores.

I come from a not so good college where in one of these companies is projected as the "Ultimate Company" that one can get in our campus and i am not blaming my institution for it as its in a semi urban place and thats the best that they could get for us.

With a lot of input that i received from my seniors well they have kind of mixed opinions on these IT companies. Some of them say its good but majority of them opine the same that you have expressed in your blog.

My question is, if i choose not to join it and look out for alternatives for startups and other companies where you say real engineering is being done and a place where i can really learn , how do i get into such companies?

I may not be the best technical skilled guy that they are looking around, i must admit that i'm poor in DFAs , Graphs and Algorithms, but given a chance and time i can pounce on it really deliver what is expected out of me. I'm really passionate about technology and 100 % committed in whatever i do. I presume that these startups really look for guys who have done some extraordinary stuffs like hacking, patents and others. But right now i'm building a cloud application as a part of my final year project.

How can i get in touch with these startups and real engineering companies? What do they look for? What are my options ? and chances?

It would be great if you could help me out in this havoc of choosing the right career path

Regards,

koolhead17 said:

Nice read!! Always knew that so never appeared for any interviews from these companies!!

Well i was told by my friends who work at one of these chop shops that you need to stay at least 3 years and keep your manager happy to get a foreign pass. And yes 3 days new programming language part was true as well. :D

Ramjee Verma said:

good blog, for that person who want to knowledge about Software Industry like as TCS, Infosys and Wipro. I appreciated from this blog.

Ramjee Verma

Sidu said:

@Susam - I'm glad someone's finally calling a spade a spade. You do realise your blog is now plastered with Google ads for Infy jobs? :D

@Harsha - not that hard. Drop me a note. We don't care what degree you have (or don't) or what marks you scored (or didn't). We simply ask you to write code as part of your interview and evaluate your capability based on that.

Vijay said:

Hi Susam, you did not speak about the pay scale of these companies when compared to other high paying companies and still we have a better exposure.

Can you please provide some information regarding this ?

Vijay said:

@sidu - how do I contact you?

Sidu said:

@Vijay - The companies Susam's talking about (the big services firms) are atrocious paymasters. We're a startup and our starting salaries are nearly double that of Infosys.

You can email me at my first name at c42.in

Prasoon said:

Some points are debatable as mentioned in one of the comments. But as far as doing the **real engineering work** in concerned you are dead right.

I haven't joined any startup but I haven't joined any of these either.

In a nutshell this is one very nicely written blog post. A must read for every "so called engineer".

ptrthomas said:

Thanks for this, needs to be said. Here are links to two other nice blog posts along similar lines that you will certainly enjoy:

http://pindancing.blogspot.com/2009/04/stuck-in-code.html

http://www.swaroopch.com/blog/5-year-limit-to-being-a-coder-in-india/

fr0z3n said:

Though I've never worked in any of the 'fore mentioned companies, I've heard many tales of horror from my friends who have. Having worked in two (good) start-ups (in fact, still at the second one), I concur that a lot of good engineering happens in these small companies which the mainstream media is not familiar with.

There are a lot of good start-ups coming up in various parts of India. I urge all engineers to consider them if they genuinely want to engineer great stuff.

Dhaval said:

Having worked for both: a MNC and a start-up (in that order), I cannot resist writing on this.

I agree to all the points of yours. MNCs in India hire Engineers and convert them to Software Users. I was lucky enough to realise this within 5 months and switched the jobs.

All that these so called hot-shots worry about is billing and bench strength. During my short stay in one of these, there was a point where I was doing a work which I learnt in High school. ( & I am a PG in Comp Sci)

From my experience (both during and after MNC job), people join them for job security (it takes months before someone realises that you are not working good enough and should be fired) and an chance to earn from on-site opportunity.

Overall.. Nice advice to the freshers.. appreciate it :)

Saurabh said:

Hi Susam,

I totally agree with you. I have worked for one of the organizations and know how it feel. If you are a hacker, then working at these organization will kill your soul.

NIKHIL said:

hi susam!!

i agree wid u on some points... bt few points i would also like to make.. u said these organizations teach a PL in 3 days..!! that is totally incorrect. They hav choose u from engineering colleges so they can atleast think that the students which they hav recruited hav sufficient knowledge of engineering sylabus.! they r not dere to provide you DEGREE.... The motive of organization is to provide you with the basic knowledge of what u have learned in your engineering...! Nd that is what dey r doing.

baaki HATS OFF man..!! what a nice post......@@

peerlessdeepak said:

Why did you leave HCL,CTS out of it.They too have big market share.Please make some room in title to include them.

Parag said:

Hi Susam,

Excellent blog post. I think the best thing a student can do after graduating is either join a good startup, or create their own startup. They will learn more in 2 years than they would have in any other company. I feel that at that age (most) people do not have many responsibilities, and they also have tons of energy to work 16 hour days.

In fact I think that learning with open courseware and creating your startup simultaneously is better than doing a degree in CS or IT. But that is a different story :-)

What you say about trainings is spot on. I have conducted many corporate training sessions, and my general observation is that most participants treat it as 'relaxation time'. Basically it is time to spend away from real work, where they will learn a bit, and generally spend time on chat and email.

Great blog... this one is going in my blog reader :-)

Yuvi Panda said:

Tip of the iceberg. Nicely written man!

I wonder how these companies still get clients. Backroom deals and kickbacks?

Everyone! Repeat after me! "Bubble, bubble, burst soon!"

Mugunth Kumar said:

Agree on all your points.

  1. Training is given by companies not to "train" people, but to bond them. In India, it's illegal for companies to bond employees (Bonded labors or slavery was abolished centuries ago), so they train saying training costs 200k INR and you should pay it back if you leave within two years.
  2. Engineering: What you study in India in "Engineering" colleges is also not engineering. After working for three years, I did my post graduation in Singapore. Education here focusses only on your ability to understand concepts. Exams have just 2-3 questions in total and you have your 3 hrs time to answer them. You have to think and write the answer in the exam hall. They make you think. One example question from our exam, "Scenario 1: An employee working with you on a project suddenly expresses his intention to quit." With your knowledge of human resource management, how will you convince him to stay with you. An equivalent question from a Indian university will be, Briefly explain the ten techniques of employee retention. - 10 marks
  3. I wrote about our education standard 4 years ago: http://thoughts.mugunthkumar.com/quality-of-education-in-india/ and http://thoughts.mugunthkumar.com/education-system-in-india/.
  4. Culture: Are you aware of some "project managers" expecting money/high value gadgets in return for sending their subordinates onsite? Even more ugly press-unfriendly things happen with female employees
  5. This is the exact reason why I'm in a foreign land. Not everyone loves to be in a foreign country. In fact, most don't. But we don't have a choice.

Rahul said:

i do not work in any of these organisations .... but i feel one should understand the difference between service industry and product industry. both are different ball games and both the industries cannot survive without each other . SAP for eg develops its products but various organisations implement it according to the need of the client and mind it this is very business specific and do require huge analytical and logical decisions and lots of engineering concepts. My question to Susam- What Would u call an employee working in an steel plant's shop floor, where most of the work is automated and a so called engineer jus monitors the process.???? he still is called an engineer inspite of being involved in none of the engineering activity just an example.

By the way oxford meaning of engineering might help you -The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.

So what you are talking about is just a difference between a good engineer and a bad engineer ......

Susam Pal said:

Rahul,

You asked me:

What Would u call an employee working in an steel plant's shop floor, where most of the work is automated and a so called engineer jus monitors the process.????"

I am not sure how this is related to my blog post. I am talking about software engineering only in this blog post. Perhaps this question is a rhetorical one. In case it isn't, here is what I have got to say.

If an engineering graduate can not use his engineering knowledge to solve a problem where there are well known engineering concepts and techniques known to solve the problem, I hesitate to call him an engineer.

Since such people are plenty in Infosys, TCS and Wipro, I believe a fresher would learn less in these companies than they can learn by joining start-ups, Adobe, Microsoft, etc. have more people who solve problems like engineers.

Shiv,

This blog post is not addressed towards people who do not have the capability to get recruited as I have already mentioned in the alert in the orange box.

Selva's said:

Hi,

You just read my mind completely. I am actually one of the same kind, who joined it without any clue and then after 1.7 yrs...have just applied my e-separation few days back!

and add to this misery ... they exploit!

Manager order us to come on weekends and stay late nights as if they are commanders! I have never listened to it..and so my name is always in the hit list. :)

And many people who are so dedicated and committed are wasting their time 14 -15 hours n office.. for the money these people pay..!! With this same dedication they can reach heights if they are outside..!

But they are afraid. They want security. The biggest disease in India now!

Yamini Girey said:

A really interesting blog post indeed. Here are a few points I would like to put forward.

Also please bear in mind, I in no way endorse any of the firms.

  1. Software industry by its own nature is really young. The compliance regulations and processes are not so filtered at least as of now, to be called engineering. Plus the amount by which India produces engineers most of whom are lured by the instant gratification i.e. good salaries, onsite etc rather than learning, the services sector provides a good platform to launch one’s career. I am talking purely from an average engineer’s point of view. Even you will agree that very few of us treat engineering subjects seriously. And that is why to the unsure and clueless I think these companies provide a platform to launch a career.
  2. Concerning the non-IT/computer science background people, from my personal experience it provides a great learning experience, at least the training part. I was computer illiterate, as far as programming is concerned and whatever I learnt at Infy was a huge help while finding on campus jobs during my masters, writing programs to solve engineering problems during my masters (most of which was c++). I am not trying to blow my own trumpet but on the basis of the skills learnt during training (though it used to be 3 days-5 days per language) I managed to learn new stuff, keep myself updated and later apply the same while taking part in competitions organized by giants like Microsoft. So it also depends on personal motivation I think, how you learn and later hone it to apply elsewhere. I see it as a great experience for a person who wrote her first C program in CAPS (yours truly).
  3. Now coming to strictly IT/computer science people, even I agree if they want to make sense of their field as engineering, then they should not join these companies. Instead join a small product company which designs simple websites, but don’t get dragged into the hell of services. If onsite is what motivates you, then rather go for higher studies if your financial conditions are stable and apply for jobs at product companies later.
  4. But giving benefit of doubt to the age of innocence ie 21-22, lets also not forget that we need to learn by experiencing things ourselves. From what I have learnt in life so far, even a household problem can become an engineering one. A true engineer I think is one, who uses his/her reasoning to come to conclusions and design solutions which best fit the situation by optimizing resources.

Oh and by the way, I joined Infy because I was mesmerized by NRN. I know it was naive, but it was worth the try.

Anyways I don't want to justify any reasons anyone has for joining these firms. I am just saying its not possible to take the correct decisions when you are fresh out of college/campus.

But yes, I would rather cross-check my motivation to join any company, not just these. That I think, is possible for everyone.

Your post made me think a lot. So thanks for that.

Naveen Bhartiya said:

Thanks Susam for an excellent piece of writing and the follow up discussion.

Society gets what society deserve. Problem does not lie in TCS/Infy/etc. They are service providers. Nothing to do with engineering. They built a system where a donkey can win the race and bring laurel to his CV, status, family, etc.

You are right in saying that it is not good to be in Infosys, TCS, or Wipro if you want to explore engineering. It is good if you want name, fame, money, etc.

Susam, you lose one point. Your post confuses a fresher about what should they do? It is not their fault. It is the fault of the system, their seniors and elders.

  1. Training - Even big brands provide it, smalls one don't. It is the fault of trainee or trainer or facilitator if outcome is negligible.
  2. Engineering - Who cares at all! Taking degree matters and subsequently job and money. Education level is at its nadir. People can't make Mona Lisa, they just scan or use copy-paste. Attitude of society towards scientific stdudies has to be blamed for this as they don't encourage students to take scientific/engineering challenges.
  3. Engineers - Organisational Stucture and policies of these three companies can turn so called engineers into great IT brains of India.. ha ha ha..
  4. Culture - They become earner after joining any organisation. They got freedom to do anything up to any level. Level of intensity may differ but situation is grave.
  5. Onsite - Knowledge & skill does not determine who will be onsite or offsite. Only approach matters and internal politics. Some time, talents matters. Majority loves money and luxury.

Hats off to Susam and other participants of this lively discussion.

traviklais said:

There is a very interesting pattern in the long debate here.

The people who disagree with this article are either still working in one of these three companies or they have never worked in one of these three companies. Those who have worked in one of these three companies and then left it to join a better company are the ones who agree with the article in their comments. There are two implications of this pattern.

  1. Those who disagree with this article have seen only one side of the software industry.
  2. Those who agree with this article have seen both sides of the software industry.

There is some nice debate in these two links:

Freshers should read these two debates too.

Kalyan said:

Have to disagree with your tone of trying to guide it for all :) After all, lets say that your brand of engineering is trying to answer core problems. We require both the core and the periphery problems answered. Exactly why we have fewer of the likes of Google and more of Infosys. Although I have my personal preferences that slant with your views, philosophically youre answer is not exactly correct.

Vivek said:

I too have a similar story, worked in infy for 2 years (got caught in the bureaucracy and the only option to get out of the vicious circle was to quit) and then left to join a startup. I promised never to work for infy and likes.

Susam Pal said:

Kalyan,

You have missed the point of this blog post. Let me try to make it clear once again. This blog post is not about whether we require both engineering and non-engineering problems or why we have few companies like Google and more like Infosys.

This blog post is about which company a fresher should join so that he can make better use of his time at the work and learn more engineering.

jumpin said:

Many people who said in the comments that they met good engineers in these companies... I have a reply to them. I am cross-posting this comment from http://news.ycombinator.com/item?id=2628318

The blog says that the number of engineers are very few. What do you think is wrong here? There are some good engineers and there are many many bad engineers. so, it is possible that you had colleagues who were well respected but the majority of colleagues in Infosys TCS Wipro are not like that.

I worked in one of these companies and I will tell you what type of things happen.

  1. People insult each other in bulletin board. I am not kidding. This is true.
  2. Guys leave useless and flirtatious comments on blogs of girls in the internal blogs.
  3. You have to compulsorily stay 9.5 hours in office every day even if you have no work.
  4. In many projects there is no system of code review. how will the freshers learn from their mistakes without code review?
  5. File checkin is done not using client side tools but some crappy software created by internal IT team. The crappy software is interface between CVS and desktop. You have to reserve names for new files you have created one by one, then upload them one by one, upload each modified file one by one via a HTML GUI. It takes roughly 3 hours to checkin just 10 files.

I agree with the author that these companies have one of the worst culture.

I started my career here and after that I worked in 3 more different companies. All the three were better than these companies. At least I can check in code properly where I am now. At least I can disagree with other people in company bulletin board without fearing that someone will abuse me or insult me. Infosys TCS or Wipro is absolutely bad place to start your career if your aim is to learn good programming, learn good work culture and learn good knowledge from good colleagues.

asutoshsarkar said:

@Kalyan @CodeValley I have one simple question to people who are commenting that freshers should join Infy, TCS, Wipro. Why? You guys are not giving any good reason important to freshers. You guys are simply giving only philosophy like someone can join Infosys and likes to change the system, improve culture n engineering practices, service work is also important with product work etc. (Who is talking of service vs. product here? This is engineering vs. non engineering)

Freshers are not interested in philosophy. They want to use their knowledge and learn how to do work properly along with earning money at the same time.

Why will a fresher join a company to change the system and improve the culture of the company. Are they social reformers? Are they the managers of Infosys/TCS/Wipro? Should the freshers decide the culture of Infosys/TCS/Wipro or it is the responsibility of the CEOs, HRs and managements to decide the culture of Infosys/TCS/Wipro?

I am just not able to understand why you guys are asking that someone should join Infosys/TCS/Wipro and work with people who don't know how to do proper engineering and force you to do bad software practices?

In short you guys tell me why a fresher should join a company to do all these philosophical and cultural improvements instead of trying to join a company where the fresher can do proper engineering work and learn good coding and engineering practices from his seniors?

Dreams!!! said:

I agree with the author. I am a fresher and placed in a company similar to these three (don't want to mention the name). And these guys have recruited such people in campus which do not deserve being called engineers at all. Kudos to the post.

Abhinay said:

Quite impressed by your article dear, what u have written is reality, thats what is happening in these so called IT firms. A bulk of fresh talent is being wasted in the AC offices of these firms. Now a days a good stuff is available on internet & social networking websites about the work in these IT firms which helps to software job aspirants to take right decision for their future. Same suggestion to all the job aspirants- dont run in rat race, just choose the job that is in accordance with your skill so that you can get an opportunity to explore & enhance it.

Karan Thukral said:

Very nice post. A whistle blower. I second the thought that IT companies are wasting loads of talent by hiring then and utilizing them as mere resources. But the flip side to this is that the young talented IT folks should also realize this. They have to take control over their careers and if they are focused enough , IT companies should just be a part of the journey, not the destination.

I too an serving in the IT sector. I with a couple of friends have launched a community website for IT professionals and shall refer this blog post there too. You can find plenty of similar discussions there.

the url is www.softkonnection.com and the discussion can be found here http://www.softkonnection.com/blog/it-sector-worth-considering

thanks

Warlock said:

@Susam, You rocked in the blog man! I'm a second year student and having almost no knowledge about the environment in these companies I was shocked. I already knew they made you work like peasants but other points you mentioned was completely new to me.

Again, great eye opening blog, loved your stYle! Comments too were fascinating... read about 20 of them at a stretch!

Anonymous said:

There is basically a huge misconception about the software industry in India, especially among Indians. That misconception is that the software companies like the ones you mentioned above employ smart people and that their main business proposition is that they make the Indian 'talent' pool available to clients overseas. The fact is, these companies help fill up the clerical jobs that are just too expensive to do at the client's end. The British designed our education system to produce clerks, we are continuing their good work and companies like the ones above are filling their coffers by making use of this pool of clerks. They do a great job of glorifying the work which they give to their employees, by giving them glass buildings to sit in and providing them with a conducive environment to meet their future spouse, so that it creates a better lock-in.

anas said:

well said frnd!!!!!!!! reading ur post i hv changed my mind of wrking in these companies....

radhakrishna said:

nice post..depicting the reality..unfortunately the people working in these organizations run away from the truth..reminds me of the classic case of ostrich which tries to hide its face from the hunter..let me introduce myself..i have an experience of 5 years in this industry, and has worked in the organisation which is first in the name of the blog..you are right..and i would also like to mention that i was never interested to join this industry..topped my 12th school exam with very good marks, was never interested in MBA so did not even bothered to write the CAT exam even after taking a coaching for an year in CL in delhi where goal was to stare the girls of delhi university :)..got selected in IIIT-bangalore, did not join..and after all these, i landed in this industry..now the fun starts from here..started facing discrimination from my manager,who had studied electrical engineer..don't know why she took such a good subject.she was totally useless as she never heard of norton's theorem and M E Vanvalkenberg..i quit that organization and landed in infy..infy was a nightmare to me..you mentioned that people think that they are cool because they are proficient in english. i can vouch you that half of the people cannot construct proper english to interact on emails also..and now on the blog..that none of these organizations do engineering..calling the people there as engineers is nothing but a disrespect to the word engineer itself. The people working there don't even know for what different purposes HTML and XML are used, they think that they have got similar usage as names are similar, forget about the concepts such as threading, serialization etc etc.and i know there are lot of trollers here..the thing is that these organizations are meant for low level IQ people of our nation who just want to get settled..if you are smart, well you will not consider them given a chance,but i know india is very funny, and by mistake land here, just be patient and wait for the right opportunity. And middle managers are someone who thinks that they are Narayan murthy..so bossy, so arrogant..they make the life of employees a nightmare

and yes, i would like to mention that why i mentioned that i had topped my school in 12th with very good marks and got selected in IIIT-bangalore but did not join..because...just hold your nerve..

Infosys had given me a pink slip.. i guess this completes the picture

radhakrishna said:

and in the continuation of the above... for the trollers, please stop calling yourself as engineers..the title which is appropriate for the people working out there is softicians..just like we have technicians..and these sort of emotive responses come if you know the reality but hiding away from the facts..the blog is truly accurate..you will not find any engineering happening in these organisatio...n..if someone has to be an engineer, he uses all the formal methods of engineering..in CS it includes Modelling, we have two machine models- mealy and moore, FINITE AUTOMATA for lambda calculus just to check whether the machine fits the TURING machines standards or not, simulation..modelling and simulation are loosly connected..then performance measurement, the NP Completeness of the problem..it does not happen in these organisations, hence no engineering..if you are interested in engineering, better to go where engineering happens..also, it mentions about the pay and still people crib..you are right on that part also

awesome7777 said:

Personal experience: Did a contract in Germany and part of the solution involved working with Infosys guys. They were "cheap" and a dime a dozen.

Infosys focuses on quantity rather than quality. A great deal of the time they'll ship over many developers to do 1 developer's job. At the same time they'll ship over an organizer who is responsible for coordinating with the Infosys guys - like an onsite PM, except without any power.

The guys we dealt with were all terrible communicators, just there for the money, and not very skilled. They constantly over engineered solutions, and gave a lot of "It's not possible" answers.

The actual product we worked with was Remedy, and I have to say it was a joke. Extremely cumbersome, most likely built by the same sort of monkeys we had to deal with.

All in all, it's not an experience I want to repeat.

Sudharshan said:

Susam, I understand where you are coming from. We need to realise that these IT companies are businesses whose stock is people (like toothpaste is stock for Hindustan Lever). You have stock in various levels of finish. Some might be WIP (in training). Some might be ready-to-sell. And the business will always take good care of the stock (making sure the toothpaste stays at the right temperature for example), so they can sell the stock (market the skillset).

Big IT treats its employees like cattle and no one realises it, because the cattle is well fed and the butchering (of talent and free thinking) happens over a period of 20-30 years.

Suman Mukherjee said:

Hi Susam, went through your article and couldn't agree more on most counts.. When I passed out from college with 90% of my batchmates placed in swanky AC offices with pretty girls around in good cities I always wondered what went wrong with me... but soon in 5 years time I realised what most of these software professional do... cribbing, cribbing and cribbing all the time... no offense meant to any of them but trust me I started my career in a very hard way and today having woked in Volvo and being in Hyundai I can tell you one thing that most of the software professionals start living in such a small shell that they get very easily worked up to real life obstacles.. I mean their life becomes so small... bitcing bout collegues, gossips, pretty girls and onsite... Is this what we were meant to be while we were students?

As for the engineering part, Susam, even for me who is in a full fledged proper technology company I must say it challenging to do what you really want because you always have to balance between what you want and the money you need to survive and how you get it.... but on the whole a good observation.

pradeep said:

It completely depends on the personal interest of the individual. There are a lot of open source communities to show case engineering talent. But for making money. your need to work somewhere initially in companies like TCS. Because, I believe talent with out money is useless. To clarify you, there are many people,who started there career in TCS and went to Google by showcasing there talent in open source communities.

Sachin Gupta said:

Susam, well done and well said, everything mentioned by you, I agree to it. Good article. An eye opener for freshers.

Pk said:

@Susam - Absolutely correct.

People who disagree belong to one of these:

  1. Managers in TCS/Infy etc.
  2. Planning to write GRE/GMAT/CAT and get the hell out of these places
  3. Ppl who need to get their heads examined.

There is no fourth category.

For ppl, who really want to do good work and want to find gr8 ppl to work with, there are these various categories. I hope it helps CS/IT grads. This is based on interactions with frnds and colleagues.

The below list are places where I have my frnds and I am pretty sure of these. Others, I do have some idea but don't want to write something based on hearsay.

Word of caution - Any PRODUCT BASED startup is between level A+ and B.

  • Level A+ - best places to be in - Google, IBMRL, HP research, Zynga, RSA - this is where the cherry is.
  • Level A - Some of the work is really A+ but sometimes not - I know many will disagree but some of the folks from these companies will agree - this is where the cream is - - Intuit, Microsoft, Yahoo, Amazon, Flipkart
  • Level B - Thoughtworks, Robosoft - difficult to get into but not as difficult as the above companies. Also not engg focused.
  • Level C - Aditi, Persistent, any OPD
  • Level D - Dell,Verizon,Qwest Software Services, Bank of America, any US company which does not sell software but sells phone lines, credit cards. Quality of work is same as TCS etc but there are chances that you might meet some one intelligent. Pay is slightly better than TCS etc. Really the second last resort.
  • Level E - the worst - here you can send your mother-in-law to work - TCS, Infy, Wipro, CTS, HCL, IGATE, Patni (probably the worst), HP, Sonata, Covansys, EDS, Accenture, IBM Consulting.

Moni said:

Really, it is the best article I have read so far.

Under_Contract_Coward said:

Hi,

I work for Accenture and while the culture and software practices seem to be better, over-all we dont address any real computer science problems, and let me tell you if you didn't have an algo or puzzle round in your selection procedure as a fresher, be assured you aren't gonna face any computer science problem there.

I knew what piece of cake I was getting for what price, I go to office, have 9 easy hours and comeback with a salary that will support me till the time I jump to the real race! And that being said, I know, I'm not an engineer coz i don't do anything new, but I am a smart graduate who earns 30k as a fresher without deserving them!

m@nn said:

Susam,

I agree with your post. If you really wanna make your carrier path strong then small companies are very good for freshers. The reason behind it is, those companies provide complete exposure to all the employees. You are included in all the phases of software construction. So, your knowledge and skills increase. Obviously, then you can switch to any MNC, they have their own advantages, like more salaries..

Steve said:

My pedantic contribution.

  1. Yes, I can learn a useful amount of a typical programming language in three days. That doesn't mean Haskell, but it does (and did) mean Pascal, Modula 2, Ada, C, C++, Java and C# among others. Usually, that mostly means how to spell the same old concepts, with very few new semantic ideas. The new semantic ideas can often be considered "special purpose", and can best be learned later, as needed to do the job. Learning the first three days worth in a training course (or from videos) is useful because it's just so damn boring - paying attention throughout the whole thing is impossible, so you need the training to carry on while you're 90% asleep or else you never finish. 10% awake is more than enough.
  2. Regular expressions can test for balanced parentheses. They can even test for any depth of balanced parentheses, so long as you know the finite maximum depth you need to test for when you construct the regex. I don't claim it's practical (context-free grammars and push-down automata exist for a reason, even though most nesting isn't that deep in the real world), but this isn't a sane argument, it's pedantry. ;-)

Derek said:

Good points Steve but remember that you need to be fairly interested in programming and technology to pick up a new language in 3 days of training. Most programmers I meet in the software industry aren't so interested. Those who are and have the ability to pick up a new language in 3 days don't work for Indian IT outsourcing firms. :-) So the first point of the author is still valid. Those who can pick up a new language in 3 days should stay away from these companies.

If you really want to be pedantic, you shouldn't assume that an upper-bound to the depth of nested parentheses is known. Perl-derived regular expressions which support a lot of fancy features including recursive patterns can solve the problem for an arbitrary depth of nested parentheses but they are not true regular expressions. They are extensions to formal regular expressions. Moreover, POSIX-compliant regular expressions are incapable of handling recursive patterns and they can not test for balanced parentheses.

Chas said:

As a US citizen with a "name brand" PhD in Engineering, I can assure you that things are much the same stateside. US corporations like LM, GD, and Shell (I have worked for all of them) hire technical talent and use them to do menial clerical jobs.

Sandipan Biswas said:

Yeah, pushdown automata should be used to detect balanced set of parentheses, not regular expression because they are finite automata.

Bristi said:

I totally agree with the author of this post. I am working in one of these three companies as a trainee and I have a master's degree in computer science from the University Of Calcutta. I had a university rank in both of my bachelor's degree studies and master's degree studies. Now I have spent my 3 months after the 3 month training in one of the three companies mentioned in this blog post. I have not seen a single line of code here. I have done my training well and I got to learn a lot, but now what I am doing and will continue to do for the next two months is translating some documents from one language to another, reading them and understanding them. I'm supposed to do some support work (no software developement at all) and although I have no work to do, I have to sit in front of my machine for 9 hours a day. This is an unproductive use of a person who has researched on "Distributed file system and parallel computing" in her final semester.

My seniors who are not all from CS/IT background, felt that it is very easy to learn any pogramming language in 3 days. I guess what they meant by "learning" is learning only the syntax of the language.

I am very upset as I can't utilise my knowledge and can't learn anything except some syntax. I was a topper in my school and I've scored above 75% in both my degrees in the University Of Calcutta. Just because I wanted to be independent, I accepted this job offer. But now, I want to leave this job and want to sudy hard for getting into research. Maybe I have to stay unemployed for a long period. My family and I can afford it now but it's not possible for every individual. I have to turn myself away from all the luxury I've been used to for the past six months. But I want to do something which is relevant to what I've studied and learnt. Being creative at my heart, I can't do this software user job anymore.

My advice to all the fresh engineering graduates who want to do something in engineering and doesn't need money immediately is to wait and think before you join on of these companies.

Sahil Shah said:

I just read this post with mixed feelings. I haven't gone through all the comments though but reading the first few, I understood there will be a lot of bouquets and baits for you and there are many more to come. There is a heated debate about whether MNC's are worth working for or not. I personally believe it's just a matter of an individual's perception and to his luck. It depends on the type of project and manager one gets. It's even difficult for an MNC having more than a lakh of workforce to cater to every individual's needs.

My opinion on the points you have made in this post:

  1. Training: Organizations have to show this to their clients to get projects. It ensures client that the company has got talent. It has nothing to do with providing knowledge to engineers. You can't feed software engineering into any individual in 3 months, which took an engineer 4 years to imbibe. Moreover, these companies don't care about it either. The trainee when given a project in production has least consideration about what he/she has been trained for.
  2. Engineering: It depends on luck whether you get a good project which truly tests your engineering skills or not.
  3. Engineers: It's not the company's fault that they do not have many engineers. It is the institutions in which they studied that couldn't produce engineers. Not everyone has the capability to become an engineer, but if the institutions arent't right, even the brightest could fail. Good institutions can make the dullest shine.
  4. Culture: It depends on your circle of people who you work with. You will always find the culture, about which you complain, better once you work for small companies who try to get the most out of you, make you work overnight, weekdays, ask you to keep your mobiles off, do not let you access internet, etc. I do not say that they have the best culture, but they are not the worst. I have worked with Infosys as well as Cisco. I need not say whose I liked more. :)
  5. Onsite: I agree with what you have said about this.

Lastly, who am I? I used to work with Infosys 3 years ago. I also worked at client side with Cisco and Microsoft. Yes, two entirely differently targeted firms. One is the master in networking and other needs no mention because it may start another heated debate here. Without mentioning the multitude of other parameters apart from the one you have made in point 5 of your blog post, I came to a conclusion similar to yours, "None." I currently run my own small software factory in my hometown.

For guys and girls who read Susam's post and then take the pain to read this comment, do not worry if you are not able to get into one of these MNC's or if you do not get what you deserve, be it in terms of project or salary. There are many small software companies out there which apply engineering. Go for it. Don't worry about the pay. Think what would happen to you if you are put into some bullshit maintenance project for a year doing some mere repetitive stuff. Your mind would accumulate rust. When the project is over or you switch companies, you will no longer able to perform the way you could have when you were a fresher. In case you feel stuck in a project, take a bold decision and inform your manager to switch to another. Yes, you can shout and you can pick the project you want. These people should not be the decision makers of how you should work. They should understand what you want to work for and get you into that project. Not everyone shouts for their interest. Not everyone has the guts to do it. But if you feel you are in the mud, you should have the guts to pull yourself out.

@Susam, Do not worry about the brickbats you may get for writing this post because it's all a matter of perception and luck when it comes to working for these MNC's that people may or may not prefer.

Post a comment

RSS