Pros
Coworkers have a very wide variety of skillsets, interests, and backgrounds. Everybody in every department is passionate, motivated, hard-working, and skilled. Individuals can have a lot of impact, the business is doing well and is growing rapidly, and there are a ton of really interesting and complex technical problems that you wouldn't expect after a visit as a customer. Opportunities for growth abound. There is a lot of work to do. Product feels novel and pretty cool, and customers seem to love it. Exciting things are on the horizon. Tons of stuff to learn; you'll never be bored.
Cons
Extremely cliquey. Lots of in-fighting and internal politics; sometimes it feels like it can be difficult to keep track of it all and do your job without unintentionally upsetting someone. Too many "us vs them" entrenchments throughout the whole company. The amount of work and stuff to keep track of can often feel overwhelming. Everyone is putting in extra hours all the time to make this thing successful.; it's not uncommon for people to be responding to emails or submitting PRs at 3 in the morning or on weekends. The company has historically underappreciated the software team (although this has changed quite a bit at the leadership level in the past year or two). Some people in the company, especially some folks from other teams (install), are woefully underpaid for the level of effort they put in and domain knowledge they have.