Pros
I've been working at EPAM as a C++ developer since 2005 year (13 years from now). I participated on many projects and on every projects there were extremely talented guys. It is was a big pleasure to work with them. I had opportunity to learn something new almost every day. Within company there are online webinars and face-to-face lessons. EPAM has huge knowledge base with presentations and articles. So you never miss something new. Yet another point is EPAM encourages personal grow. Resource managers are interested in your constant improvements. They cannot push you to learn, but they can guide you. All pointed above helps to grow really fast. As a big company they have a lot of projects. So you can change them, if you feel uncomfortable on current project. As an international company they have a lot of offices around the world (Europe, Asia, America). You can migrate between countries and still work at same company.
Cons
Like other big companies they have expenses (HR, Travels and other non-production personel). Thus, they cannot offer high salary like at small companies.