Pros
A lot of good people to work with vast knowledge in multiple disciplines. Relatively good pay if you can last long enough to get a raise and get in well with upper management. Some flexibility but that is subjective to whatever manager you work with.
Cons
Arbitrary and subjective management. Make decisions that affect people's careers but when you say something they just threaten to fire you. The good old boy mentality is very visible throughout the company. they expect you to go above and beyond everything even if it's not part of your scope of work. Lack of communication from upper management to the people doing the work with very little guidance on their expectations. The whole environment is pay-to-play. If you can afford to pay for your own training you will progress. Many of the upper management consider themselves leaders however they don't do anything to lead they just command from behind their desks. Opportunity for the new guy that came in 3 months ago but not for those within the company. They promote from outside constantly.