Pros
From a management and leadership perspective, you can move laterally and upwards through the company at a fast pace.
Cons
Overabundance of processes and restrictions which suffocates the engineer into zombie-like servitude. This may work for a government contracting company where the slightest change has major implications, but for the software organizational units, this is anathema. Fosters an environment of every man for himself as top-tier engineers must compete against one another after wave after wave of layoffs. You may feel like the cream of the crop, but eventually even the cream gets lopped off. Systematic and planned outsourcing of all key technical positions. A software engineer here is like a lego block. Take one out, put one in. An engineer from Stanford or Berkeley is considered no more important than an anonymous offshore engineer.