Pros
Decent compensation Healthy business Fun products
Cons
Slow pace Lack of growth opportunities. Often because of the above. Both ICs and management have an overinflated view of their own success. The employee base is a young compared to tech. This leads to a "college" like mentality of living near and at work. Employees "throw themselves" at problems instead of working smarter. When they succeed, they believe they did a great job and don't understand the depth of expertise and experience they're missing out on. There is a lack of "maturity" to how organizations solve problems which leads to moments when your see management and higher level ICs have an overinflated view of their performance. There is favoritism from your peers and management. Often times it's as simple as whether you fit the racial mold of the company. You'll notice management giving opportunities to some people over others in an effort to push them out or limit their success. You'll notice your peers be eager to help some people who fit the mold, but offer minimal help otherwise (unless it's in their own self-interest).