In a free market, the fair price is reached when supply equals demand. There is a shortage of programmers. Therefore, programmers are underpaid.
Why is obvious. Software has grown rapidly for many decades now. The skilled labor pool can’t adjust nearly as quickly, because our training system for skilled workers is FUBAR. Hence, the market wage for programming has grown rapidly. Wages are sticky, as employers don’t want to pay much more than what they see as historical norms. And so, when wages can’t rise fast enough to meet demand, we get shortages.
But the shortage is concentrated in the rock-star Silicon Valley companies like Google and top VC-backed startups. Of course, this is connected to the increased reach and so increased market power which technology gives to the stars in this and other industries. In most of the remainder of the software industry, this is not occurring, possibly because of offshoring.
There’s no shortage of *bad* programmers… if wages are too low, it’s because it’s hard to tell the difference between a good one and a bad one.
Right, “here’s no shortage of *bad* programmers”, but in software, particularly, it seems easy to identify the top ones, e.g., those who write open-source or have significant entrepreneurial activity.
There are very very few of these. Members of the elite get the optical illusion that there are more such people, because that is who they rub shoulders with. Also, rockstars get more exposure.
Most skilled professions are composed of a lot of competent, capable professionals, a few dolts, and a tiny fraction of top stars.
What is happening in software and many other industries today is different from that old-fashioned situation.
The tiny minority of ninja rockstars is in great demand, and so garnering a much higher income. Wages are sticky, as the post says, but not because “our training system for skilled workers is FUBAR,” but rather because rockstars are by nature super-rare.
Meanwhile, for better or worse, the demand for bulk of skilled, competent professionals is not keeping up.