Pros
1. If you work here, you will learn how to run a project effectively and become an effective communicator by just observing how they typically do things here. This will set you up for the rest of your career. 2. Wellness and work-life balance is promoted. Team leads and managers encourage taking breaks and not working 12 hours a day or weekends. 3. They hire for people who are collaborative (read: friendly & helpful). Communication is non-confrontational and I've not yet ran into "personality issues". 4. Engineering talent is not only top-notch, but also diverse (including people with families, and people with decades of experience). 5. As long as you are fulfilling expectations, you are not pushed to work extra hours and can remain employed indefinitely. 6. You can optionally sign up for additional responsibilities should you feel ambitious and want to have a broad impact. 7. There's a culture of appreciation and giving credit. Your name will typically be mentioned in feature announcements and project updates. Managers and colleagues will typically show appreciation for your work in meetings and online channels. 8. There's a culture of transparency. There's an abundance of Asana projects where you can ask questions, report issues, or post feedback. Anyone can thumbs up or chime in. It's the opposite of the sweatshop "hustle culture" that's all too common in the startup world.
Cons
1. There are scaling challenges relating to developer tooling, and new best-practices / patterns are constantly being discovered. 2. Legacy code can slow you down if you happen to hit them 3. The compensation is well above average, though not as high as FAANG.