This article is as good an occasion as ever to talk about supply and demand. As a matter of basic economic and mathematical reality, we can't graduate increasing numbers of programmers from CS programs and vocational schools forever without eventually creating a glut. Nobody wants to hear that, but it's true. Yes, so far, the amount of work has been keeping pace with the labor force, but this trend can't continue forever. You can't build an entire economy out of software production: nature abhors a self-licking ice cream cone.

There's a lesson we can learn from the legal profession. Quite a few people got expensive law degrees thinking that they would quickly earn back the investment, but it turned out that 1) law has surprisingly shallow demand for low- and mid-tier legal skills, 2) law is able to automate much of the low- and mid-tier work, and 3) legal practitioner skill is real, obvious, and exists on a very broad continuum, 4) professional demand is not uniform across the skill continuum.

Sounds a lot like software, doesn't it?

The legal profession bifurcated [1] into completely separate low-paid and high-paid worlds. This "FAANG" thing people talk --- about how there's some qualitative (and quantitative) difference in employment experience between the "good" tech companies and the rest of the industry --- is this same bifurcation pattern ramping up in software.

It's especially unfortunate that in a "bubble" industry like software is (and like law was), it's the marginal participants who are the worst hit by the inevitable crash. Demand for software talent is strong (for the moment), so wages are high and rising. But the people who clump together at the high-end compensation mode --- the ones who are exceptionally good at writing software and who really enjoy the field --- are already in the industry.

A $1 increase in industry-wide average compensation won't, generally speaking, convince a star programmer to join. The person who joins due to that $1 increase is someone on the margin, someone who would really rather be doing something else with his or her life, but who's just barely convinced, by that $1 increase, to try programming. Is this the kind of person who's going to land in the high-compensation bucket? Occasionally, yes, but generally no.

So far, software demand has generally kept pace with available labor, but this situation can't persist indefinitely. What happens when it stops? There's going to be some moment at which the industry recognizes that salaries are too high. There might be some precipitating event --- e.g., the coming inevitable business cycle trough --- or the progress of automation might greatly increase productivity for low- and mid-tier tasks --- or the industry as a whole just might slowly start to ask itself, "what exactly am I paying for?"

In any case, when that event comes, expect more companies to turn into the kind of software shop you see in the likes of Trilogy, or some contract body shop, or Electronic Arts. When the developer bubble finally bursts, the whole industry will look like these places --- except at the very high end of the skill distribution, because the supply curve for high-skill programmers is much shallower than the supply curve for low- and mid-skill ones.

At a certain point --- maybe not today, but probably some day soon --- it'll be irresponsible to tell people at the margins of software skill or enthusiasm to enter the field, because such a person will be able to expect only low-paid work in bad conditions, forever, just like a marginal lawyer today. But timing the market doesn't work, so who knows when that day will be? It could be tomorrow.

[1] https://abovethelaw.com/2018/06/the-most-important-chart-in-...