Pros
1. As outsource company, your are not limited to one project and one business domain 2. If you out of project, you still get paid for several months. And it is on you and your Resource Manager to find new project. 3. Lots of free resources to grow. Free access to linked learn courses, lot's internal courses for learning languages or growing as a developer with supervisor. And many more opportunities. 4. Great companies culture and very friendly colleagues.
Cons
1. For now, it was impossible to get relocation in another country, because as I was said there is more than enough people at that location 2. Salary is average, but you get much less then if you work work directly on the customer. But it is possible to be employed by customer directly, but I have not much information regarding this. 3. Since it is outsource company, you will have limitations on the project permissions. The companies main goal is to sell person, and to create product., so from here some decisions could be made. 4. Project could finish unexpectedly. In many cases employer has it own team, and when product active phase is over, there is a big chance that epam's teams would be fired. Lot's of minuses are from nature of outstaff world, but I thinks, that EPAM doing it's best to minimize these negative moments.