Pros
The company's mission is a positive one
Cons
The company has many siloed teams, and at least in my department a mountain of tech debt. Nonperformance and favoritism were rampant in my team. For example, one "principal" engineer with junior-level skills at best was allowed to state in team meetings that he refused to work, with no consequences; this colleague committed only several lives of code to the repository over a span of months. The team's product owner was frequently angry, and directed this anger inappropriately at the team instead of fixing problems, while encouraging back-biting among team members by ferrying along insulting gossip in weekly 1:1 meetings while hiding the identities of speakers. All team members were considered to have equal weight, leading to problems with code quality and endless argument due to the unfortunate team composition. A friend who had convinced me to join, after being there for years, left due to the stress--without a word of regret from management. When I turned in my notice, I was simply sneered at. The company may be good overall, but seems to have no way to correct pockets of poisonous behavior when they arise.