Pros
Direct superiors and colleagues are very supportive and pleasant to work with. Senior engineers provided mentorship and career development, and there are opportunities to provide mentorship to others. Meaningful mission. Parts of the culture are great - ERGs (employee resource groups) and an attempt is made (though no always successfully) to make remote working fun. People often join the company because they care about the mission, which contributes to the culture.
Cons
Bad upper level leadership. Lots of reorgs, acquisitions, and tech debt leading to high turnover. Reorgs included large layoffs along with removal of some benefits for all employees. Leadership lied multiple times about each layoff (there were several) and defended with the reason that they "didn't want people to worry". This created anxiety even before the layoffs both due to employees not trusting management and not being able to trust in the mission. Layoffs were not planned well and created unnecessary chaos. Large numbers of people were voluntarily leaving as well during this time and continue to do so. Company values are not supported by leadership. For example, leadership spent months trying to push for transparency then revoked their promise to share information about pay rates and levels. Career development is stunted due to a lack of career ladders or inside promotions. Peer reviews are required on a regular basis. These reviews apparently directly relate to your salary / bonus/etc. However, peers of varying technical aptitudes must be compared directly to each other. How can you correctly compare a software engineer to a manager on their technical aptitude? I also feel that this might be unfairly biased against individuals who are soft spoken. I would consider referring a friend here, but only to a team that I know is stable with good mid-management.