Pros
Lots of friendly and competent people to work with There are some interesting technical problems to solve (if you can get on one of those projects) The benefits are good.
Kontras
Poor/hostile relations between teams on separate sites Too much reinventing the wheel - groups have no idea what tools, libraries, functionality have already been written in house Long process for using OSS (GPL not allowed) in projects Management does whatever it thinks best without asking employees Management is trying to do more with less employees and work-life balance suffers Management jerks teams around. They give you a project then transfer it away then assign another and then transfer it away. That does wonders for morale. Everything moves very slowly. Adoption of new technology and methodology is years behind.