> If companies would just wise up enough to pay a good programmer 3 times as much as a mediocre programmer to do 10 times the work...
Very few people have such a good eye for talent. It's really, really hard to do. Jack Welch, one of the better HR people of all time, said his hiring success rate was only 2 out of 3 hires working out even towards the end of his tenure. It's really hard to identify good people, know how they'll change and adapt over time, create a good environment for them, and so on. Vastly under ratedly hard. One of the reasons good people are underpaid is that it's often quite hard to tell them apart from "just okay" people. People are bad at picking talent - they mistake overconfidence and gregariousness for ability, they put put premiums on likability and agreeableness, they look for people who "look like a winner" when that only maybe slightly correlates... hard stuff. Companies whose managers have technical backgrounds have a better chance, but it's still quite a difficult challenge.