I personally saw a completely different reason for this, it wasn't that the best developers didn't work for TCS or that the best developers worked for the highest bidders.
For all the years we had TCS developers working with the team, our developers stayed as developers and improved. Yet with TCS the status symbol there was to be a manager. We had a lot of churn over the years as the more experienced developers became with TCS, they stopped development and moved into a more "prestigious" role as a manager and stopped coding.
For all the years we had TCS developers working with the team, our developers stayed as developers and improved. Yet with TCS the status symbol there was to be a manager. We had a lot of churn over the years as the more experienced developers became with TCS, they stopped development and moved into a more "prestigious" role as a manager and stopped coding.