As an employee working at a consulting firm, I understand the difference in a contract environment. Me, as a programmer, charge a client for my time. The most money I can possibly make is my charge rate times however many hours. But, I have a manager, they are in charge of several, perhaps 20 programmers, working on various tasks for various clients. In reality, my salary is only about 50% of what my company charges for my time. In this scheme, money goes towards overhead, and the rest to management, whom I do agree, do a good job keeping us programmers employed, and winning contracts to work on. could I do this all myself and charge more money, sure. But in a bigger consultancy, there is a great network effect, and more jobs to be done, thus I will less likely be out of work. Is it a pyramid scheme? yes. Do I hope to be on top at some point? yes.