Pros
Started as a co-op and gradually climbed the ladder to a senior level software position. Worked in R&D, but also worked on some infrastructure projects when necessary. Was exposed top notch experts in many fields, as well as multi-disciplinary teams where everyone was respectful and learned from one another. Had access to tools we needed when we could justify it.
Cons
Senior management was too risk adverse and failed to pursue many recommendations from R&D, in retrospect they wouldn't be on their current downward slide if they had realized mail won't last forever and diversification was necessary to maintain growth. The "strategic transformation" of several years ago gutted much of the senior level, talent which decided to take package rather than go down with the ship.