Great company culture, interesting problems to solve, tons of opportunity to learn and gain new skills, nice offices and furniture.
Cons
Pay was never quite right. Upper management avoided communication whenever possible, so rumors spread far and fast and the truth was always much different. Project directions changed constantly. Some people dealt with that alright, but many others didn't.