I work as a cloud engineer and have been contacted by multiple non-engineering friends who have now been able to create their pet projects from scratch in different languages and have it running locally, as webapps and native apps. So what they are missing is a platform to easily deploy and maintain their projects, much like a "normal" developer would. Right now it's quite tedious to set up this scaffolding, but it's absolutely possible with AGENTS.md, skills and rigid hollistic tests. Once done, non-technical people can continue developing independently without hiring any software engineers by simply telling claude/codex what they want. Claude/codex will then be able to make judgement calls based on the preset architecture, which will guide the non-technical user.
So in my anecdotal case, AI has already replaced several software engineers. Once scaffolding like this is productized, I suspect that greenfield projects can be managed entirely from a product standpoint using agentic coders + platform engineering. And that is today. Imagine in 5 years.
Consider:
- I can read about my symptoms from Dr. Google, try a lifestyle change, herbal remedy, or over-the-counter drug, and that may actually work. This does not mean in the slightest that doctor are being made obsolete
- I can create music with generative AI, without needing any understanding of music theory, no taste for music, no creativity. This does not mean people with musical talent are being made obsolete at all.
- I can, with the help of AI, work on DIY projects around the house. This does not in any way mean engineers are being made obsolete.
Who will be helping domain experts to elucidate what they actually need through prototype-refine cycles? Who will be writing and maintaining the operating systems, the languages, the version control systems, th editors and terminal emulators, knowledge/document management systems, the PaaS platforms, etc that these hordes of hobbyist software creators depend on?
Have these people actually properly tested their creations to ensure they are robust? Do they even understand the edge cases that could arise? Is their work secure? Cooking up some quick thing based on some prompt does not equate to engineering whatsoever.
Perhaps you fail to see this because, like many others, you subscribe to the fallacy that the value of software engineering primarily lies in the code produced itself, the arrangements of bits manufactured. It is not; a project is primarily valuable as a theory and abstraction building process. See https://pages.cs.wisc.edu/~remzi/Naur.pdf
Bad “software engineers” have always existed. That hasn’t changed.
Steve jobs said it - the difference between the average and best software engineer is a huge.
The best software engineers aren’t going away at all. The shittier ones will be using llm’s more so and eventually be out of a job as llm’s improve.
There are engineers that work making a 2 weeks app that is never revisited again, I guess, but I don't know anyone that makes a living from that. Maybe the "WordPress site for your business" gigs.
The issue comes when you have 432 functionalities and have to add the 433 without interfering with the others. Or when you cant afford slightly wrong. Or when each functionality adds complexity at a higher rate than an engineer and over time the projects gets to an unmanageable size.
But that's not a problem on small projects. non-technical people only create software to scratch their needs, they will probably will need 20 or 30 features, never 432, making their system much easier to handle.
The problem with enterprise software is that it has to support a very large combination of features designed for different clients. That's why it gets so complex, but if the software has to support a single client is waaay easier.
That's not going to substitute many engineers though, for two reasons.
One is that "app that helps a single-digit number of people" was never a viable business in the first place.
The other is that you can't substitute all corporate software with a combination of disposables. Some stuff is complex even if the "surface features" are small in number. Say for example that you want a custom web browser, "surfing the internet" might feel like a single feature for a non technical person but it's made of many moving parts inside.
One can argue that software engineering will fundamentally change, but there is and will still be a need for people that know what software engineering is and how to apply it.
Essentially a small application idea that interfaces with the larger system. It was POC built in 2-3 days, 3 or 4 commits.
Impressive - however the person that built it has now made 400 more commits over the last 3 months to this project as it has been modified, it’s essentially become his part / full time job to just build + maintain this new application.
They have become a software developer. An untrained one, one that doesn’t understand security or best practices. Maybe as Claude gets better the load will be lightened and it will not consume their day, but as it stands - at my company, all of these initial “vibe apps” are becoming maintenance for them, taking up more and more of their time. It’s obvious that they want MORE software, not less. So traditional software engineering is probably gone, but managing expanding platforms and handling security, complexities, documentation, business logic, all of that is still standing in the way for my company.
So you are correct saying that people can build projects with text, but I feel that “set and forget” has never been the case for all but the simplest software. Someone still has to manage all of it, I think. Whether trained in SE or not.
My guess is that developers who have experience can still outperform untrained people, though the builders who are curious by nature will quickly get up to speed. The game is changing but traditional developers have a huge upper hand, because we’ve always wanted to know how things work under the hood. I could have built the current vibe app that they built in a hour using AI, it’s taken them months.
But while the AI isn't good enough to do it all, While there's still a vibe code wall that non-developers run into, senior developers will still have a job scaling that wall. That walls getting shorter as models get better, but for right now, this second, even with Anthropic's Fable, our jobs are safe.
We have to step back and look at the bigger picture though. Stable Diffusion came out and suddenly I could generate images that I didn't have the patience to use Photoshop or a pencil to create. But after playing with it for a couple of days, I got bored of it and went back to coding. Sora came out and at my fingertips I had the power to be a movie director. A couple of days later, I went back to writing code. Or by that point, directing AI agents to write code. So after the last software developer loses their job, having been replaced by robots, I can't imagine I won't still be the same person underneath. I build things that are as complicated as they need to be, but no more. Sometimes I even succeed.
> A project needs to deliver simple functionality, dominated by data entry and display, with few business rules. Staff is not composed of advanced object modelers.
> [...] Simple projects come with short time lines and modest expectations. Long before the team completes the assigned task, much less demonstrates the exciting possibilities of its approach, the project will have been canceled. [...] And in the end, if they do surmount these challenges, they will have produced a simple system. Rich capabilities were never requested.
> Therefore, when circumstances warrant:
> Put all the business logic into the user interface. Chop the application into small functions and implement them as separate user interfaces, embedding the business rules into them. Use a relational database as a shared repository of the data. Use the most automated UI building and visual programming tools available.
> [...] Yet it is a legitimate pattern in some other contexts. In truth, there are advantages to the SMART UI, and there are situations where it works best—which partially accounts for why it is so common. Considering it here helps us understand why we need to separate application from domain and, importantly, when we might not want to.
> Advantages: Productivity is high and immediate for simple applications; Less capable developers can work this way with little training; Even deficiencies in requirements analysis can be overcome by releasing a prototype to users and then quickly changing the product to fit their requests; Applications are decoupled from each other, so that delivery schedules of small modules can be planned relatively accurately; Expanding the system with additional, simple behavior can be easy; Relational databases work well and provide integration at the data level; 4GL tools work well; When applications are handed off, maintenance programmers will be able to quickly redo portions they can’t figure out, because the effects of the changes should be localized to each particular UI.
> Disadvantages: Integration of applications is difficult except through the database; There is no reuse of behavior and no abstraction of the business problem. Business rules have to be duplicated in each operation to which they apply; Rapid prototyping and iteration reach a natural limit because the lack of abstraction limits refactoring options; Complexity buries you quickly, so the growth path is strictly toward additional simple applications. There is no graceful path to richer behavior.
> [...] Remember, one of the consequences of this pattern is that you can’t migrate to another design approach except by replacing entire applications. [...] Don’t bother hedging your bet. Just using a flexible language doesn’t create a flexible system, but it may well produce an expensive one.
I think there will be a lot of this going on for the first few years, till everyone remembers this:
The gap between a pet project and great software is still very wide and I have a hard time believing that it will ever be bridged.
I don't see how a solved problem even before ai is the thing that won't be replaced first. I struggle to believe a personal project requires complex infra
W/r to code, I do enjoy playing designer and product manager on personal projects after decades of full-stack development and design, and by full-stack I mean all the way down to machine code. The anti-AI retort is complaining I wouldn't be doing anywhere near as well without those decades of experience. Fair point IMO, but the kids who grow up around this technology will likely expend neural plasticity on wielding it far more effectively than the boomers and GenX ever will. And getting an AI to work with them once again seems like a reward function problem rather than an intrinsic roadblock to me.
All while acknowledging it's much easier said than done. I'm just not going to bet against ingenuity both organic and electronic. However, the incessant mania and panic episodes around AI that just keep happening seem to be the algorithms monetizing enragement and fear to me. That's a real and bigger problem IMO.
AI still struggles with technical excellence in some genres of art, but even if they master this, this human element they cannot overcome, by definition.
It's like piano performance: AI can already generate a "prefect" performance audio, a MIDI file can already encode that. But, I hate MIDI files, none of the live-ness, the weirdness, and non-repeatable nuances of an actual performance by an actual pianist.
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 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?
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?
Reverse centaur indeed.
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.
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.
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.
https://youtu.be/9iCBN5V2x18?si=TUF5kFbQGeQ927io&t=5798
But also, crypto and anything crypto-adjacent is planet-killing garbage in my book.
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.
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.
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.
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.
You're not going to vibe-code a financial app that needs to be maintained indefinitely.
You're also not going to mess with legacy systems.
I think that AI has definitely replaced _some_ engineers, but I don't think your use case is relevant. Your non-engineering friends have created their pet project because they now can, but it's not as if they were going to hire anyone to do it, right? They haven't up until now.
The fact that “cloud engineer” is still a job suggests that the simple case is not the one driving employment. There are definitely more devops/sre/cloud engineer roles today than there were in 2009 (and I’d be willing to wager you if you included pre-devops sysadmins in that count, there’d still be more total roles today).
Now they'll probably get someone on discount, because our salaries are going to tank due to evaporating demand, but I sincerely doubt it'll be zero-d demand.
What I expect is a 3D printer moment - tons and tons of homebrew / shareware style software coming out, an explosion of boutique code.
I also expect a CNC machine moment - vastly reduced demand for hands-on specialists, and more babysitting of automted processes. But it's those machinists who got those jobs.
We could be looking at a long term suppression (~80% reduction?) in demand though until economic growth produces enough demand to employ ~50M software engineers again, if ever. The cliff is unlikely, I'd guess the unregretted loss will be replaced by AI productivity every year, and some portion of growth will, too.
I also guess that all the AI companies can become massively successful without causing much unemployment just by following Claude's model - charge a certain tangible % of a salary for assisting the worker. https://jodavaho.io/posts/ai-jobpocolypse.html
A project usually starts with a list of basic looking cosmetic bugs that the stakeholder is having a hard time getting Claude to fix. Literally every bug unearths a heap of other bugs or architectural problems.
As an example yesterday I was looking at a basic, “record XYZ not appearing on list view” bug. Turned out that Claude had built the list view (which should have been backed by thousands of records) to only ever load the first 100, and then do all organization, counts, sorting and filtering on the frontend on that dataset.
Also found a query that was taking ~18 seconds to query 1 record from a set of ~60.
The biggest observable improvement in my post and pre ai development is the ability to tackle two projects at once, if the agent is on track. If not, and I have to do a deep dive to debug, it basically regresses to plain old everything like before.
I think this is incorrect, unless your friends employed software engineers, or would have employed software engineers.
You're not going to spend $30,000 and weeks of your time just to see if an idea you had under the shower can make a few bucks as a side project, but now that it's a 5-minute thing that costs you $5, why not.
The tech boom has made people forget this, but that fact never changed. And now what we're seeing is that the "write code" part is increasingly becoming devalued. What does this mean? That those with domain knowledge will still be able to function, whereas people who could only write code will be devalued.
Even from offshore contractors, I still haven't run into anyone who can only write code except for someone just starting out.
What I am referring to is someone with meaningful knowledge outside of software engineering who can also apply software engineering skills to that domain. In particular I'm referring to domains outside of tech, but any sort of specialized knowledge counts here so even in the "software" world there's things like infosec, networking, etc
Indeed. If we peel back the rationalizations, it is patently obvious that code has no meaning apart from the domain it exists in. Its entire meaning is derived from the domain and from the purpose to which it is put and for the sake of which it is written. There is no such thing as code, or broadly technology, in isolation. It does not exist for its own sake. Where such things are concerned, all meaning is in the observer.
So, if a dev has a poor grasp of the domain, then he must inevitably depend on someone else to supplement his deficits, like a product manager, which is a role that in practice often results in a formal distinction between the domain expert and the technician.
And that's what a dev without domain knowledge is: a technician.
This is also why people with solid[0] philosophical/liberal arts backgrounds often function very well in the software industry. They are better able to cultivate context which puts them in the best position to make prudent judgements at both product and technical levels.
This is not a dismissal of technical skill, but skill is always downstream from meaning, purpose, and context. It's a tool, perhaps a glove. Without the hand, there is no glove.
(Some may say this is obvious, but sadly, the obvious is what people seem to have the most trouble with.)
[0] Emphasis on "solid". I'm not talking about the ideological puff you might see in some places. I'm talking about something intellectual rigorous like the classical liberal arts.
[0] I am not talking about low level PMs who just fill in scrum points and generate charts. There are also PMs who lack domain knowledge!
> So in my anecdotal case, AI has already replaced several software engineers.
Those projects wouldn't exist without language models to begin with. That means in your anecdotal case AI hasn't replaced any SEs.
I 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.
I would say it will most certainly replace software developers. There is a subtle difference between these terms.
Software developer typically is the one which builds typical CRUD app, front-end, back-end with database and something around that. Their main job is to make the software to apply clear business requirements on software level, while the software itself is not likely revolutionary. Or they are not the responsible ones to make it revolutionary. They provide code in demand.
Then there are engineers that may apply math problems to software and optimise and develop new algorithms, compilers etc. The software itself might be revolutionary and the business.
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"
I don't know about that. If a non-engineer is able to replicate your "serious" project from scratch as a "pet project" then perhaps it is not serious in the first place?
> So what they are missing is a platform to easily deploy and maintain their projects, much like a "normal" developer would.Right now it's quite tedious to set up this scaffolding, but it's absolutely possible with AGENTS.md, skills and rigid hollistic tests. Once done, non-technical people can continue developing independently without hiring any software engineers by simply telling claude/codex what they want.
You should already know that maintenance is never free. The big question is are they making money out of it to justify that maintenance?
Maybe it has replaced people that build useless pet projects that make no money, especially internal tools such as dashboards. But again once an incident arrives is when you need someone to untangle that vibe coded mess as it grows in complexity.
The fact that you still have a job should clue you in that this isn’t going where you think it is, regardless of the state of your friends’ pet projects.
Software engineers still continued to exist somehow.
This is common in technology, especially software, that improvements in efficiency make software cheaper and expands the total pool of possible software.
And, even if one of the "one button shipping" platforms (and there are many) was hooked into the agent, your friends will hit major problems that they and their AI cannot solve. Whether its tech-debt hell, a major security breach, or something else, any sufficiently complex project will require expertise. Will be a fun day when a European regulator asks a friend about their GDPR compliance and their agent is like "shrug"
this and on top of that they'll hit a wall and require human intervention sooner or later if those projects are actually productionized.
> So what they are missing is a platform to easily deploy and maintain their projects, ... Right now it's quite tedious to set up this scaffolding...Once scaffolding like this is productized
You kind of sound like you're pretending PaaS doesn't exist. Have I misunderstood?