Pros
Working for an excellent cause and truly making history. Members of the team are allowed to use all of their skills, so there's always interesting work to be done across the whole company. Most people in the company are gratious about talking through what they do, taking suggestions, etc. The people who work there all have interesting and varied backgrounds.
Cons
Because it's a small company, there are limits on the advancement opportunities, and also very few fringe benefits. However, the management cares greatly about the lives of employees, and everyone there is a member of the team. There could be a more formalized review process, clear project requirements, and communication that's product oriented rather than developer driven.