Pros
Working on interesting, challenging problems. Wonderful, well intentioned people. Work-life balance is manageable if you aren't having to support other people (although this is changing). Office culture is great. Remote work possibilities. Lots of flexibility. Working with interesting, fast-growing clients.
Cons
Lack of any management structure makes a lot of basic functions difficult, such as getting support, accountability for low performers, or any real expectations on successful job performance. We're all managing each other on top of our full time jobs and making it up as we go along. It's gets harder the more we grow. The promise of everyone being a generalist is exciting, but it means our work can often be subpar. We don't get the training to be able to execute on that vision. Lack of process and quality standards makes it difficult to learn how to do things the right way. It's very difficult to propose and operationalize org-wide process.