I started programming when I was in elementary school, and by the time I entered the labor market I had singlehandedly completed one successful and one complete-but-unsuccessful video game project, that I went out of my way to design to be challenging to write, in addition to several technically impressive 1-week game jam games. I've been working with LLMs since long before ChatGPT brought them in to public consciousness, and at a previous employer I led a major AI integration project that was so successful the CEO cut our timeline in half the first time we demoed it to him because we were advancing so fast and the project impressed him that much.
After that employer decided not to renew my contract (citing financial reasons,) I spent 8 months unemployed despite applying to hundreds of jobs per week on all public job platforms continuously, AND reaching out to everyone I've ever met who might know about openings. I got about one interview every other month, and several companies I passed their interview process, was made an offer, accepted it, and then was ghosted - they never sent the contract and ignored any followup communication.
I was about to go bankrupt and leave the tech industry for good because I'd maxed out all my credit cards paying for necessities, when I got randomly contacted by a self-described "DEI recruiting firm" who lied about my degree status to an employer and got me no-interview hired. I have no way to prove this but I'm willing to bet they lied about other demographic data as well, if you get my meaning.
Everyone I've talked to about this is in the same position; programmers with over a decade in the industry, who are absolutely in the top 10% of their field, having 0 success finding jobs. *Something* is severely wrong, and it's not just big-tech layoffs. I don't think it is H1-B, it's something else, but it's something.
I have no personal experience with contract work, but my impression is that it's fundamentally more precarious than full time salary positions. Is there a reason you went that route?
I'd been laid off from my last position at that time - that was just bad luck, the money to hire me came from a new client who ended up skipping out on their bill, and this was the only thing avaialble.
Whenever I'm looking for a new job, my go-to has always been small firms that don't get swamped with resumes and contacting every head-hunter on Linkedin to do the work for me. With the latter, it will likely be contract-to-hire, which is annoying, but has given me good results. YMMV.
Yeah, I also spent a few months looking through lists of startups that'd recently been funded and either applying on their site or cold-emailing. Maybe a couple hundred applications that way? Got a few polite rejections, one "build an entire application as your test project, pull an all-nighter, get ghosted," and one where the first two interviews resulted in "OMG HIRE!!!" and the third was with a guy who was very confidently wrong about the way vector databases work and rejected me for being right.
That's startups, not "small firms," though - a job at a company that makes some super-specialized software for a specific trade or something that's had the same 5 employees for 30 years and one guy just retired - that might be great. Where do you find these companies to apply there?
A lot of coworkers at a megacorp I worked in left for smaller companies to escape bureaucracy. I just kept in touch. Looks like you've already done that.
Just the opposite actually, the no-interview company is so big and mismanaged that one of my teammates took 6 months between hiring and his first day at work. They paid him a six figure salary for half a year for literally nothing.
I am in Austria, with very few immigrants, and in a very similar position, 10 months of job hunting after 22 years of experience, that included teaching other companies, an opportunity to teach at college (which I did not want to), a very popular tech blog, I am not sure what is the reason but the demand seems to be low.
Part of it may be interviewers are really stupid, and might pass over you because you forgot some CS degree trivia, like the modulus (I haven't used this since I was 20 in college, I am a professional software engineer), or recursion (usually a bad idea, hard to read, often bad algorithmic complexity, not really relevant in webshit so 90% of jobs). Let's be real most of the time tech means webshit, and it's surprising candidates are asked about more relevant knowledge like REST API standards, knowledge of security (jwt, cookies, preventing XSS and CSRF), SQL vs NoSQL, typed vs. untyped projects, experience with diverse frontend and backend frameworks, etc. I would hire someone who took 15 whole minutes to remember the modulus but has a rich knowledge of the aforementioned subjects over someone who can solve 30 leetcode hards in 30 minutes but doesn't know javascript
Webshit got so popular because investors thinking "startups" on the web can get really big (few do), that people are forgetting other fields, like basic business software. Think customizing SAP.
Technically that is very easy. Basically scripting. It is the domain knowledge, such as accounting, which makes it valuable.
I don’t doubt any aspect of your story, but I absolutely cringe at the notion that you need to work at all, much less “maxed out credit cards” at the end of an eight-month jobless stretch. You should have earned enough with that resume to be set.
The current unemployment rate in tech is somewhere between 2-3%. It's not zero, so there are always going to be individuals who are having a rough time, but overall, most of the industry is employed.
Yeah, I don't buy it. Waaay, waaay too much evidence points to H1Bs being all about lowering wages (costs), and little else.
Take MS, there is no evidence from their latest layoffs that they screened their people before tossing them overboard to replace them with H1Bs, and no evidence that they are paying their imports the same or more. Given the public opprobrium they are accruing, just a smidge of evidence ought to be forthcoming. Absence of evidence isn't evidence of absence in a court of law, but in the court of public opinion it's damning.
I used to have a job fixing the godawful garbage that some corporate C-suite moron demanded be outsourced (this was electrical engineering, not programming), I have zero reason to trust these people. It's all about "find me bodies at lower cost" not "find the best programmers."
MS isn't replacing people. Yes, lay offs are a cost saving measure. They are also a way to clean house.
But MS applies for a massive number of H1B visas every year, because that's how the system works. It is a lottery. If you want access to that talent pool you have to play that game. Them applying for these visas is completely independent of the layoffs they just did.
The lottery just makes it more unfair. You roll 7s, you fire a bunch of Americans. If it were just about the best talent, and not racism, why is MS hiring all Indians and no Chinese?
Layoffs as a housecleaning measure are terrible, too. Since you are firing all the competent people as well as the incompetent ones.
No actual evidence points to the cause of the layoffs being housecleaning of incompetents. If MS wanted to houseclean, why not test everyone that you plan to layoff and retain the best? They want the expensive Americans gone, and the cheaper, co-ethnic foreigners in.
Yes the C suite at big companies are there because they have the greed, narcissism, and skill at court politics. But I've been a hiring manager for ML science and engineering roles for years. The proportion of all candidates who are good is quite low. The proportion of good candidates who are American us depressingly low. My understanding from long time colleagues in straight engineering spaces is that it's not better there.
1. While I've only interviewed a couple dozen prospects, your assessment of fizzbuzz weeding out most programmers is spot on. In my first interviews with *senior* developer positions, I thought whiteboarding a basic pseudocode solution to a quadtree was reasonable (I thought most would know the binary tree algorithm verbatim, so I wanted to add a twist.). I think you can infer how that turned out.
2. CS degrees give only a possible stamp of quality in mid-tier to elite levels. Think good state universities and up. Go below that, no one knows anything.
3. H1-B's in my experience are inferior as a group, with far less stringent interviewing processes than native born Americans. Nepotism is also very, very real. I've seen entire departments taken over by Naturalized Indians importing their colleagues with the H1B process.
4. We need fewer programmers, not more. The performance gap is so vast you're better off giving your rock star developer absurd wages to work 60 hours a week than have a team of six decent developers. They largely just get in the way.
That's because something like quadtree is used rarely (even binary trees). This is just not how software mostly works. Most of software most of the time is taking a data entry form and writing it to a database.
> I thought whiteboarding a basic pseudocode solution to a quadtree was reasonable (I thought most would know the binary tree algorithm verbatim, so I wanted to add a twist.)
Are you hiring for an algorithm design position, or webdev?
The problem with this argument is that it proves too much. Yes, of course there are good H1B programmers. There are good foreign workers in every profession and if you are allowed to access a global talent pool you will get more qualified non-Americans than Americans *at a given price*. The point that H-1B opponents make (at least the reasonable ones) is that if you restrict the supply of h1bs, that will raise the price for programmers in America, which will then push more talented applicants into the field, providing a larger supply of American workers who are qualified. Now, this will of course come at a cost—both for tech companies who will be paying more for labor and other sectors who now face a worker shortage as their employees re-allocate to hire paying coding jobs. But that is the price of any labor restriction short of unlimited migration, and of course has benefits for the workers through time as supply and demand dynamics favor labor over capital. But there's not really a difference in principle between the H1B program and letting people flood through the border to work on a farm or at Costco, it's just a matter of degree. And that's why I think the best solutions allow us to access a global labor pool for talent that is truly rare-ie talent that gets paid a LOT-but not for middle class wage coders.
The first part is right (wages are resttricted), the second part is wrong. There are not a lot of great potential programmers waiting in the wings for the right price signal to change careers. They don't exist. We are already at close to full utilization of people with the aptitude.
That's very interesting, so just to say it back, you're saying that we have basically maxed out the domestic supply of people with the aptitude to program, and therefore increasing programmer wages would not actually draw more talented Americans into the field because we simply don't have enough talented Americans? I think that's pretty clearly not the case so I assume you're saying something more nuanced maybe? They are obviously many Anericans with much higher aptitude than the H-1B's who we are paying low six figures. All you have to do to know that is to look at how many people in the labor market we pay more than those low six figure salaries. You can also look at other quantitative industries like finance - there are plenty of highly capable people in those industries who could be successful coders but choose not to go into coding because it doesn't pay enough. If coding paid more, those high aptitude Americans would switch from their jobs as financial analysts, doctors, lawyers, or other high aptitude professions and learn to program. And just very specifically, as you point out, the coding demo you say so few applicants can do is very easy. Everyone commenting in this substack can likely do this themselves with an hour of research. It seems not super credible that we couldn't pull in enough Americans from other industries who can do that job if they were paid more richly. So, I'm not sure I understand your point, maybe you can clarify?
We already ran this experiment. Mid-career elite tech makes more than medicine or law or finance while working fewer hours. Those people didn't switch over, because they don't have the aptitude or don't enjoy it.
We also launched a hundred boot camps to retrain willing people, and it mostly didn't work. I have interviewed dozens of boot camp graduates and they mostly aren't very good.
The idea that there is a large pool of suitable programming candidates waiting in the wings for the right price signal is repudiated by every available line of evidence. They don't exist.
>We already ran this experiment. Mid-career elite tech makes more than medicine or law or finance while working fewer hours. Those people don't switch over, because they dont have the aptitude or don't enjoy it.
I get this instinct but I think its wrong or at least incomplete. You cant just swap mid career pay for mid career pay. And for lawyers and doctors, there are licensing barriers, and leaving the practice area in any capacity would come with hurdles in returning if needed. Also, although a fallacy, sunk cost on education expenses etc has psychological impacts.
I am a former engineer, now lawyer. An L4 role would be a pay cut. I will say when I was a suffering junior attorney in patent litigation biglaw, hating my WLB, my colleagues and I would talk about how "damn, we should think about switching" during the tech stock bull market in 2021. Myself and I truly believe most if not all of my patent litigation colleagues could have switched and functionally done the job. But its risky, you'd take a near term paycut for sure, and you'd have to work on building up skills you probably hadn't touched since undergrad in your programming courses. And you know if you stay in law "next year when im a fourth year associate ill make $385k, and a fifth year makes $455k..." etc. Etc. The golden handcuffs are real when the alternative is not guaranteed ("and that's what the money is for!").
All that to say, there are certainly people who could be incentivized to switch. But the incentives are not great enough for the costs it would entail. And maybe the cohort you'd tap is too small to really stress the details (e.g. the universe of junior biglaw attorneys with good schooling that could and would make the switch).
It just seems so hard to believe that we can't find talent domestically to do things that objectively don't seem that hard. We're not exactly looking for Einstein here, this exact programming test was my high school compsci homework. But your point about having run the test already and it failing is hard to dispute so I guess the reality is what it is—I just wish I could understand why people would rather be a first year law associate than a coder. Maybe it's really true that the marginal lawyer just can't handle it.
Software development is far more than writing code. Before you can write code, you have to create an abstraction. When you do write code, you’re faced with hundreds, possibly thousands, of implementation options and you need good taste to pick the right ones, which simply can’t be taught. And unlike almost every other field, software is never finished, it needs to be constantly updated, so you need to be skilled at writing maintainable code, creating unit and regression tests, etc. Doctors, lawyers, engineers, and analysts simply do not have these skills.
I have been an executive at companies that used H1Bs and it was all about getting them cheaper and the fact that they are essentially indentured servants for 5 years until they get their green card.
Plus, the more Indians in a company, the more they want to hire other Indians. And in many companies there is a major push not to hire white men and, if they are already on board, not to promote them.
The white men I know still in high tech (I am retired) find they have to spend a lot of their time redoing the work of the Indians.
I think there’s a flipside challenge to the talent shortage—many HR staff seem not to recognize there’s a talent shortage. In my industry (electric utilities), there’s a debilitating lack of staff, much less sharp talent, and I don’t really see leadership act with urgency about this—pay isn’t increasing, interview processes aren’t getting tweaked, we aren’t chasing down talent fresh out of college, and we’re instead asking them if they know abstruse grid standards even though electrical engineering programs no longer teach three-phase power.
That might explain the disconnect between “there’s a debilitating talent shortage” and “why can’t I get a job then.”
Many organizations simply don’t realize how screwed they are—and if they have, many haven’t considered that maybe they should do something different.
H-1Bs may not be displacing fresh CS grads or under-35s, but they may be displacing older techies. My completely unscientific but probably true rule of thumb: half of techies will be out of tech voluntarily or involuntarily by 35 and another half by 50. If you haven’t made it to the C-suite or made yourself indispensable by 50 you’re looking at a one-way ticket to Uberville or baristatown.
The American upper middle class has expectations in terms of housing, commuting, and lifestyle that are just not possible in the Bay Area at the tech industry’s scale, even at arbitrarily high wages. Immigrants are more tolerant of the long commutes and poor-quality housing associated with Bay Area mass affluence, because such things compare more favorably to the third world than to the Midwest.
Tech companies have a hard time retaining Americans into childrearing age except by letting them go remote. And they really, really hate doing that.
I would say, although I don't doubt you are correct as to the current situation, this essay doesnt look far enough either back or forward.
There is a reason that you can't find competent people in America. I don't think that it is that everyone is just stupid and not suited for this work.
The education system in the US has been deliberately abysmal for multiple generations by now. It is probably more surprising that there are still even some competent people coming out of the American system.
There was an interview sometime back with one of the architects of the 'no child left behind' program that they recognized they couldnt get the dullards up, so they deliberately tanked the smart kids to get them down to the level of kids they couldn't get up.
That philosophy of deliberately screwing over American kids has been in effect I would say since the 90s, if not further back in time than that.
The H1B and allied programs allow the elites to deliberately dumb down and impoverish the American people without personally experiencing the adverse side effects they might otherwise experience from the collapse of competence occurring in the native population.
I absolutely disagree that there is a kind of innate or structural inability on the part of American people to do this kind of work.
Of course you can't coax people into your line of work with mid-career switches or something when they know at any moment they can laid off and replaced by foreigners.
I have literally heard stories of American people being forced to train their own foreign replacements for my entire lifetime and I am almost 50. Very few people are going to look at the tech industry from the outside and say 'Hey I want to get in on that.'
If you look at China, within my lifetime they had virtually no one that was competent in any modern field of endeavor. Now they are blowing past everyone.
If you were in China in 1970 you would be saying 'We have to import foreigners, I can't even find two people that are familiar with modern programming languages.' When China did bring in foreign experts, they always wanted that expert knowledge to be transmitted to their own people.
Further, the same people getting H1B visas rarely come to the US initially on them. They come in on student visas. Check out any university CS program, and I am willing to bet you find a majority of international students.
This essay (https://baazaa.github.io/2024/12/27/labour.html) argues that US corporations have essentially stopped training people. What is being outsourced in the case of H1Bs is training. I found it a compelling argument. You generally only get hired now to do a job very similar to the job you just did.
I think corporations have all manner of incentives to lie about the issue. The refusal to train up natives is ingrained in corporate culture to a point where it is just expected - and the mass importation of foreigners means that they never need to concede the point. In one sense, a lot of the H1B conquest's success is due simply to a willingness to convincingly stretch the truth on resumes, with worker training programs and internships in India covering for the needed "experience". American workers who represent themselves honestly take a hit. If you've worked with Indian CEOs of ""startups"", you may understand what I mean.
In my experience most programming is way simpler than the algorithms that are taught in CompSci classes, and is not always adequately reflected by someone's abilities to do algorithms on a whiteboard. The tendency is for programming to get easier over time, not harder. That's why you can spin up a docker image in an afternoon, and why you can write the equivalent of 100K lines of C in a 20 line python program, with some library calls. That's why we have Google instead of the man command and source code.
"No talent, no talent" - sounds like the proverbial washed up woman asking "Where have all the good men gone?".
This all seems fair, but it does seem remiss to not mention that the H1B isn't designed to bring in the best talent, but precisely the opposite. It's designed to bring in cheap talent, and every attempt to change that had been viciously attached and blocked.
All your points about the US having unmet demand for talented programmers are entirely believable, but H1B is still a massively corrupt enterprise.
When I decided to leave my last job in 2022, I set my LinkedIn profile to "looking for work" and was immediately inundated with recruiters asking me to apply for their jobs. Within 2 weeks I had applied for maybe 10 jobs (with not one cover letter), got interviews with 6 companies, and received 3 job offers.
I had about 4 years experience as a software engineer at a bank, but I was really nothing special. I was never the best on my team, I wasn't one of those guys who spends all his free time reading about new tools and technologies or working on hobby projects, and my undiagnosed ADHD meant I had a hard time really getting a lot done consistently. I was generally fine, but it was astonishing how easy the interviews were for someone at my level. Not quite fizzbuzz level but not much harder.
When I got my current job, I was told that they went through dozens of interviewees before getting someone who could actually pass the problems they had, which is why I was able to negotiate a 25% increase on their initial starting salary offer. I couldn't believe it, but it's what I now think of every time I hear complaints from people who can't get a job and want to blame it on anyone but themselves.
Serious question: how, in practical terms, is it possible for someone — anyone — to get a CS degree and not be able to do that? What are they doing? I took AP comp sci (exactly) 30 years ago (with no programming or anything of the sort since) and still had the answer immediately. IIRC, we would have had to have been able to do that in the first few weeks of class. Truly: if not that, then what *are* they doing the first few weeks/months/years.
A lot of colleges have no idea how to teach programming. Nor do they care. It's easy to produce endless classes who can't fizzbuzz if you don't teach the first few lessons correctly and then move on too fast. My own CS degree was a joke, they were trying to teach recursion by the third lesson. Nobody was able to code unless they were self taught like me.
1) countries that have gone all in on “skilled” Indian immigration like Canada have seen living standards collapse. It turns out the bottleneck on economic growth isn’t mediocre tier white collar workers, especially with massive cultural differences.
2) the us h1b system is two tier. Some h1bs are highly qualified individuals and some are consulting slop, many not even paying six figures. Expanding the h1b system would just mean adding more of the latter rather then the former, as Canada shows
3) there just isn’t any way to increase talent. “Good programmers” come from the small pool of right tail bell curve people from high iq societies. That group stoped having kids a generation or two ago.
India is not a high iq society. It’s got an average of 76! There is a very tiny elite that has been plugged into the British imperial elite for a long time, but it’s very small. Scaling up the h1b program isn’t going to yield any more of those people.
4) I would check out heretical insights “immigrants from where?” For a breakdown of the national origin of innovation. Nearly all productive immigrants are from European or Jewish backgrounds, with a few East Asians.
When I was learning to program (2020) we didn’t have chat gpt- once upon a time people actually had to like, get stuck on a problem and be frustrated with it for a while.
It wouldn’t surprise me if only a fraction of grads can code at intern-level. My guess is that many are actually cheating their way through everything.
Interesting. It’s funny because I was the loser humanities guy at a primarily engineering/programming university. Although they had big egos, I was never that impressed with the CS and EE majors, and I’ve heard from people in these tech businesses that a lot of the new grads can’t do the basics. This makes sense since so much of their coursework is abstract and involves math—and many of these kids cheat like crazy on everything.
I’m sure the same can be said for the H1 dudes. Some are okay, and some are poorly trained and probably fudged their work up to this point.
Two questions though. (1) Is AI going to make an impact on this type of work, or is all that mostly hype?
And (2), is there a reluctance from employers to do the least bit of training for entree level employees? I get the feeling they just want people coming in ready-made while offering little in the way of compensation. I’m in education, and I plan on helping new teachers that first year. There’s so much that college or technical school can’t cover.
Ai is already making an impact, but not the way it has been popularly discussed. It is a lever, not a replacement. And the demand for software is so great and unsatisfiable that all increases in productivity will be immediately swallowed. AI means we will write more software than ever before, it will increase demand for people capable of using it. I do think it's true that writing code is going to become less important over time relative to other skills in software engineering.
The reluctance to train is definitely real, but usually when I hear this complaint it's from people demanding that employers instill aptitude, which in my opinion is what is scarce and cannot be taught.
I started programming when I was in elementary school, and by the time I entered the labor market I had singlehandedly completed one successful and one complete-but-unsuccessful video game project, that I went out of my way to design to be challenging to write, in addition to several technically impressive 1-week game jam games. I've been working with LLMs since long before ChatGPT brought them in to public consciousness, and at a previous employer I led a major AI integration project that was so successful the CEO cut our timeline in half the first time we demoed it to him because we were advancing so fast and the project impressed him that much.
After that employer decided not to renew my contract (citing financial reasons,) I spent 8 months unemployed despite applying to hundreds of jobs per week on all public job platforms continuously, AND reaching out to everyone I've ever met who might know about openings. I got about one interview every other month, and several companies I passed their interview process, was made an offer, accepted it, and then was ghosted - they never sent the contract and ignored any followup communication.
I was about to go bankrupt and leave the tech industry for good because I'd maxed out all my credit cards paying for necessities, when I got randomly contacted by a self-described "DEI recruiting firm" who lied about my degree status to an employer and got me no-interview hired. I have no way to prove this but I'm willing to bet they lied about other demographic data as well, if you get my meaning.
Everyone I've talked to about this is in the same position; programmers with over a decade in the industry, who are absolutely in the top 10% of their field, having 0 success finding jobs. *Something* is severely wrong, and it's not just big-tech layoffs. I don't think it is H1-B, it's something else, but it's something.
I have no personal experience with contract work, but my impression is that it's fundamentally more precarious than full time salary positions. Is there a reason you went that route?
I'd been laid off from my last position at that time - that was just bad luck, the money to hire me came from a new client who ended up skipping out on their bill, and this was the only thing avaialble.
Whenever I'm looking for a new job, my go-to has always been small firms that don't get swamped with resumes and contacting every head-hunter on Linkedin to do the work for me. With the latter, it will likely be contract-to-hire, which is annoying, but has given me good results. YMMV.
Yeah, I also spent a few months looking through lists of startups that'd recently been funded and either applying on their site or cold-emailing. Maybe a couple hundred applications that way? Got a few polite rejections, one "build an entire application as your test project, pull an all-nighter, get ghosted," and one where the first two interviews resulted in "OMG HIRE!!!" and the third was with a guy who was very confidently wrong about the way vector databases work and rejected me for being right.
That's startups, not "small firms," though - a job at a company that makes some super-specialized software for a specific trade or something that's had the same 5 employees for 30 years and one guy just retired - that might be great. Where do you find these companies to apply there?
A lot of coworkers at a megacorp I worked in left for smaller companies to escape bureaucracy. I just kept in touch. Looks like you've already done that.
Just the opposite actually, the no-interview company is so big and mismanaged that one of my teammates took 6 months between hiring and his first day at work. They paid him a six figure salary for half a year for literally nothing.
They, like everybody else, advertise. How else but advertisements?
I am in Austria, with very few immigrants, and in a very similar position, 10 months of job hunting after 22 years of experience, that included teaching other companies, an opportunity to teach at college (which I did not want to), a very popular tech blog, I am not sure what is the reason but the demand seems to be low.
Part of it may be interviewers are really stupid, and might pass over you because you forgot some CS degree trivia, like the modulus (I haven't used this since I was 20 in college, I am a professional software engineer), or recursion (usually a bad idea, hard to read, often bad algorithmic complexity, not really relevant in webshit so 90% of jobs). Let's be real most of the time tech means webshit, and it's surprising candidates are asked about more relevant knowledge like REST API standards, knowledge of security (jwt, cookies, preventing XSS and CSRF), SQL vs NoSQL, typed vs. untyped projects, experience with diverse frontend and backend frameworks, etc. I would hire someone who took 15 whole minutes to remember the modulus but has a rich knowledge of the aforementioned subjects over someone who can solve 30 leetcode hards in 30 minutes but doesn't know javascript
Webshit got so popular because investors thinking "startups" on the web can get really big (few do), that people are forgetting other fields, like basic business software. Think customizing SAP.
Technically that is very easy. Basically scripting. It is the domain knowledge, such as accounting, which makes it valuable.
I don’t doubt any aspect of your story, but I absolutely cringe at the notion that you need to work at all, much less “maxed out credit cards” at the end of an eight-month jobless stretch. You should have earned enough with that resume to be set.
Not really, I was making $55/hr before taxes and I'd just gotten out of a month-long inpatient stay that wiped out my savings.
The current unemployment rate in tech is somewhere between 2-3%. It's not zero, so there are always going to be individuals who are having a rough time, but overall, most of the industry is employed.
Yeah, I don't buy it. Waaay, waaay too much evidence points to H1Bs being all about lowering wages (costs), and little else.
Take MS, there is no evidence from their latest layoffs that they screened their people before tossing them overboard to replace them with H1Bs, and no evidence that they are paying their imports the same or more. Given the public opprobrium they are accruing, just a smidge of evidence ought to be forthcoming. Absence of evidence isn't evidence of absence in a court of law, but in the court of public opinion it's damning.
I used to have a job fixing the godawful garbage that some corporate C-suite moron demanded be outsourced (this was electrical engineering, not programming), I have zero reason to trust these people. It's all about "find me bodies at lower cost" not "find the best programmers."
MS isn't replacing people. Yes, lay offs are a cost saving measure. They are also a way to clean house.
But MS applies for a massive number of H1B visas every year, because that's how the system works. It is a lottery. If you want access to that talent pool you have to play that game. Them applying for these visas is completely independent of the layoffs they just did.
The lottery just makes it more unfair. You roll 7s, you fire a bunch of Americans. If it were just about the best talent, and not racism, why is MS hiring all Indians and no Chinese?
Layoffs as a housecleaning measure are terrible, too. Since you are firing all the competent people as well as the incompetent ones.
No actual evidence points to the cause of the layoffs being housecleaning of incompetents. If MS wanted to houseclean, why not test everyone that you plan to layoff and retain the best? They want the expensive Americans gone, and the cheaper, co-ethnic foreigners in.
Chinese citizens are not welcome on a lot of government contracts, and that’s a pool in which Microsoft swims.
Sure didn't stop Microsoft from dumping a bunch of sensitive government work STRAIGHT TO CHINA.
It's bull, you know it's bull, they are hiring who they are hiring for 100% racist reasons. I'm tired of pretending otherwise.
Yes the C suite at big companies are there because they have the greed, narcissism, and skill at court politics. But I've been a hiring manager for ML science and engineering roles for years. The proportion of all candidates who are good is quite low. The proportion of good candidates who are American us depressingly low. My understanding from long time colleagues in straight engineering spaces is that it's not better there.
Talk about going for the throat Kitten!
1. While I've only interviewed a couple dozen prospects, your assessment of fizzbuzz weeding out most programmers is spot on. In my first interviews with *senior* developer positions, I thought whiteboarding a basic pseudocode solution to a quadtree was reasonable (I thought most would know the binary tree algorithm verbatim, so I wanted to add a twist.). I think you can infer how that turned out.
2. CS degrees give only a possible stamp of quality in mid-tier to elite levels. Think good state universities and up. Go below that, no one knows anything.
3. H1-B's in my experience are inferior as a group, with far less stringent interviewing processes than native born Americans. Nepotism is also very, very real. I've seen entire departments taken over by Naturalized Indians importing their colleagues with the H1B process.
4. We need fewer programmers, not more. The performance gap is so vast you're better off giving your rock star developer absurd wages to work 60 hours a week than have a team of six decent developers. They largely just get in the way.
That's because something like quadtree is used rarely (even binary trees). This is just not how software mostly works. Most of software most of the time is taking a data entry form and writing it to a database.
> I thought whiteboarding a basic pseudocode solution to a quadtree was reasonable (I thought most would know the binary tree algorithm verbatim, so I wanted to add a twist.)
Are you hiring for an algorithm design position, or webdev?
The problem with this argument is that it proves too much. Yes, of course there are good H1B programmers. There are good foreign workers in every profession and if you are allowed to access a global talent pool you will get more qualified non-Americans than Americans *at a given price*. The point that H-1B opponents make (at least the reasonable ones) is that if you restrict the supply of h1bs, that will raise the price for programmers in America, which will then push more talented applicants into the field, providing a larger supply of American workers who are qualified. Now, this will of course come at a cost—both for tech companies who will be paying more for labor and other sectors who now face a worker shortage as their employees re-allocate to hire paying coding jobs. But that is the price of any labor restriction short of unlimited migration, and of course has benefits for the workers through time as supply and demand dynamics favor labor over capital. But there's not really a difference in principle between the H1B program and letting people flood through the border to work on a farm or at Costco, it's just a matter of degree. And that's why I think the best solutions allow us to access a global labor pool for talent that is truly rare-ie talent that gets paid a LOT-but not for middle class wage coders.
The first part is right (wages are resttricted), the second part is wrong. There are not a lot of great potential programmers waiting in the wings for the right price signal to change careers. They don't exist. We are already at close to full utilization of people with the aptitude.
That's very interesting, so just to say it back, you're saying that we have basically maxed out the domestic supply of people with the aptitude to program, and therefore increasing programmer wages would not actually draw more talented Americans into the field because we simply don't have enough talented Americans? I think that's pretty clearly not the case so I assume you're saying something more nuanced maybe? They are obviously many Anericans with much higher aptitude than the H-1B's who we are paying low six figures. All you have to do to know that is to look at how many people in the labor market we pay more than those low six figure salaries. You can also look at other quantitative industries like finance - there are plenty of highly capable people in those industries who could be successful coders but choose not to go into coding because it doesn't pay enough. If coding paid more, those high aptitude Americans would switch from their jobs as financial analysts, doctors, lawyers, or other high aptitude professions and learn to program. And just very specifically, as you point out, the coding demo you say so few applicants can do is very easy. Everyone commenting in this substack can likely do this themselves with an hour of research. It seems not super credible that we couldn't pull in enough Americans from other industries who can do that job if they were paid more richly. So, I'm not sure I understand your point, maybe you can clarify?
We already ran this experiment. Mid-career elite tech makes more than medicine or law or finance while working fewer hours. Those people didn't switch over, because they don't have the aptitude or don't enjoy it.
We also launched a hundred boot camps to retrain willing people, and it mostly didn't work. I have interviewed dozens of boot camp graduates and they mostly aren't very good.
The idea that there is a large pool of suitable programming candidates waiting in the wings for the right price signal is repudiated by every available line of evidence. They don't exist.
>We already ran this experiment. Mid-career elite tech makes more than medicine or law or finance while working fewer hours. Those people don't switch over, because they dont have the aptitude or don't enjoy it.
I get this instinct but I think its wrong or at least incomplete. You cant just swap mid career pay for mid career pay. And for lawyers and doctors, there are licensing barriers, and leaving the practice area in any capacity would come with hurdles in returning if needed. Also, although a fallacy, sunk cost on education expenses etc has psychological impacts.
I am a former engineer, now lawyer. An L4 role would be a pay cut. I will say when I was a suffering junior attorney in patent litigation biglaw, hating my WLB, my colleagues and I would talk about how "damn, we should think about switching" during the tech stock bull market in 2021. Myself and I truly believe most if not all of my patent litigation colleagues could have switched and functionally done the job. But its risky, you'd take a near term paycut for sure, and you'd have to work on building up skills you probably hadn't touched since undergrad in your programming courses. And you know if you stay in law "next year when im a fourth year associate ill make $385k, and a fifth year makes $455k..." etc. Etc. The golden handcuffs are real when the alternative is not guaranteed ("and that's what the money is for!").
All that to say, there are certainly people who could be incentivized to switch. But the incentives are not great enough for the costs it would entail. And maybe the cohort you'd tap is too small to really stress the details (e.g. the universe of junior biglaw attorneys with good schooling that could and would make the switch).
Good points. Why do you think the talent exists abroad? Just more people to choose from?
Basically yes. The US gets to skim the cream of global talent.
It just seems so hard to believe that we can't find talent domestically to do things that objectively don't seem that hard. We're not exactly looking for Einstein here, this exact programming test was my high school compsci homework. But your point about having run the test already and it failing is hard to dispute so I guess the reality is what it is—I just wish I could understand why people would rather be a first year law associate than a coder. Maybe it's really true that the marginal lawyer just can't handle it.
Software development is far more than writing code. Before you can write code, you have to create an abstraction. When you do write code, you’re faced with hundreds, possibly thousands, of implementation options and you need good taste to pick the right ones, which simply can’t be taught. And unlike almost every other field, software is never finished, it needs to be constantly updated, so you need to be skilled at writing maintainable code, creating unit and regression tests, etc. Doctors, lawyers, engineers, and analysts simply do not have these skills.
Exactly! It will come at a cost but truly competitive and worthwhile firms will pay it .
I have been an executive at companies that used H1Bs and it was all about getting them cheaper and the fact that they are essentially indentured servants for 5 years until they get their green card.
Plus, the more Indians in a company, the more they want to hire other Indians. And in many companies there is a major push not to hire white men and, if they are already on board, not to promote them.
The white men I know still in high tech (I am retired) find they have to spend a lot of their time redoing the work of the Indians.
Getting paid to delete 50,000 lines of contractor code and replace it with a library call is so satisfying. God bless Accenture.
Not to be prejudiced but that’s the reality at a lot of firms
I think there’s a flipside challenge to the talent shortage—many HR staff seem not to recognize there’s a talent shortage. In my industry (electric utilities), there’s a debilitating lack of staff, much less sharp talent, and I don’t really see leadership act with urgency about this—pay isn’t increasing, interview processes aren’t getting tweaked, we aren’t chasing down talent fresh out of college, and we’re instead asking them if they know abstruse grid standards even though electrical engineering programs no longer teach three-phase power.
That might explain the disconnect between “there’s a debilitating talent shortage” and “why can’t I get a job then.”
Many organizations simply don’t realize how screwed they are—and if they have, many haven’t considered that maybe they should do something different.
H-1Bs may not be displacing fresh CS grads or under-35s, but they may be displacing older techies. My completely unscientific but probably true rule of thumb: half of techies will be out of tech voluntarily or involuntarily by 35 and another half by 50. If you haven’t made it to the C-suite or made yourself indispensable by 50 you’re looking at a one-way ticket to Uberville or baristatown.
This is another shitty aspect to this story. The race to the bottom needs to stop
The American upper middle class has expectations in terms of housing, commuting, and lifestyle that are just not possible in the Bay Area at the tech industry’s scale, even at arbitrarily high wages. Immigrants are more tolerant of the long commutes and poor-quality housing associated with Bay Area mass affluence, because such things compare more favorably to the third world than to the Midwest.
Tech companies have a hard time retaining Americans into childrearing age except by letting them go remote. And they really, really hate doing that.
I would say, although I don't doubt you are correct as to the current situation, this essay doesnt look far enough either back or forward.
There is a reason that you can't find competent people in America. I don't think that it is that everyone is just stupid and not suited for this work.
The education system in the US has been deliberately abysmal for multiple generations by now. It is probably more surprising that there are still even some competent people coming out of the American system.
There was an interview sometime back with one of the architects of the 'no child left behind' program that they recognized they couldnt get the dullards up, so they deliberately tanked the smart kids to get them down to the level of kids they couldn't get up.
That philosophy of deliberately screwing over American kids has been in effect I would say since the 90s, if not further back in time than that.
The H1B and allied programs allow the elites to deliberately dumb down and impoverish the American people without personally experiencing the adverse side effects they might otherwise experience from the collapse of competence occurring in the native population.
I absolutely disagree that there is a kind of innate or structural inability on the part of American people to do this kind of work.
Of course you can't coax people into your line of work with mid-career switches or something when they know at any moment they can laid off and replaced by foreigners.
I have literally heard stories of American people being forced to train their own foreign replacements for my entire lifetime and I am almost 50. Very few people are going to look at the tech industry from the outside and say 'Hey I want to get in on that.'
If you look at China, within my lifetime they had virtually no one that was competent in any modern field of endeavor. Now they are blowing past everyone.
If you were in China in 1970 you would be saying 'We have to import foreigners, I can't even find two people that are familiar with modern programming languages.' When China did bring in foreign experts, they always wanted that expert knowledge to be transmitted to their own people.
Further, the same people getting H1B visas rarely come to the US initially on them. They come in on student visas. Check out any university CS program, and I am willing to bet you find a majority of international students.
This essay (https://baazaa.github.io/2024/12/27/labour.html) argues that US corporations have essentially stopped training people. What is being outsourced in the case of H1Bs is training. I found it a compelling argument. You generally only get hired now to do a job very similar to the job you just did.
I think corporations have all manner of incentives to lie about the issue. The refusal to train up natives is ingrained in corporate culture to a point where it is just expected - and the mass importation of foreigners means that they never need to concede the point. In one sense, a lot of the H1B conquest's success is due simply to a willingness to convincingly stretch the truth on resumes, with worker training programs and internships in India covering for the needed "experience". American workers who represent themselves honestly take a hit. If you've worked with Indian CEOs of ""startups"", you may understand what I mean.
In my experience most programming is way simpler than the algorithms that are taught in CompSci classes, and is not always adequately reflected by someone's abilities to do algorithms on a whiteboard. The tendency is for programming to get easier over time, not harder. That's why you can spin up a docker image in an afternoon, and why you can write the equivalent of 100K lines of C in a 20 line python program, with some library calls. That's why we have Google instead of the man command and source code.
"No talent, no talent" - sounds like the proverbial washed up woman asking "Where have all the good men gone?".
This is half of the problem. More companies need to invest in training and not just for new hires 😎
This all seems fair, but it does seem remiss to not mention that the H1B isn't designed to bring in the best talent, but precisely the opposite. It's designed to bring in cheap talent, and every attempt to change that had been viciously attached and blocked.
All your points about the US having unmet demand for talented programmers are entirely believable, but H1B is still a massively corrupt enterprise.
It is, but most of the grift is concentrated outside of programming hires
When I decided to leave my last job in 2022, I set my LinkedIn profile to "looking for work" and was immediately inundated with recruiters asking me to apply for their jobs. Within 2 weeks I had applied for maybe 10 jobs (with not one cover letter), got interviews with 6 companies, and received 3 job offers.
I had about 4 years experience as a software engineer at a bank, but I was really nothing special. I was never the best on my team, I wasn't one of those guys who spends all his free time reading about new tools and technologies or working on hobby projects, and my undiagnosed ADHD meant I had a hard time really getting a lot done consistently. I was generally fine, but it was astonishing how easy the interviews were for someone at my level. Not quite fizzbuzz level but not much harder.
When I got my current job, I was told that they went through dozens of interviewees before getting someone who could actually pass the problems they had, which is why I was able to negotiate a 25% increase on their initial starting salary offer. I couldn't believe it, but it's what I now think of every time I hear complaints from people who can't get a job and want to blame it on anyone but themselves.
Serious question: how, in practical terms, is it possible for someone — anyone — to get a CS degree and not be able to do that? What are they doing? I took AP comp sci (exactly) 30 years ago (with no programming or anything of the sort since) and still had the answer immediately. IIRC, we would have had to have been able to do that in the first few weeks of class. Truly: if not that, then what *are* they doing the first few weeks/months/years.
A lot of colleges have no idea how to teach programming. Nor do they care. It's easy to produce endless classes who can't fizzbuzz if you don't teach the first few lessons correctly and then move on too fast. My own CS degree was a joke, they were trying to teach recursion by the third lesson. Nobody was able to code unless they were self taught like me.
1) countries that have gone all in on “skilled” Indian immigration like Canada have seen living standards collapse. It turns out the bottleneck on economic growth isn’t mediocre tier white collar workers, especially with massive cultural differences.
2) the us h1b system is two tier. Some h1bs are highly qualified individuals and some are consulting slop, many not even paying six figures. Expanding the h1b system would just mean adding more of the latter rather then the former, as Canada shows
3) there just isn’t any way to increase talent. “Good programmers” come from the small pool of right tail bell curve people from high iq societies. That group stoped having kids a generation or two ago.
India is not a high iq society. It’s got an average of 76! There is a very tiny elite that has been plugged into the British imperial elite for a long time, but it’s very small. Scaling up the h1b program isn’t going to yield any more of those people.
4) I would check out heretical insights “immigrants from where?” For a breakdown of the national origin of innovation. Nearly all productive immigrants are from European or Jewish backgrounds, with a few East Asians.
When I was learning to program (2020) we didn’t have chat gpt- once upon a time people actually had to like, get stuck on a problem and be frustrated with it for a while.
It wouldn’t surprise me if only a fraction of grads can code at intern-level. My guess is that many are actually cheating their way through everything.
Interesting. It’s funny because I was the loser humanities guy at a primarily engineering/programming university. Although they had big egos, I was never that impressed with the CS and EE majors, and I’ve heard from people in these tech businesses that a lot of the new grads can’t do the basics. This makes sense since so much of their coursework is abstract and involves math—and many of these kids cheat like crazy on everything.
I’m sure the same can be said for the H1 dudes. Some are okay, and some are poorly trained and probably fudged their work up to this point.
Two questions though. (1) Is AI going to make an impact on this type of work, or is all that mostly hype?
And (2), is there a reluctance from employers to do the least bit of training for entree level employees? I get the feeling they just want people coming in ready-made while offering little in the way of compensation. I’m in education, and I plan on helping new teachers that first year. There’s so much that college or technical school can’t cover.
Ai is already making an impact, but not the way it has been popularly discussed. It is a lever, not a replacement. And the demand for software is so great and unsatisfiable that all increases in productivity will be immediately swallowed. AI means we will write more software than ever before, it will increase demand for people capable of using it. I do think it's true that writing code is going to become less important over time relative to other skills in software engineering.
The reluctance to train is definitely real, but usually when I hear this complaint it's from people demanding that employers instill aptitude, which in my opinion is what is scarce and cannot be taught.