The NY Times recently published an article on the surging enrollment in computer science programs at universities across the country. If the numbers are to be believed1, enrollment doubled between 2013 and 2017, far outstripping the increase in faculty of 17%. This is a big turnaround from 10 years ago, when the Times was fretting about low enrollment and the (supposed) consequent hit to US economic competitiveness.

It's not hard to figure out why computer science has regained popularity over a decade after the dot-com bust. Programmers' starting salaries–particularly in Silicon Valley (SV)–are often higher than other careers' peaks. A programmer with a few years' experience could reasonably expect to pull in $200-300K in total compensation, and that's not even including the possibility of a huge windfall from IPO'ing at a hot start-up.

An immediate payday2 is rarely the right reason to jump into a career, and the point at which the general public becomes rushes into some hot thing is usually the point that it takes a plunge for the worse. This is a fundamental law of bubbles, from tulips to bitcoin.

This spike in public interest coincides, as is usually the case, with headwinds in the field itself, particularly hardware. Moore's Law has been dying a slow death for years, and while reasonable people may disagree on when precisely it died, there's no denying that it's well and truly in the grave. Intel, founded by Moore himself, has been struggling with 10 nm transistors for half a decade. For 50 years the rising tide of hardware had been lifting the software boat, leading to quips like "if your programs runs too slowly, just wait a year or two". Now the free lunch is over, taking a big chunk of software's productivity growth with it3.

Above the silicon, computer hardware is facing the same challenge as the automobile industry in the 60's: peak demand. PC sales have been flat for years. Smartphone sales recently peaked (Chinese sales have declined for 4 straight quarters). The industry is desperately trying to stuff computers into everything it can, from cars (quite reasonable) to microwaves (wholly ridiculous).

More people and less growth leads to fiercer competition; it's simple arithmetic. For IT workers, competition is and will be even more international in scope. The insistence of large corporations on workers being in the SV office could soon become a thing of the past. The younger generation is much more accepting of remote work, and one day these young people will become managers and executives. And if you're willing to go remote, why hire someone in the Bay Area when you could be paying a Pole, Czech, or Indian much less4? Outsourcing isn't new, and there's advantages to co-location5, but much existing work can and will be outsourced6.

If you're a software developer, it pays to be aware of these developments. 50 years ago, working in the automobile industry was a guaranteed ticket to the middle-class. A one-two-three punch of tech maturation, peak demand, and foreign competition has reduced the auto worker to average–or even below–compensation and produced vast Rust Belts. Building REST APIs won't continue to pull in big money for the next 20 years; adjust your career accordingly.



My default position on news is "trust but verify". But when it comes to agenda-driven, billionaire-owned publications like the NYT, it tends to be "distrust until proven otherwise".


After all, many other careers, like the traditional maintainstays of medicine and law, have higher peak income.


Semiconductor engineers may actually have something to look forward to, as David Patterson (the father of RISC) says, as productivity growth will have to come from cleverer and more domain-specific designs.


China is also a big source of foreign programming labor, but IP and English-language concerns lead many companies to prefer other locales.


Time zones differences, poor video conferencing software, and other challenges ensure there's still nothing that beats an in-person whiteboard session.


It's possible, though unlikely, that protectionism could be applied to IT. IT labor isn't organized, which means it punches way below its political weight compared to, say, automobile workers.