Pros
Management is pretty flexible and employees a lot of latitude to make decisions.
Co-workers are bright, intelligent and creative. Most people really care about their work and are willing to help out others as well.
Casual dress code. Fun relaxed environment. Game nights, movie nights, sport teams, really fun company parties. Monthly lunches that spotlight various employees. Daily salad bar, snacks, expresso machine. Ping pong and fuse ball for breaktime.
Excellent and affordable benefits.
Good location.
Cons
Communication is not always the best. People sometimes forget to inform other teams of changes.
It seems that when the teams / managers don't agree about things out isn't always resolved well.