Lots of food, great facilities, very strong culture of respect, blameless culture, good work/life balance. Coworkers are very smart and friendly
Cons
Tools and systems are all proprietary, complex and difficult. Most development is just stitching together tools and libraries. People give hints rather than solutions. Shared desks.