Absolutely no mid-level (5-12 years of experience anywhere. Company consists of junior folks, and senior folks. As such, the path for progression from junior to senior is not particularily laid out. Senior folks who, in part, are responsible for this career development, do not and cannot actively lay out a path.
Engineers, in particular, who worked for the client for some number of years are valued much higher than employees who had not. I.e. someone with 10 years experience, 5 for CH2M and 5 for a client is paid 20% more than someone with 10 years experience working for CH2M HILL. The expensive person does not add more value, and in many cases could be argued to add less.
As such, most junior people I know eventually quit to work for the client for 5-10 years, then come back.
Overhead costs can be high and this limits company profit. You may have 98% billable time, yet see averages of "75%" amongst the company. Making you wonder where the overhead is, since you flat out don't see it (almost all employees you meet will be billable).
Poor performers are often not dealt with expediently and linger in the system until such time that work gets low, then they may or may not be laid off first. However, if work is going strong for 4 years, you may have to deal with poorly performing coworkers for 4 years since even the poor performers make the company money. Differences in employee productivity can easily be 5:1 between the Jedis and the non Jedis. There is however, no difference in pay.