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.
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 agree with this more than the parent, but think about apps is probably too last generation. The rich don't use apps. They have assistants to do things and tell them what they need to know when they need to know it. AI is more likely to be like that type of assistant.
> 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 think this is an interesting analogy. If AI is really progressing as rapidly as some describe, should we expect a robotics renaissance with automated-chef appliances etc?
In other words, when will we really see a transition from "yet another token generator" to something that appears to coherently observe, perceive, form intent, plan, and act in a way that is compatible with an existing, long-running human context?
(And, also, do this with enough determinism to be a viable product and not some gaping liability...)
Yeah, I think this will really be a thing. I have been using `exe.dev` lately, and I was at an AirBnB with my family where we wanted to play a game, but it needed pencil and paper for each person, but we didn't have those. I thought it would be nice to have a little web app where you could write your input and then vote on other people's responses directly from your phone. I just spun up a VM on exe.dev, asked the AI to write the app, and then made the VM public-facing. It was a little buggy, but it worked well enough and we had a fun time.
> 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.
I think you're right here. Even for myself, AI has enabled me to actually finish a plethora of personal projects that I've always wanted to built but just never bothered.
These aren't things to share, nor would they be particularly useful to others necessarily, but now I actually have the time to make a little custom utility for very specific problems.
I still think it remains to be seen if "normal" people will do this though. Like, yeah I managed to replace a ton of little paid macOS utilities with my own software now, but AI still only got me about ~90% or so of the way there. I still had to rely on my own knowledge and experience to finish them.
Very impressive, but still a far cry from, say, the average user at my employer who struggles to even operate a non-mobile OS, being able to do this. Maybe we'll get there eventually, but for that to happen, the agent needs to be able to make these utilities 100% on its own with a very vague prompt, and be able to infer what the user actually wants when they don't (and they won't) explicitly state every use case they have in mind.
Slightly off topic, but it feels cyberpunk to me in a way. In those stories, everybody always has their own bespoke technology stack:
NullVoid added the traffic cam feed to his HUD so he could make his deliveries faster"
That sort of thing. In the stories, it makes you think that everyone is just some sort of genius, but we're kind of heading there where anybody can, theoretically, create a personalized tech stack with the help of a programming agent.
I haven't put a lot of energy into it, but your first paragraph triggered that thought.
I feel the same way about bespoke software as I do about 3D printing. For a small subset of people who like to tinker it is amazing, but there is a pretty big market for paying other people to please to 3D print for you.
For technical people who are developers or in other technical roles, sure. For everyone else, no way.
The hard part isn't the code, for most problems it never was. The hard part is being able to think logically about what problem you are trying to solve, making sure the guardrails are in place so you don't accidentally wipe your whole photo library, and staying on top of the specs for multiple walled gardens that you want to interface with. In short, maintenance.
Building is fun, maintaining is a slog. This is also why saas isn't going anywhere. There is a benefit from not reinventing the wheel, having a shared language and shared ecosystem.
On the other hand, I do think that the software that is going to succeed is the software that is the easiest to build on top of.
3D printing is similar but also a vastly smaller market than information systems. 100% of businesses need information systems, but only a small percentage need custom plastic components.
(Actually I would argue every business past a tiny size should have access to a 3D printer, it can save a lot of money in subtle ways, though its rarely business-critical)
This is like saying we only need 100 websites when the internet came out. We have no idea what second third fourth order effects of frictionless and abundance are. What you think is software itself will change.
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 think it now has a slightly different lens. The DropBox argument was that anyone can build this in five minutes, so why use this? Now, with LLMs, the argument is that anyone can build its own.
I thought we were very close until recently but I’ve just seen a long string of very promising openings from myself and others turn into “yeh dunno, it doesn’t work, I gave up”.
The effort to start is way down and drives new demand for software (at least in my own portfolio of side projects) but the effort to keep going is still above this threshold.
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"*:
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'm solidly a generalist, I custom create designs for products and implement them, and also work on backends and large scale production ml systems. I would actually have to agree with the person you are replying to - simply because backends are text problems, (an LLMs domain), and frontends are visual - llms are just still not quite as good at seeing details as humans, whereas they can scan a large codebase for possible problems much faster than any human could. Both areas need careful supervision and feedback loops, adversarial reviews etc - but for the frontend, I find myself having to do much more manual work actually checking myself, because an llm just doesn't get symmetry if it doesn't perfectly correlate to margin being 16px on both sides of a box, etc, ie symmetry you can see in code. Or whether a design "feels" nice to look at, etc.
But with backend, you give it proper guidance to create tests, do benchmarking, follow sane design patterns, etc, and its very effective.
Honestly I think it's great at the things I do know about. I've been doing this stuff soup to nuts since javascript was released, and it's tactically better across the board - presentation, ux, frontend ui, api, backend, databases, even systems and devops.
It's taste can be atrocious, so we're not replacing engineers entirely yet, but it's clear that it's almost hands off for any task I would have done as a consultant in 2012, for example. And, contrary to my opinion a couple months ago, I think taste is a pretty shallow moat, ultimately. Many of my clients when I was operating a consultancy had plenty of taste, if that's all they required, and I think it'd be foolish to assume frontier models won't acquire taste eventually.
I do think that, ultimately, the tippy top of the pinnacle for things like truly original design work, truly original work of any kind, will take a long time to replace. But most software engineering isn't moving the boundaries of the possibilities of humanity, it's making sure that we can turn $0.10 of infra spend into $2 of revenue reliably.
I agree with you. Maybe AI can generate designs that look moderately good and aesthetically pleasing for UIs that solve known problems in a prototypical way.[0] That is useful, especially for simple utilities, internal tools, or hobby projects. However, I have yet to see AI solve new design problems, improve on old problems, and create a unique design style that defines a brand and separates it from competition.
Most organisations need a high quality design system and to be able to assemble pages from it. Totally bespoke design will start with the designer using an agent. So the way I see it, the everyday stuff will be the first to go, followed by designers taking the rest of it. Front-end developers have their area eroded from the bottom then the top.
As far as frontend vs backend, there’s a greater scope for fuckups when dealing with the backend. Frontend problems tend to be more transient. So the stakes are lower, which means that the accountability of humans has less value.
Codex has been great for me for backend wiring, mapping and creating boiler plate code in C#. However, it seems when I go in to fix things its 60% front-end.
Idk, I like AI when it works, but it drives me insane when it keeps making errors. I've had a few errors which I figured out from documentation fairly quickly, provided said docs but the AI would still mess it up somehow.
> provided said docs but the AI would still mess it up somehow.
The AI is not intelligent. Its really hard to grasp cleanly. But it can't do anything logically like we do. Its pattern matching. It has to be a pattern its seen; then it can assemble them. If there are competing patterns - it'll trip up being consistent. Long established libraries and languages that change the least, it'll be best at. Anything newer it'll be bad at - even with documentation. The only way out is to give it tests, then it can loop over several simpler problems, where the errors (failed tests) match well onto the more basic primitives that don't really change (wrong string, wrong type, wrong structure, etc)
At $LARGE_ENTERPRISE_COMPANY, I've found that if you have:
1) A designer that uses Figma correctly (using well defined components / design systems)
2) A front-end framework as close to HTML / CSS as possible for the visuals (I have success with Web Components / Lit) with Figma MCP
The front-end is usually one-shot using frontier models. However in my experience, designers are all over the place with using Figma correctly.
I'll second this, with the caveat that I've not yet tried to build anything with Fable.
Every engineer can now produce things in the front end that doesn't look like complete and utter garbage, sure, but everyone is also producing the new-era of Twitter Bootstrap pages. It all has the same touched-by-AI look and it might as well be customer kryptonite from everything I've experienced at my workplace with customer surveys and collaboration. It has raised the floor substantially for internal tools and admin pages though.
> 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.
> 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?
> 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
I’m not talking about growth here. I’m merely saying that it won’t recede. My argument is that we won’t use the increased productivity to spend less money producing the same amount of software – we’ll use the increased productivity to spend the same amount of money to produce a larger amount of software.
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
"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.
The classic pattern is they become a larger company, and either those processes stop working well, or a custom solution becomes worthwhile due to scale.
The row count limit in Excel has been hit many times over the years.
That violates the worse is better principle which has held true since the inception of software.
Switching costs are real. It's not that hard to make an improvement, but it's very hard to make an improvement that justifies the cost in both money and time.
I agree with most of what you're saying, but it's also funny that front-end developers are catching strays in your conclusion. As long as human beings are interfacing with software, there's going to be a lot of judgement and nuance necessary for building good UIs. Data structures, back-end infra, can all be alien and still work. But your UI can't be alien.
> 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.
Not all software but how many movies you can watch, books read? Similarly how many games you can play? How many ads you can watch during a day?
Eventually projects will have to be profitable. And even if everybody will make a great game most of them won’t be profitable because you competing for limited eyeballs time
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
Your argument holds across the supply-curve of software-engineering-skills. However, there must be some threshold where a previously employed dev is now sol because AI+Human outcompetes him (ie the supply curve has shifted, and the point they used to occupy is not unprofitable)
We all tend to assume AI will only ever be good at the execute part, but what if AI will also be good at decide-deliver? What if some day, we could put AI in charge of not only running a company, but coming up with a business idea, getting funded, driving sales, pivoting until product-market fit and then scaling?
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.
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.
>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.
> We have been aggressively and enthusiastically automating away software engineering for the entire history of the computer industry.
I used to work at an overnight NOC many years ago, and I literally learned bash and python just to save time so I could spend more time watching netflix or whatever instead of working. Instead, my scripts handled so many alerts that they laid off someone and gave me a promotion to being a sys admin :(
I've been chasing the dream of automating my job away and collecting a paycheck for doing nothing for decades now, and I keep getting promoted...
>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.
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.
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.
Edit: Yes, I see, as a former gamer and game developer, I am unemploying myself by creating games with AI to play myself instead of ennriching the pockets of Gabe Newell and other billionaires, hence the downvote.
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).
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!
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.
Sure they do - there are a lot of people who thrive working with concrete technologies and solve relatively straight forward issues (implement this component - style work).
These people will see a brutal job market that is forcing them to take more responsibility and work at a higher level of abstraction.
This is nothing new - A bunch of people simply don't thrive well as knowledge workers. The bar for being a knowledge worker is going to go up - by a lot.
I've worked in many places on many teams and never met anyone that essentially does nothing besides write code...
I question the obsession engineers have with their "code writing" being replaced by a machine.
Do you really think that's the value you bring to the table?
Non-engineers don't want to sit down and think about anything, they don't want to sit down and test that thinks actually work, they don't want to think about all the failure cases that could go wrong besides a few shallow tests, and they definitely don't want to have to pick up the mess if something does go wrong...
This is what you get paid to do. Coding is a small part of that.
You are on point: The developers of the future need to hold much more of the domain that is being developed for. It is not a job to write JSX and tailwind classes anymore, so you need to move up in abstraction - and complexity.
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.
Sure, but now they will be LLMs , which is the point; they won't be millions of humans who get paid. The point of GP was that it doesn't replace programmers; it does and will more so, at scale, because LLMs are better than all the bad ones and that's the majority, by far.
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.
Jut recently, there was a thread discussing Persepolis, a series of autobiographical graphic novels by Marjane Satrapi (recently deceased) that depict her childhood and early adult years in Iran and Austria during and after the Islamic Revolution. People remarked it was deeply moving.
Part of what makes it deeply moving is the actuality of it. This is a human story based on actual lived experiences. How does an AI produce this?? If it came out later that it was written by an AI (assume for the purpose of argument that we had AI when it was written), then of course m=it's impact would be different.
If a seemingly powerful piece of non-fiction is later exposed as fiction, and AI written fiction at that, won't that change your perception of it? Or if a nice anecdote someone likes to tell is exposed as made up, I would hope that matters.
I guess since we're not talking about art anymore, and are instead talking about the veracity of information, we can safely agree. If I read a news story, I do value that information higher to the extent I am convinced it is actually true information. If I read someone's autobiography, I do value that to the extent that I trust them and that it is coming from them. A piece of fiction, however, or music, or visual art, is something that can stand on its own and be appreciated or not without having to assume this context. The context and provenance can certainly color the appreciation, but it is no longer necessary.
But I am not just taking about factual information. You still don't get it. I was just using that example to show if you take out key components of what makes something what is it, it is no longer the same thing.
I am saying the an intrinsic component of art is the human context of it. You can call AI generated "art" by another name if you want, and enjoy it for what it is, but the reasons why you might enjoy it are different from the reasons you might enjoy human art.
Why do we still enjoy art in spite of the fact that we have photography? Or foot races even though we have cars?
Why is it that we still enjoy music despite not knowing how it was created? Why is it that we still enjoy visual art despite not knowing how it was created?
We can keep throwing counterexamples at each other forever. You can find an endless number of examples wherein the provenance of an activity or piece of work is important to the enjoyment of it, and I can find endless examples where the provenance is unnecessary. What will this prove?
So what you're saying is it will never be about the art itself, it's entirely about selling you on its origin story? Yeah, that sounds about right. So once it can create human-level art, it just needs to spew human-level BS script along with it for the artist to act out, got it.
You misunderstand art. If art were solely about the outcome, we’d all be staring at photographs instead, as no art will ever have as high fidelity.
Art is about the journey of the artist; the meaning with which that art is impregnated is the point. What you cynically refer to as “human-level BS,” others refer to as “the human condition” because we can relate to other humans, and empathy is a thing.
It’s okay not to like art. But pretending art is just “the painting at the end” is nonsense.
I'm doing no such thing. By invalidating the Monet piece if it is described as AI-generated, art becomes entirely about the creation story. So that moves the bar to telling a convincing story. And LLMs can absolutely do that at the level of those museum placards next to each painting. So if you add an actor to pose as the artist, the art is the performance now.
What makes you think I don't like art? Spent 3 hours at an art museum event last weekend staring in details at paintings whilst rich drunk fools kept taking selfies next to them.
But I no longer believe people care about empathy. The US wouldn't have elected a grifting performance artist president twice if they valued empathy. We're much more hindbrain-driven than I suspect you think we are.
> I'm doing no such thing. By invalidating the Monet piece if it is described as AI-generated, art becomes entirely about the creation story. So that moves the bar to telling a convincing story.
No. Art isn’t about the “origin story,” but about what it makes you feel. In part, what it makes you feel is due to the fact that it was made by a human, with human emotion and intent, to communicate an idea to the world. AI has no such emotional backing.
> And LLMs can absolutely do that at the level of those museum placards next to each painting. So if you add an actor to pose as the artist, the art is the performance now.
Museum placards are not what make art interesting.
> But I no longer believe people care about empathy. The US wouldn't have elected a grifting performance artist president twice if they valued empathy.
Irrelevant; two things can be true at once. Also, not everyone has empathy, and not everyone likes art.
That’s why most people don’t have art on their walls, but random prints from IKEA.
> We're much more hindbrain-driven than I suspect you think we are.
Many people are! But “people who like art” is a relatively small subset of people, and I maintain that nearly everyone who likes art likes it because it makes them feel something.
Otherwise, there would be no difference between a Picasso and a print from EBay.
People who like art don’t buy NFTs. They buy art made by humans.
I am reminded of The Doctor Who episode where the original Mona Lisa was destroyed and only one of many copies clearly marked "THIS IS A FAKE" underneath the pigments survived.
Only someone with little appreciation of music will describe the difference between an actual performance and an AI generated one as "human-level BS". It makes a large difference in my enjoyment of the music.
Have you listened to a MIDI file before? And have you listened to (or attended, preferably in person) a piano concert before? You can't compare them, AI changes nothing at all about this.
And you're telling me that as long as you believe a human struggled and went through a process, the nature of the outcome is irrelevant. Hence a Monet piece is instantly slop if one believes an AI created it. That rings true. But it also explains the perception that Piss Christ was art instead of rubbish.
We just disagree as to whether an AI can write a script for a human to portray a struggle that never happened and that a human actor can make you believe it. This almost demands a performance art piece to do exactly that. The art of course being in the performance by a human until it can be replaced by an indistinguishable robot. And then the artist becomes the robot's creator I guess. Why it's creators all the down, no?
I guess we also disagree about all these lines in the sand you keep drawing when it's seemingly entirely subjective experience of a world that may or may not exist according to Plato's Cave.
And sure, I love concerts, I love live performances, but I also love to listen to a much wider range of music when I'm not in a theatre. I can understand that you might feel differently, but we are all entitled to our own opinions and tastes. And what we do in our own lives if it isn't hurting others anymore than anyone else in the west is doing with their egregious carbon footprints is none of your business.
And I don't draw such lines in the sand. I am saying an experience that would be perceived as authentic human communication can be artificially generated until proven otherwise. Good luck with that.
I really wonder if humanity will be able to process alien life when it finally encounters it. Because it's likely to have a very different origin story, nature, and outlook.
I would be more worried about the viability of these business cases. If I see someone crowing about how they vibe coded some service in a weekend and now they expect $X,000,000 in ARR, I just think these type of people are not going to make it. At some point, the customer will realize that there is nothing preventing them from replacing your offering with a few dollars in API fees. Software vendors need to focus on support quality, provide some unique insight, guard proprietary data, or have some economy of scale on the hardware side. Being the first person to write that particular prompt is not a business plan.
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.
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.
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!
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?
> Same way 3D printing replaced all common goods, can be done by anyone. Why not just print it yourself?
I don't think the analogy works.
3D printers are still fiddly, require a lot of know-how, take up space at home, resin printers often use toxic materials, and are generally something for which you need specialized equipment, supplies, and knowledge.
Comparatively, the latest LLM models are much easier to use without specialized knowledge, take up no space in your house, and give decent/good results. Again, not entirely there yet, but this is moving faster than 3D printing tech.
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.
Yep. "Developer" was already an inflation over "programmer".
Sometime in the late 2000s/early 2010s people started saying, oh, a programmer means you just type in the code to implement requirements, a developer actually understands and can create the requirements to meet the business needs! Like that wasn't what people were already doing for decades and calling "programming".
edit: I guess it was offshoring that encouraged the self-marketing as a "developer" (not one of those programmers you can get anywhere for cheap) just as AI is doing the same thing with "engineer"
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.
If it's good enough to replace plain Software Engineers it's good enough to do DevOps/SRE too. There's no meaningful distinction between those categories in this context.
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?
The most wide-eyed AI believers I've met are tinkerers. And that tracks; the speed at which we can tinker has become so marvelous thanks to LLM-assisted coding. Tinkering is a process; people get a lot of joy out of the act of building and tweaking things. Outcomes are a secondary or tertiary considerations. AI has massively expanded our ability to act (and therefore tinker) but it can't generate meaningful impact (e.g. "engineering") by itself. Impact > activity.
tinkers often what engineering looks like before the org has invented a process around it. Prototyping, debugging, testing, etc are not fake work because they happen quickly.
Compilers do not generate impact by themselves either. Neither do CI, IDEs, frameworks, or cloud infra. They increase the leverage of the person using them.
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.
its not a misinterpretation but an observation. your moat as software dev is disappearing. i know several companies that reduced their 20+ full stack dev team to just 4, in some cases they got rid of them all together and it is now the CTO/CEO + contractors who are paid hourly and working less than 20 hours a week on average.
We are only getting started, this trend is not going to revert, we are going to get cheaper tokens and more Fable 5 exceeding models that are going to be faster and easier to use.
We had a recession before personal computing took off and another one after the dot com bubble, this didn't put any hinderance on adaoption of the new tech it increased it
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.
Not only that, but do you really want to be handling the contract negotiations, sales, business taxes, insurance, and everything else?
Being a sole-proprietorship means doing things you aren't skilled in and, most likely, not interested in doing. When I did it, I had a horrid work-life balance and I would not recommend it.
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.
> Atrophy. I've already noticed that I am slowly starting to atrophy my ability to write code manually. Generation (writing code) and discrimination (reading code) are different capabilities in the brain. Largely due to all the little mostly syntactic details involved in programming, you can review code just fine even if you struggle to write it.
> You don't really need to work for a company anymore, because a solo dev can absolutely build crazy things
Don't conflate what is theoretically vs. realistically possible. In the real world, successful companies have moats from data, patents/IP, network effects, and so forth. Just because you can develop something in 1/100th the time doesn't make it instantly feasible to build a new business around. Look around the tech industry today.. plenty of companies that could be disrupted by spry AI-powered buidlers, but they are not (owing to these lock-in effects).
> 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.
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
The reasoning for AI driving layoffs never really made sense to me. My company is hiring more than ever before - the rationale being two main things - one, strong hiring market == cheaper, stronger hires, two - we are seeing efficiency gains per employee that appears at this point multiplicative, if we believe our output is valuable, hiring more to get more output (e.g., growth) is the common sense move.
I don't know how many other companies are doing this, but at least where I am, I have seen the total opposite behavior. They are very pleased with the results of AI and eager to hire.
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?
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.
There is a large gap between people who have been using AI for coding for the hundreds or thousands of hours, vs. those who do not. People like Ed Zitron, who never managed or participated in dev projects scream from the rooftops that AI coding is only relevant for small hobby projects. Meanwhile, in my own backyard, we are happily shipping production stuff for a few months now, and newly launched IT projects get launched with substantially smaller teams. And anyone who ever had to work with mediocre developers will take Fable any day of the week.
I'm sorry, but this is borderline silly. Fable has been out for less than a week and you're already making grand pronouncements about its superiority? How much first-hand evidence could you possibly have for that claim?
Fable caught us in the middle of a crisis where we had to replace a supplier with a quickly-put-together home made solution. We have been working with it non stop since it launched. And thanks to a lot of baseline experience with previous models, our small band of relatively old hands decided we are badly in love with it.
Now, remind yourself when was the last time you had to work with a developer who went to CS because it pays well, and has zero enthusiasm for what they are building, and are just phoning it in, with minimum effort and low skills. AI models are coming for those people first. And those people are in the fricking millions. Strip IT teams to people with passion either for product or for tech, give them such tools, and watch. Compare this with a normal IT shop with a bunch of great people, a metric ton of average people, a few toxic imbecilles, and the necessary HR/management bureaucracy to keep that bunch on a leash.
If he is already enjoying what he claims with pre-Fable models, then it stands to reason Fable is already above that baseline, and therefore your nitpick is silly.
That both fair and also charitable to the commenter. It's not a given that Fable is "above that baseline," all we can go by is anecdotes and Anthropic's marketing materials. Both tend to be puffed up. And if they're speaking generally about LLM-assisted coding, they could have chosen to say it that way.
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.
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.
"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
"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)
Today AI is 100% automating the software engineering market. We all know it and it is not evenly distributed with some fields being more impacted than others.
However, what is not mentioned anywhere is for long this will continue and what shape it will take. It is a trickier question.
There are two factors in my mind: cost and volume.
On the cost side, AI coding agents could become unfordable. What happens then? Back to engineering jobs? Hard to tell. It might impact seriously the bottom line of many companies while jobs remain lost forever.
On the scale side, the more code is written the more complex it becomes - that is a fact. Who is going to look after this code? More AI? That will make it more costly. Or is that most software is dead on arrival - then why build it?
So it is not clear cut. The investment is there but how to turn the investment in meaningful long-term ROI is not.
Even on the highly subsidies plans most software written today has marginal ROI. Building landing pages and features that nobody asked for is not a good execution plan and frankly I have done this mistake myself.
The last bit I would like to flag is that if software becomes almost free then why build at all? Why would companies even bother building anything at all?
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.
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.
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.
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.
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.
Anyone who claims AI could never replace some certain job implicitly doesn’t believe in AI ever reaching parity with humans in general reasoning. All these semantic arguments and redefining what the role of a software engineer is, etc is just pointless dancing around the core issue: will AI, as scaling and development continue on frontier models, reach human level reasoning in every domain? If it can, then it’s easy to argue how it would replace any job, especially one where all the inputs/outputs are via a computer.
If this happens then LLMs will fix every human problems. It will have cured cancers, solved the pollution and global warming problem, solved wars, and it no one will ever have to work again.
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.
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.
there are systems that can very well operate without "fall-guy". example:
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 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]
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.
Did computers replace secretaries? By and large... yes. But what evolved out of them were more sophisticaed roles like sprint planner, office operations, etc that were higher order roles for the company's newer high speed productivity.
That being said, so far no AI model is producing shippable code well enough to go either unprompted OR unreviewed at a meticulous level so... I'm not sure this will happen so soon.
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.
> 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.
>In the future if you can't trust your AI system to perform a function well, you can switch to another.
All will perform roughly at the same level, just like today. It doesn't matter what provider you switch to, they'll all going to make mistakes because performing at a high human level requires far more business context and domain knowledge than is going to fit in even a few million tokens. Humans have incentive to learn and improve, LLMs lack even the ability to improve, as there's been pretty much zero progress on live learning and it's theoretically impossible for a fully-trained (saturated weights) LLM to learn new things without forgetting old things.
"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.
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.
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.
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.
This 100%. Maybe I have a prompting skill issue, but without my guidance Opus (and now Fable) writes some gnarly stuff with tons of small bugs, and weird design decisions.
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 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.
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.
>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.
A human may learn and improve to avoid being fired, while Claude is incapable of that.
>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.
If they've been trained a lot on your domain (maths, coding) then they can make good decisions. But I've just started using Mythos and even it makes some awful decisions in domains it's not trained on. Of course the majority of decisions are good, but it only takes a couple bad ones to sink a project.
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.
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.
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.
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 agree with this more than the parent, but think about apps is probably too last generation. The rich don't use apps. They have assistants to do things and tell them what they need to know when they need to know it. AI is more likely to be like that type of assistant.
> 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 think this is an interesting analogy. If AI is really progressing as rapidly as some describe, should we expect a robotics renaissance with automated-chef appliances etc?
In other words, when will we really see a transition from "yet another token generator" to something that appears to coherently observe, perceive, form intent, plan, and act in a way that is compatible with an existing, long-running human context?
(And, also, do this with enough determinism to be a viable product and not some gaping liability...)
If they can do it from their couch by talking to their phone, they might.
While eating the junk food I was talking about :-D
the thing is they won't need to "cook" anymore to get it done. they can just... describe what they want to eat.
They can be bothered to order food. The machine will figure out the rest with the help of other machines and the network
So, machines will allow ordering an app.
Yeah, I think this will really be a thing. I have been using `exe.dev` lately, and I was at an AirBnB with my family where we wanted to play a game, but it needed pencil and paper for each person, but we didn't have those. I thought it would be nice to have a little web app where you could write your input and then vote on other people's responses directly from your phone. I just spun up a VM on exe.dev, asked the AI to write the app, and then made the VM public-facing. It was a little buggy, but it worked well enough and we had a fun time.
i assume the food will be made by machines too
> Now they're going to build their own software every time they think they need an app..?
As others have said, this will be more like ordering food than "building". It's not there yet, but soon-ish it might be.
> 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.
I think you're right here. Even for myself, AI has enabled me to actually finish a plethora of personal projects that I've always wanted to built but just never bothered.
These aren't things to share, nor would they be particularly useful to others necessarily, but now I actually have the time to make a little custom utility for very specific problems.
I still think it remains to be seen if "normal" people will do this though. Like, yeah I managed to replace a ton of little paid macOS utilities with my own software now, but AI still only got me about ~90% or so of the way there. I still had to rely on my own knowledge and experience to finish them.
Very impressive, but still a far cry from, say, the average user at my employer who struggles to even operate a non-mobile OS, being able to do this. Maybe we'll get there eventually, but for that to happen, the agent needs to be able to make these utilities 100% on its own with a very vague prompt, and be able to infer what the user actually wants when they don't (and they won't) explicitly state every use case they have in mind.
Slightly off topic, but it feels cyberpunk to me in a way. In those stories, everybody always has their own bespoke technology stack:
NullVoid added the traffic cam feed to his HUD so he could make his deliveries faster"
That sort of thing. In the stories, it makes you think that everyone is just some sort of genius, but we're kind of heading there where anybody can, theoretically, create a personalized tech stack with the help of a programming agent.
I haven't put a lot of energy into it, but your first paragraph triggered that thought.
I feel the same way about bespoke software as I do about 3D printing. For a small subset of people who like to tinker it is amazing, but there is a pretty big market for paying other people to please to 3D print for you.
For technical people who are developers or in other technical roles, sure. For everyone else, no way.
The hard part isn't the code, for most problems it never was. The hard part is being able to think logically about what problem you are trying to solve, making sure the guardrails are in place so you don't accidentally wipe your whole photo library, and staying on top of the specs for multiple walled gardens that you want to interface with. In short, maintenance.
Building is fun, maintaining is a slog. This is also why saas isn't going anywhere. There is a benefit from not reinventing the wheel, having a shared language and shared ecosystem.
On the other hand, I do think that the software that is going to succeed is the software that is the easiest to build on top of.
3D printing is similar but also a vastly smaller market than information systems. 100% of businesses need information systems, but only a small percentage need custom plastic components.
(Actually I would argue every business past a tiny size should have access to a 3D printer, it can save a lot of money in subtle ways, though its rarely business-critical)
This is like saying we only need 100 websites when the internet came out. We have no idea what second third fourth order effects of frictionless and abundance are. What you think is software itself will change.
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.
This has "why pay for Dropbox" vibes.
I am tired of reading this comment
Its a HN truism, now, though.
I think it now has a slightly different lens. The DropBox argument was that anyone can build this in five minutes, so why use this? Now, with LLMs, the argument is that anyone can build its own.
I have to say I find it pretty funny.
I don't. Do you?
> We already collectively produce more software than anyone really wants
You'll need to qualify that statement...
I thought we were very close until recently but I’ve just seen a long string of very promising openings from myself and others turn into “yeh dunno, it doesn’t work, I gave up”.
The effort to start is way down and drives new demand for software (at least in my own portfolio of side projects) but the effort to keep going is still above this threshold.
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"*:
https://www.youtube.com/watch?v=qW4rIXft0Bg
>e.g. front-end web development
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'm solidly a generalist, I custom create designs for products and implement them, and also work on backends and large scale production ml systems. I would actually have to agree with the person you are replying to - simply because backends are text problems, (an LLMs domain), and frontends are visual - llms are just still not quite as good at seeing details as humans, whereas they can scan a large codebase for possible problems much faster than any human could. Both areas need careful supervision and feedback loops, adversarial reviews etc - but for the frontend, I find myself having to do much more manual work actually checking myself, because an llm just doesn't get symmetry if it doesn't perfectly correlate to margin being 16px on both sides of a box, etc, ie symmetry you can see in code. Or whether a design "feels" nice to look at, etc. But with backend, you give it proper guidance to create tests, do benchmarking, follow sane design patterns, etc, and its very effective.
I’ve been writing front-end code for more than a quarter of a century. I can assure you I’m not saying this because I’m unfamiliar with the field.
Honestly I think it's great at the things I do know about. I've been doing this stuff soup to nuts since javascript was released, and it's tactically better across the board - presentation, ux, frontend ui, api, backend, databases, even systems and devops.
It's taste can be atrocious, so we're not replacing engineers entirely yet, but it's clear that it's almost hands off for any task I would have done as a consultant in 2012, for example. And, contrary to my opinion a couple months ago, I think taste is a pretty shallow moat, ultimately. Many of my clients when I was operating a consultancy had plenty of taste, if that's all they required, and I think it'd be foolish to assume frontier models won't acquire taste eventually.
I do think that, ultimately, the tippy top of the pinnacle for things like truly original design work, truly original work of any kind, will take a long time to replace. But most software engineering isn't moving the boundaries of the possibilities of humanity, it's making sure that we can turn $0.10 of infra spend into $2 of revenue reliably.
I agree with you. Maybe AI can generate designs that look moderately good and aesthetically pleasing for UIs that solve known problems in a prototypical way.[0] That is useful, especially for simple utilities, internal tools, or hobby projects. However, I have yet to see AI solve new design problems, improve on old problems, and create a unique design style that defines a brand and separates it from competition.
[0] https://research.google/pubs/the-role-of-visual-complexity-a...
I feel people saying this are imagining front-end web dev is all just HTML tables and centering divs. AI does better with back-end in my experience
Most organisations need a high quality design system and to be able to assemble pages from it. Totally bespoke design will start with the designer using an agent. So the way I see it, the everyday stuff will be the first to go, followed by designers taking the rest of it. Front-end developers have their area eroded from the bottom then the top.
As far as frontend vs backend, there’s a greater scope for fuckups when dealing with the backend. Frontend problems tend to be more transient. So the stakes are lower, which means that the accountability of humans has less value.
Codex has been great for me for backend wiring, mapping and creating boiler plate code in C#. However, it seems when I go in to fix things its 60% front-end.
Idk, I like AI when it works, but it drives me insane when it keeps making errors. I've had a few errors which I figured out from documentation fairly quickly, provided said docs but the AI would still mess it up somehow.
> provided said docs but the AI would still mess it up somehow.
The AI is not intelligent. Its really hard to grasp cleanly. But it can't do anything logically like we do. Its pattern matching. It has to be a pattern its seen; then it can assemble them. If there are competing patterns - it'll trip up being consistent. Long established libraries and languages that change the least, it'll be best at. Anything newer it'll be bad at - even with documentation. The only way out is to give it tests, then it can loop over several simpler problems, where the errors (failed tests) match well onto the more basic primitives that don't really change (wrong string, wrong type, wrong structure, etc)
At $LARGE_ENTERPRISE_COMPANY, I've found that if you have:
1) A designer that uses Figma correctly (using well defined components / design systems) 2) A front-end framework as close to HTML / CSS as possible for the visuals (I have success with Web Components / Lit) with Figma MCP
The front-end is usually one-shot using frontier models. However in my experience, designers are all over the place with using Figma correctly.
I'll second this, with the caveat that I've not yet tried to build anything with Fable.
Every engineer can now produce things in the front end that doesn't look like complete and utter garbage, sure, but everyone is also producing the new-era of Twitter Bootstrap pages. It all has the same touched-by-AI look and it might as well be customer kryptonite from everything I've experienced at my workplace with customer surveys and collaboration. It has raised the floor substantially for internal tools and admin pages though.
> 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
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?
> 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.
I’m going to assume this lacks the /s that seems relevant. Because if not:
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.
> 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?
You also need to have time to play all those great games, watch all those great shows and read all those books.
There is a lot of software that are constrained by human eyeballs (entertainment or ads monetized)
> 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
I’m not talking about growth here. I’m merely saying that it won’t recede. My argument is that we won’t use the increased productivity to spend less money producing the same amount of software – we’ll use the increased productivity to spend the same amount of money to produce a larger amount of software.
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
"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.
The classic pattern is they become a larger company, and either those processes stop working well, or a custom solution becomes worthwhile due to scale.
The row count limit in Excel has been hit many times over the years.
that kind of implies theres a ton of room for progress right?
imagine if we got new shit that worked better
That violates the worse is better principle which has held true since the inception of software.
Switching costs are real. It's not that hard to make an improvement, but it's very hard to make an improvement that justifies the cost in both money and time.
i think my point stands
clearly we were able to keep making improvements! the ceiling is nowhere near reached yet
I agree with most of what you're saying, but it's also funny that front-end developers are catching strays in your conclusion. As long as human beings are interfacing with software, there's going to be a lot of judgement and nuance necessary for building good UIs. Data structures, back-end infra, can all be alien and still work. But your UI can't be alien.
> 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.
Not all software but how many movies you can watch, books read? Similarly how many games you can play? How many ads you can watch during a day?
Eventually projects will have to be profitable. And even if everybody will make a great game most of them won’t be profitable because you competing for limited eyeballs time
> at best you can have AI doing 90% of the work as long as an expert developer is driving things.
But that puts 90% of developers out of a job.
And I don't see why it couldn't become 99%.
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.
So it's similar to "Andy and Bill's Law" [1]: "What Intel giveth, Microsoft taketh away".
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
Yes, it addresses your second point.
I'm not saying your entire point is invalid, just that half of it is not correct, and so things might turn out worse than expected.
It only puts 90% of developers out of a job if the demand for software stays flat.
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
“ However, the top devs will earn more than ever. ”
No they won’t. Productivity does not determine the wage rate.
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.
Your company might fail then. Because I won’t be fighting to work at your company, I’ll just compete with your company and get paid what I deserve.
We already have CEOs is vendors trying to scare people away from vibe coding their contract away, while I diligently vibe code their contract away.
Not much new here as my entire career has been coding away 3rd party contracts, and it’s now easier than ever.
I’m not desperate at all. It was my company who was desperate to keep me and gave me a huge pay rise. I was already making top tier money.
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.
It does, in the higher echelons of performance / seniority.
Junior wages won’t change, and may even get lower.
But, at least at present, the top devs are earning more than ever as their skills are much more leveraged.
I don’t see that changing anytime soon.
curious as to why
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
Because companies can hire one great Dev for $300k instead of 5 mediocre ones for $150k each and get better results.
That supports my point right?
Top devs make more than before
Yes. I agreed with your point.
> “ However, the top devs will earn more than ever. ”
The AI companies will skim all the extra profits.
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
How much does the appetite for good* software need to grow to not have loss of jobs?
> It only puts 90% of developers out of a job if the demand for software stays flat.
...or if there's an increase of demand for software, but mostly of the kind that can be completely automated by AI, no need for developers.
Your argument holds across the supply-curve of software-engineering-skills. However, there must be some threshold where a previously employed dev is now sol because AI+Human outcompetes him (ie the supply curve has shifted, and the point they used to occupy is not unprofitable)
>Every time we do so, we are able to build bigger, better things more quickly.
Jervons Paradox
https://en.wikipedia.org/wiki/Jevons_paradox
We all tend to assume AI will only ever be good at the execute part, but what if AI will also be good at decide-deliver? What if some day, we could put AI in charge of not only running a company, but coming up with a business idea, getting funded, driving sales, pivoting until product-market fit and then scaling?
Who would profit from such a company?
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.
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.
>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.
This is called a “reverse centaur”.
> We have been aggressively and enthusiastically automating away software engineering for the entire history of the computer industry.
I used to work at an overnight NOC many years ago, and I literally learned bash and python just to save time so I could spend more time watching netflix or whatever instead of working. Instead, my scripts handled so many alerts that they laid off someone and gave me a promotion to being a sys admin :(
I've been chasing the dream of automating my job away and collecting a paycheck for doing nothing for decades now, and I keep getting promoted...
>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.
> we might finally become productive enough to exhaust the world’s appetite for software.
I think we are past this point personally. Lots of blasphemously useless crap being built.
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.
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.
Edit: Yes, I see, as a former gamer and game developer, I am unemploying myself by creating games with AI to play myself instead of ennriching the pockets of Gabe Newell and other billionaires, hence the downvote.
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).
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!
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.
> the ones who don't have mental capacity to work with models
Those people don't exist.
Sure they do - there are a lot of people who thrive working with concrete technologies and solve relatively straight forward issues (implement this component - style work).
These people will see a brutal job market that is forcing them to take more responsibility and work at a higher level of abstraction.
This is nothing new - A bunch of people simply don't thrive well as knowledge workers. The bar for being a knowledge worker is going to go up - by a lot.
I've worked in many places on many teams and never met anyone that essentially does nothing besides write code...
I question the obsession engineers have with their "code writing" being replaced by a machine.
Do you really think that's the value you bring to the table?
Non-engineers don't want to sit down and think about anything, they don't want to sit down and test that thinks actually work, they don't want to think about all the failure cases that could go wrong besides a few shallow tests, and they definitely don't want to have to pick up the mess if something does go wrong...
This is what you get paid to do. Coding is a small part of that.
You are on point: The developers of the future need to hold much more of the domain that is being developed for. It is not a job to write JSX and tailwind classes anymore, so you need to move up in abstraction - and complexity.
Not all can do that.
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.
That was just as true a decade ago, and two decades ago, as it is today.
Bad “software engineers” have always existed. That hasn’t changed.
Sure, but now they will be LLMs , which is the point; they won't be millions of humans who get paid. The point of GP was that it doesn't replace programmers; it does and will more so, at scale, because LLMs are better than all the bad ones and that's the majority, by far.
This has been true for god knows how long?
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.
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.
https://xkcd.com/1319/
I think there will be a lot of this going on for the first few years, till everyone remembers this:
https://xkcd.com/1205/
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.
You don't get it.
Jut recently, there was a thread discussing Persepolis, a series of autobiographical graphic novels by Marjane Satrapi (recently deceased) that depict her childhood and early adult years in Iran and Austria during and after the Islamic Revolution. People remarked it was deeply moving.
Part of what makes it deeply moving is the actuality of it. This is a human story based on actual lived experiences. How does an AI produce this?? If it came out later that it was written by an AI (assume for the purpose of argument that we had AI when it was written), then of course m=it's impact would be different.
If a seemingly powerful piece of non-fiction is later exposed as fiction, and AI written fiction at that, won't that change your perception of it? Or if a nice anecdote someone likes to tell is exposed as made up, I would hope that matters.
I guess since we're not talking about art anymore, and are instead talking about the veracity of information, we can safely agree. If I read a news story, I do value that information higher to the extent I am convinced it is actually true information. If I read someone's autobiography, I do value that to the extent that I trust them and that it is coming from them. A piece of fiction, however, or music, or visual art, is something that can stand on its own and be appreciated or not without having to assume this context. The context and provenance can certainly color the appreciation, but it is no longer necessary.
But I am not just taking about factual information. You still don't get it. I was just using that example to show if you take out key components of what makes something what is it, it is no longer the same thing.
I am saying the an intrinsic component of art is the human context of it. You can call AI generated "art" by another name if you want, and enjoy it for what it is, but the reasons why you might enjoy it are different from the reasons you might enjoy human art.
Why do we still enjoy art in spite of the fact that we have photography? Or foot races even though we have cars?
Why is it that we still enjoy music despite not knowing how it was created? Why is it that we still enjoy visual art despite not knowing how it was created?
We can keep throwing counterexamples at each other forever. You can find an endless number of examples wherein the provenance of an activity or piece of work is important to the enjoyment of it, and I can find endless examples where the provenance is unnecessary. What will this prove?
So what you're saying is it will never be about the art itself, it's entirely about selling you on its origin story? Yeah, that sounds about right. So once it can create human-level art, it just needs to spew human-level BS script along with it for the artist to act out, got it.
Reverse centaur indeed.
You misunderstand art. If art were solely about the outcome, we’d all be staring at photographs instead, as no art will ever have as high fidelity.
Art is about the journey of the artist; the meaning with which that art is impregnated is the point. What you cynically refer to as “human-level BS,” others refer to as “the human condition” because we can relate to other humans, and empathy is a thing.
It’s okay not to like art. But pretending art is just “the painting at the end” is nonsense.
I'm doing no such thing. By invalidating the Monet piece if it is described as AI-generated, art becomes entirely about the creation story. So that moves the bar to telling a convincing story. And LLMs can absolutely do that at the level of those museum placards next to each painting. So if you add an actor to pose as the artist, the art is the performance now.
What makes you think I don't like art? Spent 3 hours at an art museum event last weekend staring in details at paintings whilst rich drunk fools kept taking selfies next to them.
But I no longer believe people care about empathy. The US wouldn't have elected a grifting performance artist president twice if they valued empathy. We're much more hindbrain-driven than I suspect you think we are.
> I'm doing no such thing. By invalidating the Monet piece if it is described as AI-generated, art becomes entirely about the creation story. So that moves the bar to telling a convincing story.
No. Art isn’t about the “origin story,” but about what it makes you feel. In part, what it makes you feel is due to the fact that it was made by a human, with human emotion and intent, to communicate an idea to the world. AI has no such emotional backing.
> And LLMs can absolutely do that at the level of those museum placards next to each painting. So if you add an actor to pose as the artist, the art is the performance now.
Museum placards are not what make art interesting.
> But I no longer believe people care about empathy. The US wouldn't have elected a grifting performance artist president twice if they valued empathy.
Irrelevant; two things can be true at once. Also, not everyone has empathy, and not everyone likes art.
That’s why most people don’t have art on their walls, but random prints from IKEA.
> We're much more hindbrain-driven than I suspect you think we are.
Many people are! But “people who like art” is a relatively small subset of people, and I maintain that nearly everyone who likes art likes it because it makes them feel something.
Otherwise, there would be no difference between a Picasso and a print from EBay.
People who like art don’t buy NFTs. They buy art made by humans.
I am reminded of The Doctor Who episode where the original Mona Lisa was destroyed and only one of many copies clearly marked "THIS IS A FAKE" underneath the pigments survived.
https://youtu.be/9iCBN5V2x18?si=TUF5kFbQGeQ927io&t=5798
But also, crypto and anything crypto-adjacent is planet-killing garbage in my book.
Wow, it's not "human-level BS" what the heck.
Only someone with little appreciation of music will describe the difference between an actual performance and an AI generated one as "human-level BS". It makes a large difference in my enjoyment of the music.
Have you listened to a MIDI file before? And have you listened to (or attended, preferably in person) a piano concert before? You can't compare them, AI changes nothing at all about this.
And you're telling me that as long as you believe a human struggled and went through a process, the nature of the outcome is irrelevant. Hence a Monet piece is instantly slop if one believes an AI created it. That rings true. But it also explains the perception that Piss Christ was art instead of rubbish.
We just disagree as to whether an AI can write a script for a human to portray a struggle that never happened and that a human actor can make you believe it. This almost demands a performance art piece to do exactly that. The art of course being in the performance by a human until it can be replaced by an indistinguishable robot. And then the artist becomes the robot's creator I guess. Why it's creators all the down, no?
I guess we also disagree about all these lines in the sand you keep drawing when it's seemingly entirely subjective experience of a world that may or may not exist according to Plato's Cave.
And sure, I love concerts, I love live performances, but I also love to listen to a much wider range of music when I'm not in a theatre. I can understand that you might feel differently, but we are all entitled to our own opinions and tastes. And what we do in our own lives if it isn't hurting others anymore than anyone else in the west is doing with their egregious carbon footprints is none of your business.
Not sure what you are claiming here:
That authentically human communication and experiences can be artificially generated? But that is a contradiction in terms.
The outcome is not independent of the process. It will always show through.
And I don't draw such lines in the sand. I am saying an experience that would be perceived as authentic human communication can be artificially generated until proven otherwise. Good luck with that.
I really wonder if humanity will be able to process alien life when it finally encounters it. Because it's likely to have a very different origin story, nature, and outlook.
This reward function goes against the essence of machinery - there is no reward function in machines. That’s what so great about them.
I would be more worried about the viability of these business cases. If I see someone crowing about how they vibe coded some service in a weekend and now they expect $X,000,000 in ARR, I just think these type of people are not going to make it. At some point, the customer will realize that there is nothing preventing them from replacing your offering with a few dollars in API fees. Software vendors need to focus on support quality, provide some unique insight, guard proprietary data, or have some economy of scale on the hardware side. Being the first person to write that particular prompt is not a business plan.
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.
"has already replaced several software engineers. "
I think this is incorrect, unless your friends employed software engineers, or would have employed software engineers.
That's the point: they would have. Now they spend money on tokens instead (and a equity to me who set up their environment)
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.
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.
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!
> who have now been able to create their pet projects
> 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 wouldn't say software engineers have been replaced. Rather, those software projects would never have gotten created in the first place.
Agreed, and if any of those projects ever become consequential they'll almost certainly require the involvement of software engineers.
Same way 3D printing replaced all common goods, can be done by anyone. Why not just print it yourself?
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?
Like with 3d printing, most people are kind of clueless about what to make and just not motivated.
Similar? No. Vibecoded apps are much, much worse.
"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?
> Same way 3D printing replaced all common goods, can be done by anyone. Why not just print it yourself?
I don't think the analogy works.
3D printers are still fiddly, require a lot of know-how, take up space at home, resin printers often use toxic materials, and are generally something for which you need specialized equipment, supplies, and knowledge.
Comparatively, the latest LLM models are much easier to use without specialized knowledge, take up no space in your house, and give decent/good results. Again, not entirely there yet, but this is moving faster than 3D printing tech.
> It most certainly will replace software engineers.
I would say it will most certainly replace software developers. There is a subtle difference between these terms.
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.
Yep. "Developer" was already an inflation over "programmer".
Sometime in the late 2000s/early 2010s people started saying, oh, a programmer means you just type in the code to implement requirements, a developer actually understands and can create the requirements to meet the business needs! Like that wasn't what people were already doing for decades and calling "programming".
edit: I guess it was offshoring that encouraged the self-marketing as a "developer" (not one of those programmers you can get anywhere for cheap) just as AI is doing the same thing with "engineer"
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.
If it's good enough to replace plain Software Engineers it's good enough to do DevOps/SRE too. There's no meaningful distinction between those categories in this context.
There's no lack of such platforms for more than 5 years, they all have free offers and software engineers still have jobs.
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.
Ruby on Rails generators could build toy projects in like 3 clicks 15 years ago, a Twitter clone being the famous one.
Software engineers still continued to exist somehow.
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.
There's nothing ridiculous about the analogy. Not only Ruby on rails is better than most vibecoded apps but also "git clone"
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"
> Therefore, these are net-new projects that replace nothing that came before.
this and on top of that they'll hit a wall and require human intervention sooner or later if those projects are actually productionized.
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?
The most wide-eyed AI believers I've met are tinkerers. And that tracks; the speed at which we can tinker has become so marvelous thanks to LLM-assisted coding. Tinkering is a process; people get a lot of joy out of the act of building and tweaking things. Outcomes are a secondary or tertiary considerations. AI has massively expanded our ability to act (and therefore tinker) but it can't generate meaningful impact (e.g. "engineering") by itself. Impact > activity.
tinkers often what engineering looks like before the org has invented a process around it. Prototyping, debugging, testing, etc are not fake work because they happen quickly.
Compilers do not generate impact by themselves either. Neither do CI, IDEs, frameworks, or cloud infra. They increase the leverage of the person using them.
> Compilers do not generate impact by themselves either
I did not mean to give the impression that Compilers and other key infrastructure are not impactful. I believe these are deeply impactful.
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.
> Now everybody has superpowers.
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.
its not a misinterpretation but an observation. your moat as software dev is disappearing. i know several companies that reduced their 20+ full stack dev team to just 4, in some cases they got rid of them all together and it is now the CTO/CEO + contractors who are paid hourly and working less than 20 hours a week on average.
We are only getting started, this trend is not going to revert, we are going to get cheaper tokens and more Fable 5 exceeding models that are going to be faster and easier to use.
We had a recession before personal computing took off and another one after the dot com bubble, this didn't put any hinderance on adaoption of the new tech it increased it
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!
this is a good example of how the optics as business owners and laborers are arbitraged successfully again and again.
almost all businesses do not care about your opinion of codebase or quality. they just want it to work and not fail.
on top of that the token costs are dropping as AI giants fight over marketshare.
Token costs are reducing for Chinese models, yes. Claude costs are going up!
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.
Not only that, but do you really want to be handling the contract negotiations, sales, business taxes, insurance, and everything else?
Being a sole-proprietorship means doing things you aren't skilled in and, most likely, not interested in doing. When I did it, I had a horrid work-life balance and I would not recommend it.
I agree, I am doing this almost all my life (crying emoji) :)
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.
> Atrophy. I've already noticed that I am slowly starting to atrophy my ability to write code manually. Generation (writing code) and discrimination (reading code) are different capabilities in the brain. Largely due to all the little mostly syntactic details involved in programming, you can review code just fine even if you struggle to write it.
https://xcancel.com/karpathy/status/2015883857489522876
> You don't really need to work for a company anymore, because a solo dev can absolutely build crazy things
Don't conflate what is theoretically vs. realistically possible. In the real world, successful companies have moats from data, patents/IP, network effects, and so forth. Just because you can develop something in 1/100th the time doesn't make it instantly feasible to build a new business around. Look around the tech industry today.. plenty of companies that could be disrupted by spry AI-powered buidlers, but they are not (owing to these lock-in effects).
Misleading
> 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.
Look up the logging industry. Like 95% of those jobs are automated now, but they like to blame an owl
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.
check Stripe Press latest on indutrial automation: https://press.stripe.com/origins-of-efficiency
My wife was replaced by A.I.
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!
damn. hope you guys are ok. what was aftermath? did she get a new job? is it in still in software?
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
The reasoning for AI driving layoffs never really made sense to me. My company is hiring more than ever before - the rationale being two main things - one, strong hiring market == cheaper, stronger hires, two - we are seeing efficiency gains per employee that appears at this point multiplicative, if we believe our output is valuable, hiring more to get more output (e.g., growth) is the common sense move.
I don't know how many other companies are doing this, but at least where I am, I have seen the total opposite behavior. They are very pleased with the results of AI and eager to hire.
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.
> alternative was a human building those
... or them not existing at all?
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?
No, I just mean there is a rate at which people wouldn't have been able to do them economically.
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?
> There is great anxiety about AI replacing jobs.
It's always the business owner who replaces workers. Let's not anthropomorphize a bunch of graphics cards
If the bunch of graphics cards becomes truly more efficient, business owners who want to hire humans will not be able to compete.
The rules are made by a consortium of business owners, if they didn't want it that way then it wouldn't be that way.
sadly, delusions, incoherence, anti-humanism is rampant in tech/business "leadership"
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.
There is a large gap between people who have been using AI for coding for the hundreds or thousands of hours, vs. those who do not. People like Ed Zitron, who never managed or participated in dev projects scream from the rooftops that AI coding is only relevant for small hobby projects. Meanwhile, in my own backyard, we are happily shipping production stuff for a few months now, and newly launched IT projects get launched with substantially smaller teams. And anyone who ever had to work with mediocre developers will take Fable any day of the week.
You've never actually read anything Ed Zitron wrote, have you?
No, and I generally agree with most of his thesis - but the stuff he says about AI coding is the weakest part of his spiel.
I'm sorry, but this is borderline silly. Fable has been out for less than a week and you're already making grand pronouncements about its superiority? How much first-hand evidence could you possibly have for that claim?
Fable caught us in the middle of a crisis where we had to replace a supplier with a quickly-put-together home made solution. We have been working with it non stop since it launched. And thanks to a lot of baseline experience with previous models, our small band of relatively old hands decided we are badly in love with it.
Now, remind yourself when was the last time you had to work with a developer who went to CS because it pays well, and has zero enthusiasm for what they are building, and are just phoning it in, with minimum effort and low skills. AI models are coming for those people first. And those people are in the fricking millions. Strip IT teams to people with passion either for product or for tech, give them such tools, and watch. Compare this with a normal IT shop with a bunch of great people, a metric ton of average people, a few toxic imbecilles, and the necessary HR/management bureaucracy to keep that bunch on a leash.
If he is already enjoying what he claims with pre-Fable models, then it stands to reason Fable is already above that baseline, and therefore your nitpick is silly.
That both fair and also charitable to the commenter. It's not a given that Fable is "above that baseline," all we can go by is anecdotes and Anthropic's marketing materials. Both tend to be puffed up. And if they're speaking generally about LLM-assisted coding, they could have chosen to say it that way.
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.
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.
"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
The layoffs I’ve seen are those where the CEO claims it’s because of AI.
"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)
I think the math is pretty clear.
Today AI is 100% automating the software engineering market. We all know it and it is not evenly distributed with some fields being more impacted than others.
However, what is not mentioned anywhere is for long this will continue and what shape it will take. It is a trickier question.
There are two factors in my mind: cost and volume.
On the cost side, AI coding agents could become unfordable. What happens then? Back to engineering jobs? Hard to tell. It might impact seriously the bottom line of many companies while jobs remain lost forever.
On the scale side, the more code is written the more complex it becomes - that is a fact. Who is going to look after this code? More AI? That will make it more costly. Or is that most software is dead on arrival - then why build it?
So it is not clear cut. The investment is there but how to turn the investment in meaningful long-term ROI is not.
Even on the highly subsidies plans most software written today has marginal ROI. Building landing pages and features that nobody asked for is not a good execution plan and frankly I have done this mistake myself.
The last bit I would like to flag is that if software becomes almost free then why build at all? Why would companies even bother building anything at all?
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.
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.
Forget weekend projects, people are using AI for talking to each other via IM! It is infuriating!
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.
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.
You are making a wrong assumption that more knowlege leads to more comp, it never has or will.
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.
True, but high-quality education, whether personal or formally, tends to produce high-quality knowledge.
Yes, companies pay for what’s perceived to create revenue and profit (and yes, skills are a major factor in that).
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.
Anyone who claims AI could never replace some certain job implicitly doesn’t believe in AI ever reaching parity with humans in general reasoning. All these semantic arguments and redefining what the role of a software engineer is, etc is just pointless dancing around the core issue: will AI, as scaling and development continue on frontier models, reach human level reasoning in every domain? If it can, then it’s easy to argue how it would replace any job, especially one where all the inputs/outputs are via a computer.
>humans in general reasoning
If this happens then LLMs will fix every human problems. It will have cured cancers, solved the pollution and global warming problem, solved wars, and it no one will ever have to work again.
Who cares if anyone has a job in that world?
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.
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.
there are systems that can very well operate without "fall-guy". example:
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.
Might never replace completely, but those remaining will be expected to pump out a lot more code so companies won't need to hire as many.
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]
[0] https://arkvis.com/blog/2026-04-26_the-future-role-of-engine...
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
Engineering should be exactly as rigorous as the task requires. Anything more is wasteful.
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.
This guy might be living under a rock.
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.
well that premise being clearly wrong saved me time
Did computers replace secretaries? By and large... yes. But what evolved out of them were more sophisticaed roles like sprint planner, office operations, etc that were higher order roles for the company's newer high speed productivity.
That being said, so far no AI model is producing shippable code well enough to go either unprompted OR unreviewed at a meticulous level so... I'm not sure this will happen so soon.
It doesn't have to replace you. It just has to convince your boss that it replaces you.
once author gets laidoff, and stuck without a job for 1y+, he will sing very differently.
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.
> 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.
>In the future if you can't trust your AI system to perform a function well, you can switch to another.
All will perform roughly at the same level, just like today. It doesn't matter what provider you switch to, they'll all going to make mistakes because performing at a high human level requires far more business context and domain knowledge than is going to fit in even a few million tokens. Humans have incentive to learn and improve, LLMs lack even the ability to improve, as there's been pretty much zero progress on live learning and it's theoretically impossible for a fully-trained (saturated weights) LLM to learn new things without forgetting old things.
"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.
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.
I guess by "actual AI" you mean what most people call "AGI"
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).
> Why would anyone think the same thing won't apply here?
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.
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.
They only said the jobs won't go away. They didn't say it would pay the same :)
"No you see I'm a special SWE, I'm not one of the 80% that will get automated!"
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.
This 100%. Maybe I have a prompting skill issue, but without my guidance Opus (and now Fable) writes some gnarly stuff with tons of small bugs, and weird design decisions.
I find that it depends a lot on the project.
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.
The problem starts with a project of 20 engineers pumping 1000+ lines of code a day into a shared code base.
Single dev it's amazing, tiny team still good, large team wohoooo
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:
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?
> 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.
LLMs is a little like the guy in Memento right. Every single conversation is it looking at the compressed scribbles of the context.
it sometimes goes like this: vibecoding viberequirements, vibeleadership vibemanagement, vibecustomers
as a matter of taste, you can substitute "slop" as a prefix
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 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.
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).
> You can't fire Claude if it fucks up
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.
>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.
A human may learn and improve to avoid being fired, while Claude is incapable of that.
>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.
If they've been trained a lot on your domain (maths, coding) then they can make good decisions. But I've just started using Mythos and even it makes some awful decisions in domains it's not trained on. Of course the majority of decisions are good, but it only takes a couple bad ones to sink a project.
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.
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.
“When we did this analysis…”
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.