Pros
- Developers are given a great deal of freedom to drive the direction of projects - Very little friction when experimenting with new ideas, unlike larger companies - The types of problems that you tackle are diverse and challenging - Incredibly smart engineers with a really diverse skillset
Cons
I've heard that some of this has changed since I've left, but at the time... - Management pushed for billing 40 hours a week on consulting projects (with non-billable work pushing you to longer hours) - Work is often driven by demos rather than developing solid, well thought out features - Technical leadership and direction was not as strong as it could have been (i.e. business concerns/opportunities always seemed to win out) - Project/product management was adhoc - Review process was adhoc - Career advancement was not well defined - Much of the consulting work is in the oil & gas industry