Pros
The co-workers are awesome. Most are more than willing to go the extra mile, and are more often than not highly-competent, passionate, and dedicated to their craft. I haven't met anyone there who wasn't outgoing and friendly. The thrill of ensuring top-notch service to clients in high-priced contracts add to the mix, and hearing their satisfaction at project's end was often similar to a runner's high. I especially loved the fact that, in-office or remotely, people worked in a collegiate fashion. I must also say that collaboration was better than nearly anywhere else I have worked for.
Cons
Lack of any thorough training (one co-worker quit a month in due to such frustrations), you're often 'thrown into the breach' with little preparation. Most of my training came via ad-hoc and on-the-fly research, and from endless questions cast out to higher-ups and peers. Salesmen often promise clients features and benefits that cannot be delivered, and you get to find out about it when the client asks you (often way too late in the project) why feature XYZ hasn't been implemented yet. Sometimes the bureaucracy really gets in the way, especially when it comes to getting needed deliverables from other departments. Deadlines often slip - not due to lack of product being ready, but due to a lack of sufficient environmental readiness.