Pros
Good projects are great, staff are engaged, and you can be supported. Great focus on collaborative tools, and knowledge is shared across the company - people don't hoard information. Very flat culture, you can talk to people at all levels, and they will be respectful and friendly with you, always happy to help where they can.
Cons
No real training outside of Microsoft vouchers, and in house delivery methodology courses. If you're stuck on a bad project, you'll be there for the long haul, and although you're told you can raise issues, in practice this isn't true - not out of malice, but hands are tied. Very much a culture of who you know, not what you know. The short term incentive 'bonus' program is paid out based on how the company has done in sales, which realistically, most staff can't affect - though the mantra is to mention sales opportunities whenever they occur... There isn't much investment in future technologies - technology is trained and taught when it's already becoming a little outdated; unless Microsoft has mandated it as a standard. New technology is mainly disseminated when people donate their time for free. Many good staff leave quite quickly, leaving the company full of long term employees, those happy to work within bureaucracy, those in the old boys club, or those without experience of other companies.