Pros
1. Friendly Colleges. You will always find help when needed. 2. You can learn a lot in some of the projects and with some team leaders. 3. Decent salaries compared to other companies in my country. 4. Got a very good training before starting the work (That is not the case with all individuals)
Cons
1. Management and HR can be improved a ton. You can not trust their words. They don't care about their employers or listen to their requests. They have been manipulative in some cases. They don't trust their employees. 2. Poor career development. 3. Some team leaders are not professional or well-trained. You may suffer working in some of these teams. 4. Although their outsourcing companies are big names, their salaries are much less than what the client pays them. 5. The project I was working on was old and legacy code. Developing or maintaining it was a nightmare. 6. Got laid off for financial reasons, although they will say other than that. They will easily replace you as long as they save money -even if you are a top performer- 7. No compensation for extra working days and hours. You will not feel appreciated doing any extra work.