The H-1B Delusion
Maybe you're just not very impressive as a programming candidate
As an immigration restrictionist, I find the H-1B programmer debate irritating. Maybe, like me, you’re wary of the cultural change accompanying rapid immigration. Maybe you object to how such workers are treated, effectively being held hostage by their corporate hosts. Or maybe you simply don’t like the little ethnic enclaves that inevitably form inside big tech companies, rife with obvious nepotism in their hiring. But it’s hard to deny the basic economic driver of the H-1B program: US tech companies can’t hire enough qualified American-born workers to fill all the roles they want. And yet, for the twenty-plus years I’ve been paying attention to this debate, there’s been a steady drumbeat of dissatisfied tech workers voicing this exact denial. Read any Reddit or Twitter thread on the topic and you’ll find hundreds of people claiming that there’s no actual shortage of qualified US-born programmers, that the H-1B program is just a scheme to suppress native wages. Here’s a representative recent example.
Defenders of this system will tell you that we need foreign workers because Americans can't fill these roles. They'll point to skills gaps and talent shortages, conveniently ignoring the fact that we're graduating more computer science students than ever before.
If there's truly a shortage of qualified American workers, why are employment rates for new graduates in free fall? Why are starting salaries stagnant? Why are recent graduates taking jobs that don't require degrees?
The answer is simple: there is no shortage. There's only a desire for cheaper labor and more compliant workers. H-1B visa holders are tied to their employers and can be deported if they lose their jobs. They're less likely to demand raises, switch companies, or report workplace violations. They're the perfect workforce—if you're an employer looking to maximize profits at the expense of worker rights.
There are some true elements to this complaint which I don’t want to downplay. In particular, it’s certainly true that immigration, even of very qualified people, does drive wages down by increasing the size of the labor pool, all else being equal. (Yes there are complicated arguments about everyone getting richer even if there is more competition for jobs, but labor pricing does not become magically immune from the law of supply and demand if someone crosses a border). And it’s also true that H-1B employees can be easier to control or mistreat because of their limited mobility, although I don’t have the impression this is a major problem.
But there’s one element of this complaint that’s just not true: talented Americans are not getting crowded out of the market by immigrants, and there is in fact a chronic shortage of well-qualified programmers from any country. There is always churn and local market exceptions, but by and large a skilled tech worker won’t have much trouble finding a new job when he wants to. This is less true at the moment than it usually is because of factors that have nothing to do with immigration (more on that in a minute), but that’s the big picture.
How then to square the above claim with employment data for new CS grads?
The percentage of computer science graduates employed full-time within six months of graduation has plummeted from 73.2% in 2014 to just 64.3% in 2023. For those who specialized in computer programming, the situation is even worse—employment rates have collapsed from 69% to 50% in the same period.
Let that sink in: Half of our computer programming graduates are not in full-time jobs within six months of graduation. In the supposed golden age of technology, when every company claims to be desperately seeking tech talent, half of our trained programmers still need work.
Only 64% of new CS grads find work within six months of graduating. Why? This one’s actually quite easy: the employment rate for new CS grads is in decline because the new grads aren’t as good as they used to be. There are only so many 18-year-olds with the aptitude for computer programming entering college every year, but we nearly doubled computer science enrollment from 2014 to 2023. As a result, a greater than usual proportion of these new grads can’t do the work required of them by tech companies. It’s just math.
The complaint about underemployed CS graduates equates “trained programmer” with “someone who has a BA in computer science”. They have a degree, that means they’re qualified to do the work, right? Universities would never award English degrees to kids who can’t read Dickens, and they would never award CS degrees to kids who can’t code. For the majority of readers who don’t click links, I’m being facetious here. Universities will take your money for four or five years and stamp out a meaningless credential as long as you show up and put in some bare minimum of effort, with no consideration for what a reasonable person would consider “qualification” to hold that degree. Then, fait accompli, holding the degree is proffered as evidence of qualification. It’s a neat trick, and a surprising number of people still fall for it.
The hard truth people don’t want to face is that a lot of these new grads just aren’t very good. This was true in 2014 when there were fewer of them, and it’s even more true now that we’ve cranked the diploma mill up to 20,000 RPM. It was even true back in 2007, when Jeff Attwood wrote the infamous essay Why Can’t Programmers... Program? Back then, like today, tech workers on the front lines of interviewing programming candidates were dismayed at the proportion of CS grads who can’t write code, at all.

![OC] U.S. Computer Science Bachelor's Degrees Awarded by Year : r/dataisbeautiful OC] U.S. Computer Science Bachelor's Degrees Awarded by Year : r/dataisbeautiful](https://substackcdn.com/image/fetch/$s_!T3vk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2897d739-56a5-4036-a8c5-2284e292f7e1_1340x1140.png)
