Pros
I know its a cliche, but most people you work with are respectful, helping and truly love their work. Salary and benefits are competitive in the DC/VA/MD region. Depending on your client and area of expertise, you could be on a cutting edge team, but you can also be stuck on a dinosaur of a client and working in the dark ages for innovation, technology and process. Good learning opportunities
Cons
Management cares about one thing - Winning the next contract. You are always looking toward proposals. You are always under stress to drive towards the next winning proposal. You are beholden to the client. If your client treats you / your team terrible - too bad - you do what they want you to do - at all costs. Dealing with Politics. Of course, every company (and even startups!) has politics. What’s worse in this case is your status as an outsider. It adds a layer of people to navigate, and you’re generally not trusted as much as someone within the corporation. A Lack of Ownership. When all is said and done, the client has the final say. That could mean that they follow through with the solution and succeed. But often, that could also mean that they follow up with a weak implementation, or that they don’t take your recommendation at all. That feeling of not owning your own solution is frustrating.