Pros
When a position opens up, all current employees are given the opportunity to apply for the position before it is opened to the public. If you are looking for chances to learn new things, you can talk to your manager, and they will almost always be up to teaching you more. Promotions and advancement are very self-driven. If you aren't trying to learn and grow, you won't get promotions, simple as that. Most coworkers are very friendly and easy to get along with. Top management is frequently in the office, and it's not uncommon to see a VP stopping by your cube. All in all, great place to work.
Cons
As stated above, advancement is very self-driven. If you aren't actively trying to learn and grow, you can find yourself stuck in the same position for a long time. Networking is definitely a must too if you want to keep moving up. Make sure you are speaking to those top managers when they come by, and go to the holiday parties. Only other con is the fact that management tends to be secretive with a lot of major decisions until they're almost ready to enact them. Certainly understandable in some situations, but there are some people who may be materially affected by these decisions, and are not informed ahead of time.