Pros
1. Employees are so friendly and very happy to help 2. Clients are good you act much like their employees, not contractor 3. Team leaders, in general, behave friendly and try to improve your skills (except in some cases when the manager overcontrols them)
Cons
1. Gained knowledge is obsolete except in a couple of teams 2. Sometimes, personal relationships with managers affect your raise 3. Raises and promotions usually are below market level 4. No salary scale 5. HR department considers employees as slaves and overcontrols them. For example, they can simply enter your office or cube, remove your sticky notes from the glass around you because they don't like them! You may talk to a colleague in a very quiet voice in the corridor and suddenly they appear and ask you to go away! (they can laugh loudly or talk to someone in mobile loudly just like if they are at home though) You may come to the office someday (and it happened) and found they started to move your cubic to another one because they don't like you
6. Sometimes management hire people without much to work on