Pros
People are passionate, committed, and capable. "Dead Weight" is rare on a team. Most teams are flexible and allow you to maintain an excellent work/life balance.
Cons
- While the technology used is often new and interesting, the problems being solved tend to be dry and uninteresting. - Development teams have little input about customer requirements/needs - There is a large gap of missing information from people in the field versus those designing/building products. - Some teams become process heavy and seem to over complicate the work they are doing. - Red Hatters tend to be a different sort of people, they are more vocal on what they like/dislike on mailing lists with several sounding "whiny" at times. - Company is growing and losing the 'startup' feel