As always, there's an old and insightful pg essay on these economics: http://www.paulgraham.com/wealth.html
The trivial conclusion is that starting your own company is how to be accurately rewarded for your work. But that assumes there's no way to better measure employee performance. It seems like measuring it for engineers and programmers is an impossibly hard problem (At least, that's implied from all of the well-run organizations that have given up or failed miserably on quantizing performance over the years.). However, I would like to see some creative attempts at making teams better at this.