Pros
- casual environment, friendly people
- work / life balance is good for the most part (mostly because projects go for a LONG time, so you only have to work extra when it FINALLY becomes time to deliver something)
Cons
- a massive and severe disconnect between senior management and developers / other professionals. (sales men selling vapor ware, CEO's needing to be told the same thing every few months)
- not willing to invest enough time to make software products ... but expects them to come from time pressured, client specific projects
- no real commitment to quality software. Entirely date driven.