Live data from Hacker News

Why AI hasn't replaced software engineers, and won't

normaltech.ai

121–130 of 386 posts

Re: Why AI hasn't replaced software engineers, and won't

#121

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…

> 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.

They only said the jobs won't go away. They didn't say it would pay the same :)

Re: Why AI hasn't replaced software engineers, and won't

#122

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 becom…

My opinion throughout this AI revolution of the past few years is: appetite for software is insatiable. AI tooling will 3x-10x the output and sophistication of software but will not meaningfully decrease employment over the long haul, except perhaps in legacy or not-forward-thinking organizations.

Re: Why AI hasn't replaced software engineers, and won't

#123

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 we…

> 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.

Re: Why AI hasn't replaced software engineers, and won't

#124

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 peop…

> 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 j…

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!

Re: Why AI hasn't replaced software engineers, and won't

#125

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 la…

Forget weekend projects, people are using AI for talking to each other via IM! It is infuriating!

Re: Why AI hasn't replaced software engineers, and won't

#126

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 becom…

[deleted]

Re: Why AI hasn't replaced software engineers, and won't

#127

Earlier quoted context omitted.

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 essentia…

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 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.

Re: Why AI hasn't replaced software engineers, and won't

#128
post #101

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 we…

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 increasingl…

> 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.

Re: Why AI hasn't replaced software engineers, and won't

#129

Earlier quoted context omitted.

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…

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…

This reward function goes against the essence of machinery - there is no reward function in machines. That’s what so great about them.

Re: Why AI hasn't replaced software engineers, and won't

#130

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 we…

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.
Post reply on HN