* Short projects mean that you'll likely never gain deep and authoritative expertise in any particular technology; just enough to get successful at using it.
* You're up close to the client, and they're part of the team, and they can suck or be dysfunctional; soft skills and tact are unusually important for devs.
* Clients are often in businesses that are stable but not changing the world; financial industries, marketing websites, shopping carts, etc.
* Yearly salary bumps are good but complicated. They're calculated by comparing your salary to the median salary of similar jobs in Seattle and modifying it based on your growth and contributions. All good so far.. But the median salary survey excludes top-paying companies like Facebook, Amazon and Microsoft, so the median isn't actually the median, which feels misleading and weird as that's likely where you would go if you would leave. I find the other benefits to outweigh the obvious salary misalignment, but it's a concern.
* It's a job, not a mission, or a startup investment; no matter how long you work there you'll never earn any shares or gain a fraction of ownership of the company. If the owner gets bored and sells or someone makes an offer too good to refuse, who knows what'll happen to the employees that were there for years.