Pros
You'd be hard pressed to find any other organisation that gives you this much scope to define your own growth path, and figure out how and where you can add value to the team and business. Our recruiting process is the bane of my existence, I am constantly frustrated that we can't hire more people because of how particular we are with our requirements - BUT - this is what has built the incredible team I work with now. No dead wood, everyone's a rock star, and I genuinely like spending time with these people. All of them. I know everyone's experience here is different, but if you work hard, are thoughtful about what it is you're doing, and how you're impacting the team - then you generally have a ridiculous amount of opportunities open to you for doing new things. Travel, projects, experiments, working in different areas of the business, building new capability, or working in other offices. The perks and flexibility are great, and do a lot of what their supposed to do - reduce some of the overheads of everyday life admin - allowing you to be more productive.
Cons
We can't hire enough people to meet all the work we have - which means we're all super busy and you have to prioritise like a magician. And it might mean you don't get to work on the thing you are personally attached to because it's not the highest priority. That can suck. But it's a business. We can be too thoughtful/introspective as a company sometimes - which should probably be kept at the "higher" levels - because the trickle down effect is that people end up questioning the priority, validity, strategy of what they're doing constantly, instead of just getting on with it. As a company we're resistant to bringing on people that are just good at managing other people/areas of a business - and engineers generally don't make great people leaders. This is an area there is a lot of work going into to improve, but sometimes it feels we err too heavily away from the traditional routes - some of these things are conventional because they work.