Extreme disorganization everywhere in the company. No room for personal growth or promotion from within, unless you're Indian (this is what HR told us day 1 during orientation).
It's a lottery whether or not you get a competent manager or worthwhile project where you can do technical work and advance your career. Most likely you will be lied to about a project requirement, learn a technology, then be put on the project to do something completely different than what you prepared for.
I've known many people who are forced to relocate to a project that's ending, and get fired and are now trapped in a lease in an unfamiliar location with no job. You also will not get a cost of living adjustment if asked to relocate to say California. Have fun sharing a basement apartment with 5 other guys.
Lots of wasted time, inconsistent projects, the longer you stay with TCS the less valuable you become and your resume will still somehow remain empty. You may have 3 years of experience at TCS, but realistically only 1 year of that experience may have been in a valuable position, and that's best case. How are you going to explain that in an interview with a future employer?
Terrible work culture on some projects, heavy reliance on offshore, usually you will be the only technical consultant onsite and will not have any guidance or a lead developer to work under. There will be 20+ offshore developers who mysteriously all have no bandwidth to work yet when asked in the standup what they are doing it's complete silence. They are some of the laziest most inconsistent people to work with, and communication is nonexistent.
Offshore will be hostile towards you when you ask for help but at the same time they will expect you to do all of their work, and answer all of their questions IMMEDIATELY. We're talking if you don't respond to a teams message for 5 minutes you'll have 3 more hi...., hiiiii, ????? There is no respect for your time whatsoever at this company.
Finally I want to add that I truly never had any idea who my manager was on any project or who I was to report to from TCS. I almost worked entirely with client project managers and reported to them.
Often times the person at TCS who owns you will put you on a random project due to pressure on them to make you billable, and you will never hear from them again.
I spent 1 year on a project without hearing from my TCS manager, only to find out the internal team had dissolved and that they wanted to pull me from the client project and place me somewhere else in TCS, this did not go over well with the client.
The TCS manager told me stop working on the project immediately, but the TCS manager on the client project told me the opposite. The TCS manager and client TCS manager did not know each other, had never communicated, and expected me to drive this conversation as an employee. Are you kidding me? The employee does not need to be part of your internal politics.