I think you are misunderstanding what the $20 refer to. They are what the customer is paying to the company for a single billable hour. That money is not only used to pay the developer but usually the rest of the company too. Sales, marketing, accountants and other employees that aren't directly assigned to a project or are waiting for their next project will have to be paid from that billable hour as well. You can call them greedy or whatever but usually they get away with a 50% cut or sometimes more. Ok, now you are left with $10 which represents the labor cost + office space + equipment needed by the developer himself. So the employee gets paid $6.66 per hour before taxes but the customer is paying $20 for that.