Pros
Good opportunities for growth, provided you are part of the right projects. Colleagues are smart and friendly, and willing to help out. Casual working environment, flexible with telecommuting, etc. Management is remarkably candid and open about discussing company matters.
Cons
Horrible documentation of product makes it hard to really feel confident that you know what you're doing. A cavalier company attitude of trial by fire, which can be traumatic to those not used to that kind of environment. Company's focus is on expanding product functionality instead of quality, which leads to a horribly buggy product. Some client implementations became a tight rope walk of keeping the current system stable while implementing new features. People are rewarded for their work depending on how high visibility the project was. Those put on smaller clients had a tougher time with career advancement. Working in consulting gives no long term stability, which impacts work life balance.