Great work environment, beautiful campus, great perks for employees
Cons
Career growth opportunities are very hard to come by. Software engineering has not been mature enough to execute well. Cowboy-ish culture is prevalent across various engineering teams, specially in the leadership positions.