Pros
People are always happy, helpful and nice with you. The career plan, although might seem quite slow, is very interesting, considering the fact that you don't have it in most companies. The environment is nice and you don't have much pressure in most cases, only when you have to deal with deployments, go live and stuff. The transparency of the managers is also something very good, they are very easy to talk to and they do care about your personal stuff and problems. The company teaches you how to behave and to work as a team and how to feel happy by helping people do their jobs. It has its own academy and they teach all you need to know if you're about to be promoted as an architect, for example.
Cons
Some projects are not exciting and you can be very unsatisfied if you don't fit in the project you're in, and it can make you feel really bad. Sometimes you have to deal with old technology and legacy systems. Your work might be affected by how your client likes to work, no matter if it's counterproductive nor old fashioned. In the same project.