Pros
Diverse technical challenges for all disciplines driven by dire need for solutions for desperate clients who can't do it on their own. Owners are great people and have good intentions for everyone. Technical staff is for the most part ex HP'ers which makes for good culture environment. HR, IT, and all supporting staff are outstanding.
Cons
Middle management (especially directors) tend to base their decisions on who works on what project based on favoritism. If you are lucky, you are in the favored crowd. If you are not, might as well find yourself another place to work. You will be miserable. Scope and schedule on incoming projects are always way off in favor of hooking clients in for business. Everyone including the client suffer. Management is dishonest with clients and and sometimes staff. Too much rank and order. Not everyone is respected equally regardless of title.