Pros
Relaxed dress code, great salary, decentish benefits, support for a healthy work-life balance, and they really know how to throw a party. Chances to learn things outside your paygrade if you're curious.
Cons
The software is shoddy -- supporting it sucks, because it's ancient and decrepit and no one knows how it's supposed to work anymore, but the Dev guys aren't allowed to actually do maintenance for most products except when there's an OEM endorsement in danger or in other extreme cases. Instead, upper management keeps insisting on painting another layer of shellac over the broken system and hoping that this new shiny layer of paint will magically make the underlying layers better. Security is also shoddy -- a number of things that could bring certain services and functions to a screeching halt are "protected" only by having people not know where to look for them. And no one seems to care. The culture is ill -- lazy, incompetent sycophants are allowed to do whatever they want (you want to take six smoke breaks before lunch? Go ahead!) and get promoted, people who work hard and well but fail to kowtow to management get fired or laid off. On my (large!) team, I do not trust over half of them to be competent unsupervised, and I trust my team a lot more than any of the other teams in my org!