Pros
The senior management we have now is serious about looking after their people. We get some nice perks and benefits,plus the only really good bonus system of any company I ever worked for. We have quarterly meetings in which everyone gets told exactly what's happening in the company, good bad and otherwise. They're big on communication, here. Which is a good thing. Company's been in IT for a heck of a long time, but at the same time is nimble enough to reinvent itself as the industry changes. Lots of smart folks here; it's kind of a gauntlet getting in (at least on the programming side). I had to talk to 8 different people before they brought me on board. You know the people who you work with have to have their stuff together. Good diverse workforce, plenty of female/minority programmers in senior positions and their opinions taken seriously.
Cons
The offices are pretty to look at, but that's not what offices are for. Much better to have noise-baffling cubicle walls so we can concentrate on our work. No 401K matching. Management has addressed this before, but I still feel it could be done on a graduated system, say 5% per year of service or whatever. Likewise, use-or-lose vacation days. Yes, I understand they want to make sure we take our days, but I feel it would make more sense for the company PTO hours to have an expiration date instead, so they could be more spread out, we could take long trips if we wanted, and it would also avoid the December "dead zone"--just try and get anything done the last two weeks of the year. Does extensive charity efforts, but mostly in benefit of a shelter which is notoriously anti-LGBT, so I cannot in good conscience participate in any of their activities.