Pros
Everyone I met is really open, friendly, smart, and highly motivated, and the workplace perks are OTT. They are very data driven and use that to continuously improve on what is working and fix what isn't. You get lots of chances to give and receive feedback. The environment and technology is amazing for software engineers. You get lots of freedom to decide what you want to work on and how to work on it. They care a lot to place you where you will be happy, and they have a really great training and boot camp - you get to sit with different teams to try to find a great match.
Cons
The environment can be very intense and stressful as everyone is pursuing how to be most impactful. This can be great for some people, but is not a fit for everyone. You may want to consider choosing a team where you can really hit the ground running. Engineers are encouraged to learn and you will have opportunities to try new things and explore new teams.