HI version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
59% Positive
Analyzed from 6896 words in the discussion.
Trending Topics
#software#more#projects#code#engineers#still#need#don#things#those

Discussion (104 Comments)Read Original on HackerNews
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.
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.
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.
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
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
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.
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 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.
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.
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).
> 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 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.
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.
The fact that you still have a job should clue you in that this isn’t going where you think it is, regardless of the state of your friends’ pet projects.
Software engineers still continued to exist somehow.
This is common in technology, especially software, that improvements in efficiency make software cheaper and expands the total pool of possible software.
And, even if one of the "one button shipping" platforms (and there are many) was hooked into the agent, your friends will hit major problems that they and their AI cannot solve. Whether its tech-debt hell, a major security breach, or something else, any sufficiently complex project will require expertise. Will be a fun day when a European regulator asks a friend about their GDPR compliance and their agent is like "shrug"
this and on top of that they'll hit a wall and require human intervention sooner or later if those projects are actually productionized.
> So what they are missing is a platform to easily deploy and maintain their projects, ... Right now it's quite tedious to set up this scaffolding...Once scaffolding like this is productized
You kind of sound like you're pretending PaaS doesn't exist. Have I misunderstood?
We've used agentic development for about a year and a half now and our roles have changed drastically during that time. I can't speak to the volume of projects flowing in (as I do not know the exact numbers) but from what I can see all that has changed is the expectations for what can be delivered. And instead of 5 people delivering on a projects, it's now usually 1 or 2.
The reality is however, that greenfield projects have been largely automated. A ton of the manual labour work (iterating on UX/UI designs, iterating on system architecture, trying out different approaches to solve a difficult problem with no clear measurement metric) now happens instantly. Basically - if you can understand it in your head, you can put it out into the world in 1/100th of the time.
During this period I've also changed a lot about the way I work and think about a system. I've grown symbiotic with the LLM and I really can't do without it. It doesn't mean I don't understand the code it writes, I very much follow each and every change and have a large understanding of the codebase (much larger than the LLM), but I've greatly atrophied my manual code writing skills (which I am perfectly fine with).
Currently I feel like the general layer, the translator, between what the business goals are and what tech covers it the best way. This is still problem solving, but a very high level one and is still really interesting and fun to me.
But something tells me that the best strategy for these times (for developers anyway) is to remain critically thinking and use these tools to your advantage. Now everybody has superpowers. You don't really need to work for a company anymore, because a solo dev can absolutely build crazy things, so it's not like you need to rely on anyone else. Maybe the future is an economy of macro products, each person offering something unique to the world.
I think that it's very odd how AI enthusiasts misinterpret the situation. If it turns out to be good enough to produce greenfield projects with agentic coding, then it will not only affect developers, but also whole companies and whole business sectors.
The whole dev agency business model is only there because less technical companies don't know how to deal with software, others are just opportunistic to outsource the initial, headcount heavy work. But now the tech is already at the fingertips of an agencies customer, it is only a matter of time those CEO and managers start vibe coding and realize the "only" need one dev that has glimpse of tech skill.
This could also extend to many SaaS businesses. I still see a lot of small businesses that ask for custom software to get rid of manual work. Serious software devs were always too expensive for them. So they either have crappy code from someones nephew or a SaaS that barely works. Now they can create their custom solutions, probably still quite crappy, but they can get more out of it.
What big tech does is kind of whatever, they are readjusting for recession. I am a bit concerned about the disruption in the small to mid sized tech sectors.
"You don't really need to work for a company anymore, because a solo dev can absolutely build crazy things, so it's not like you need to rely on anyone else."
One of the reasons for devs to work in company is not that they can't deliver the work themselves. It's that they don't have the connections to land customers. Most devs need a company at least to handle the marketing so they can focus on what they are good at.
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.
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.
Or humans are relegated to the co-processor role. The AI does 99% of the thinking and work and consults the human for the 1% it needs. Whether that extra contribution is essentially a random number generation, creativity / outside the box input, or esoteric problem solving remains to be seen.
I think we are past this point personally. Lots of blasphemously useless crap being built.
If I wanted to build something that is specific to my needs, this would be prohibitively time consuming and expensive. Even today with all the latest models – even if what I want is relatively mundane.
To add on to that, what would be produced would be ideal for me but less ideal for other people. Other people need things that I don’t, and they don’t need things that I do. And people’s needs change over time. So the actual range of software that there is appetite for is the result of a huge combinatorial explosion of features, for every single type of application out there.
The appetite you are thinking is satisfied today is merely “there is an app that does X” but the appetite that is actually present once we are able to create software much more efficiently is more along the lines of “everybody gets their own custom app that does X”.
I don’t think the appetite for software can be quenched until we have just-in-time feature generation. That is definitely not within present day capabilities.
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.
> 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%.
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
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?
... or them not existing at all?
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)
It’s like that story about the programmer who wants to send the car down the slope one more time to see if it does the same thing again (or whatever it was). The ephemerality makes iteration possible and appropriate, but also makes rigour less important.
AI's having the opposite effect; it multiplies the productiveness of skilled software engineers while simultaneously multiplying the destructiveness of bad ones. The engineer who can shepherd a handful or Claude/Codex instances around simultaneously without producing slop will be immensely better compensated then the engineer who just gives vague instructions to the AI, goes to get a coffee and hopes for the best.
It's always the business owner who replaces workers. Let's not anthropomorphize a bunch of graphics cards
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.
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.
Why would anyone think the same thing won't apply here? If you are still a Typescript bunny who fiddles with some newly learned React tidbit -- this won't cut it anymore. The market won't need you. Move up and adapt or move down and become an expert (harder).
Because there's nothing to "move up into" other than "spec, optionally design".
Because the jobs that had "spec, design but don't code" already existed for decades, and pay less than half what the "design + code" person earned.
As it stands AIs today are not always great at making decisions (but they're getting much better), and orgs of today still trust people and hold people to account, rather than their AI systems.
Neither of these are strong moats. It's a moat only while AI systems have some limitations vs an expert human, and corporate processes are still extremely human-centric.
Having accountable people in key positions is a very important part of running a successful organization. Anthropic and OpenAI are never going to let you sue them when an AI employee makes a mistake; accountability is a strong moat.
In the future if you can't trust your AI system to perform a function well, you can switch to another. The accountability will be different – instead of an employee being accountable because their income depends on it, a corporation deploying the AI system be accountable because their success depends on it.
We already see this today with coding. If you're paying too much for the code Claude produces or unhappy with its output, you stop paying for Claude and switch to another.
There is another bottleneck though and it's important: the personal computing needed to really do this well is ... expensive. What I mean is to even utilise this in a development process you need access to your own high-end hardware where the agents can run experiments fast. That requires (1) a lot of cores (2) and a lot of RAM. So there's a bottleneck in personal computing, too. Unfortunately, I really do think we're all screwed here. Increasingly: the most optimistic projections for what AI will be able to do are starting to become reality every few months. So the odds aren't looking good here.
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?
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.
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).
I find the problem is we are reaching the top of the slop curve. I will subside because it's impossible to actually do anything useful with all the output. There will just be a ton of half-finished and abandoned projects. Whatever gets into production will require more eyes on it.
I just think a lot of people are still stuck in the "holy f** I'm so productive" and working themselves into the ground being productive pumping out code. I think it's a phase that will pass.
I'm doing solo mobile app projects, and I have no need to iterate on specs. The bottleneck is QA testing whether it works on the phone.
I don't need to carefully review and understand the implementation. It's not important whether I understand the details of how exactly UICollectionView in Apple's UIKit works.
I see that my implementation works on different physical devices, my tests cover device rotation, and I checked the memory allocations in the Instruments tool.
It has been some months of part-time work on my side, and I will publish this iOS app soon.
Without AI I could not have done it, the scope of the features is too large. The project is around 100k LOC.
It is not true that projects become unmaintainable and abandoned because of agentic engineering, or even vibecoding if you want to call it that.
2 hours later he's got a fully working piece of local software that does exactly what he wants, yet yours is not able to even sort dates correctly. Feel free to download it if you want to see for yourself, I didn't even do any UI tweaks as this was just a tool for him to use:
Linux - https://downloads.blazingbanana.com/whistle-subtitles/unstab...
Windows - https://downloads.blazingbanana.com/whistle-subtitles/unstab...
Mac - https://downloads.blazingbanana.com/whistle-subtitles/unstab...
How can there be such a massive gap in what can be produced?
What I was doing looks really nice and mostly works on the surface, but it is all about the corner cases where these bugs appear. In another day I was able to generate Frida script with LLM help that bypasses Dart certificate pinning/validation and proxies all the traffic by injecting the runtime binaries. With the latest Flutter/Dart version on Android when doing security analysis.
as a matter of taste, you can substitute "slop" as a prefix
It's a phase. The problem is the managerial class sees it as a magic black box and don't understand it's limitations. Calling it AI does not help either. It's the "rockstar developer" illness but on crack.
In particular the whole "the best people are the ones who will use it the best". IME the best ones are the ones keeping it the most at arm's length while the people who embrace it the most churn out epic amounts of utter slop.
The reason humans haven’t been replaced in many areas entirely is because humans like being someone’s.