The above question might seem a bit inane and it probably is. But here goes...
How come field workers, industrial workers, janitors etc all get paid less than programmers or CEO's, etc ? I mean if someone is doing more backbreaking work that's physically demanding wouldn't it make sense to pay these people more?
I have my own answer but I thought I would ask and see some of the responses.
The janitor can clean one floor at a time, and that's all. No matter how hard he works at it, there's a pretty low cap on the value that can be created by this labor. Even if it's a really important floor, say the main hall of a fancy wedding establishment, only a limited number of customers can fit there to benefit from this labor, and so the job can only be worth a fairly small amount of revenue.
Programmers don't have that problem, at least if they're smart about company and industry and product niche. Joel Spolsky (let's say) can create a timesaving bug tracker, where his efforts incur a huge multiplier of value in leveraging the automatically scalable nature of software. Joel can rightfully get paid by the time saved and value created times a million users, while working less hard than the janitor who's cleaning for a few hundred folks.
CEOs and more broadly all of management operate on yet another level, in leveraging the contribution of many programmers. One programmer might write Microsoft Paint, and another Microsoft Word. Somebody realizes there's another layer of business value in embedding Paint images into Word documents, and coordinates the programmers to make that happen even if the Paint and Word developers aren't necessarily interested in integration. That's where the CEO gets paid, at least until the programmers become sufficiently business-savvy and motivated to do it without additional leadership.