Pros
Everyone is really friendly and it's rare you'll ever meet someone you don't get along with. Lots of chance for personal development. 4 hours on a Friday afternoon to work on your own thing. Adapted well to remote working, but the process of getting new equipment remotely is a hassle and you have to have a good valid reason why you need something. Getting a standing desk is unlikely unless you have pain or are disabled which is fair enough given how many people request one. Team sizes are small so you can get to know some people really well and start to feel like a family. Lots of benefits from health insurance, life insurance, pension matching and sabbatical for those that decide to give 5 years of their life. Profit share. Work is quite relaxed which is both good and bad as it gets quite boring if no progress is made. Opportunity to reteam once a year.
Cons
Too many meetings. Two monthly updates is ridiculous and really slows down work. Sometimes a meeting is booked by a manager to get a better idea of the problem at hand, but there really is no good agenda and it ends up being a dead end. Too much emphasis on pair and mob programming. Some people end up not contributing greatly which means that work is finished much more slowly. Not everybody at the company fits the culture and has an inflated sense of self worth which makes it incredibly difficult to enjoy your job. Pay could be better for Cambridge but remote first means that pay has improved as a side effect. Not enough holidays. Its not like we're under huge time constraints so there is room to improve here. You can buy days but that isn't the point. Reteaming is great for sharing knowledge but at the same time it splits up the families. I went through a stage of depression after switching team and still haven't fully recovered. Not a very interesting domain. Some products are great but others not so much. Not all managers are very active in development. Some teams are made up from inexperienced developers which little input from lead software engineers and technical leads which results in worse products and wasted development time. This isn't the same for all teams.