Pros
You get to work in great and exciting projects, from well known brands and companies. You have excellent designers and most of the applications developed there have a good user experience. There is an opportunity to say what you think about the evolution and development of some applications and at some times you feel like your work really makes a difference. If you want to get Photoshop knowledge, it might just be the right place. Designers don't do all the work for you but that might just be a good thing because they'll help you with the tool and teach how to do some things on your own.
Cons
You never know what to expect from management. For example you might get paid at the first day of the month or you might just get paid at the 15th day of the month or even after that. You might as well only receive your holiday allowance half an year after your biggest holiday period. You might be asked to publish a Dev version of an app just because the client "really needs to see this feature". They might say they use Scrum, but they really don't. Which sometimes is worse than not trying to use anything at all. There is really not a well defined hierarchy, which sometimes causes that you receive different directions from different people. Everything is wrapped up in a workplace with really nice stuff and events, great design and communication which you can't really enjoy most of the times. In order to get recognition you must work a lot (and sometimes you don't really need to work a lot, it just have to seem like you live at the office, which is even worse in my opinion).