We have been aggressively and enthusiastically automating away software engineering for the entire history of the computer industry. Every time we do so, we are able to build bigger, better things more quickly. When this happens, our work becomes more valuable and expectations rise to match. The world’s appetite for software has been insatiable so far. AI hasn’t replaced software engineers because every time we become more productive, the goalposts move.
There’s two things that could put an end to this. Firstly, we might finally become productive enough to exhaust the world’s appetite for software. I don’t see any evidence of this happening, but if somebody wants to make this argument, they should be clear about why this time is different to the entire history of the computer industry so far.
Secondly, if AI becomes superhuman at software engineering when acting autonomously. Specifically, AI+human developer no longer outperforms AI alone. So far, all the available evidence seems to show AI as a force multiplier for developers and that for good results, at best you can have AI doing 90% of the work as long as an expert developer is driving things.
There isn’t strong evidence that either of these situations is going to happen in the near future, so I think software engineers are safe for now. But if you have a narrow skill set and you are focused in particular areas (e.g. front-end web development), then I would worry more, because even if AI cannot replace software engineers in general, it’s quite likely to be able to completely consume specific domains with generalists holding the reins.
It's kind of funny that you say this, because I am a frontend developer and I tend to see the state of the art as being very good at doing the boring behind-the-scenes plumbing that I don't care about, and not great at doing the kind of bespoke design work that my day job's clients want.
I'm not saying that either of us are definitively right or wrong, and I agree that having a more generalist skillset is probably the best way to succeed in this new era; I'm just pointing out that LLMs don't really own any part of the stack so thoroughly that specialists in that segment will just go away.
Yeah everyone thinks its great at the things they don't personally know that much about or appreciate and I think it's kind of embarrassing to proclaim its going to do someone else's speciality great but not theirs and just reveals an underlying ignorance.
I think we're not too many years away from the end state of software. We already collectively produce more software than anyone really wants, and the bulk of it is anywhere between garbage and outright fraud, if not actively malicious.
The end state, I think, is that everyone who needs small software to manage a todo list or synchronize files, or whatever "normal" people do, will end up with bespoke personalized software written by their own AI. SWEs will be reduced to working on only the big corporate projects.
The overwhelming trend in commercial software these past few decades has been hyper-aggressive anti-customization, anti-personalization, anti-user. Commercial software has been reduced to one single happy path and if that doesn't suit your needs, then fuck off. No one is making commercial software for everyday people. Even open source is trending away from everyday users.
Soon, regular everyday people who simply need some software to solve a problem the way they want it solved will have the ability to do so. In the bast majority of those cases, the quality and correctness of said software really doesn't matter. What matters is that it's personalized, free, and isn't an invasive surveillance/advertisement platform.
> I think, is that everyone who needs small software to manage a todo list or synchronize files, or whatever "normal" people do, will end up with bespoke personalized software written by their own AI
People can't be bothered to cook for themselves, and often order crappy, unhealthy food that costs 10 times as much just so they don't have to cook.
Now they're going to build their own software every time they think they need an app..?
Gemini at least will produce small functional inline sample apps without being explicitly told to, particularly if you're trying to learn about something, it'll produce an interactive diagram or similar. I can see a future where these kinds of end users aren't necessarily saying "I can build an app for this", but their AI can just produce one when appropriate.
I agree we have more software than most people want, but I don't think bespoke software is the answer. Sure, that is an interesting new area that AI makes possible, but I don't think it's more than a niche because people don't fundamentally want software, they want certain problems to be solved, and if AI creates a custom solution and it doesn't work, they won't be able to get help from anyone. More fundamentally, there is value in standardization and polish on well-worn paths. Even if you're right and people do end up with personal AI driving everything, I still think the lower layers need to be standardized because of the nature of distributed data. For example, you still need to talk to your bank to get your financial state and automate any payments, and that stuff has to be rigorous, with strong consistency and accounting guarantees.
For these reasons, I think people are overestimating the end-state impact of AI. Right now the hype cycle is fierce, and it definitely changes the economics of producing software (with a lot of negative effects forcing adjustments in open source ways of working), but I don't think in the end state the core landscape of software changes all that much. Well worn and hardened infrastructure like the Linux kernel is infinitely more valuable than CRUD apps used with small user populations on the edge. User space libraries and frameworks fall somewhere in between. AI increases the volume of new software, yes, but I see it as mostly fractal bits filling in the margins.
I do this already scraping web sites for descriptions of what they provide and then tell the agent to build the part I want and nothing more. There's a lot broken about the web and software today that can be addressed by these agents. Just getting a newsfeed of news I want to read free of the mandatory click and enrage bait would be progress for me IMO. But I'd never ship a product that did that because of how Google treated ad-blockers on chrome.
>We already collectively produce more software than anyone really wants, and the bulk of it is anywhere between garbage and outright fraud, if not actively malicious.
I think you're right in the second part of the quote, but the first doesn't follow.
The software space has moved from value propositions to grifts like crypto, but that has more to do with what investors are willing to fund than with user needs. Modest, sustainable businesses don't have the absurd levels of growth that's currently on demand.
Consumer perception is that everything's reducing in quality and increasing in price, digital or otherwise. It will have to give at some point.
> What matters is that it's personalized, free, and isn't an invasive surveillance/advertisement platform
This sounds like an utopian dream. The surveillance is baked into this AI built to create the software. It will be built into the platform used to host and run the software. Why wouldn't AWS want that sweet sweet data to train their models. How many people can really self host? You seem to be overestimating average people's ability to learn how to self host.
Its like saying "we have vaccine related information at our finger tips so there are no longer going to be vaccine skeptics". Existence of information doesn't necessarily lead to application of such information.
The other thing which I feel these kinds of utopian dreams miss is that if something is commoditized and you can't really tell the difference between software A and B - because of AI, there is more incentive for companies to form cliques and raise prices while still delivering commoditized terrible software.
Really? People will just have their AI build OCR apps for converting handwritten notes (with equations) into LaTex, transcription apps for spoken language-to-text for understanding foreign language speakers, custom audio apps for recording and playing music files, etc.?
This sounds good. But technically it seems highly implausible, just as a thriving human civilization on Mars sounds highly implausible. Nice plot for a sci-fi novel though.
>Really? People will just have their AI build OCR apps for converting handwritten notes (with equations) into LaTex, transcription apps for spoken language-to-text for understanding foreign language speakers, custom audio apps for recording and playing music files, etc.?
Yes.
With a tiny subset of people building core modules and libs to be used for the above (eg. an OCR module, plenty of which already exist, and an AI can trivially hook them with other functionality into an app form).
Most of what you write can be built already quite easily. An example "Custom audio apps for recording and playing music files"*:
"The world’s appetite for software has been insatiable so far."
Yeah, I don't that does not necessarily mean everyone is looking for the latest and greatest. Many businesses are still reliant on technologies like custom spreadsheets and Microsoft Access because they do exactly what they want them to do, have a fixed rate, and rarely require any additional modifications/maintenance. Once you step outside of the bubble so many of us are stuck in you'll realize that many, many people aren't interested in upgrades, but rather they just want the old shit they know to just work.
> I don’t see any evidence of this happening, but if somebody wants to make this argument, they should be clear about why this time is different
It does seem to be happening - at least in mobile app stores.
There's some recent analysis that demonstrates how, despite a huge updraft in the quantity of apps released, the aggregate count of reviews and downloads remains static.
In other words, there are now many more apps. But not many (or really any?) more users
> they should be clear about why this time is different to the entire history of the computer industry so far
I can't prove the pie is fixed, but nor can you prove the pie is infinite.
Maybe this comes close to sounding patronising, but I think the key thing people miss, when talking about economic growth of software is, money has to come from somewhere. Someone has to give it to you. So it you want to keep growing, you need someone who isn't paying for software, to start. Who are these people, how much money do they have, and what other costs are you competing against?
> money has to come from somewhere. Someone has to give it to you. So it you want to keep growing, you need someone who isn't paying for software, to start.
Right now, people pay all sorts of money for real interactions with real people, most notably friendship and dating.
Tiktok has done a good job at starting to disrupt this, but with AI and better VR technology, maybe we can finish the job and disrupt all human relationships, all romantic relationships, all friendships. It's a huge addressable market (all humans), and if even just 5% of all humans buy a $5 virtual coffee (free to produce, pure profit) for their AI partner each day, that would be a massive increase in software spend.
Once we hit "The Matrix", that'll mean software has nowhere left to go.
It's unclear whether mobile apps as a segment has a correlation with the elasticity of software in general
In aggregate software comes out of R&D, operations, and labor spend. Good software increases revenue and decreases costs for companies, which grows the economic pie, and frees up more spend and more companies spin up and start spending
A world where we've saturated out software would seem utopian compared to right now
> There's some recent analysis that demonstrates how, despite a huge updraft in the quantity of apps released, the aggregate count of reviews and downloads remains static.
Isn't the likely explanation for this that the updraft is a huge number of sloppy AI-generated apps that nobody wants to use because they're just bad?
Even if the budget for software development were to stay constant, if an ever increasing part of it is spent on llm usage, it will reduce the money left for developers, resulting in mass layoffs and/or mass salary cuts.
No, you are ignoring my central point by assuming that the amount of software that is being produced remains fixed. Every other time we have increased software engineer productivity, we have responded by producing more software.
Exactly. I see software engineering going the way of accounting or lawyer.
Every business needs an accountant and a lawyer on hand. In the past, hiring one software engineer to build custom software for your small or midsized business was not worth it. What can one software engineer build? Maybe an MVP in a year? No chance it was worth it for the vast majority of businesses. Outside of corporations or tech companies, employing a software dev was simply not a thing.
Nowadays, your kindergarten might employ a full time or part time software engineer to build custom software. One dev can build a lot more a lot faster.
That said, I think the average or below average dev won’t earn $200k/year anymore. However, the top devs will earn more than ever. If AI increases an average dev’s productivity by 10x, then it will increase a top tier dev’s by 100x.
It's even better than accounting or lawyers, because good software engineers can build incredible businesses from scratch instead of being tied to the number of businesses that exist
SWEs are more leveraged than ever and we've seen comp drastically rise for top performers
It’s already happening. Top tier devs have two ways of earning way more than before:
1. They can build and sell their own products or services. We are already seeing 1-2 person software companies earning real money. Top devs don’t have to stay in corporate if they think they can generate more revenue on their own.
2. When companies get rid of their B devs without losing productivity, they can pay their A devs more.
I’m in the #2 camp right now. My team shrank by 50% through attrition in the last year. We didn’t hire anyone new when someone left. My pay has increased.
lol you’re a developer so I can see why you’re desperately making this argument and hope it lasts.
I’m a CEO and I don’t see this at all. There will be more consolidation for whom the economics are viable to pay good wage rates. The rest? Nah.
The crap ones will be out of a job. The best ones will fight fiercely amongst each other to keep their jobs and existing wage rates. Let alone increase.
Because there is so much money for kindergarten teachers, paying an extra salary for a software dev for every kindergarten will certainly lead to better outcomes. The computer programs will make up for the lost teacher economically by teaching the children instead of people, raising the market share of my local kindergarten, or enticing people to have more babies. \s
You can't expect that timeline to continue forever. AI is a whole different beast than programming. It is in fact what programming set out to be in the 1940s: A replica of the brain. Automating programming tasks has only gotten us so far, but that timeline is probably ending now. We no longer need to automate programming because we can talk to the machine.
Quite a few developers will likely loose their jobs. In particular the ones who don't have mental capacity to work with models - the ones who are forever junior.
The engineers who can manage large scale projects using agents will, on the other hand, probably get a hefty salary bump.
>We have been aggressively and enthusiastically automating away software engineering for the entire history of the computer industry. Every time we do so, we are able to build bigger, better things more quickly. When this happens, our work becomes more valuable and expectations rise to match. The world’s appetite for software has been insatiable so far. AI hasn’t replaced software engineers because every time we become more productive, the goalposts move.
Anytime we became more productive in the past we become in a way that didn't remove engineers, just increased the abstraction an engineer would work in. And we did it at times of rapid expansion of computing and internet, meaning way more need for engineers counter-balancing the increased productivity.
>The world’s appetite for software has been insatiable so far.
Has it? The expansion of IT has reached global saturation, we're getting desparate, and try to push shit like Blockchain and IoT, and shoving "smart" features even where people don't want them.
And the world is full of software nobody or very few care for or use/subscribe/buy. App Store have huge "long tails" of stuff nobody cares for.
And with autonomous agents we designed something to replace the engineer altogether. So even if the demand for software increases, that can be like "spawn more agents" not "get more developers".
Some human supervisors per N agents? Sure. Equal human demand as what's now? Unlikely.
In general "we did it 5 times, to we'll surely do it 6" is not a real argument, just a hope that something will never end.
>Specifically, AI+human developer no longer outperforms AI alone. So far, all the available evidence seems to show AI as a force multiplier for developers and that for good results
Or humans are relegated to the co-processor role. The AI does 99% of the thinking and work and consults the human for the 1% it needs. Whether that extra contribution is essentially a random number generation, creativity / outside the box input, or esoteric problem solving remains to be seen.
When I use any moderately complex piece of software, for instance a word processor, the UI is stacked full of things I don’t use, making it less convenient for me to use. At the same time, simple features that would be useful to me are not present. Software is currently aimed at the highest common factor so that it appeals to as many people as possible, which paradoxically makes it suboptimal for everybody.
If I wanted to build something that is specific to my needs, this would be prohibitively time consuming and expensive. Even today with all the latest models – even if what I want is relatively mundane.
To add on to that, what would be produced would be ideal for me but less ideal for other people. Other people need things that I don’t, and they don’t need things that I do. And people’s needs change over time. So the actual range of software that there is appetite for is the result of a huge combinatorial explosion of features, for every single type of application out there.
The appetite you are thinking is satisfied today is merely “there is an app that does X” but the appetite that is actually present once we are able to create software much more efficiently is more along the lines of “everybody gets their own custom app that does X”.
I don’t think the appetite for software can be quenched until we have just-in-time feature generation. That is definitely not within present day capabilities.
Part of the reason software ate the world is standardized tooling. Going back to everyone having completely bespoke ways of doing things would be a nightmare.
This has very little to do with the actual demand for good software though. People very much still want good software that works. The issue is the group of people in the industry that have learned they can push blasphemously useless crap, charge a premium, and have people be forced to consume it due to poor governance over market practices (monopolies, blatantly anti-consumer features, etc).
The useless box dates back to 1952, and the pet rock was a phenomenon for a while. If useless software bothers you, you've got to be pretty bothered quite a number of things. What do you think of video games?
We're talking about things like a flashlight app on your phone with a subscription and that requests every system permission available, or the ten trillion todo apps.
Haven't played them personally since the double whammy of the Zynga playbook and the pandemic of DLC. But I have been building my own games to play that are free of these infestations. The enshittification surrounds us and penetrates us.
In every regime where we have meaningful longitudinal data about the long run outcomes of introducing technology that is superhuman at some or all of a human's job, the combination of the machine and an expert human outperforms either alone, with probably the clearest parallel structurally being chess, though this is true of all of the hard sciences and all of frontier engineering (semiconductor design).
There will never be a human who can beat Stockfish ever again, digital intelligence has simply accelerated away from human intelligence in that regime.
There is no other human alive who can beat Magnus Carlsen. Stockfish crushes Magnus.
But Magnus and Stockfish playing together crush any conceivable combination of just human or just computer. And no serious chess player would train without a computer or decline the assist if the contest mattered.
And this is in a regime where the dominance of the machine is total, structural, and permanent, far more so than any existing AI's impact on the outcome distribution of any recent development on any white-collar knowledge work include even the most sophisticated software engineering done anywhere. The demonstrated as opposed to completely conjectural lift on SWE outcomes with Claude Code (and even that's controversial, let's take the high end of the claims) is real and changes the geometry of the situation not at all.
Nor is there any apparent limit on how much arbitrarily sophisticated software the world has an appetite for, you could take someone at the absolute top of the field (I'm a big Carmack fan let's go with Carmack), and give him cutting edge AI assist, and the best program a person can write just got better. Sweet!
And this applies anywhere from junior to Carmack: however good they were, they're better now. We can build harder things. We can have extreme quality software where previously we were stuck with some Electron jank, across the board. Does anyone think Slack would lose market share if it went back to its gaming roots and was gorgeously 3D accelerated on every surface against a backend that could instant and perfectly synchronize an arbitrary workspace on a flakey cell connection and never have an outage or data loss? Or would they rapidly shred the remaining competition and become the favored tool of everyone?
In adversarial regimes like trading or drone warfare, you better believe the best hackers have arbitrary assist if you're going to play against them.
I think the thing to be hand-wringing about isn't AI, it's that capitalism no longer seems to be an adversarial regime. The worst software rivalries in the industry look more like a pillow fight than a battle of will.
And if there is any lasting reduction in headcount, it's leaders lacking ambition agreeing tacitly to not play very hard, not AI, that is to blame for that. None of the HFT shops nor amusingly the frontier labs have reduced their hiring or compensation at all. If anything, it's going up!
It most certainly will replace software engineers. What's missing is, as the article suggests, the "Delivery" bit. But that's not the realm of software engineers, that's the realm of DevOps/SRE/Cloud engineers.
I work as a cloud engineer and have been contacted by multiple non-engineering friends who have now been able to create their pet projects from scratch in different languages and have it running locally, as webapps and native apps. So what they are missing is a platform to easily deploy and maintain their projects, much like a "normal" developer would. Right now it's quite tedious to set up this scaffolding, but it's absolutely possible with AGENTS.md, skills and rigid hollistic tests. Once done, non-technical people can continue developing independently without hiring any software engineers by simply telling claude/codex what they want. Claude/codex will then be able to make judgement calls based on the preset architecture, which will guide the non-technical user.
So in my anecdotal case, AI has already replaced several software engineers. Once scaffolding like this is productized, I suspect that greenfield projects can be managed entirely from a product standpoint using agentic coders + platform engineering. And that is today. Imagine in 5 years.
I don't get this reasoning, and yet it is pervasive. Just because non-engineering people come up to you with apps they have created does not mean AI has or will replace software engineers.
Consider:
- I can read about my symptoms from Dr. Google, try a lifestyle change, herbal remedy, or over-the-counter drug, and that may actually work. This does not mean in the slightest that doctor are being made obsolete
- I can create music with generative AI, without needing any understanding of music theory, no taste for music, no creativity. This does not mean people with musical talent are being made obsolete at all.
- I can, with the help of AI, work on DIY projects around the house. This does not in any way mean engineers are being made obsolete.
Who will be helping domain experts to elucidate what they actually need through prototype-refine cycles?
Who will be writing and maintaining the operating systems, the languages, the version control systems, th editors and terminal emulators, knowledge/document management systems, the PaaS platforms, etc that these hordes of hobbyist software creators depend on?
Have these people actually properly tested their creations to ensure they are robust? Do they even understand the edge cases that could arise? Is their work secure? Cooking up some quick thing based on some prompt does not equate to engineering whatsoever.
Perhaps you fail to see this because, like many others, you subscribe to the fallacy that the value of software engineering primarily lies in the code produced itself, the arrangements of bits manufactured. It is not; a project is primarily valuable as a theory and abstraction building process. See https://pages.cs.wisc.edu/~remzi/Naur.pdf
I guess maybe it's your definition of 'software engineers' ; if you meant that to mean people who know what they are doing, then there is a massive gap. However if you mean people who are hired as software engineer/developer then it's already replacing many and will replace many more. Many of these are worth absolutely nothing and never have been. They survived because software was considered magic and they talk a lot in meetings and 'jumping on calls' to appear busy and engaged, not because they ever were good at making software. That's the vast majority; millions upon millions in outsource factories for instance who just do exactly what a ticket says and then go to the next without caring if the rest implodes behind them etc.
Generation and maintenance are very different beasts.
There are engineers that work making a 2 weeks app that is never revisited again, I guess, but I don't know anyone that makes a living from that. Maybe the "WordPress site for your business" gigs.
The issue comes when you have 432 functionalities and have to add the 433 without interfering with the others. Or when you cant afford slightly wrong. Or when each functionality adds complexity at a higher rate than an engineer and over time the projects gets to an unmanageable size.
> The issue comes when you have 432 functionalities and have to add the 433 without interfering with the others. Or when you cant afford slightly wrong. Or when each functionality adds complexity at a higher rate than an engineer and over time the projects gets to an unmanageable size.
But that's not a problem on small projects. non-technical people only create software to scratch their needs, they will probably will need 20 or 30 features, never 432, making their system much easier to handle.
The problem with enterprise software is that it has to support a very large combination of features designed for different clients. That's why it gets so complex, but if the software has to support a single client is waaay easier.
Sure, there's a place for disposable, ultra custom apps that AI can cover. I vibecoded one to help me clean up my local media with a tinder-like UI for discarding/keeping photos, for example.
That's not going to substitute many engineers though, for two reasons.
One is that "app that helps a single-digit number of people" was never a viable business in the first place.
The other is that you can't substitute all corporate software with a combination of disposables. Some stuff is complex even if the "surface features" are small in number. Say for example that you want a custom web browser, "surfing the internet" might feel like a single feature for a non technical person but it's made of many moving parts inside.
I mean that is a classic problem right? We know that outsourced green field projects done by third parties are tend to be low quality or at least are slow and expensive to integrate into a business. Many issues arise when you try to deploy these projects and more show up once it is out. Eventually there is someone reasoning how to fix the problems. An LLM wont do it on it's own, there are too many invisible constraints.
One can argue that software engineering will fundamentally change, but there is and will still be a need for people that know what software engineering is and how to apply it.
We have an instance where the non-tech team has started building tooling for themselves (because the technical team is overburdened with work).
Essentially a small application idea that interfaces with the larger system. It was POC built in 2-3 days, 3 or 4 commits.
Impressive - however the person that built it has now made 400 more commits over the last 3 months to this project as it has been modified, it’s essentially become his part / full time job to just build + maintain this new application.
They have become a software developer. An untrained one, one that doesn’t understand security or best practices. Maybe as Claude gets better the load will be lightened and it will not consume their day, but as it stands - at my company, all of these initial “vibe apps” are becoming maintenance for them, taking up more and more of their time. It’s obvious that they want MORE software, not less. So traditional software engineering is probably gone, but managing expanding platforms and handling security, complexities, documentation, business logic, all of that is still standing in the way for my company.
So you are correct saying that people can build projects with text, but I feel that “set and forget” has never been the case for all but the simplest software. Someone still has to manage all of it, I think. Whether trained in SE or not.
My guess is that developers who have experience can still outperform untrained people, though the builders who are curious by nature will quickly get up to speed. The game is changing but traditional developers have a huge upper hand, because we’ve always wanted to know how things work under the hood. I could have built the current vibe app that they built in a hour using AI, it’s taken them months.
In that sense, AI is creating software jobs. Not very good ones, and they're being paid way less, but a jobs a job, I guess. We have to face the music. it's not that AI will take software jobs, it's that it will make them pay a janitor's wages.
But while the AI isn't good enough to do it all, While there's still a vibe code wall that non-developers run into, senior developers will still have a job scaling that wall. That walls getting shorter as models get better, but for right now, this second, even with Anthropic's Fable, our jobs are safe.
We have to step back and look at the bigger picture though. Stable Diffusion came out and suddenly I could generate images that I didn't have the patience to use Photoshop or a pencil to create. But after playing with it for a couple of days, I got bored of it and went back to coding. Sora came out and at my fingertips I had the power to be a movie director. A couple of days later, I went back to writing code. Or by that point, directing AI agents to write code. So after the last software developer loses their job, having been replaced by robots, I can't imagine I won't still be the same person underneath. I build things that are as complicated as they need to be, but no more. Sometimes I even succeed.
That wall was detailed in 2003 in Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans, Chapter Four, "Smart UI Anti-Pattern." The context is the same, the problem is the same, the solution is the same. Even the advantages and disadvantages are the same as what you see in vibe-coded projects.
> A project needs to deliver simple functionality, dominated by data entry and display, with few business rules. Staff is not composed of advanced object modelers.
> [...] Simple projects come with short time lines and modest expectations. Long before the team completes the assigned task, much less demonstrates the exciting possibilities of its approach, the project will have been canceled. [...] And in the end, if they do surmount these challenges, they will have produced a simple system. Rich capabilities were never requested.
> Therefore, when circumstances warrant:
> Put all the business logic into the user interface. Chop the application into small functions and implement them as separate user interfaces, embedding the business rules into them. Use a relational database as a shared repository of the data. Use the most automated UI building and visual programming tools available.
> [...] Yet it is a legitimate pattern in some other contexts. In truth, there are advantages to the SMART UI, and there are situations where it works best—which partially accounts for why it is so common. Considering it here helps us understand why we need to separate application from domain and, importantly, when we might not want to.
> Advantages: Productivity is high and immediate for simple applications; Less capable developers can work this way with little training; Even deficiencies in requirements analysis can be overcome by releasing a prototype to users and then quickly changing the product to fit their requests; Applications are decoupled from each other, so that delivery schedules of small modules can be planned relatively accurately; Expanding the system with additional, simple behavior can be easy; Relational databases work well and provide integration at the data level; 4GL tools work well; When applications are handed off, maintenance programmers will be able to quickly redo portions they can’t figure out, because the effects of the changes should be localized to each particular UI.
> Disadvantages: Integration of applications is difficult except through the database; There is no reuse of behavior and no abstraction of the business problem. Business rules have to be duplicated in each operation to which they apply; Rapid prototyping and iteration reach a natural limit because the lack of abstraction limits refactoring options; Complexity buries you quickly, so the growth path is strictly toward additional simple applications. There is no graceful path to richer behavior.
> [...] Remember, one of the consequences of this pattern is that you can’t migrate to another design approach except by replacing entire applications. [...] Don’t bother hedging your bet. Just using a flexible language doesn’t create a flexible system, but it may well produce an expensive one.
Deploying software has been reduced to just running 'vercel' in the terminal, something the agent has zero problems with if they were to just ask.
Distributing desktop software is a bit harder depending on the platform.
The gap between a pet project and great software is still very wide and I have a hard time believing that it will ever be bridged.
I don't see how a solved problem even before ai is the thing that won't be replaced first. I struggle to believe a personal project requires complex infra
TBF the anti-AI artists are insisting AI will never create great works of art. I disagree. But I do agree with Richard Sutton that it would need a reward function steering it towards a popular perception of great art, whatever that may be. I can approximate that with sampling and using my subjectivity to pick the ones I like most and then iterate on variants thereof until I am exhausted/satisfied. That's not the same thing because I am in the loop. But RLHF and RLVR demonstrate the path is feasible IMO. Sadly though, if you tell people a work by Monet is AI art, they do the predictably stupid thing about it so the game is rigged.
W/r to code, I do enjoy playing designer and product manager on personal projects after decades of full-stack development and design, and by full-stack I mean all the way down to machine code. The anti-AI retort is complaining I wouldn't be doing anywhere near as well without those decades of experience. Fair point IMO, but the kids who grow up around this technology will likely expend neural plasticity on wielding it far more effectively than the boomers and GenX ever will. And getting an AI to work with them once again seems like a reward function problem rather than an intrinsic roadblock to me.
All while acknowledging it's much easier said than done. I'm just not going to bet against ingenuity both organic and electronic. However, the incessant mania and panic episodes around AI that just keep happening seem to be the algorithms monetizing enragement and fear to me. That's a real and bigger problem IMO.
AI is unlikely to ever create great works of art because art is not, and has never been just about technical excellence; it is fundamentally a human thing: one human communicating to another. Just even knowing that some art was AI produced is enough to not see it as great: there is no human story or experience behind it, no human context, etc. You can definitely appreciate it in the category of AI work, however.
AI still struggles with technical excellence in some genres of art, but even if they master this, this human element they cannot overcome, by definition.
It's like piano performance: AI can already generate a "prefect" performance audio, a MIDI file can already encode that. But, I hate MIDI files, none of the live-ness, the weirdness, and non-repeatable nuances of an actual performance by an actual pianist.
Your entire argument hinges on being able to tell the extent to which generative AI was used in the creation of any given piece of art, which capability you will not have. You therefore fall into the category the commenter mentioned in that your perception of the value of a piece of art can be heavily influenced by someone convincing you it was AI generated, regardless of the facts.
AI-assisted coding is great, but vibe coding IMO is only good for disposable prototypes.
You're not going to vibe-code a financial app that needs to be maintained indefinitely.
You're also not going to mess with legacy systems.
I think that AI has definitely replaced _some_ engineers, but I don't think your use case is relevant. Your non-engineering friends have created their pet project because they now can, but it's not as if they were going to hire anyone to do it, right? They haven't up until now.
For most apps, delivery has been some equivalent of “git push heroku main” and setting a DNS record for like 15 years. That’s especially true for most of the apps being vibe coded today.
The fact that “cloud engineer” is still a job suggests that the simple case is not the one driving employment. There are definitely more devops/sre/cloud engineer roles today than there were in 2009 (and I’d be willing to wager you if you included pre-devops sysadmins in that count, there’d still be more total roles today).
The thought experiment I like to have is imagining my company running without engineers and just LLMs. The thought of my CEO or sales guys sitting down and reading/redirecting LLMs all day is just hilarious. My CEO is highly technical but he has other shit to do. The first thing they'd do is hire someone to do that for them, and the best person for that task is someone who knows how things _should_ be.
Now they'll probably get someone on discount, because our salaries are going to tank due to evaporating demand, but I sincerely doubt it'll be zero-d demand.
What I expect is a 3D printer moment - tons and tons of homebrew / shareware style software coming out, an explosion of boutique code.
I also expect a CNC machine moment - vastly reduced demand for hands-on specialists, and more babysitting of automted processes. But it's those machinists who got those jobs.
We could be looking at a long term suppression (~80% reduction?) in demand though until economic growth produces enough demand to employ ~50M software engineers again, if ever. The cliff is unlikely, I'd guess the unregretted loss will be replaced by AI productivity every year, and some portion of growth will, too.
I also guess that all the AI companies can become massively successful without causing much unemployment just by following Claude's model - charge a certain tangible % of a salary for assisting the worker. https://jodavaho.io/posts/ai-jobpocolypse.html
I am currently making a fair amount of my living helping out CEOs like this. The quick-sand that LLMs let non-engineers build overtime is pretty remarkable.
A project usually starts with a list of basic looking cosmetic bugs that the stakeholder is having a hard time getting Claude to fix. Literally every bug unearths a heap of other bugs or architectural problems.
As an example yesterday I was looking at a basic, “record XYZ not appearing on list view” bug. Turned out that Claude had built the list view (which should have been backed by thousands of records) to only ever load the first 100, and then do all organization, counts, sorting and filtering on the frontend on that dataset.
Also found a query that was taking ~18 seconds to query 1 record from a set of ~60.
These are very interesting anecdotes. The feeling I've been getting is that the inherent complexity in software hits people at prompt-time because they simply don't have the words to express what is needed. (edit: or don't have the knowledge/patience to interpret what the LLM spits out)
Yeah, it won't. SWE here with a sidegoal to tackle the deployment side through various means (homelabbing, grabbing sre/cloud/observability tasks at work).
The biggest observable improvement in my post and pre ai development is the ability to tackle two projects at once, if the agent is on track. If not, and I have to do a deep dive to debug, it basically regresses to plain old everything like before.
LLMs can now quite trivially write Terraform or Ansible code to setup infra, maybe harder for non-engineers to make those prompts for now. But ongoing maintenance and monitoring would require an online agent evaluating signals and deciding when to take what action or prompt the user. Like autoscaling decesions can be already automated and some failover/recovery for simple cases. Probably people releasing hobby projects do not need too much. And then there are things like exe.dev to wrap that and make it simply to give an execution env instead of you and your agent managing your own infra.
They weren't going to, if not they would've done it already in the past.
You're not going to spend $30,000 and weeks of your time just to see if an idea you had under the shower can make a few bucks as a side project, but now that it's a 5-minute thing that costs you $5, why not.
If it works, it works. But you, sir, are a software engineer building and selling software and software maintenance to people with money / equity to give. You are your own counter example at the moment.
What you're describing is an effect that has always existed. It became clear to me a few decades ago earlier in my career that if a dev's only real skill was "write code" that they were severely limited compared to people who had strong domain knowledge *and* had "write code".
The tech boom has made people forget this, but that fact never changed. And now what we're seeing is that the "write code" part is increasingly becoming devalued. What does this mean? That those with domain knowledge will still be able to function, whereas people who could only write code will be devalued.
"read code" and "debug code" will still be valuable and one of the ways you learn that is "write code". You might have gotten people who can only write code from cheap contracting places, but the companies choosing to go that route were shooting themselves in the foot with that decision before AI came along.
Even from offshore contractors, I still haven't run into anyone who can only write code except for someone just starting out.
I don't disagree with you, but this misses my point entirely. I was using "write code" as shorthand for the entire package.
What I am referring to is someone with meaningful knowledge outside of software engineering who can also apply software engineering skills to that domain. In particular I'm referring to domains outside of tech, but any sort of specialized knowledge counts here so even in the "software" world there's things like infosec, networking, etc
> if a dev's only real skill was "write code" that they were severely limited compared to people who had strong domain knowledge and had "write code".
Indeed. If we peel back the rationalizations, it is patently obvious that code has no meaning apart from the domain it exists in. Its entire meaning is derived from the domain and from the purpose to which it is put and for the sake of which it is written. There is no such thing as code, or broadly technology, in isolation. It does not exist for its own sake. Where such things are concerned, all meaning is in the observer.
So, if a dev has a poor grasp of the domain, then he must inevitably depend on someone else to supplement his deficits, like a product manager, which is a role that in practice often results in a formal distinction between the domain expert and the technician.
And that's what a dev without domain knowledge is: a technician.
This is also why people with solid[0] philosophical/liberal arts backgrounds often function very well in the software industry. They are better able to cultivate context which puts them in the best position to make prudent judgements at both product and technical levels.
This is not a dismissal of technical skill, but skill is always downstream from meaning, purpose, and context. It's a tool, perhaps a glove. Without the hand, there is no glove.
(Some may say this is obvious, but sadly, the obvious is what people seem to have the most trouble with.)
[0] Emphasis on "solid". I'm not talking about the ideological puff you might see in some places. I'm talking about something intellectual rigorous like the classical liberal arts.
This is it exactly. Show me a dev who could competently function as a PM in their industry, and I'll show you a dev who will succeed in the new world. [0]
[0] I am not talking about low level PMs who just fill in scrum points and generate charts. There are also PMs who lack domain knowledge!
That's an interesting point of view, because one of my most successful uses of AI is automating all of the DevOps drudgery that I need to do but just couldn't find the time to dedicate writing (and maintining) tools to automate more of it.
The consumer grade 3D printing is just now closing with the factory-level quality. Still not completely there. Is the quality difference similar vs. comparing human made software and LLM generated?
"Same way"? I struggle to find the similarities. Cheap 3D printers have a distinctly different capability profile from machinery used for mass production. What about coding agents' capabilities is distinctly different from those of human coders and 100% will not change?
There truly is not. Software engineering is not different in any meaningful way. Sure 30 years ago in waterfall land we were emulating the project management of engineering, with miserably expensive results. But it's all the same now. It's like differentiation between coding and programming, it's different in everyone's head.
If there is no difference, then it is just the result of everyone inflating the term in their CVs/LinkedIn etc.
Software developer typically is the one which builds typical CRUD app, front-end, back-end with database and something around that. Their main job is to make the software to apply clear business requirements on software level, while the software itself is not likely revolutionary. Or they are not the responsible ones to make it revolutionary. They provide code in demand.
Then there are engineers that may apply math problems to software and optimise and develop new algorithms, compilers etc. The software itself might be revolutionary and the business.
In a landscape like that, good luck proving to a hyper-cautious employer that you actually are a skilled software engineer and not just a larping ticket shuffler. In the near future, I fear the person who will decidedly be able to prove that with Olympiad placements or a swarm of unique side projects is the kind of person who might as well just go on and start his own tech startup. Most of us here at least have some track record of employment and seniority, I suspect brilliant junior engineers will be hopping from internship to internship like they do in top-level finance.
“Software developers” and “software engineers” distinction has the same energy when one uses to pat oneself on a back when they call themselves “expat” instead of an “immigrant”. You write code, all the huff and puff around “architecturing”, and “alignment”, and “knowing what to build” is just vapor. I’ve never met “software developer”, outside of online forums, who did “coding” and none of the latter.
Just changing words and saying (perhaps) that one is “just about code” and the other is about “architecture” rings hollow. LLMs can think (like submarines can swim) so the only question is how well.
> It most certainly will replace software engineers. What's missing is, as the article suggests, the "Delivery" bit. But that's not the realm of software engineers, that's the realm of DevOps/SRE/Cloud engineers.
I don't know about that. If a non-engineer is able to replicate your "serious" project from scratch as a "pet project" then perhaps it is not serious in the first place?
> So what they are missing is a platform to easily deploy and maintain their projects, much like a "normal" developer would.Right now it's quite tedious to set up this scaffolding, but it's absolutely possible with AGENTS.md, skills and rigid hollistic tests. Once done, non-technical people can continue developing independently without hiring any software engineers by simply telling claude/codex what they want.
You should already know that maintenance is never free. The big question is are they making money out of it to justify that maintenance?
Maybe it has replaced people that build useless pet projects that make no money, especially internal tools such as dashboards. But again once an incident arrives is when you need someone to untangle that vibe coded mess as it grows in complexity.
A “cloud engineer” is orders of magnitude easier to replace than a programmer - there are entire SaaS products that have been trying to be a drop-in replacement for your career since AWS was out of the gate.
The fact that you still have a job should clue you in that this isn’t going where you think it is, regardless of the state of your friends’ pet projects.
I'm not saying LLMs will replace software developers, but this is such a ridiculous analogy that it hints to me that you've never seriously tried the latest tools.
It's ridiculous because LLMs are far more capable. There was just a thread on HN the other day where multiple people shared experiences being able to decrypt, reverse engineer, and update the firmware of some long forgotten embedded device with zero background in the field using LLM coding tools. And you're comparing that to a preset generator.
In your example, those projects were not the domain of engineering. Your friends couldn't afford expertise and those projects never would have been made before. Therefore, these are net-new projects that replace nothing that came before.
This is common in technology, especially software, that improvements in efficiency make software cheaper and expands the total pool of possible software.
And, even if one of the "one button shipping" platforms (and there are many) was hooked into the agent, your friends will hit major problems that they and their AI cannot solve. Whether its tech-debt hell, a major security breach, or something else, any sufficiently complex project will require expertise. Will be a fun day when a European regulator asks a friend about their GDPR compliance and their agent is like "shrug"
Why is scaffolding a PaaS project beyond the current capabilities? Do LLMs not know about the PaaS offerings of GCP/Azure/AWS, Heroku etc? That stuff has been IaC for quite some time now
> So what they are missing is a platform to easily deploy and maintain their projects, ... Right now it's quite tedious to set up this scaffolding...Once scaffolding like this is productized
You kind of sound like you're pretending PaaS doesn't exist. Have I misunderstood?
I work at a dev agency, most of our clients are start ups that need to go into the market quickly.
We've used agentic development for about a year and a half now and our roles have changed drastically during that time. I can't speak to the volume of projects flowing in (as I do not know the exact numbers) but from what I can see all that has changed is the expectations for what can be delivered. And instead of 5 people delivering on a projects, it's now usually 1 or 2.
The reality is however, that greenfield projects have been largely automated. A ton of the manual labour work (iterating on UX/UI designs, iterating on system architecture, trying out different approaches to solve a difficult problem with no clear measurement metric) now happens instantly. Basically - if you can understand it in your head, you can put it out into the world in 1/100th of the time.
During this period I've also changed a lot about the way I work and think about a system. I've grown symbiotic with the LLM and I really can't do without it. It doesn't mean I don't understand the code it writes, I very much follow each and every change and have a large understanding of the codebase (much larger than the LLM), but I've greatly atrophied my manual code writing skills (which I am perfectly fine with).
Currently I feel like the general layer, the translator, between what the business goals are and what tech covers it the best way. This is still problem solving, but a very high level one and is still really interesting and fun to me.
But something tells me that the best strategy for these times (for developers anyway) is to remain critically thinking and use these tools to your advantage. Now everybody has superpowers. You don't really need to work for a company anymore, because a solo dev can absolutely build crazy things, so it's not like you need to rely on anyone else. Maybe the future is an economy of macro products, each person offering something unique to the world.
I think that it's very odd how AI enthusiasts misinterpret the situation. If it turns out to be good enough to produce greenfield projects with agentic coding, then it will not only affect developers, but also whole companies and whole business sectors.
The whole dev agency business model is only there because less technical companies don't know how to deal with software, others are just opportunistic to outsource the initial, headcount heavy work. But now the tech is already at the fingertips of an agencies customer, it is only a matter of time those CEO and managers start vibe coding and realize the "only" need one dev that has glimpse of tech skill.
This could also extend to many SaaS businesses. I still see a lot of small businesses that ask for custom software to get rid of manual work. Serious software devs were always too expensive for them. So they either have crappy code from someones nephew or a SaaS that barely works. Now they can create their custom solutions, probably still quite crappy, but they can get more out of it.
What big tech does is kind of whatever, they are readjusting for recession. I am a bit concerned about the disruption in the small to mid sized tech sectors.
Also quickly writing say a ReactJS app will cost a lot of tokens for debugging because the 1 or 2 people who deliver 10 people's work surely don't have the time and understanding of the code base!
I agree with a lot that you say and notice similar trends in our work.
I am a little skeptical about this one though:
"You don't really need to work for a company anymore, because a solo dev can absolutely build crazy things, so it's not like you need to rely on anyone else."
One of the reasons for devs to work in company is not that they can't deliver the work themselves. It's that they don't have the connections to land customers. Most devs need a company at least to handle the marketing so they can focus on what they are good at.
Also, I don't think LLMs have invented a way to make our applications maintenance-free. At some point outages become very costly, and a 24/7 support schedule for 1 dev is going to have trouble scaling. When production is down, we generally don't have some frontline staff vibecode it back up.
I'm not convinced of this bit: "it revealed three things as the real bottlenecks (1) deciding and specifying what to build, (2) verifying and being accountable for what is delivered, and (3) the deep human understanding — of the codebase, the business, and the environment — required to carry out both of these."
It could be that because coding was seen as expensive and a bottleneck, much effort (both upstream and downstream) had been going into making sure its input is correct and the output need not be discarded. If coding is seen as a quick and cheap step, its output could stand to be thrown away and therefore the same amount of oversight may not be needed upstream?
Having to throw away code isn't the primary cost of building the wrong thing. The impact of the software misbehaving, and the need to maintain backwards compatibility are much worse.
> Among the 270 jobs in the 1950 U.S. census, only one job was automated away — elevator operator. But many others were rendered obsolete by new technology, like the job of telegraph operator.
In that same time farm jobs went from 15% of the workforce to 2%.
They seem to address that: "This is sharply different from occupations such as agriculture in which labor demand was famously decimated due to mechanization and automation. The difference is that the amount of calories people consume is relatively fixed — even a 25% increase led to the obesity epidemic — whereas the amount of software produced has grown a millionfold."
Farm employment itself has decreased 4x compared to 1950 (the % figure overstates it since the total workforce is larger). However if we consider the broader "food" industry employment has increased substantially.
Thus we may see "coder" employment decrease but the broader "software/tech" industry increase in employment.
nonsense. you are shifting definitions of what "coding" / "producing/operating software" as a profession is.
by this logic, if I define "food" industry as sitting on my couch as a "job", with govenment (payouts) my employment, you get "food" industry at employment at 100%!
once you start shifting definitions, it is slippery slope. you can prove anything and argue anything. and it is all loosing meaning. tactic usually employed to confuse and mislead people.
yep. selective usage of stats at their best. how about factories too? conveyer belts? people losing their jobs all the time whenever automation comes in. and we just "hope" for the best they can find jobs or delusional hopefulness swinging into extremes ("be generalist!", "be specialist!", "work in service!", "learn to code!", "learn to mine coal!"), all incoherent. just listen to @pmarca to see how totally lost and incoherent tech leadership is.
I haven't really gone into the deep end yet on AI coding, as my job these days doesn't involve writing a lot of code.
But when I use AI for other problems, such as resolving a weird linux issue, or figuring out why I'm having a particular problem on my network, I find AI is great at surfacing possibilities but it will very quickly go down rabbit holes that end up leading nowhere. If I didn't have enough experience under my belt, I'm not sure I'd realize this when it was happening.
For me, AIs are great enhanced search engines. They make it easier for me to find out what I need to know to deal with a novel problem. But left on their own, they will (confidently) go way too far down dead-end paths.
She was a programmer. Her company openly build an agent for the purpose of replacing her (and a few others), and they got rid of her about a month after it started working.
Dang. I bet the morale of the peers still working there is poor.
My team got a new boss 18mo ago. He had obvious favoritism, and his favorite person happened to be the only person who wasn't a team player. He also over the course of the 18mo, figured out a way to fire every remote worker, no matter how good their past performance was (one even has won several awards above our bosses level; our boss always gives recognition only to that one toxic person). So no replacements via AI, but folks have been feeling really unvalued, much how I would expect an AI replacement to be. Everyone in my supervisor's team, including my supervisor (who is high functioning autistic, and frequently made fun of by our boss), have been applying for jobs elsewhere. I hope for their mental health that they are successful. I did bring up problems with HR a couple times, and even found in the work policies rules that were being violated by him, and that's when I've learned that, at least here, they are just words, and I needed to get out because I was painting a target on my back. Several others also raised concerns, and most of them are the same ones who have since found work elsewhere.
In other news, I've got a job lined up that I will be going to very soon, and I'm excited for that!
I don’t think pointing at all the corporate coms about ai layoffs as fake invalidates the risk. The corporate stuff can be lies while the tech‘s impact could end up being real. It’s just noise in this context.
Similarly this assumption (the burger diagram in the article) showing execution phase shrinks but somehow everything else expands to keep the burger size the same seems less than plausible.
That said some portions of swe seem like they‘re still very far off from being threatened. Especially the portions where correctness is crucial. With say web dev you’ve got a lot more room to yolo it than say navigation code for rockets. The LLM can likely do both but I don’t think anyone is vibe coding the later any time soon
afaik, no vendor offers any guarantees on the work their agents do.
Therefore sane organisations using those agents currently need to have someone they trust to review and sign off of on anything consequential those agents do on their behalf. Lawyers for legal, Doctors for medical, Software Engineers for Software etc.
Given the amount of money being thrown at AI - and the need for return - it seems unlikely that regardless of domain that lack of guarantees is a situation that will persist.
It literally has and will even more in the future. It won't replace *all* software engineers but once the genie is out low effort low risk stuff will be done by an AI. Loveable and such have so many live projects, the alternative was a human building those.
I'm talking about actual live services that deliver money to someone, not toy projects. Do you think there's even a slight percentage of those or are 100% of the projects hosted by these services throwaway shit?
The world isn't US based rates. There are plenty of people that would be taking these "non-economical" projects and being extremely happy with the money they can make from them.
Can you point to any "great" projects on Lovable that would actually be useful as full blown SaaS software tools? Stuff that has been written/prompted by non software experts?
Please try to read my message again. I never said the things you're implying I said. I literally said not gonna replace all, and low effort low risk stuff.
Do you think that not even 0.00001 projects on those websites could have been a good payday for a software engineer/team? Do you think what took 3 people before for a low effort saas is not going to be done by 1 person now?
You're phrasing of "could have been a good payday" makes me think about why people pay for software at all. The bread and butter "quick job, get paid" gigs in software were always circumstantial and depended on humans understanding customer needs more than anything, and combining it with their own desires to grow in mastery of their work.
I'm reminded of the 'faster horses' remark from Ford - since AI by design produces what it thinks we are asking for, how will anyone know who to pay for true innovation?
Sadly I think this post will mislead people, bc the difficult truth (for many) is that software engineering isn't that hard and that's why AI can easily substitute that layer (lower barriers to entry than widely believed).
Wholeheartedly agree, there are some aspects to SWE that could be considered hard, but most of the time it’s rote pattern matching or simple logic resolutions.
People were getting 6-figure salaries with 3 month boot camps before AI, any random college major could eventually become a developer with a few online courses and practicing LeetCode, the party was bound to end eventually.
Even in the case that a college degree was absolutely necessary (it wasn’t) making $150k fresh out of a bachelor’s degree was absurd for every other domain, many of which were much harder than CS.
When I got my first job, it was in the early 1990s at one of the major consulting firms. I had a just completed a computer science undergrad degree, but a lot of the people in my "start group" had no significant programming experience, or maybe not any. Some were English or History or Econ majors. They had used computers in school, but not written programs. Everyone went through an in-house boot camp to learn how to program using the firm's standard methodologies. Everyone came out of it with enough skill to be assigned to client projects and start writing code.
Software jobs at that time paid pretty well but certainly not the crazy salaries that came in the dot-com era and after. They were just pretty good jobs, and anyone who was reasonably smart could learn to do them in a couple of months. Somewhere along the line we stopped thinking that, and started thinking that you had to be some sort of high priest savant to write code that responds to a mouse click.
Yep. There's also been a relentless push for the past two decades or so to standardize many aspects of software development:
* programming languages (JS)
* frameworks (React)
* open source libraries
* platforms (Web, mostly)
* design systems (shadcn for newer apps)
Guess what makes it easier for automation to come in?
Our need for it to be easy and standard contributed to the success of LLM use in software engineering. I suspect it would have done well without some of those factors, but it may have taken longer.
Yup! I was a part of the learn to code industry. I am proud of that, bc I know my worker helped a lot of marginalized people gain wealth and power (woo!). My own occupation, stats and econometrics, requires years of higher education to even begin (and decades to master), and yet ~ half of SWE were looking down on me, disrespecting me. To be clear, there were many who were not, but usually they were from some marginalized group: women, autistic, person of color, gay, person from a poor country, etc. I thought, why is my towering knowledge not being respected? Ah, the patriarchy combined with SWE. And then as time went on I just started using my knowledge for myself / those that know and that’s worked out well (bc it’s based on actually knowing math as opposed to relying on the patriarchy).
I think it’s possible the industry eventually figures out that statisticians and econometricians know far more than CS / SWEs (bc AI will tell people), but it could be a decade from now.
I’d certainly not say it’s everything, look at all the highly-paid mediocre CEOs. Education has rigorously been shown to lead to higher incomes and wealth on average.
Education is not knowledge either. Today market most directly pays for skilled work that increases revenue/profit. Correlation drops after that. It's a struggle I've been trying to reason for myself too.
The trouble I have is, that unlike the Cobol and Assembler era of the Mainframes, React, JavaScript and Python are beginner technology for AI.
In other words: AI doesn't have a blind spot no matter whether AI will ever "get" Cobol or not.
So even if we jump into 2050, we won't have to fix any React application due to three simply reasons: It is easier to build something new; AI understands the old garbage; and the last one: who knows, what will be in 2050?
Tough time.
My biggest concern is not AI, but the total demotivation of the veterans. Suddenly there isn't merit nor fun in building something over a week you took off. And that hits hard.
demotivation would be if you lose your job, have dependants, and there is no food on the table. unless big-daddy government payouts or going living in forest, you literally would not be able to get food to eat or roof over your head. that's quite a demotivation from programming!
programming, React, whatver, will be the least of your concern.
"In this essay, we argue that there is enough evidence to reject the narrative that once AI capabilities reach a certain threshold, it will cause mass layoffs." - too late, it already did
I sure belive that at the moment each big tech ai provider has it's black pr budget for propaganda, influcencing influencers, comments factories, FOMO spin doctors etc. In the meantime wise heads counted that unless they (AI providers) provide like couple times more of real profit it will all collapse, thus next level is IPOing to buy more time.
they would not be able to compete with grapic cards either.
what are they providing? to whom? if economy collapses (everybody looses jobs). nobody can pay for whatever he is offering in his business. and neither is he would be able to buy even cards or electricity himself. if economy goes to a halt (Mad Max scenario or if it is socialist collapse, Soviet style). there is no "business" even conceptially anymore.
"Can the sandwich be further compressed? We don’t think so. At one end of the pipeline, development teams need to decide what to build."
I mean, but this is talking about the process as a whole, not individual jobs.
"Farmers won't be replaced by combine harvesters - we still need someone to decide what to plant and to harvest it". Sure, but if you used to have 10 labourers in a field manually ploughing with a pair of oxen and now you have one guy driving the machinery it absolutely has replaced jobs.
Companies are already talking about "1 person teams" to deliver projects. We'll still have _some_ jobs but the ratio will change dramatically and engineering will move a lot closer to "team lead" role (and maybe even Product Manger role to boot)
There will definitely be jobs in the future because as most companies reach a level playing field regarding the capabilities of AI they will need humans to build the next generation of innovative products. But these jobs will change into some synthesis of product owner and software engineer.[0]
The only bit AI can't replace is probably the need for a 'fall guy' or someone to take responsibility for something. This, however, will obviously not be sufficient to prevent job losses.
A) diffuse responsibility. nobody is responsible. — this is what typical beruactacyl operates in.
B) everybody is self-responsible. end users use AI, they are responsible. this is typical MIT licenses. "use at own risk", literally first statement in any open source.
there are systems that can very well operate without "fall-guy".
I think it's people who were sloppy about programming are more interested in vive-coding. Because now they can make something without the mental rigour needed. Engineering as it should be is play of rigour. Those who value understanding system will continue the human aspect of it
Judging by all the trivial errors made in pre-AI code, many of us are far from rigorous a lot of the time.
It’s like that story about the programmer who wants to send the car down the slope one more time to see if it does the same thing again (or whatever it was). The ephemerality makes iteration possible and appropriate, but also makes rigour less important.
It’s not really about replacing software engineers. But about commodifying it. More software engineers (or roles responsible for code) that work for lower pay might be the trend. Or to maintain a high level of pay you wear many hats, including software.
>It’s not really about replacing software engineers. But about commodifying it.
AI's having the opposite effect; it multiplies the productiveness of skilled software engineers while simultaneously multiplying the destructiveness of bad ones. The engineer who can shepherd a handful or Claude/Codex instances around simultaneously without producing slop will be immensely better compensated then the engineer who just gives vague instructions to the AI, goes to get a coffee and hopes for the best.
Things are changing at rapid speed, there is nothing "classic" about any of this, and you should at least be able to understand that much if you want to advise people.
Just look and see what Cloud did for software engineers? It pushed us one level higher and lowered the demand for "db experts" and "low level systems people". The only ones who remained were the strong ones who were hired into the cloud companies. The rest moved up and changed careers.
Why would anyone think the same thing won't apply here? If you are still a Typescript bunny who fiddles with some newly learned React tidbit -- this won't cut it anymore. The market won't need you. Move up and adapt or move down and become an expert (harder).
Not sure what you mean by spec and design, but around me, that's always been paid more than simply coding. If you have a clean technical spec that's detailed enough, the code naturally flows and is often left to more junior engineers, with more senior folks reviewing the code but rarely writing it.
"and won't" is a classic mistake of nit understanding the power of new discoveries. It's actually blind religion like thinking. Surprising to find it here.
> software development, as a “decide-execute-deliver sandwich”. AI compresses the “execute” layer — the middle of the sandwich — but the other two layers resist automation in a way that will not be overcome by capability improvements alone.
I really struggle to see why improved capabilities cannot deal with those other layers. I do not believe you have substantiated this claim about not being possible as capabilities improve.
> At one end of the pipeline, development teams need to decide what to build.
Developers are not the ones that do this largely. This role is far more on the side of "Product Owner". Sometimes your job covers both, but this is not the majority of the work and does not mostly require SE knowledge - some input usually.
> This layer is hard to automate because it requires thinking about user needs, market signals, organizational priorities, and in some cases regulatory constraints.
Hmm, these are language models that can talk through much of this already - but more importantly none of what is mentioned there requires software engineering. For parts that do (I'm sure someone would come to correct me if I said that there was none or seemed to suggest it is never ever ever relevant) this is a much smaller slice.
> As AI capabilities improve, the kinds of decisions that can be delegated to AI increase over time. But this does not make the “decide” layer thinner — once a decision can be delegated to AI, it is no longer a source of competitive advantage, and the value of human decision-making migrates upward. Software increases in complexity over time, so there is no ceiling to this process.
Now this is rather hidden but a huge leap in logic. The decide layer does get thinner for all the same projects, and then you simply assert that software will get more complex and so this cancels it all out.
A team of 5 may end up being able to ship what a team of 50 used to, and maybe now there are 10 teams outputting more - but is there not a clear limit to this? At some point do we not just need 45 fewer people? That there needs to be some engineers is not the same as needing anywhere near as many as we have.
For a time I think we will see increased output meaning more software, but that tails off as they get better.
> At the other end of the sandwich, human teams need to be accountable for what they deliver.
Why? And if we assume so, why does that need a software engineer?
> It is possible that some day in the future teams will ship mission-critical code without fully testing and understanding it,
You don't need to read code to test it, and people choose to ship products without fully understanding the code all the time. Literally any decision maker who is not a software engineer who knows the entire codebase does this. Companies fully ship systems that are far too complex for any single developer to even understand.
And much of software isn't mission critical. Or at least, if you want to say it is then the mission is low stakes.
> today’s AI is so unreliable that such haphazard practices would represent an existential threat to software teams and their customers.
I'd argue for a bunch of stuff this isn't true, and the whole point of the article is "never even if they get better" which is different.
> A central insight of AI as Normal Technology is that we can collectively choose to keep humans accountable through shared norms, law, and policy.
Sure, we can ban AI writing code, but will we? Is there a huge collective concern for all us high paid engineers being replaced by AI?
Not buying it. The idea that deciding and delivering are things only humans can do with their intelligence seems faulty.
As it stands AIs today are not always great at making decisions (but they're getting much better), and orgs of today still trust people and hold people to account, rather than their AI systems.
Neither of these are strong moats. It's a moat only while AI systems have some limitations vs an expert human, and corporate processes are still extremely human-centric.
Agree, AIs are better decision-makers on average than people (just look at the grifters we've given power to). These are machines that can perform more advanced mathematics than even the most advanced mathematicians.
> orgs of today still trust people and hold people to account
>Neither of these are strong moats
Having accountable people in key positions is a very important part of running a successful organization. Anthropic and OpenAI are never going to let you sue them when an AI employee makes a mistake; accountability is a strong moat.
You sue bad employees? Most companies just hire someone else?
In the future if you can't trust your AI system to perform a function well, you can switch to another. The accountability will be different – instead of an employee being accountable because their income depends on it, a corporation deploying the AI system be accountable because their success depends on it.
We already see this today with coding. If you're paying too much for the code Claude produces or unhappy with its output, you stop paying for Claude and switch to another.
It can already produce code for just about anything you can name. From implementations of browsers to micro-kernels. Yes, it doesn't yet one-shot any problem but my interactions lead me think it won't be long before that is automated. My intuition of how this will be done won't be with some elegant solution where any given step never fails. It will more be like swarms of interacting agents, loops, and formalised processes (themselves little more than frameworks of prompts), all inching towards the solution progressively and self-correcting when they go off course. This will be cheaper to do when models improve and cost less.
There is another bottleneck though and it's important: the personal computing needed to really do this well is ... expensive. What I mean is to even utilise this in a development process you need access to your own high-end hardware where the agents can run experiments fast. That requires (1) a lot of cores (2) and a lot of RAM. So there's a bottleneck in personal computing, too. Unfortunately, I really do think we're all screwed here. Increasingly: the most optimistic projections for what AI will be able to do are starting to become reality every few months. So the odds aren't looking good here.
I think it’s useful to distinguish between LLM and AI. I think this criticism is valid against LLMs, but not against AI. LLMs are a useful tool, but they aren’t AI. Once actual AI is a thing, I think it’s worth revisiting this topic. I’m certain we’ll get there one day, but it will probably be a lot like fusion.
Wishful thinking. Code has always been a bottleneck. It never took zero time.
Also declaring that it "won't" is an assertion that AI will stop improving, which is absurd.
A graph showing different numbers of "software developers" and "computer programmers" as some kind of evidence of something other than that people prefer fancy sounding names is extremely dumb. You may as well plot "HR" vs "personnel" and conclude that companies no longer have people.
AI won't be put in important positions of responsibility within an organization because AI providers will never accept liability for bad decisions. You can't fire Claude if it fucks up, and it's got very limited ability to learn from its mistakes. It's also incapable of making good decisions where doing so requires synthesizing more than a few hundred thousand tokens worth of domain knowledge/experience in something that doesn't have an infinite amount of synthetic verifiable training data like code and math.
In theory continuous learning (live weight updates) could help to some degree. But there's essentially no progress towards that because it requires solving a few hard, currently completely unsolved problems. 1. Weights drift over time and there's no way to re-merge them after a few tens of thousands of updates, so when a new model version was released there'd be no way to update existing continuously-learned models to that. 2. It'd allow permanent jailbreaking. And 3. A model can't learn new things without forgetting existing things, unlike humans brains which have hardware plasticity (like London taxi drivers having larger hippocampi due to having to memorize so many streets).
What's the difference between "firing" Claude vs moving to a model from a different provider? The latter seems very analogous to firing an employee for performance and backfilling with someone new.
Re the rest, it's just not my experience that models become incapable of making good decisions in cases where input token count > the context window, but ymmv based on domain.
A very extreme example of this: a couple years ago when GPT 4 was state of the art and the 32K context variant was gated to design partners I worked at an EdTech company in the college admissions space that wanted to produce quarterly reports on student progress for parents. That involved crunching a LOT of data (multiple hours of meeting transcripts per week, very detailed notes about student activities, their general profile - UK and US admissions function very differently!)
It was a difficult problem, but we _did_ manage to produce these reports 4K output tokens at a time at a level of quality that exceeded what humans could do internally, and models+the surrounding tooling have only gotten better since then.
I have found that the attention moves to thinking about the things I want done and planning, reading and iterating over the specs and other artefacts that will be part of running the agents. I still need to understand the code and iterate over it to get to a usable and maintainable point.
I find the problem is we are reaching the top of the slop curve. I will subside because it's impossible to actually do anything useful with all the output. There will just be a ton of half-finished and abandoned projects. Whatever gets into production will require more eyes on it.
I just think a lot of people are still stuck in the "holy f** I'm so productive" and working themselves into the ground being productive pumping out code. I think it's a phase that will pass.
I'm doing solo mobile app projects, and I have no need to iterate on specs. The bottleneck is QA testing whether it works on the phone.
I don't need to carefully review and understand the implementation.
It's not important whether I understand the details of how exactly UICollectionView in Apple's UIKit works.
I see that my implementation works on different physical devices, my tests cover device rotation, and I checked the memory allocations in the Instruments tool.
It has been some months of part-time work on my side, and I will publish this iOS app soon.
Without AI I could not have done it, the scope of the features is too large. The project is around 100k LOC.
It is not true that projects become unmaintainable and abandoned because of agentic engineering, or even vibecoding if you want to call it that.
LLMs still do not have proper contextual understanding of their solutions. Just couple days ago I was using GPT 5.5 with xhigh to vide code some application, and yet it defaulted for sorting dates from new to old by using plain string comparison. Just one of the many bugs.
This absolutely fascinates me. I had a friend who needed subtitle files generating for audio and using in CapCut yesterday yet none of the available stuff was suitable, so he asked if I could adapt some of my software to export subtitles.
2 hours later he's got a fully working piece of local software that does exactly what he wants, yet yours is not able to even sort dates correctly. Feel free to download it if you want to see for yourself, I didn't even do any UI tweaks as this was just a tool for him to use:
> How can there be such a massive gap in what can be produced?
What I was doing looks really nice and mostly works on the surface, but it is all about the corner cases where these bugs appear. In another day I was able to generate Frida script with LLM help that bypasses Dart certificate pinning/validation and proxies all the traffic by injecting the runtime binaries. With the latest Flutter/Dart version on Android when doing security analysis.
Ahhh ok I totally understand what you mean. Yea the edge cases are absolutely where you start to feel the pain and things look good on the surface until you dig in. I think even in the age of LLMs the adage of 90% of the time is spent of the last 10% will ring true.
Sure an app can be built and spun up in an afternoon, but are you willing to spend another 6 months ironing out all those little bugs, tuning it a bit, testing, tweaking, testing etc.
I think we as a professional class have gotten a bit overwhelmed with the magic slot machine. 2 in the morning let me just do one more pull on the slop machine. I WILL win this time.
It's a phase. The problem is the managerial class sees it as a magic black box and don't understand it's limitations. Calling it AI does not help either. It's the "rockstar developer" illness but on crack.
I've never seen a greater disconnect between what I read on social media about vibe coding and what I've seen in real life.
In particular the whole "the best people are the ones who will use it the best". IME the best ones are the ones keeping it the most at arm's length while the people who embrace it the most churn out epic amounts of utter slop.
The whole field of engineering set to disappear and be replaced by contractors. Of course this is what they've always wanted. That's why they do outsourcing and the whole point of AI so, basically instead of getting paid a small salary to maintain someone's money-making machine, people will bid for jobs. They'll be more and more layers of abstraction that business owners will have to pay rent to. Until it's just basically socialism.
Nah, kids, this is an opinion column. If you can’t tell the difference, then you don’t get to sit at the adults table. I’ve been an opinion writer for most of my life, and dressing up my perspectives in scientific LARP is bullshit. And yes, I do have underlying suspicions why certain cultures feel entitled to get away with taking such a tone in their declarations. This has been formed over decades of observation and I won’t claim it is scientific…unlike these two fellas who enjoy foods I do not.
The question is, are executives willing to give up all their power and status to an LLM or will “industry” just use AI to invent more bullshit jobs to keep everyone, including the exec relevant.
The reason humans haven’t been replaced in many areas entirely is because humans like being someone’s.
Even AI can do incredible things, like code (our job), It's difficult to me to think that one day, companies will fully assign all software lifecyble job (from designing, implementation, deployement, scaling and maintenance) to autonomous ai agent because, even the better software in the world can have bug and bug can cause from low to fatal real world damage. Those damage , in civil human real world, need a responsible. Unless, govs start voting to give citizenship to ai & autonomous agents and penal responsibility to those agents, human will also be in the loop, always. Because, Human like to designate a responsible and that's right things. So, the adaptative software engineer will always has it place.
There’s two things that could put an end to this. Firstly, we might finally become productive enough to exhaust the world’s appetite for software. I don’t see any evidence of this happening, but if somebody wants to make this argument, they should be clear about why this time is different to the entire history of the computer industry so far.
Secondly, if AI becomes superhuman at software engineering when acting autonomously. Specifically, AI+human developer no longer outperforms AI alone. So far, all the available evidence seems to show AI as a force multiplier for developers and that for good results, at best you can have AI doing 90% of the work as long as an expert developer is driving things.
There isn’t strong evidence that either of these situations is going to happen in the near future, so I think software engineers are safe for now. But if you have a narrow skill set and you are focused in particular areas (e.g. front-end web development), then I would worry more, because even if AI cannot replace software engineers in general, it’s quite likely to be able to completely consume specific domains with generalists holding the reins.
It's kind of funny that you say this, because I am a frontend developer and I tend to see the state of the art as being very good at doing the boring behind-the-scenes plumbing that I don't care about, and not great at doing the kind of bespoke design work that my day job's clients want.
I'm not saying that either of us are definitively right or wrong, and I agree that having a more generalist skillset is probably the best way to succeed in this new era; I'm just pointing out that LLMs don't really own any part of the stack so thoroughly that specialists in that segment will just go away.
The end state, I think, is that everyone who needs small software to manage a todo list or synchronize files, or whatever "normal" people do, will end up with bespoke personalized software written by their own AI. SWEs will be reduced to working on only the big corporate projects.
The overwhelming trend in commercial software these past few decades has been hyper-aggressive anti-customization, anti-personalization, anti-user. Commercial software has been reduced to one single happy path and if that doesn't suit your needs, then fuck off. No one is making commercial software for everyday people. Even open source is trending away from everyday users.
Soon, regular everyday people who simply need some software to solve a problem the way they want it solved will have the ability to do so. In the bast majority of those cases, the quality and correctness of said software really doesn't matter. What matters is that it's personalized, free, and isn't an invasive surveillance/advertisement platform.
People can't be bothered to cook for themselves, and often order crappy, unhealthy food that costs 10 times as much just so they don't have to cook.
Now they're going to build their own software every time they think they need an app..?
For these reasons, I think people are overestimating the end-state impact of AI. Right now the hype cycle is fierce, and it definitely changes the economics of producing software (with a lot of negative effects forcing adjustments in open source ways of working), but I don't think in the end state the core landscape of software changes all that much. Well worn and hardened infrastructure like the Linux kernel is infinitely more valuable than CRUD apps used with small user populations on the edge. User space libraries and frameworks fall somewhere in between. AI increases the volume of new software, yes, but I see it as mostly fractal bits filling in the margins.
I think you're right in the second part of the quote, but the first doesn't follow.
The software space has moved from value propositions to grifts like crypto, but that has more to do with what investors are willing to fund than with user needs. Modest, sustainable businesses don't have the absurd levels of growth that's currently on demand.
Consumer perception is that everything's reducing in quality and increasing in price, digital or otherwise. It will have to give at some point.
This sounds like an utopian dream. The surveillance is baked into this AI built to create the software. It will be built into the platform used to host and run the software. Why wouldn't AWS want that sweet sweet data to train their models. How many people can really self host? You seem to be overestimating average people's ability to learn how to self host.
Its like saying "we have vaccine related information at our finger tips so there are no longer going to be vaccine skeptics". Existence of information doesn't necessarily lead to application of such information.
The other thing which I feel these kinds of utopian dreams miss is that if something is commoditized and you can't really tell the difference between software A and B - because of AI, there is more incentive for companies to form cliques and raise prices while still delivering commoditized terrible software.
This sounds good. But technically it seems highly implausible, just as a thriving human civilization on Mars sounds highly implausible. Nice plot for a sci-fi novel though.
Yes.
With a tiny subset of people building core modules and libs to be used for the above (eg. an OCR module, plenty of which already exist, and an AI can trivially hook them with other functionality into an app form).
Most of what you write can be built already quite easily. An example "Custom audio apps for recording and playing music files"*:
https://www.youtube.com/watch?v=qW4rIXft0Bg
Jervons Paradox
https://en.wikipedia.org/wiki/Jevons_paradox
Yeah, I don't that does not necessarily mean everyone is looking for the latest and greatest. Many businesses are still reliant on technologies like custom spreadsheets and Microsoft Access because they do exactly what they want them to do, have a fixed rate, and rarely require any additional modifications/maintenance. Once you step outside of the bubble so many of us are stuck in you'll realize that many, many people aren't interested in upgrades, but rather they just want the old shit they know to just work.
imagine if we got new shit that worked better
It does seem to be happening - at least in mobile app stores.
There's some recent analysis that demonstrates how, despite a huge updraft in the quantity of apps released, the aggregate count of reviews and downloads remains static.
In other words, there are now many more apps. But not many (or really any?) more users
Take a look at p40 / figure 12 of "WRITING CODE VS. SHIPPING CODE: PRODUCTIVITY EFFECTS ACROSS GENERATIONS OF AI CODING TOOLS" (https://www.nber.org/system/files/working_papers/w35275/w352...)
Their analysis is on pg42-43
> they should be clear about why this time is different to the entire history of the computer industry so far
I can't prove the pie is fixed, but nor can you prove the pie is infinite.
Maybe this comes close to sounding patronising, but I think the key thing people miss, when talking about economic growth of software is, money has to come from somewhere. Someone has to give it to you. So it you want to keep growing, you need someone who isn't paying for software, to start. Who are these people, how much money do they have, and what other costs are you competing against?
Right now, people pay all sorts of money for real interactions with real people, most notably friendship and dating.
Tiktok has done a good job at starting to disrupt this, but with AI and better VR technology, maybe we can finish the job and disrupt all human relationships, all romantic relationships, all friendships. It's a huge addressable market (all humans), and if even just 5% of all humans buy a $5 virtual coffee (free to produce, pure profit) for their AI partner each day, that would be a massive increase in software spend.
Once we hit "The Matrix", that'll mean software has nowhere left to go.
Do you want to live in this world? Why? Because you envision yourself receiving said money?
You should be ashamed of yourself for writing such a thing.
In aggregate software comes out of R&D, operations, and labor spend. Good software increases revenue and decreases costs for companies, which grows the economic pie, and frees up more spend and more companies spin up and start spending
A world where we've saturated out software would seem utopian compared to right now
Isn't the likely explanation for this that the updraft is a huge number of sloppy AI-generated apps that nobody wants to use because they're just bad?
But that puts 90% of developers out of a job.
And I don't see why it couldn't become 99%.
If Windows would stay the same (and not grow) it would be much faster on newer CPUs...
[1] https://en.wikipedia.org/wiki/Andy_and_Bill%27s_law
Every business needs an accountant and a lawyer on hand. In the past, hiring one software engineer to build custom software for your small or midsized business was not worth it. What can one software engineer build? Maybe an MVP in a year? No chance it was worth it for the vast majority of businesses. Outside of corporations or tech companies, employing a software dev was simply not a thing.
Nowadays, your kindergarten might employ a full time or part time software engineer to build custom software. One dev can build a lot more a lot faster.
That said, I think the average or below average dev won’t earn $200k/year anymore. However, the top devs will earn more than ever. If AI increases an average dev’s productivity by 10x, then it will increase a top tier dev’s by 100x.
SWEs are more leveraged than ever and we've seen comp drastically rise for top performers
No they won’t. Productivity does not determine the wage rate.
most top swe comp comes from equity in the company, which benefits from productivity
not only that but the leveraged nature of swe means top performers are in perpetual shortage and low performers contribute negative productivity
anecdotally weve seen comp rise as the best candidates have multiple competing offers as well as the freedom to start their own business
1. They can build and sell their own products or services. We are already seeing 1-2 person software companies earning real money. Top devs don’t have to stay in corporate if they think they can generate more revenue on their own.
2. When companies get rid of their B devs without losing productivity, they can pay their A devs more.
I’m in the #2 camp right now. My team shrank by 50% through attrition in the last year. We didn’t hire anyone new when someone left. My pay has increased.
I’m a CEO and I don’t see this at all. There will be more consolidation for whom the economics are viable to pay good wage rates. The rest? Nah.
The crap ones will be out of a job. The best ones will fight fiercely amongst each other to keep their jobs and existing wage rates. Let alone increase.
I threatened to leave to start my own company unless they gave me enough money to make me not want to do it. They did.
Regardless, I didn't say "many". I said top tier. How you define that is up to you.
There is already ample evidence for top dev talent earning way more than before whether it's through corporate or starting their own company.
The AI companies will skim all the extra profits.
The engineers who can manage large scale projects using agents will, on the other hand, probably get a hefty salary bump.
Anytime we became more productive in the past we become in a way that didn't remove engineers, just increased the abstraction an engineer would work in. And we did it at times of rapid expansion of computing and internet, meaning way more need for engineers counter-balancing the increased productivity.
>The world’s appetite for software has been insatiable so far.
Has it? The expansion of IT has reached global saturation, we're getting desparate, and try to push shit like Blockchain and IoT, and shoving "smart" features even where people don't want them.
And the world is full of software nobody or very few care for or use/subscribe/buy. App Store have huge "long tails" of stuff nobody cares for.
And with autonomous agents we designed something to replace the engineer altogether. So even if the demand for software increases, that can be like "spawn more agents" not "get more developers".
Some human supervisors per N agents? Sure. Equal human demand as what's now? Unlikely.
In general "we did it 5 times, to we'll surely do it 6" is not a real argument, just a hope that something will never end.
Or humans are relegated to the co-processor role. The AI does 99% of the thinking and work and consults the human for the 1% it needs. Whether that extra contribution is essentially a random number generation, creativity / outside the box input, or esoteric problem solving remains to be seen.
I think we are past this point personally. Lots of blasphemously useless crap being built.
If I wanted to build something that is specific to my needs, this would be prohibitively time consuming and expensive. Even today with all the latest models – even if what I want is relatively mundane.
To add on to that, what would be produced would be ideal for me but less ideal for other people. Other people need things that I don’t, and they don’t need things that I do. And people’s needs change over time. So the actual range of software that there is appetite for is the result of a huge combinatorial explosion of features, for every single type of application out there.
The appetite you are thinking is satisfied today is merely “there is an app that does X” but the appetite that is actually present once we are able to create software much more efficiently is more along the lines of “everybody gets their own custom app that does X”.
I don’t think the appetite for software can be quenched until we have just-in-time feature generation. That is definitely not within present day capabilities.
There will never be a human who can beat Stockfish ever again, digital intelligence has simply accelerated away from human intelligence in that regime.
There is no other human alive who can beat Magnus Carlsen. Stockfish crushes Magnus.
But Magnus and Stockfish playing together crush any conceivable combination of just human or just computer. And no serious chess player would train without a computer or decline the assist if the contest mattered.
And this is in a regime where the dominance of the machine is total, structural, and permanent, far more so than any existing AI's impact on the outcome distribution of any recent development on any white-collar knowledge work include even the most sophisticated software engineering done anywhere. The demonstrated as opposed to completely conjectural lift on SWE outcomes with Claude Code (and even that's controversial, let's take the high end of the claims) is real and changes the geometry of the situation not at all.
Nor is there any apparent limit on how much arbitrarily sophisticated software the world has an appetite for, you could take someone at the absolute top of the field (I'm a big Carmack fan let's go with Carmack), and give him cutting edge AI assist, and the best program a person can write just got better. Sweet!
And this applies anywhere from junior to Carmack: however good they were, they're better now. We can build harder things. We can have extreme quality software where previously we were stuck with some Electron jank, across the board. Does anyone think Slack would lose market share if it went back to its gaming roots and was gorgeously 3D accelerated on every surface against a backend that could instant and perfectly synchronize an arbitrary workspace on a flakey cell connection and never have an outage or data loss? Or would they rapidly shred the remaining competition and become the favored tool of everyone?
In adversarial regimes like trading or drone warfare, you better believe the best hackers have arbitrary assist if you're going to play against them.
I think the thing to be hand-wringing about isn't AI, it's that capitalism no longer seems to be an adversarial regime. The worst software rivalries in the industry look more like a pillow fight than a battle of will.
And if there is any lasting reduction in headcount, it's leaders lacking ambition agreeing tacitly to not play very hard, not AI, that is to blame for that. None of the HFT shops nor amusingly the frontier labs have reduced their hiring or compensation at all. If anything, it's going up!
I work as a cloud engineer and have been contacted by multiple non-engineering friends who have now been able to create their pet projects from scratch in different languages and have it running locally, as webapps and native apps. So what they are missing is a platform to easily deploy and maintain their projects, much like a "normal" developer would. Right now it's quite tedious to set up this scaffolding, but it's absolutely possible with AGENTS.md, skills and rigid hollistic tests. Once done, non-technical people can continue developing independently without hiring any software engineers by simply telling claude/codex what they want. Claude/codex will then be able to make judgement calls based on the preset architecture, which will guide the non-technical user.
So in my anecdotal case, AI has already replaced several software engineers. Once scaffolding like this is productized, I suspect that greenfield projects can be managed entirely from a product standpoint using agentic coders + platform engineering. And that is today. Imagine in 5 years.
Consider:
- I can read about my symptoms from Dr. Google, try a lifestyle change, herbal remedy, or over-the-counter drug, and that may actually work. This does not mean in the slightest that doctor are being made obsolete
- I can create music with generative AI, without needing any understanding of music theory, no taste for music, no creativity. This does not mean people with musical talent are being made obsolete at all.
- I can, with the help of AI, work on DIY projects around the house. This does not in any way mean engineers are being made obsolete.
Who will be helping domain experts to elucidate what they actually need through prototype-refine cycles? Who will be writing and maintaining the operating systems, the languages, the version control systems, th editors and terminal emulators, knowledge/document management systems, the PaaS platforms, etc that these hordes of hobbyist software creators depend on?
Have these people actually properly tested their creations to ensure they are robust? Do they even understand the edge cases that could arise? Is their work secure? Cooking up some quick thing based on some prompt does not equate to engineering whatsoever.
Perhaps you fail to see this because, like many others, you subscribe to the fallacy that the value of software engineering primarily lies in the code produced itself, the arrangements of bits manufactured. It is not; a project is primarily valuable as a theory and abstraction building process. See https://pages.cs.wisc.edu/~remzi/Naur.pdf
Steve jobs said it - the difference between the average and best software engineer is a huge.
The best software engineers aren’t going away at all. The shittier ones will be using llm’s more so and eventually be out of a job as llm’s improve.
There are engineers that work making a 2 weeks app that is never revisited again, I guess, but I don't know anyone that makes a living from that. Maybe the "WordPress site for your business" gigs.
The issue comes when you have 432 functionalities and have to add the 433 without interfering with the others. Or when you cant afford slightly wrong. Or when each functionality adds complexity at a higher rate than an engineer and over time the projects gets to an unmanageable size.
But that's not a problem on small projects. non-technical people only create software to scratch their needs, they will probably will need 20 or 30 features, never 432, making their system much easier to handle.
The problem with enterprise software is that it has to support a very large combination of features designed for different clients. That's why it gets so complex, but if the software has to support a single client is waaay easier.
That's not going to substitute many engineers though, for two reasons.
One is that "app that helps a single-digit number of people" was never a viable business in the first place.
The other is that you can't substitute all corporate software with a combination of disposables. Some stuff is complex even if the "surface features" are small in number. Say for example that you want a custom web browser, "surfing the internet" might feel like a single feature for a non technical person but it's made of many moving parts inside.
One can argue that software engineering will fundamentally change, but there is and will still be a need for people that know what software engineering is and how to apply it.
Essentially a small application idea that interfaces with the larger system. It was POC built in 2-3 days, 3 or 4 commits.
Impressive - however the person that built it has now made 400 more commits over the last 3 months to this project as it has been modified, it’s essentially become his part / full time job to just build + maintain this new application.
They have become a software developer. An untrained one, one that doesn’t understand security or best practices. Maybe as Claude gets better the load will be lightened and it will not consume their day, but as it stands - at my company, all of these initial “vibe apps” are becoming maintenance for them, taking up more and more of their time. It’s obvious that they want MORE software, not less. So traditional software engineering is probably gone, but managing expanding platforms and handling security, complexities, documentation, business logic, all of that is still standing in the way for my company.
So you are correct saying that people can build projects with text, but I feel that “set and forget” has never been the case for all but the simplest software. Someone still has to manage all of it, I think. Whether trained in SE or not.
My guess is that developers who have experience can still outperform untrained people, though the builders who are curious by nature will quickly get up to speed. The game is changing but traditional developers have a huge upper hand, because we’ve always wanted to know how things work under the hood. I could have built the current vibe app that they built in a hour using AI, it’s taken them months.
But while the AI isn't good enough to do it all, While there's still a vibe code wall that non-developers run into, senior developers will still have a job scaling that wall. That walls getting shorter as models get better, but for right now, this second, even with Anthropic's Fable, our jobs are safe.
We have to step back and look at the bigger picture though. Stable Diffusion came out and suddenly I could generate images that I didn't have the patience to use Photoshop or a pencil to create. But after playing with it for a couple of days, I got bored of it and went back to coding. Sora came out and at my fingertips I had the power to be a movie director. A couple of days later, I went back to writing code. Or by that point, directing AI agents to write code. So after the last software developer loses their job, having been replaced by robots, I can't imagine I won't still be the same person underneath. I build things that are as complicated as they need to be, but no more. Sometimes I even succeed.
> A project needs to deliver simple functionality, dominated by data entry and display, with few business rules. Staff is not composed of advanced object modelers.
> [...] Simple projects come with short time lines and modest expectations. Long before the team completes the assigned task, much less demonstrates the exciting possibilities of its approach, the project will have been canceled. [...] And in the end, if they do surmount these challenges, they will have produced a simple system. Rich capabilities were never requested.
> Therefore, when circumstances warrant:
> Put all the business logic into the user interface. Chop the application into small functions and implement them as separate user interfaces, embedding the business rules into them. Use a relational database as a shared repository of the data. Use the most automated UI building and visual programming tools available.
> [...] Yet it is a legitimate pattern in some other contexts. In truth, there are advantages to the SMART UI, and there are situations where it works best—which partially accounts for why it is so common. Considering it here helps us understand why we need to separate application from domain and, importantly, when we might not want to.
> Advantages: Productivity is high and immediate for simple applications; Less capable developers can work this way with little training; Even deficiencies in requirements analysis can be overcome by releasing a prototype to users and then quickly changing the product to fit their requests; Applications are decoupled from each other, so that delivery schedules of small modules can be planned relatively accurately; Expanding the system with additional, simple behavior can be easy; Relational databases work well and provide integration at the data level; 4GL tools work well; When applications are handed off, maintenance programmers will be able to quickly redo portions they can’t figure out, because the effects of the changes should be localized to each particular UI.
> Disadvantages: Integration of applications is difficult except through the database; There is no reuse of behavior and no abstraction of the business problem. Business rules have to be duplicated in each operation to which they apply; Rapid prototyping and iteration reach a natural limit because the lack of abstraction limits refactoring options; Complexity buries you quickly, so the growth path is strictly toward additional simple applications. There is no graceful path to richer behavior.
> [...] Remember, one of the consequences of this pattern is that you can’t migrate to another design approach except by replacing entire applications. [...] Don’t bother hedging your bet. Just using a flexible language doesn’t create a flexible system, but it may well produce an expensive one.
I think there will be a lot of this going on for the first few years, till everyone remembers this:
https://xkcd.com/1205/
The gap between a pet project and great software is still very wide and I have a hard time believing that it will ever be bridged.
I don't see how a solved problem even before ai is the thing that won't be replaced first. I struggle to believe a personal project requires complex infra
W/r to code, I do enjoy playing designer and product manager on personal projects after decades of full-stack development and design, and by full-stack I mean all the way down to machine code. The anti-AI retort is complaining I wouldn't be doing anywhere near as well without those decades of experience. Fair point IMO, but the kids who grow up around this technology will likely expend neural plasticity on wielding it far more effectively than the boomers and GenX ever will. And getting an AI to work with them once again seems like a reward function problem rather than an intrinsic roadblock to me.
All while acknowledging it's much easier said than done. I'm just not going to bet against ingenuity both organic and electronic. However, the incessant mania and panic episodes around AI that just keep happening seem to be the algorithms monetizing enragement and fear to me. That's a real and bigger problem IMO.
AI still struggles with technical excellence in some genres of art, but even if they master this, this human element they cannot overcome, by definition.
It's like piano performance: AI can already generate a "prefect" performance audio, a MIDI file can already encode that. But, I hate MIDI files, none of the live-ness, the weirdness, and non-repeatable nuances of an actual performance by an actual pianist.
You're not going to vibe-code a financial app that needs to be maintained indefinitely.
You're also not going to mess with legacy systems.
I think that AI has definitely replaced _some_ engineers, but I don't think your use case is relevant. Your non-engineering friends have created their pet project because they now can, but it's not as if they were going to hire anyone to do it, right? They haven't up until now.
The fact that “cloud engineer” is still a job suggests that the simple case is not the one driving employment. There are definitely more devops/sre/cloud engineer roles today than there were in 2009 (and I’d be willing to wager you if you included pre-devops sysadmins in that count, there’d still be more total roles today).
Now they'll probably get someone on discount, because our salaries are going to tank due to evaporating demand, but I sincerely doubt it'll be zero-d demand.
What I expect is a 3D printer moment - tons and tons of homebrew / shareware style software coming out, an explosion of boutique code.
I also expect a CNC machine moment - vastly reduced demand for hands-on specialists, and more babysitting of automted processes. But it's those machinists who got those jobs.
We could be looking at a long term suppression (~80% reduction?) in demand though until economic growth produces enough demand to employ ~50M software engineers again, if ever. The cliff is unlikely, I'd guess the unregretted loss will be replaced by AI productivity every year, and some portion of growth will, too.
I also guess that all the AI companies can become massively successful without causing much unemployment just by following Claude's model - charge a certain tangible % of a salary for assisting the worker. https://jodavaho.io/posts/ai-jobpocolypse.html
A project usually starts with a list of basic looking cosmetic bugs that the stakeholder is having a hard time getting Claude to fix. Literally every bug unearths a heap of other bugs or architectural problems.
As an example yesterday I was looking at a basic, “record XYZ not appearing on list view” bug. Turned out that Claude had built the list view (which should have been backed by thousands of records) to only ever load the first 100, and then do all organization, counts, sorting and filtering on the frontend on that dataset.
Also found a query that was taking ~18 seconds to query 1 record from a set of ~60.
The biggest observable improvement in my post and pre ai development is the ability to tackle two projects at once, if the agent is on track. If not, and I have to do a deep dive to debug, it basically regresses to plain old everything like before.
I think this is incorrect, unless your friends employed software engineers, or would have employed software engineers.
You're not going to spend $30,000 and weeks of your time just to see if an idea you had under the shower can make a few bucks as a side project, but now that it's a 5-minute thing that costs you $5, why not.
The tech boom has made people forget this, but that fact never changed. And now what we're seeing is that the "write code" part is increasingly becoming devalued. What does this mean? That those with domain knowledge will still be able to function, whereas people who could only write code will be devalued.
Even from offshore contractors, I still haven't run into anyone who can only write code except for someone just starting out.
What I am referring to is someone with meaningful knowledge outside of software engineering who can also apply software engineering skills to that domain. In particular I'm referring to domains outside of tech, but any sort of specialized knowledge counts here so even in the "software" world there's things like infosec, networking, etc
Indeed. If we peel back the rationalizations, it is patently obvious that code has no meaning apart from the domain it exists in. Its entire meaning is derived from the domain and from the purpose to which it is put and for the sake of which it is written. There is no such thing as code, or broadly technology, in isolation. It does not exist for its own sake. Where such things are concerned, all meaning is in the observer.
So, if a dev has a poor grasp of the domain, then he must inevitably depend on someone else to supplement his deficits, like a product manager, which is a role that in practice often results in a formal distinction between the domain expert and the technician.
And that's what a dev without domain knowledge is: a technician.
This is also why people with solid[0] philosophical/liberal arts backgrounds often function very well in the software industry. They are better able to cultivate context which puts them in the best position to make prudent judgements at both product and technical levels.
This is not a dismissal of technical skill, but skill is always downstream from meaning, purpose, and context. It's a tool, perhaps a glove. Without the hand, there is no glove.
(Some may say this is obvious, but sadly, the obvious is what people seem to have the most trouble with.)
[0] Emphasis on "solid". I'm not talking about the ideological puff you might see in some places. I'm talking about something intellectual rigorous like the classical liberal arts.
[0] I am not talking about low level PMs who just fill in scrum points and generate charts. There are also PMs who lack domain knowledge!
> So in my anecdotal case, AI has already replaced several software engineers.
Those projects wouldn't exist without language models to begin with. That means in your anecdotal case AI hasn't replaced any SEs.
I would say it will most certainly replace software developers. There is a subtle difference between these terms.
Software developer typically is the one which builds typical CRUD app, front-end, back-end with database and something around that. Their main job is to make the software to apply clear business requirements on software level, while the software itself is not likely revolutionary. Or they are not the responsible ones to make it revolutionary. They provide code in demand.
Then there are engineers that may apply math problems to software and optimise and develop new algorithms, compilers etc. The software itself might be revolutionary and the business.
I don't know about that. If a non-engineer is able to replicate your "serious" project from scratch as a "pet project" then perhaps it is not serious in the first place?
> So what they are missing is a platform to easily deploy and maintain their projects, much like a "normal" developer would.Right now it's quite tedious to set up this scaffolding, but it's absolutely possible with AGENTS.md, skills and rigid hollistic tests. Once done, non-technical people can continue developing independently without hiring any software engineers by simply telling claude/codex what they want.
You should already know that maintenance is never free. The big question is are they making money out of it to justify that maintenance?
Maybe it has replaced people that build useless pet projects that make no money, especially internal tools such as dashboards. But again once an incident arrives is when you need someone to untangle that vibe coded mess as it grows in complexity.
The fact that you still have a job should clue you in that this isn’t going where you think it is, regardless of the state of your friends’ pet projects.
Software engineers still continued to exist somehow.
This is common in technology, especially software, that improvements in efficiency make software cheaper and expands the total pool of possible software.
And, even if one of the "one button shipping" platforms (and there are many) was hooked into the agent, your friends will hit major problems that they and their AI cannot solve. Whether its tech-debt hell, a major security breach, or something else, any sufficiently complex project will require expertise. Will be a fun day when a European regulator asks a friend about their GDPR compliance and their agent is like "shrug"
this and on top of that they'll hit a wall and require human intervention sooner or later if those projects are actually productionized.
> So what they are missing is a platform to easily deploy and maintain their projects, ... Right now it's quite tedious to set up this scaffolding...Once scaffolding like this is productized
You kind of sound like you're pretending PaaS doesn't exist. Have I misunderstood?
We've used agentic development for about a year and a half now and our roles have changed drastically during that time. I can't speak to the volume of projects flowing in (as I do not know the exact numbers) but from what I can see all that has changed is the expectations for what can be delivered. And instead of 5 people delivering on a projects, it's now usually 1 or 2.
The reality is however, that greenfield projects have been largely automated. A ton of the manual labour work (iterating on UX/UI designs, iterating on system architecture, trying out different approaches to solve a difficult problem with no clear measurement metric) now happens instantly. Basically - if you can understand it in your head, you can put it out into the world in 1/100th of the time.
During this period I've also changed a lot about the way I work and think about a system. I've grown symbiotic with the LLM and I really can't do without it. It doesn't mean I don't understand the code it writes, I very much follow each and every change and have a large understanding of the codebase (much larger than the LLM), but I've greatly atrophied my manual code writing skills (which I am perfectly fine with).
Currently I feel like the general layer, the translator, between what the business goals are and what tech covers it the best way. This is still problem solving, but a very high level one and is still really interesting and fun to me.
But something tells me that the best strategy for these times (for developers anyway) is to remain critically thinking and use these tools to your advantage. Now everybody has superpowers. You don't really need to work for a company anymore, because a solo dev can absolutely build crazy things, so it's not like you need to rely on anyone else. Maybe the future is an economy of macro products, each person offering something unique to the world.
I think that it's very odd how AI enthusiasts misinterpret the situation. If it turns out to be good enough to produce greenfield projects with agentic coding, then it will not only affect developers, but also whole companies and whole business sectors.
The whole dev agency business model is only there because less technical companies don't know how to deal with software, others are just opportunistic to outsource the initial, headcount heavy work. But now the tech is already at the fingertips of an agencies customer, it is only a matter of time those CEO and managers start vibe coding and realize the "only" need one dev that has glimpse of tech skill.
This could also extend to many SaaS businesses. I still see a lot of small businesses that ask for custom software to get rid of manual work. Serious software devs were always too expensive for them. So they either have crappy code from someones nephew or a SaaS that barely works. Now they can create their custom solutions, probably still quite crappy, but they can get more out of it.
What big tech does is kind of whatever, they are readjusting for recession. I am a bit concerned about the disruption in the small to mid sized tech sectors.
"You don't really need to work for a company anymore, because a solo dev can absolutely build crazy things, so it's not like you need to rely on anyone else."
One of the reasons for devs to work in company is not that they can't deliver the work themselves. It's that they don't have the connections to land customers. Most devs need a company at least to handle the marketing so they can focus on what they are good at.
It could be that because coding was seen as expensive and a bottleneck, much effort (both upstream and downstream) had been going into making sure its input is correct and the output need not be discarded. If coding is seen as a quick and cheap step, its output could stand to be thrown away and therefore the same amount of oversight may not be needed upstream?
> Among the 270 jobs in the 1950 U.S. census, only one job was automated away — elevator operator. But many others were rendered obsolete by new technology, like the job of telegraph operator.
In that same time farm jobs went from 15% of the workforce to 2%.
Thus we may see "coder" employment decrease but the broader "software/tech" industry increase in employment.
by this logic, if I define "food" industry as sitting on my couch as a "job", with govenment (payouts) my employment, you get "food" industry at employment at 100%!
once you start shifting definitions, it is slippery slope. you can prove anything and argue anything. and it is all loosing meaning. tactic usually employed to confuse and mislead people.
check Stripe Press latest on indutrial automation: https://press.stripe.com/origins-of-efficiency
But when I use AI for other problems, such as resolving a weird linux issue, or figuring out why I'm having a particular problem on my network, I find AI is great at surfacing possibilities but it will very quickly go down rabbit holes that end up leading nowhere. If I didn't have enough experience under my belt, I'm not sure I'd realize this when it was happening.
For me, AIs are great enhanced search engines. They make it easier for me to find out what I need to know to deal with a novel problem. But left on their own, they will (confidently) go way too far down dead-end paths.
She was a programmer. Her company openly build an agent for the purpose of replacing her (and a few others), and they got rid of her about a month after it started working.
My team got a new boss 18mo ago. He had obvious favoritism, and his favorite person happened to be the only person who wasn't a team player. He also over the course of the 18mo, figured out a way to fire every remote worker, no matter how good their past performance was (one even has won several awards above our bosses level; our boss always gives recognition only to that one toxic person). So no replacements via AI, but folks have been feeling really unvalued, much how I would expect an AI replacement to be. Everyone in my supervisor's team, including my supervisor (who is high functioning autistic, and frequently made fun of by our boss), have been applying for jobs elsewhere. I hope for their mental health that they are successful. I did bring up problems with HR a couple times, and even found in the work policies rules that were being violated by him, and that's when I've learned that, at least here, they are just words, and I needed to get out because I was painting a target on my back. Several others also raised concerns, and most of them are the same ones who have since found work elsewhere.
In other news, I've got a job lined up that I will be going to very soon, and I'm excited for that!
Similarly this assumption (the burger diagram in the article) showing execution phase shrinks but somehow everything else expands to keep the burger size the same seems less than plausible.
That said some portions of swe seem like they‘re still very far off from being threatened. Especially the portions where correctness is crucial. With say web dev you’ve got a lot more room to yolo it than say navigation code for rockets. The LLM can likely do both but I don’t think anyone is vibe coding the later any time soon
Therefore sane organisations using those agents currently need to have someone they trust to review and sign off of on anything consequential those agents do on their behalf. Lawyers for legal, Doctors for medical, Software Engineers for Software etc.
Given the amount of money being thrown at AI - and the need for return - it seems unlikely that regardless of domain that lack of guarantees is a situation that will persist.
... or them not existing at all?
Do you think that not even 0.00001 projects on those websites could have been a good payday for a software engineer/team? Do you think what took 3 people before for a low effort saas is not going to be done by 1 person now?
I'm reminded of the 'faster horses' remark from Ford - since AI by design produces what it thinks we are asking for, how will anyone know who to pay for true innovation?
People were getting 6-figure salaries with 3 month boot camps before AI, any random college major could eventually become a developer with a few online courses and practicing LeetCode, the party was bound to end eventually.
Even in the case that a college degree was absolutely necessary (it wasn’t) making $150k fresh out of a bachelor’s degree was absurd for every other domain, many of which were much harder than CS.
Software jobs at that time paid pretty well but certainly not the crazy salaries that came in the dot-com era and after. They were just pretty good jobs, and anyone who was reasonably smart could learn to do them in a couple of months. Somewhere along the line we stopped thinking that, and started thinking that you had to be some sort of high priest savant to write code that responds to a mouse click.
* programming languages (JS)
* frameworks (React)
* open source libraries
* platforms (Web, mostly)
* design systems (shadcn for newer apps)
Guess what makes it easier for automation to come in?
Our need for it to be easy and standard contributed to the success of LLM use in software engineering. I suspect it would have done well without some of those factors, but it may have taken longer.
I think it’s possible the industry eventually figures out that statisticians and econometricians know far more than CS / SWEs (bc AI will tell people), but it could be a decade from now.
Yes, companies pay for what’s perceived to create revenue and profit (and yes, skills are a major factor in that).
In other words: AI doesn't have a blind spot no matter whether AI will ever "get" Cobol or not.
So even if we jump into 2050, we won't have to fix any React application due to three simply reasons: It is easier to build something new; AI understands the old garbage; and the last one: who knows, what will be in 2050?
Tough time.
My biggest concern is not AI, but the total demotivation of the veterans. Suddenly there isn't merit nor fun in building something over a week you took off. And that hits hard.
programming, React, whatver, will be the least of your concern.
It's always the business owner who replaces workers. Let's not anthropomorphize a bunch of graphics cards
what are they providing? to whom? if economy collapses (everybody looses jobs). nobody can pay for whatever he is offering in his business. and neither is he would be able to buy even cards or electricity himself. if economy goes to a halt (Mad Max scenario or if it is socialist collapse, Soviet style). there is no "business" even conceptially anymore.
I mean, but this is talking about the process as a whole, not individual jobs.
"Farmers won't be replaced by combine harvesters - we still need someone to decide what to plant and to harvest it". Sure, but if you used to have 10 labourers in a field manually ploughing with a pair of oxen and now you have one guy driving the machinery it absolutely has replaced jobs.
Companies are already talking about "1 person teams" to deliver projects. We'll still have _some_ jobs but the ratio will change dramatically and engineering will move a lot closer to "team lead" role (and maybe even Product Manger role to boot)
[0] https://arkvis.com/blog/2026-04-26_the-future-role-of-engine...
A) diffuse responsibility. nobody is responsible. — this is what typical beruactacyl operates in.
B) everybody is self-responsible. end users use AI, they are responsible. this is typical MIT licenses. "use at own risk", literally first statement in any open source.
there are systems that can very well operate without "fall-guy".
It’s like that story about the programmer who wants to send the car down the slope one more time to see if it does the same thing again (or whatever it was). The ephemerality makes iteration possible and appropriate, but also makes rigour less important.
AI's having the opposite effect; it multiplies the productiveness of skilled software engineers while simultaneously multiplying the destructiveness of bad ones. The engineer who can shepherd a handful or Claude/Codex instances around simultaneously without producing slop will be immensely better compensated then the engineer who just gives vague instructions to the AI, goes to get a coffee and hopes for the best.
Why would anyone think the same thing won't apply here? If you are still a Typescript bunny who fiddles with some newly learned React tidbit -- this won't cut it anymore. The market won't need you. Move up and adapt or move down and become an expert (harder).
Because there's nothing to "move up into" other than "spec, optionally design".
Because the jobs that had "spec, design but don't code" already existed for decades, and pay less than half what the "design + code" person earned.
I really struggle to see why improved capabilities cannot deal with those other layers. I do not believe you have substantiated this claim about not being possible as capabilities improve.
> At one end of the pipeline, development teams need to decide what to build.
Developers are not the ones that do this largely. This role is far more on the side of "Product Owner". Sometimes your job covers both, but this is not the majority of the work and does not mostly require SE knowledge - some input usually.
> This layer is hard to automate because it requires thinking about user needs, market signals, organizational priorities, and in some cases regulatory constraints.
Hmm, these are language models that can talk through much of this already - but more importantly none of what is mentioned there requires software engineering. For parts that do (I'm sure someone would come to correct me if I said that there was none or seemed to suggest it is never ever ever relevant) this is a much smaller slice.
> As AI capabilities improve, the kinds of decisions that can be delegated to AI increase over time. But this does not make the “decide” layer thinner — once a decision can be delegated to AI, it is no longer a source of competitive advantage, and the value of human decision-making migrates upward. Software increases in complexity over time, so there is no ceiling to this process.
Now this is rather hidden but a huge leap in logic. The decide layer does get thinner for all the same projects, and then you simply assert that software will get more complex and so this cancels it all out.
A team of 5 may end up being able to ship what a team of 50 used to, and maybe now there are 10 teams outputting more - but is there not a clear limit to this? At some point do we not just need 45 fewer people? That there needs to be some engineers is not the same as needing anywhere near as many as we have.
For a time I think we will see increased output meaning more software, but that tails off as they get better.
> At the other end of the sandwich, human teams need to be accountable for what they deliver.
Why? And if we assume so, why does that need a software engineer?
> It is possible that some day in the future teams will ship mission-critical code without fully testing and understanding it,
You don't need to read code to test it, and people choose to ship products without fully understanding the code all the time. Literally any decision maker who is not a software engineer who knows the entire codebase does this. Companies fully ship systems that are far too complex for any single developer to even understand.
And much of software isn't mission critical. Or at least, if you want to say it is then the mission is low stakes.
> today’s AI is so unreliable that such haphazard practices would represent an existential threat to software teams and their customers.
I'd argue for a bunch of stuff this isn't true, and the whole point of the article is "never even if they get better" which is different.
> A central insight of AI as Normal Technology is that we can collectively choose to keep humans accountable through shared norms, law, and policy.
Sure, we can ban AI writing code, but will we? Is there a huge collective concern for all us high paid engineers being replaced by AI?
As it stands AIs today are not always great at making decisions (but they're getting much better), and orgs of today still trust people and hold people to account, rather than their AI systems.
Neither of these are strong moats. It's a moat only while AI systems have some limitations vs an expert human, and corporate processes are still extremely human-centric.
Having accountable people in key positions is a very important part of running a successful organization. Anthropic and OpenAI are never going to let you sue them when an AI employee makes a mistake; accountability is a strong moat.
In the future if you can't trust your AI system to perform a function well, you can switch to another. The accountability will be different – instead of an employee being accountable because their income depends on it, a corporation deploying the AI system be accountable because their success depends on it.
We already see this today with coding. If you're paying too much for the code Claude produces or unhappy with its output, you stop paying for Claude and switch to another.
There is another bottleneck though and it's important: the personal computing needed to really do this well is ... expensive. What I mean is to even utilise this in a development process you need access to your own high-end hardware where the agents can run experiments fast. That requires (1) a lot of cores (2) and a lot of RAM. So there's a bottleneck in personal computing, too. Unfortunately, I really do think we're all screwed here. Increasingly: the most optimistic projections for what AI will be able to do are starting to become reality every few months. So the odds aren't looking good here.
Also declaring that it "won't" is an assertion that AI will stop improving, which is absurd.
A graph showing different numbers of "software developers" and "computer programmers" as some kind of evidence of something other than that people prefer fancy sounding names is extremely dumb. You may as well plot "HR" vs "personnel" and conclude that companies no longer have people.
In theory continuous learning (live weight updates) could help to some degree. But there's essentially no progress towards that because it requires solving a few hard, currently completely unsolved problems. 1. Weights drift over time and there's no way to re-merge them after a few tens of thousands of updates, so when a new model version was released there'd be no way to update existing continuously-learned models to that. 2. It'd allow permanent jailbreaking. And 3. A model can't learn new things without forgetting existing things, unlike humans brains which have hardware plasticity (like London taxi drivers having larger hippocampi due to having to memorize so many streets).
What's the difference between "firing" Claude vs moving to a model from a different provider? The latter seems very analogous to firing an employee for performance and backfilling with someone new.
Re the rest, it's just not my experience that models become incapable of making good decisions in cases where input token count > the context window, but ymmv based on domain.
A very extreme example of this: a couple years ago when GPT 4 was state of the art and the 32K context variant was gated to design partners I worked at an EdTech company in the college admissions space that wanted to produce quarterly reports on student progress for parents. That involved crunching a LOT of data (multiple hours of meeting transcripts per week, very detailed notes about student activities, their general profile - UK and US admissions function very differently!)
It was a difficult problem, but we _did_ manage to produce these reports 4K output tokens at a time at a level of quality that exceeded what humans could do internally, and models+the surrounding tooling have only gotten better since then.
I find the problem is we are reaching the top of the slop curve. I will subside because it's impossible to actually do anything useful with all the output. There will just be a ton of half-finished and abandoned projects. Whatever gets into production will require more eyes on it.
I just think a lot of people are still stuck in the "holy f** I'm so productive" and working themselves into the ground being productive pumping out code. I think it's a phase that will pass.
I'm doing solo mobile app projects, and I have no need to iterate on specs. The bottleneck is QA testing whether it works on the phone.
I don't need to carefully review and understand the implementation. It's not important whether I understand the details of how exactly UICollectionView in Apple's UIKit works.
I see that my implementation works on different physical devices, my tests cover device rotation, and I checked the memory allocations in the Instruments tool.
It has been some months of part-time work on my side, and I will publish this iOS app soon.
Without AI I could not have done it, the scope of the features is too large. The project is around 100k LOC.
It is not true that projects become unmaintainable and abandoned because of agentic engineering, or even vibecoding if you want to call it that.
Single dev it's amazing, tiny team still good, large team wohoooo
2 hours later he's got a fully working piece of local software that does exactly what he wants, yet yours is not able to even sort dates correctly. Feel free to download it if you want to see for yourself, I didn't even do any UI tweaks as this was just a tool for him to use:
Linux - https://downloads.blazingbanana.com/whistle-subtitles/unstab...
Windows - https://downloads.blazingbanana.com/whistle-subtitles/unstab...
Mac - https://downloads.blazingbanana.com/whistle-subtitles/unstab...
How can there be such a massive gap in what can be produced?
What I was doing looks really nice and mostly works on the surface, but it is all about the corner cases where these bugs appear. In another day I was able to generate Frida script with LLM help that bypasses Dart certificate pinning/validation and proxies all the traffic by injecting the runtime binaries. With the latest Flutter/Dart version on Android when doing security analysis.
Sure an app can be built and spun up in an afternoon, but are you willing to spend another 6 months ironing out all those little bugs, tuning it a bit, testing, tweaking, testing etc.
as a matter of taste, you can substitute "slop" as a prefix
It's a phase. The problem is the managerial class sees it as a magic black box and don't understand it's limitations. Calling it AI does not help either. It's the "rockstar developer" illness but on crack.
In particular the whole "the best people are the ones who will use it the best". IME the best ones are the ones keeping it the most at arm's length while the people who embrace it the most churn out epic amounts of utter slop.
Nah, kids, this is an opinion column. If you can’t tell the difference, then you don’t get to sit at the adults table. I’ve been an opinion writer for most of my life, and dressing up my perspectives in scientific LARP is bullshit. And yes, I do have underlying suspicions why certain cultures feel entitled to get away with taking such a tone in their declarations. This has been formed over decades of observation and I won’t claim it is scientific…unlike these two fellas who enjoy foods I do not.
The reason humans haven’t been replaced in many areas entirely is because humans like being someone’s.