Pros
Surrounded by very bright people. Great place to work for driven individuals who require only the minimum managerial oversight. The culture can wildly vary depending on which team you join. Firm in general has a desire of building their own solutions over vendor products which means you’ll always have some new interesting initiative to build (even if it’s just rebuilding what an open-source would already provide).
Cons
Preference to build rather than buy technology solutions means a profuseness of buggy libraries and services with little or no documentation and support. Often integrating with such systems hinges on the success of who you know that can point you in the right direction (“talk to so-so who may be able to refer you to someone who may know somebody that has a foggy memory of how you use that convoluted API”). Team cultures vary. I’ve worked on close-knit groups where everyone worked hard for the common goal, while other teams I’m just a headcount regardless of my contributions.