Firing programmers for AI is a mistake
defragzone.substack.com
defragzone.substack.com
It's incredibly far away from doing any significant change in a mature codebase. In fact I've become so bearish on the technology trying to use it for this, I'm thinking there's going to have to be some other breakthrough or something other than LLM's. It just doesn't feel right around the corner. Now completing small chunks of mundane code, explaining code, doing very small mundane changes. Very good at.
The gap between people with deep, hands-on experience that understand how a computer works and prompt engineers will become so insanely deep.
Somebody needs to write that operating system the LLM runs on. Or your bank's backend system that securely stores your money. Or the mission critical systems powering this airplane you're flying next week... to pretend like this will all be handled by LLMs is so insanely out of touch with reality.
And on the first 10,000 lines of code, the best in class tools are actually pretty good. Since they can help define the structure of the code, it ends up shaped in a way that works well for the models, and it still basically all fits in the useful context window.
What developers who can't use it on large warty codebases don't see is how poorly even the best tools do on the kinds of projects that software engineers typically work on for pay. So they're faced with headlines that oversell AI capabilities and positive experiences with their own small projects and they buy the hype.
AI is obviously not good enough to replace programmers today. But I'm worried that it will get much better at real-world programming tasks within years or months. If you follow AI closely, how can you be dismissive of this threat? OpenAI will probably release a reasoning-based software engineering agent this year.
We have a system that is similar to top humans at competitive programming. This wasn't true 1 year ago. Who knows what will happen in 1 year.
LLMs yet dont have the idea of a causal-model of how something works built-in. What they do have is pattern matching from a large index and generation of plausible answers from that index. (aside: the plausible snippets are of questionable licensing lineage as the indexes could contain public code with restrictive licensing)
Causal models require machinery which is symbolic, which is able to generate hypotheses and test and prove statements about a world. LLMs are not yet capable of this and the fundamental architecture of the llm machine is not built for it.
Hence, while they are a great productivity boost as a semantic search engine, and a plausible snippet generator, they are not capable of building (or fixing bugs in) a machine which requires causal modeling.
And to be honest, if any company is firing software engineers hoping AI replaces their production, that is good news since that company will soon stop existing and treating engineers like shit which it probably did :)
I get it though like I'm terrible working with IMUs and I want to just get something going but I can't there's that wall I need to overcome/learn eg. the math behind it. Same with programming helps to have the background knowing how to read code and how it works.
Like "How to truncate text with CSS alone" or "How to set an AWS EC2 instance RAM to 2GB using terraform"
I would not trust them until they can do the news properly. Just read the source Luke.
"AI chatbots unable to accurately summarise news, BBC finds" - https://www.bbc.com/news/articles/c0m17d8827ko
My observation is that LLMs do repetitive, boring tasks really well, like boilerplate code and common logic/basic UI that thousands of people have already done. Well, in some sense, jobs where developers who spend a lot of time writing generic code is already at risk of being outsourced.
The tasks that need a ton of tweaking or not worth asking AI at all are those that are very specific to a specific product and need to meet specific requirements that often come from discussions or meetings. Well, I guess in theory if we had transcripts for everything, AI could write code like the way you want, but I doubt that's happening any time soon.
I have since become less worried about the pace AI will replace human programmers -- there is still a lot that these tools cannot do. But for sure people need to watch out and be aware of what's happening.
A lot of micro managing is involved either way. And most LLMs suffer from a severe case of ground hog day. You can't assume them to remember anything over time. Every conversation starts from scratch. If it's not in your recent context, specify it again. Etc. Quite tedious but it still beats me doing it manually. For some things.
For at least the next few years, it's going to be an expectation from customers that you will not waste their time with stuff they could have just asked an LLM to do for them. I've had two instances of non technical CPO and CEO types recently figuring out how to get a few simple projects done with LLMs. One actually is tackling rust programs now. The point here is not that that's good code but that neither of them would have dreamed about doing anything themselves a few years ago. The scope of the stuff you can get done quickly is increasing.
LLMs are worse at modifying existing code than they are at creating new code. Every conversation is a new conversation. Ground hog day, every day. Modifying something with a lot of history and context requires larger context windows and tools to fill those. The tools are increasingly becoming the bottleneck. Because without context the whole thing derails and micromanaging a lot of context is a chore.
And a big factor here is that huge context windows are costly so there's an incentive for service providers to cut some corners there. Most value for me these days come from LLM tool improvements that result in me having to type less. "fix this" now means "fix the thing under my cursor in my open editor, with the full context of that file". I do this a lot since a few weeks.
The COBOL crisis at Y2K comes to mind.
Let the user pair with an AI to edit and hot-reload some subset of the code which needs to be very adapted to the problem domain, and have the AI fine-tuned for the task at hand. If that doesn't cut it, have the user submit issues if they need an engineer to alter the interface that they and the AI are using.
I guess this would resemble how myspace used to do it, where you'd get a text box where you could provide custom edits, but you couldn't change the interface.
I think people lose sight of how much better it has gotten in just a few years.
We actually _need_ a breakthrough for the promises to materialize, otherwise we will have yet another AI Winter.
Even though there seems to be some emergent behavior (some evidence that LLMs can, for example, create an internal chess representation by themselves when asked to play), that's not enough. We'll end up with diminishing returns. Investors will get bored of waiting and this whole thing comes crashing down.
We'll get an useful too in our toolbox, as we do at every AI cycle.
A lot of the use cases are on building something that has already been built before, like a web app, a popular algorithm, and etc. I think the real threat to us programmers is stagnation. If we don't have new use cases to develop but only introduce marginal changes, then we can surely use AI to generate our code from the vast amount of previous work.
Very talented engineers, coworkers, that I would place above myself in skill, seemed stumped by it, while I have realized at least a 10x productively gain.
The claim that LLMs are not being applied in mature, complex code-bases is pure fantasy, example: https://arxiv.org/abs/2501.06972. Here Google is using LLMs to accelerate the migration of mature, complex production systems.
I agree with this completely. However the problem that I think the article gets at is still real because junior engineers also can't do significant changes on a mature codebase when they first start out. They used to do the 'easy stuff' which freed the rest of us up to do bigger stuff. But:
1. Companies like mine don't hire juniors anymore
2. With Copilot I can be so much more productive that I don't need juniors to do "the easy stuff" because Copilot can easily do that in 1/1000th the time a junior would.
3. So now who is going to train those juniors to get to the level where we need them to be to make those "significant changes"?
This is the only current threat. The time you save as a developer using AI on mundane stuff will get filled by something else, possibly more mundane stuff.
A small company with only 2-5 Seniors may not be able to drop anyone. A company with 100 seniors might be able to drop 5-10 of them total, spread across each team.
The first cuts will come at scaled companies. However, it's difficult to detect if companies are cutting people just to save money or if they are actually realizing any productivity gains from AI at this point.
We've already seen this sort of incrementalism over the past couple of years, the initial buzz started without much more than a 2048 context window and we're seeing models with 1M out there now that are significantly more capable.
That coupled with new money and retail investors being thinking they’re in a gold rush and you get the environment we’re in.
We know what it's good at today. And pretty sure it won't be any worse at it in the future. And 5 years ago state of the art was basically output of Markov Chain. In 5 years we might be at another place entirely.
Everyone is hoping (probably delusional) that bigger and more impressive breakthroughs will keep leaping up if we just keep tweaking the models and increasing the size of the data sets.
I try to use AI daily, and every month I see how it is able to generate larger and more complex chunks of code from the first shot. It is almost there. We just need to adopt the new paradigm, build the tooling, and embrace the new weird future of software development.
1. AI code ability will be the same as is today
2. Companies will replace people for AI en masse at a given moment in time
Of course both these assumptions are wrong, the quality of code produced by AI will improve dramatically as model evolves. And is not even just the model itself. The tooling, the Agentic capabilities and workflow will entirely change to adapt to this. (Already doing)
The second assumption is also wrong, intelligent companies will not layoff en masse to use AI only, they will most likely slow hiring devs because their existing enhanced devs using AI will suffice enough to their coding related needs. At the end of the day product is just one area of company development, build the complete e2e ultimate solution with 0 distribution or marketing will not help.
This article, in my opinion, is just doomerism storytelling for nostalgic programmers, that see programming only as some kind of magical artistic craft and AI as the villain arrived to remove all the fun from it. You can still switch off Cursor and write donut.c if you enjoy doing it.
After 20 years in tech, I can't think of a single company I've worked for/with that would fit the profile of an "intelligent" company. All of them make poor and irrational decisions regularly. I think you over-estimate the intelligence of leadership whilst simultaneously under-estimating their greed and eventual ability to self-destruct.
EDIT: you also over-estimate the desire for developers to increase their productivity with AI. I use AI to reduce complexity and give me more breathing room, not to increase my output.
That's a very bold claim. We are already seeing plateu in LLM capabilities in general. And there is little improvement in places where they fall short (like making holistic changes in a large codebase) since their birth. They only improve where they are already good at such as writing small glue programs. Expecting significant breakthroughs with just scaling without any fundamentally changes to the architecture seems like too optimistic to me.
How are you so sure?
That said, I do think there is real risk of letting AI hinder the growth of Junior dev talent.
It is only generating based on training data. In mature code bases there is a massive amount of interconnected state that is not already present in any github repository. The new logic you'd want to add is likely something never done before. As other programmers have stated, it seems to be improving at generating useful boilerplate and making simple websites and such related to what's out there en masse on Github. But it can't make any meaningful changes in an extensively matured codebase. Even Claude Sonnet is absolutely hopeless at this. And the requirement before the codebase is "matured" is not very high.
Not my experience. I spend as much time reading through and replacing wrong AI generated code as I do writing my own code, so it's really wasting my time more often than helping. It's really hit or miss, and about the only thing the AI gets right most often is writing console.log statements based on the variable I've just assigned, and that isn't really "coding". And even then it gets it right only about 75% of the time. Sure, that saves me some time, but I'm not seeing the supposed acceleration AI is hyped as giving.
Where are your facts? What is your basis on these future prediction? Sure small code snippets have already improved since gpt2. What about larger applications where layers and layers of abstractions coming from private company sensitive data?
> At the end of the day product is just one area of company development, build the complete e2e ultimate solution with 0 distribution or marketing will not help.
this sounds like PR garbage to me why use "e2e ultimate solution" provide technical details so we can verify what you're saying is true
How many companies are intelligent given how many dumb decisions we see?
If we assume enough not so intelligent companies then better AI code we lead to mass firing.
This is the fundamental delusion that is driving AI hype.
Although scale has made LLMs look like magic, actual magic (AGI) is not on the scaling path. This is a conjecture (as is the converse), but I'm betting the farm on it personally and see LLMs as useful chat bots that augment other, better technologies for automation. If you want to pursue AGI, move on quickly to something structurally and fundamentally better.
People don't understand that AGI is pure speculation. There is no rigorous, non-circular definition of human intelligence, let alone proof that AGI is possible or achievable in any reasonable time frame (like 100 years).
This is the incorrect assumption, or at least there’s no evidence to support it.
Assuming the same kind of growth in capabilities isn't backed by reality.
The last release of OpenAI's model wasn't dramatically better.
At the moment it's more about getting cheaper.
When the financial environment loosens again, there’ll be a new wave of tech hiring (which is about equally likely to publicly be portrayed as either reversing the AI firing or exploiting new opportunities due to AI, neither of which will be the real fundamental driving force.)
Everybody got used to the way things worked when interest rates were near zero. Money was basically free, hiring was on a rampage, and everybody was willing to try reckless moonshots with slim chances for success. This went on for like fifteen years -- a good chunk of the workforce has only ever known that environment.
If people can get a safer return buying bonds they aren't going to invest in expansion and hiring. If there is basically no risk free rate of return you throw your money at hiring/new projects because you need to make a return. Lots of that goes into tech jobs.
Yes, in the sense that I suspect that with the strict counterfactual -- taking them AWAY -- you would have to hire 21 people instead of 20, or 25 instead of 20, to do the same job.
So strictly speaking, you could fire a bunch of people with the new tools.
---
But in the same period, the industry expanded rapidly, and programmer salaries INCREASED
So we didn't really notice or lament the change
I expect that pretty much the same thing will happen. (There will also be some thresholds crossed, producing qualitative changes. e.g. Programmer CEOs became much more common in the 2010's than in the 1990's.)
---
I think you can argue that some portion of the industry "got dumber" with Google/Stack Overflow too. Higher level languages and tech enabled that.
Sometimes we never learn the underlying concepts, and spin our wheels on the surface
Bad JavaScript ate our CPUs, and made the fans spin. Previous generations would never write code like that, because they didn't have the tools to, and the hardware wouldn't tolerate it. (They also wrote a lot of memory safety bugs we're still cleaning up, e.g. in the Expat XML parser)
If I reflect deeply, I don't know a bunch of things that earlier generations did, though hopefully I know some new things :-P
I think it's useful to look at what has already happened at another, much smaller profession -- translators -- as a precursor to what will happen with programmers.
1. translation software does a mediocre job, barely useful as a tool; all jobs are safe
2. translation software does a decent job, now expected to be used as time-saving aid, expectations for translators increase, fewer translators needed/employed
3. translation software does a good job, translators now hired to proofread/check the software output rather than translate themselves, allowing them to do 3x to 4x as fast as before, requiring proportionally fewer translators
4. translation software, now driven by LLMs, does an excellent job, only cursory checks required; very few translators required mostly in specialized cases
https://www.inc.com/kit-eaton/mark-zuckerberg-plans-to-repla...
I think it's a great time to be small, if you can reap the benefits of these tools to deliver EVEN FASTER than large enterprise than you already are. Aider and a couple Mac minis and you can have a good time!
However, the AI is hard to work with, it expects specific wording in order to program our code as expected.
We have hired people with expertise in the specific language needed to transmit our specifications to the AI with more precision.
Also known as programmers.
The "AI" part is irrelevant. Someone with expertise in transmitting specifications to a computer is a programmer, no matter the language.
EDIT: Yep, I realized that it could be the joke, but reading the other comments, it wasn't obvious.
And the manager is happy that filthy programmers are "using" AI.
Speaking English to make something is one thing, but speaking English to modify something complicated is absolutely something else. And Im pretty sure involves more or less the same effort as writing code itself. Of course regression for this something like this is not for the faint hearted.
These people are however not experts in pretending to be a obedient lackeys.
1. Humans also need specific wording in order to program code that stakeholders expected. A lot of people are laughing at AI because they think getting requirements is a human privilege.
2. On the contrary, I don't think people need to hire AI interfacers. Instead, business stakeholders are way more interested to interface with AI simply because they just want to get things done instead of filling a ticket for us. Some of them are going to be good interfacers with proper integration -- and yes we programmers are helping them to do so.
Side note: I don't think you are going to hear someone shouting that they are going to replace humans with AI. It started with this: people integrate AI into their workflow, layoff 10%, and see if AI helps to fill in the gap so they can freeze hire. Then they layoff 10% more.
And yes we programmers are helping the business to do that, with a proud and smile face.
Good luck.
The AI complained that the message did not originate from a programmer and decided not to respond.
A lot of articles like this just want to believe something is true and so they create an elaborate argument as to why that thing is true.
You can wrap yourself up in rationalizations all you want. There is a chance firing all the programmers will work. Evidence beats argument. In 5 years we'll look back and know.
It is actually probably a good idea to hedge your bets either way. Use this moment to trim some fat, force your existing programmers to work in a slightly leaner environment. It doesn't feel nice to be a programmer cut in such an environment but I can see why companies might be using this opportunity.
It is the latter class who are in real danger.
The AI only world is still one where the form and layout get done, but what happens to that data afterward?
If your job is massaging data for nebulous purposes using nebulous means and getting nebulous results, that you need to basically be another person doing the exact same thing to understand the value of, there's going to be a whole lot of management saying "Do we really need all those guys over there doing that? Can't we just have like one guy and a bunch of new AI magic?"
Using AI to write code does two things:
1. Everything seems to go faster at first until you have to debug it because the AI can't seem to be able to fix the issue... It's hard enough to debug code you wrote yourself. However, if you work with code written by others (team environment) then maybe you're used to this, but not being able to quickly debug code you're responsible for will shoot you in the foot.
2. You brain neurons in charge of code production will be naturally re-assigned for other cognitive tasks. It's not like riding a bicycle or swimming which once learned is never forgotten. It's more like advanced math, which if you don't practice you can forget.
Short term gain; long term pain.
Humans are supremely adaptable. That's what our defining attribute as a species is. As a group we can adapt to more or less any reality we find ourselves in.
People with good minds will use whatever tools they have to enhance their natural abilities.
People with less good minds will use whatever tools they have to cover up their inability until they're found out.
It seems the general sentiment is that developers are in danger of being replaced entirely. I may be biased, but it seems not to be the most likely outcome in the long term. I can't imagine how such companies will be competitive against developers who replace their boss with an AI.
Me neither, but I think it'll be a gratifying fight to watch.
Every single department and person believes the world will stop turning without them but that’s rarely how that plays out.
The core issue is that the bottleneck step in software development isn't actually the ability to program a specific thing, it's the process of discovering what it is we actually want the program to do. Having your programmers AT THE OFFICE and in close communication with the people who need the software, is the best way to get that done. Having them on the other side of the planet turned out to be the worse way.
This is unintuitive (to programmers as well as the organizations that might employ them), and therefore they have to discover it the hard way. I don't think this is something LLMs will be good at, now or ever. There may come a day when neural networks (or some other ML) will be able to do that, but that day is not near.
And they were right... and a lot of companies fully failed because of it.
And the corporate meat grinder kept rolling forward anyway. And the decision makers were all shielded from the consequences of their incompetence anyway.
When the market is completely corrupted, nothing means anything.
Take banking for example.
ATMs are literally called "teller machines." Internet banking is a way of "automating banking."
Besides those, every administrative aspect of banking went from paper to computer.
Do banks employ fewer people? Is it a smaller industry? No. Banks grew steadily over these decades.
It's actually shocking how little network enabled PCs impacted administrative employment. Universities, for example, employ far more administrative staff than they did before PC automated many of their tasks.
At one point (during and after dotcom), PayPal and suchlike were threatening to "turn billion dollar businesses into million dollar businesses." Reality went in the opposite direction.
We need to stop analogizing everything in the economy to manufacturing. Manufacturing is unique in its long term tendency to efficiency.other industries don't work that way.
I wouldn't be sure that growth as an industry/business is correlated to a growth in jobs too.
Maybe I'm wrong, I would love to see some data about it.
Profits may have grown but In Ireland at least, the number of branches have declined drastically.
I find it easy to say from our privileged position that "tech might replace workers but it'll be fine".
Even if all the replaced people aren't unemployed, salaries go down and standards of living for them fall off a cliff.
Tech innovation destroys lives in our current capitalist society because only the owners get the benefits. That's always been true.
It was a case before AI as well.
Overall it reads the same as "Twitter will be destroyed by mass layoffs". But it is still online
https://www.theverge.com/2025/1/24/24351317/elon-musk-x-twit...
It's being kept online because it's a good propaganda tool, not due to how it performs on the free market.
I'm not talking about GH Copilot or some autocomplete IDE feature, I'm talking about fully autonomous agents 2-3 years in the future. Just look at the insane rate of progress in the past 2 years. The next two years will be even faster if the past few months are anything to go by.
In other words, they are very economical replacements for middle managers. Have at it.
I'm old enough to remember when that new and destructive technology was Java, and the greybeards were all heavily invested in inline assembly as an essential skill of the serious programmer.
The exact same 3 steps in the article happened about a decade ago during the "javascript bootcamp" craze, and while the web stack does grow ever more deeply abstracted, things do seem to keep on trucking along...
- The word processor
- The assembly line
- Trains
- Internal combustion engines
I do remember some false starts from the 90's:
- Computer animation will put all the animation studios out of business
- Software agents will replace all middlemen with computers
The tech debt situation is going to become so, so much worse. My guess is there will be a whole lot of "dead by year five" companies built on AI.
Once I saw a software that was built mostly by one person, in part because he did the groundwork by pushing straight to main with . as the only commit message and didn't document anything. When they ended up in my lap he had failed for six months to adapt their system to changes in the data sources they depended on.
Sometimes the business people fucks up too, like using an excellent software system to do credit intensive trading without hedging for future interest raises.
I'm not so sure machines will solve much on either side even though some celebrities say they're sure they will.
Nice. How do I get into that kind of position?
> Tech debt paralyzes companies all the time, but nobody hears about it because there's zero advantage to the companies in sharing that info.
If nobody hears about it, then how do you hear about it? Moreover, what makes you think it's tech debt and not whatever reason the business told you? And further, if it's tech debt and not whatever reason the business told you, then don't you think the business lied? And didn't you just say they're not allowed to lie?
Can you clear that up?
I see it like when I came of age in the 90ies, with my first laptop and linux, confronted with the older generation that grew up on punchcards or expensive shared systems. They were advocating for really taking time to write your program out on paper or architecting it up front, while I was of the "YOLOOOO, I'll hack on it until it compiles" persuasion. Did it keep me from learning the fundamentals, become a solid engineer? No. In fact, the "hack on it until it compiles" became a pillar of today's engineering: TDD, CI/CD, etc...
It's up to us to find the right workflows for both mentoring / teaching and for solid engineering, with this new, imo paradigm-changing technology.
AI reminds me of calculators. For someone who is proficient in math, they boost speed. For those learning math, it becomes a crutch and eventually stops their ability to learn further because their mind can't build upon principles fully outsourced to the machine.
I know that it works because the amount of softwrae I now write for friends, family or myself has exploded. I wouldn't spend 4 weekends on a data cleanup app for my librarian friend. But I can now, in 2-3 h, get something really usable and pretty, and it's extremely rewarding.
We are a small theme of people running an online game app.
We use XCode swift language and python for server.
We need to develop a website where this game can be played live and implement many features.
Current AIs are smart. There is DeepSeek R-1.
Has anyone actually figured out how to implement this in coding environment and get it to actually CORRECTLY implement the tickets and features without messing everything up?
How can it know if the feature actually works in the game? It can't test it, right?
How can it take into account the ENTIRE database of code with folders and directories and files and all that stuff + resources uploaded?
I don't think even DeepSeek can do that.
Which tool is best as of now?
Tools like Codeium's Windsurf and Cursor can help with some of that part.
Of course at that point every knowledge worker is probably unemployable anyway.
The only reason why true androids aren't possible yet is software. The mechanics have been pretty much a solved problem.
"If we just had a stable way to create net energy from a fusion reactor, we'd solve all energy problems".
Do we have a way to do that? No.
Okay I fired half of our engineers. Now what? I hire non engineers to use AI to randomly paste code around hoping for the best? What if the AI makes the wrong assumptions about the requirement input by the non technical team, introducing subtle mistakes? What if I have an error and AI, as it often does, circles around not managing to find the proper fix?
I'm not an engineer anymore but I'm still confident in dev jobs prospects. If anything AI empowers to write more code, faster, and with more code running live eventually there are more products to maintain, more companies launched and you need more engineers.
I am somewhat confident in dev job prospects, but I am not confident in the qualifications of managers who sing the "AI will replace programmers" gospel.
- Half assed developer can construct a functional program with AI prompts.
- Deployed at scale for profit
- Many considerations were not considered due to lack of expertise (security, for example)
- Bad things happen for users.
I have at least two or three ideas that I've canned for now because it's just not safe for users (AI apps of that type require a lot of safety considerations). For example, you cannot create a collaborative AI app without considering how users can pollute the database with unsafe content (moderation).
I'm concerned a lot of people in this world are not being as cautious.
It could be high-level developer that take advantage of AI to be more productive. This will reduce team sizes.
https://www.forbes.com/sites/siladityaray/2023/05/18/telecom...
I feel there will be a paradgym shift about what programming would be altogether. I think, programmers will more be like artists, painters who would conceptualize an idea and communicate those ideas to AI to implement (not end to end though; in bits and pieces, we'd still need engineers to fit these bits and peices together - think of a new programming language but instead of syntax, there will be natural language prompting).
I've tried to pen down this exact thoughts here: https://suyogdahal.com.np/posts/engineering-hacking-and-ai/
Market consolidation allows big tech to remain competitive even after the quality of software has been turned into shit by offshoring and multiple rounds of wage compression/layoffs. Eventually all software will end up like JIRA or SAP but you won't have much choice but to deal with it because the competition will be stifled.
AI is actually probably having a very positive effect on hiring that is offsetting this effect. The reason they love using it as a scapegoat is that you can't fight the inevitable march of technological progress whereas you absolutely CAN break up big tech.
I've heard of many companies encouraging their engineers to use LLM-backed tools like Cursor or just Copilot, a (small!) number that have made these kinds of tools mandatory (what "mandatory" means is unclear), and many companies laying people off because money is tight.
But I haven't heard of anybody who was laid off b/c the other engineers were so much more productive w/ AI that they decided to downsize the team, let alone replace a team entirely.
Is this just my bubble? Mostly Bay Area companies, mostly in the small-to-mid range w/ a couple FAANG.
But it can absolutely not replace entire programmers at this point, and it's a long way of being able to say create, tweak, build and deploy entire apps.
That said this could totally change in the next handful of years, and I think if someone worked just on creating a purely JS/React website at this point you could build something that does this. Or at least I think that I could build this. Where the user sort of talks to the AI and describes changes and they eventually get done. Or if not we are approaching that point.
Can you elaborate?
> it is necessary to focus on the following more important concept: So, what will happen next?
These two statements seem contradictory. These kinds of propositions always left me wondering where they come from. Viewing the universe as deterministic, yeah, I see how "preventing what is to come is not within our control" could be a true statement. But who's to say what is inevitable and what is negotiable in the first place? Is the future written in stone, or are we able to as a society negotiate what arrangements we desire?
Tech has "disrupted" many industries, leaving some better, but many worse. Now that "disruption" is pointed inwards.
Programmers will have to adapt to the new market conditions like everyone else. There will either be fewer jobs to go around (like what happened to assembly line workers), or they will have to switch to doing other tasks that are not as easy to replace yet (like bank tellers).
The wings have begun melting and nothing will stop it. Finally, Icarus has flown too close to the sun.
It's just as plausible that the market will simply grow.
Can be devs, can be managers, can be the board.
And hey, if LLMs and other "AI" ever do a better job at something valuable, I think that has the potential to lead to a bright future.
Currently the biggest risk is someone using LLMs to do something actually critical.
Also waiting for the first contract negotiations done with AI summaries to blow up into someone's face.
But at the same time, it's also worth noting that (somewhat sadly) there are plenty of jobs and companies where an AI created solution could be just what they need, even at this stage in its development. Lots of companies who need sites too complex for Squarespace but too simple for a fully engineered custom solution. The kind who'd use WordPress plugins or small agencies to build out simple CRUD systems.
AI could absolutely annihilate that sort of work there and then. If you need a simple PHP or React based system and you don't need anything remotely complex functionality wise, even something like ChatGPT can build it out in about 20 minutes without many extra fixes needed.
Of course, that leads to the problems mentioned in the article again, since a lot of people get into programming/engineering through those sorts of companies and roles. AI may not make the folks at Alphabet or Meta obsolete at the moment (or even be a good fit for the kind of work many large tech companies do), but it could replace whole teams at small and medium sized organisations that don't need anything complex.
The average manager has short-term goals that needs to fulfill, and if they can use AI to fulfill them they will do it, future be damned.
To reign in on long-term consequences has always been part of government and regulations. So, this kind of articles are useful but should be directed to elected officials and not the industry itself.
Finally, what programmers need is what all workers need. Unionization, collective bargaining, social safety nets, etc. It will protect programmers from swings in the job market as it will do it for everybody else that needs a job to make ends meet.
What Software ENGINEERING needs is standards and regulations, like any other engineering discipline. If you accept that software has become a significant enough component in society that the consequences of it breaking etc are bad, then serious software needs standards to adhere to, and people who are certified for them.
Once you have standards, the bar to actually replace certified engineers is higher and has legal risk. That way, how good AI needs to be has a higher (and safer) bar, which can properly optimise for the long term consequences.
If the software is not critical or important enough to be standardised, then let AI take over the creation. At that point, it’s not really any different to any other learning or creative endeavour.
Take a 1 - 3 year sabbatical, then charge 1000% markup when the AI slop owners come calling begging you to fix the stuff nobody understands.
Litter, palanquin, and sedan chair carriers were fired.
Oarsmen were fired.
Horses were fired.
. . . [time] . . .
COBOL programmers where fired.
and, so on.
What was the expectation; that programmers will be forever? Lest we forget, barely a century ago, programmers started to push out a large swath of non-programmers.
The more important question is what roles will push out whatever roles AI/LLMs create.
Software engineering at Stripe, R&D at Meta and such... these are one end of a spectrum.
At the middle of the spectrum is a team spending 6 years on a bullshit "cloud platform strategy" for a 90s UI that monitors equipment at a factory and produces reports required for compliance.
A lot of these struggle to get anything at all done.
But if they had meant replacing programmers with AI (bad title), I'm much more concerned about replacing non-programmers with AI. It's gonna happen on a huge scale, and we don't yet have a regulatory regime to protect labor from capital.
I was a developer for over a decade, and pretty much what I did day-to-day was plumb together existing front end libraries, and write a little bit of job-specific code that today's LLMs could certainly have helped me with, if they'd existed at the time. I agree that the really complicated stuff can't yet be done by AI, but how sure are we that that'll always be true? And the idea that a mediocre programmer can't debug code written by another entity is also false, I did it all the time. In any case, I don't resonate with the idea that the bottom 90% of programmers are doing important, novel, challenging programming that only a special genius can do. They paid us $180k a year to download NPM packages because they didn't have AI. Now they have AI, and the future is uncertain with respect to just how high programmers will be flying ten years from now.
It is just not reliable enough for mainstream Enterprise development. Nice for a new snake game….
I think there will be a point in which humans will no longer be motivated to produce enough material for the AI to update. Like, why would I write/shot a tutorial or ask/answer a question in a forum if people are now going directly to ask to some AI?
And since AI is being fed with human knowledge at the moment, I think the quantity of good material out there (that was used so far for training) is going to slow down. So the AI will need to wait for some repos to be populated/updated to understand the changes. Or it will have to read the new documentation (if any), or understand the changes from code (if any).
All this if it wasn't the AI to introduce the changes itself.
But I'm not fearful for my job, yet. It's amazingly better, and much worse than a junior dev. There are certain instructions, however simple, that just do not penetrate. It gets certain things right 98% of the time, which make me stop looking for the other 2% of the time where it absolutely sabotages the code with breaking changes. It is utterly without hesitation in defeating the entire purpose of the application in order to simplify a line of code. And yet, it can do so much simple stuff so fast and well, and it can be so informative about ridiculously obscure critical details.
I have most of those faults too, just fewer enough to be worth my paycheck for a few more AI generations.
With AI, you no longer need those employees to justify your high valuations. You don't need as many juniors. The party is over tell the rest of the crew. I wouldn't advise anyone to get into tech right now. I know personally my wages have been stagnant for about 5 years. I still make fantastic money, and it's significantly more than the average American income, but my hopes and dreams of hitting 300 or 400k total comp in retiring by 40 are gone.
Instead I've more or less accepted I'm going to have to keep working my middle class job, and I might not even retiring till my '50s! Tragic.
The eternal death-wish to cut the coding dependency murders yet another set of companies. So many where there before- Outsourcing, UML, node-based programming, no-codes in all variations and colours. Generations of managers have marched into this abyss and none-came back alive, the skulls of the ego-dream of "only business management is irreplaceable crunching beneath the boots" trying to cut the knowledge worker dependency out of the equation. And deep down, they feel the tingle of things going wrong- even now.
The fact the narrative is false will be the problem of the one who replaces these CEOs, and us workers
But it's pretty clear that the codebases of tomorrow will be leaner and mostly implemented by AI, starting with apps (web, mobile,...). It will take more time for scaling backends.
So my bet is that the need for software engineering will follow what happened for stock brokers. The ones with basic to average skills will disappear, automated away (it has already happened in some teams at my last job). Above average engineers will still be employed my comp will eventually go down. And there will be a small class of expert / smartest / most connected engineers will see their comp go up and up.
It is not the future we want but I think it what is most likely to happen.
They will blow away the companies that rely on “seat of the pants,” undisciplined prompting.
I’m someone that started on Machine Language, and now programs in high-level languages. I remember when we couldn’t imagine programming without IRQs and accumulators.
As always, ML will become another tool for multiplying the capabilities of humans (not replacing them).
CEOs have been dreaming for decades about firing all their employees, and replacing them with some kind of automation.
The ones that succeed, are the ones that “embrace the suck,” so to speak, and figure out how to combine humans with technology.
There is no such thing as "prompt engineering", because there is no formal logic to be understood or engineered into submission. That's just not how it works.
But JS outlived them, because it's the whole write-run-read-debug cycle, whereas the frameworks only gave you write-run.
In specific, most of you are familiar with human cognitive error when reasoning with non-linearities.
I'm going to assert and would cheerfully put money behind the prospect that this is exactly one of the domains within which nonlinear behavior is most evident and hence our intuitions are most wrong.
Could be a year, could be a few, but we're going to hit the 80% case being covered just find thank you by run of the mill automated tools, and then press on into asymptote.
Getting into cyber security might be a gold mine in spite of all the AI generated code that is going to be churned out in this transition period.
The argument: "The New Generation of Programmers Will Be Less Prepared" is too cynical. Most of us aren't writing algorithms anyway, programmers may, but not Software Engineers which I really think the author is referring to.
Core libraries make it so SWE's don't have to write linked lists. Did that make our generation "less prepared" or give us the opportunity to focus our time on what really matters, like delivering products.
But this went fact right past most commenters here, which is interesting in itself, and somewhat alarming for what it reveals about critical thinking and reading skills.
Zuck declaring that he plans on dropping programmer head-count substantially, to me indicates that they’ll have a much smaller technological moat in the future, and they won’t be paying off programmers to not build competing products anymore. I’m not sure he should be excited about that.
I'd say there is a moat, but it's not on the tech side.
Tiktok flew right through the moat, and only a small part of that is about tech.
A lot of development on AI is exciting and meta is a big part of that, but there isn't any real moat there either.
And possibly the biggest multiplier. But anything times zero is zero. Someone who does not understand the code Copilot writes is too dangerous to do anything.
But I worry what Copilot will do to future developers.
And knowing what universally available spell checking has done to me, destroyed my ability to spell correctly without it, I even worry how Copilot might deskill me over the coming years.
AI is going to change a lot about software, but AI code tools are coming for SWEs the way Kubernetes came for DevOps. AI completely replacing the job function is unsubstantiated.
AI may well be able to take over a lot of that coding, or at least increase the productivity of the semi-competent (thus reducing the number of such jobs available).
The other day,i couldn't get Claude to generate an HTML page, with a logo on the top left, no matter how I prompted.
Most people have ALWAYS taken the easy road and don't become the best programmers. AI is just the latest tool for lazier people or people who tend towards laziness. We will continue to have new good programmers, and the number of good programmers will continue to be not enough. None of that is not caused by AI. I'm far from an AI advocate, but it will, someday, make the most boring parts of programming less tedious and be able to put "glue" kind of code in non-professional hands.
Any sufficiently advanced technology is indistinguishable from magic
~ Arthur C. Clarke
People who make decisions got bamboozled by the ads and marketing of AI companies. They failed to detect a lack of intelligence and got deceived, that they have magical golems for a fraction of the price but eventually, they will get caught with their pants down.You use AI to disrupt a market, and that market forces the startup employing the devs to go bankrupt.
It's not a "this quarter we made a decision" thing.
It's a thing that's happening right now all over the place and snowballing.
Nocode and Shopify-like consolidation are/have been much bigger threats imo. These large orgs are just trimming fat that they would have trimmed anyways.
But hell what do I know. Probably nothing :)
Is there room for Interpretability outside of major ai labs?
AI is a useful aid to software developers, but it requires developers to know what they're doing. We need developers to know more, not less, so they can review AI-generated code, fix it when it's wrong, etc.
So anyone can copy it and reproduce it anywhere. Get paid to prompt ai by a company. Take all code home with you. Then when your tired of them use same code to undercut them.
The author mentions "systems programming" and "high-performance computing". Do you have any resources for that (whether it be books, videos, courses)?
I envision software engineering ending up in the same pit of mediocrity as all the other engineering disciplines.
Open source takes away the livelihood of programmers and gives it to moneymen for free. They used open source to train AI models. Programmers got back a few stars and a pat in the back. And some recognition, but mostly nothing. All this while big corps use their work without compensation. There is zero compensation options for open source programmers on github. Somehow it's left out.
Same bullshit comes up again and again in different forms. Like your ideas worth nothing blablabla. Suuure, but moneymen usually have zero ideas and they like to expropriate others' ideas, FOR FREE. While naive people give away their ideas and work for free, the other side gives back nooothiiiing.
It's already too late.
So programmers and other areas that will be aiified in the coming decades will be slowly going extinct. AI is a skill appropriation device that in the long term will make people useless, so they don't need an artist, a musician etc. They will just need a capable AI to create whatever they want, without the hassle of the human element. It's the ultimate control tool to make people SLAVES.
Hope I'm wrong.
This is the opposite of what I’ve seen. AI does the easy parts, only the hard parts are left…
If your software developers do nothing but write text in VS Code, you might as well replace them with AI.
Why tighten the bolts on the airplane's door yourself if you can just outsource it somewhere cheaper (see Boeing crisis)?
Why design and test hundreds of physical and easy-to-use knobs in the car if you can just plug a touchscreen (see Tesla)?
Why write a couple of lines of code if you can just include an `is-odd` library (see bloated npm ecosystem)?
Why figure out how to solve a problem on your own if you can just copy-paste answer from somewhere else (see StackOverflow)?
Why invest time and effort into making a good TV if you can just strap Android OS on a questionable hardware (look in your own house)?
Why run and manage your project on a baremetal server if you can just rent Amazon DynamoDB (see your company)?
Why spend months to find and hire one good engineer if you can just hire ten mediocre ones (see any other company)?
Why spend years educating to identify a tumor on a MRI scans if you can just feed it to a machine learning algorithm (see your hospital)?
What more could I name?
In my take, which you can say is pessimistic, we already passed the peak of civilization as we know it. If we continue business as usual, things will continue to detiorate, more software will fail, more planes will crash, more people will be unemployed, more wars would be started. Yes, decent engineers (or any other decent specialists) will be likely a winners in a short term, but how the future would unfold when there will be less and less of them is a question I leave for the reader.
The bitter irony.
Obviously Wall Street and big tech like people to think this way.
I'm a programmer, I love my skills, but I really hate to write code (and test etc etc), I don't even want to do system design. If I can just say to a computer "Hey, I got this 55TB change set and I want to synced it up with these listed nodes, data across all node must remain atomicity consistent before, during and after the sync. Now, you make it happen. Also, go pick up my dog from the vax", and then the computer just do that in the best way possible, I'll love it.
Fundamentally, programmer are tool creators. If it is possible that a computer can create better tools all by itself, then it looked unwise to just react such technology with emotional rejection.
I mean, the worries is real, sure, but I wouldn't just blank out reject the tech.
And the snipped will absolutely ruin your corp if you run it.
AI makes engineers slightly more efficient, so there’s a slightly less of a need for as many. That’s assuming AI is the true cause of any of these layoffs at all
When a company announces layoffs because AI is making things more efficient: people start arguing about whether AI can really replace humans.
If you were in company management and had to do layoffs, which would you choose?
I made good money cleaning that up.
To be clear: I am not saying this article is written in bad faith and I agree that if its assertions come to pass that what it predicts would happen. I am just urging everyone to stop letting the Sam Altmans of the world tell you how disruptive this tech is. Tech is out of ideas and desperate to keep the money machine printing.
I appreciate a good FAANG hatefest, but what the gosh-darn heck is this? Does the author seriously think all FAANG engineers only transform and sling gRPC all day? Or they they blindly stumbled into being hyperscalers?
The author should randomly pick a mailing list on any if those topics (systems programming, AI interpretability, HPC) and count the number of emails from FAANG domains
I feel like this analogy really doesn't capture the situation, because it implies that it would take some event to make companies realize they made a mistake. The reality right now is: You'd notice it instantly. Product velocity would drop to zero. Who is prompting the AI?
The AI-is-replacing-programmers debate is honestly kinda tired, on both sides. Its just not happening. It might be happening in the same way that pirated movies "steal" income from hollywood: maybe companies are expanding more slowly, because we're ramping up per-capita productivity because engineers are learning how to leverage it to enhance their own output (and its getting better and better). But, that's how every major tool and abstraction works. If we still had to write in assembly there'd be 30x the number of engineers out there than there are.
There's no mystical point where AI will get good enough to replace engineers, not because it won't continue getting better, but because the economic pie is continually growing, and as the AI Nexus Himself, Marc Andreesen, has said several times: Humanity has an infinite demand for code. If you can make engineers 10x more efficient, what will happen in most companies is: we don't want to cut engineering costs by N% and stagnate, we want 10x more code and growth. Maybe we hire fewer engineers going forward.
> But with the AI craze, companies aren’t investing in junior developers. Why train people when you can have a model spit out boilerplate?
This is not happening. Its fun, pithy reasoning that Good and Righteous White Knight Software Engineers can prescribe onto the Evil and Bad HR and Business Leadership people, but its just not, in any meaningful or broad sense, a narrative that you hear while hiring.
The reason why juniors are struggling to find work right now is literally just because the industry is in a down cycle. During down cycles, companies are going to prioritize stability, and seniority is stability. That's it.
When the market recovers, and as AI gets better and more prolific, I think there's a reality where juniors are actually a great ROI for companies, thanks to AI. They've been using it their whole career. They're cheaper. AI might be a productivity multiplier for all engineers; but it will definitely be a productivity normalizer for juniors; using it to check for mistakes, learn about libraries and frameworks faster, its such a great upleveling tool for juniors.
It will be impossible to maintain when it’s churned out by endless AI
I can’t imagine being a manager tasked with “our banking system lost 30 million dollars can you find the bug” when the code was written by AI and some intern maintains it
I’ll be watching with popcorn
I have all sorts of people telling me I need to learn AI or I will lose my job and get left in the dust. AI is still a tool, not a worker.
however, I for one can't wait for unreliable garbage code in:
- engine management systems
- aircraft safety and navigation systems
- trains and railway signalling systems
- elevator control systems
- operating systems
- medical devices (pacemakers, drug dispensing devices, monitoring, radiography control, etc)
- payment systems
- stock exchanges
maybe AI generated code is the Great Filter?Regarding the first hypothesis: For example, one person can make a basic social media site in a weekend. It'll be missing important things from big social medias: 1) features (some of them small but difficult, like live video), 2) scalability, 3) reliability and security, and 4) non-technical aspects (promotion, moderation, legal, etc.). But 1) is optional; 2) is reduced if you use a managed service like AWS and throw enough compute at it, then perhaps you only need a few sysadmins; 3) is reduced to essentials (e.g. backups) if you accept frequent outages and leaks (immoral but those things don't seem to impact revenue much); and 4) is neither reducible nor optional but doesn't require developers.
I remember when the big tech companies of today were (at least advertised as) run by only a few developers. They were much smaller, but still global and handling $millions in revenue. Then they hired more developers, presumably to add more features and improving existing ones, to make profit and avoid being out-competed. And I do believe those developers made features and improvements to generate more revenue than their salaries and keep the companies above competition. But at this point, would more developers generate even more features and improvements to offset their cost, and are they necessary to avoid competition? Moreover, if a company were to fire most of its developers, keeping just enough to maintain the existing systems, and direct resources elsewhere (e.g. marketing), would they make more profit and out-compete better?
Related, everyone knows there's lots of products with needless complexity and "bullshit jobs". Exactly how much of that complexity is needless and how many of those jobs are useless is up to debate, and it may be less than we think, but it may really not.
I'm confident the LLMs that exist today can't replace developers, and I wouldn't be surprised if they don't "augment" developers so fewer developers + LLMs don't maintain the same productivity. But perhaps many programmers are being fired because many programmers just aren't necessary, and AI is just a placebo.
Regarding the second hypothesis: At the same time, there are many more developers today than there were 10-20 years ago. Which means that even if most programmers are necessary, companies may be firing them to re-hire later at lower salaries. Despite the long explanations above this may be the more likely outcome. Again, AI is just an excuse here, maybe not even an intentional one: companies fire developers because they believe AI can improve things, it doesn't, but then they're able to re-hire cheaper anyways.
(Granted, even if one or both the above hypotheses are true, I don't think it's hopeless for software developers. Specifically because, I believe many developers will have to find other work, but it will be interesting work; perhaps even involving programming, just not the kind you learned in college, and at minimum involving reasoning some of which you learn from development. The reason being that, while both are important to some extent, I believe "smart work" is generally far more important than "hard work". Especially today, it seems most of society's problems aren't because we don't have enough resources, but 1) because we don't have the logistics to distribute them, and 2) because of problems that aren't caused by lack of resources, but mental health (culture disagreements, employer/employee disagreements, social media toxicity, loneliness). Especially 2). Similarly to how people moved from manual labor to technical work, I think people will move from technical work; but not back to manual labor, to something else, perhaps something social.)
This is an eternity in FE dev terms
"AI won't replace you. Programmers using AI will."
Whether ai can do stuff comparable to a competent senior sde, remains to be seen. But current AI definitely feels like a super assistant when I'm doing something.
Anyone who says chatgpt/Claude/copilot etc are bad, is suffering a skill issue. I'd go as far as to say they are really bad at working with junior engineers. Really bad as teachers too.