Pros
They have a very good benefits package, the facilities are top notch and there's a lot of flexibility to manage your own responsibilities and time as long as you achieve your goals. There's a great work environment and a lot of camaraderie within the teams. You feel a welcoming energy since the beginning and they try to keeping by promoting social bonding. They have career path opportunities with very frequent promotions.
Cons
There used to be better raises, but now they are pretty much insignificant. A lot of times the kind of work you do doesn't really match the profile you were hired for (like hired as java dev but end up doing front end) and also many times is not challenging and you get stocked doing a lot of maintenance- tedious work.