Pros
I worked with some very high caliber people dedicated to producing a high quality product for more then 14 years. I had some very good opportunities to grow my technical skills, to mentor new team members and to grow a team to a high level of performance and professionalism. We were building world class technology and it was fun doing it.
Cons
All of the good was undone by the companies single minded policy of only thinking of shareholder values. Nothing else mattered and all costs that could be cut were - to ludicrous extremes. Between the shareholder only policy and an army of project managers/executive project managers/program managers all requiring status updates on an daily basis for their respective VP chains it became difficult to actually get any quality work accomplished. I was glad when I was selected for a severance and layoff from a team that I had loved, within a company I had grown to despise. The atmosphere had morphed from one of fostering creativity to one of instilling fear. Fear of the constant layoffs, fear of the stack ranking system and fear of being asked to work just one more weekend (like so many other weekends). I had coined IBM as having a siege mentality for years and this is how it felt. Barring the door from even good opportunities because the teams were so overloaded trying to keep up with current workloads with greatly reduced resources. Reduced not just in numbers but also in terms of capability. After being laid off and actually slowing down was I able to look at the situation objectively for how "nuts" it had gotten. I talk to my former colleagues frequently and they tell me that it's only gotten worse. I can't imagine -- I'm glad that I no longer work there full-time although I do miss working on the product I'd spend so many years pouring my life into.