IBM's CEO doesn't think AI will replace programmers anytime soon
techcrunch.com
techcrunch.com
My common use case is basically just writing some code in the style I use. Then I'll tell the LLM, "Do X based on Y using the rest of the methods in Z". The code I would write would look exactly the same. I just the LLM as a shortcut to getting the code written.
Like, I'm not depending on any sort of knowledge within the model. I just use its natural ability to be a smart templater.
If using AI this way counts as AI written code. Then sure, I reckon you could easily get to 90% AI written code in loads of applications. But in terms of developing a product or feature from just plain english prompts alone? Definitely lower, and definitely babysat with someone with software development knowledge.
I called this the "authoritarian" approach here: https://simonwillison.net/2025/Mar/11/using-llms-for-code/#t...
I had a bunch of accessibility-related tickets that were mostly about adding aria-attributes to React code involving mainly MUI components and got good answers off the bat with the code changes made but going back and forth with it we found other improvements to make to the markup beyond what was originally asked for.
At some point, you have to be able to replace all of them (or all the work they currently do), or else all you do is screw up the pipeline you need.
I've seen lots of AI companies who believe they will replace junior software engineers, and leave the senior ones in place to do really complex things and drive the AI.
One serious problem with this, obvious, but often totally ignored or handwaved, is that senior software engineers do not grow on trees, they were yesterday's junior software engineers. So once you've gotten rid of all the junior software engineers, you will no longer generate any more senior ones. When combined with likely increased attrition of senior software engineers, seems like a wildly bad plan. Or at least, something that needs to be taken into account but never is.
Now, plans to replace all of them are at least logically coherent, but also seem far-fetched at best right now.
By numbers, people do appear to be replacing software engineers with AI (the number of new software engineer jobs has dropped something like 30%, even relative to other jobs, but no linked causation obviously), but every company i talk with that is doing this keeps telling me they are just replacing their junior engineers, which is hilarious - they all expect they can just continue to hire senior engineers they need from "somewhere else". Freeloading works until it doesn't.
I have yet to see any evidence that AI companies are actually thinking about what they’re saying. They’re just trying to move markets and make money.
In some cases they’re saying two different things. For example, Microsoft (arguably more a general software company desperately chasing AI rather than an “AI company”) would in one breath have you believe that the modern workplace will not survive without AI, while in the next breath Nadella is on the record noting that AI can’t exist without an ROI, and they’re not yet seeing an ROI that justifies it generally.
The OpenAIs of the world can’t imagine a world where the premise of their product isn’t the default/a given, so they simply engage as if their vision is entirely sensible.
it's because those who are making these replacement decisions are at the CxO level, and they think software engineering is like factory workers. Cogs. A commodity that will always exist.
And not to mention the whole process of senior decay will happen over a long period of time - these CxO's have retired by then with their golden parachute.
> He disagreed with a recent prediction from Dario Amodei, the CEO of Anthropic, that 90% of code may be written by AI in the next three to six months.
> "I think the number is going to be more like 20-30% of the code could get written by AI — not 90%"
I kind of agree with him. Definitely not in six months :)
Still amazing for time saving but so far I haven’t been able to get even a SwiftUI class written to the standard I’d use it as-is.
Lots of code is boilerplate or large switch statements (esp in OOP), or other such things. All of which AI code completion makes a breeze. The actual hard parts of code (often the various ways of connecting two disparate systems), AI doesn't really help with unless you tell it what to do and how, so you're still the ultimate important decision-maker in this scenario and can't be "replaced"
I already find myself building prototypes that I never would have attempted previously; it’s just too easy to have the LLM whip one up. LLMs also make it easier to do “grunt work” coding of writing validation checking and unit tests on non-critical code where previously I wouldn’t have bothered.
I certainly hope not. But three to six years from now? I’m not so confident.
If LLMs get to the point that they can unpack almost any logic that one might need for a function or class that’s amazing, but if it doesn’t understand the why, I think that leads to fundamental limitations in progress.
And maybe I’m still not using the right tools, but I’m not finding cursor/claude 3.7 to be close.
The idea that they can replace workers is laughable. I am afraid though that the current state of LLMs is too expensive for its use case. So I'm trying not to lean too much on them.
It's sort of immediately ridiculous that these LLMs could replace real people.
First of all, I’m writing a game and the game is a 2 player game, and I noticed it rewrote the “move player” function for each player (move_player_1 and move_player_2) and they were the same, and this was like a poorly written 50-100 line function with an excessive number of comments, so is AI really writing 20% of code that would have been written? This is like evaluating the quality of a software engineer by the number of lines of code they write.
Second. Let’s say you thought you were going to get a consistent 20% improvement. That would be amazing, but there’s two ways to conceptualize that.
One is, if I have 5 engineers managing 5 pieces of software, I can do the same work with 4. But can engineers really take on the mental load of managing another piece of potentially complex software?
The other option would be, I have 5 engineers managing 5 pieces of software, and we get 25% more work done. I think this is more likely. Every software project has a mountain of tech debt or nice to haves that you don’t have time to finish. Maybe AI makes software writing more pleasant because you can get more done in a sprint/pr, but doesn’t actually require less software engineers.
Startup CTOs are the people deciding how much code is going to get written by AI. They're going to be building products in new, untested ways. Mostly failing, some succeeding. Technical growth doesn't come from established majors. The entire AI boom left Google doing a cartoonish impression of being run over by a gaggle of bystanders heading to the next big thing and they thought they were actively researching and leading the field of AI.
As news of what IBM is doing he's a leading authority, but following IBM's exploits is going to be skating to where the puck was last year on a good day.
I think it's pretty obvious that generative AI isn't replacing the need for engineering - ever.
And you know what? If it works it works - regardless how it was produced.
What is the most impressive thing you have managed to get an AI to code - WITHOUT having to babysit it or give it any tips hints or corrections that a non-coder would have been unable to do.
I wonder over time how those small, infrequent updates might hamper the ability to perform the next, small infrequent update (as your code begins to resemble less and less any examples the AI might have seen and more and more a kludge of differing styles, libraries, etc.), but that's really not any different than how most projects like a personal website operate today.
So like, I have code to find optimal production chains and solve the node graph, using ILP through pyomo or Z3.
Some of the optimal production chains are ... a lot of nodes, as are plenty of factories. Without really good layout, it becomes a mess. Existing modelers sort of suck and have no auto-layout.
I bridged Elk (and elk.js, actually) into python, but wanted a fallback since this was ... crazy enough already and who knows if it will work on anyone else's computer :)
So AI wrote me about 4000 lines of just about 100% correct python graph layout code. In batches, one algorithm at a time, that i then combined. I did have to tell it what I wanted piece by piece, so i had to learn a lot about it - i could not get it to do all the pieces at once iteslf. I suspect due to context length limitations, etc.
It comes very close to ELK when it comes to this type of layout (elk supports other layouts, edge routing, etc), and implements the same algorithms with the same advanced techniques.
And TIL about elk! I've had kind of a half project, called `gstd`, which tries to create a standard library/API to make working with node graphs in code as easy as working with other abstract data types, like Arrays. One of the important bits is that it lets you console log a graph so you can see it. I've been using d3 force directed graphs for layouts, and have played around with some custom layout algorithms, but have yet to find a good solution. Elk might actually be just what I've been looking for there!
Thanks for taking the time to respond!
Here’s the initial conversation if you’re interested: https://grok.com/share/bGVnYWN5_9ce1bed4-7136-4761-b45e-0ab0...
I think this already falls out of OP's guidelines, which you pointed out are quite strict. They also happen to be the guidelines an AI would need to meet to "replace" competent engineers.
I haven't heard of any prediction that AI will completely replace all programmers.
Programmers aren't paid to generate code. They're paid to figure out how to do X Y and Z business initiatives. Unless you don't have that many initiatives, how much sense does it make to let go of the people who can do that for you? It makes sense when companies are trying to cut costs, but that happens when the cost of borrowing is higher than the realizable profit margin
Though I’ll admit LLMs have been weirdly good at regex.
Make a vbscript to toggle scroll-lock every 15 seconds ... to prevent system from auto locking
Ad hoc text processing ... like strip the HTML from this snippet (drop-down list copied from a web page DOM)
Did this over a few weeks in my free time and now it has all of the features of accessibility monitoring SaaS that I was previously paying $600/mo for.
Case one. I configured IPsec VPN on a host machine which run docker containers. Everything worked from the host itself, however containers were not able to reach IPsec subnet. I spent quite a bit of time, untangling docker iptables rules, figuring out how iptables interacts with IPsec, running tcpdumps everywhere. However my skills were not enough, probably I would resolved the issue given more time, however I decided to try ChatGPT. I made a very thorough question, added everything I tried, related logs and stuff. Actually I wanted to ask the question on some Linux forums, so I was preparing the question. ChatGPT thought few minutes and then spewed one iptables command which just resolved the issue. I was truly impressed.
Case two. I was writing firmware for some device using C. One module was particularly complex, involved management of two RAM buffers and one external SPI buffer. I spent two weeks writing this module and then asked ChatGPT to review my code for major bugs and issues. ChatGPT was able to find out that I used SPI to talk to FRAM chip, it understood that my command usage was subtly wrong (I sent WREN and WRITE commands in the one SPI transaction) and highlighted this issue. I tried other modes, I also tried Claude, but so far only o1 pro was able to find that issue. This was impressive because it required to truly understand the workflow of the code and it required extensive knowledge of protocols and their typical usages.
Other than that, I don't think I was impressed by AI. Of course I'm generally impressed by its progress, it's marvellous that AI exists at all and can write some code that makes sense. But so far I didn't fully integrate AI into my workflows. I'm using AI as Google replacement for some queries, I use AI as a code reviewer and I'm using Copilot plugin as a glorified autocomplete. I don't generate any complex code with it and I rarely generate any meaningful code at all.
It doesn't always work, but I have an easy, quick way to test it out. When it does work, I've often saved lots of time.
I find that question impossible to answer, because my programming experience influences everything I use LLMs for. I can't turn that part of my brain off.
Getting AI to write code for you starts with understanding what's possible, and that's hugely informed by existing programming knowledge.
I won't ask an LLM to build me something unless I'm reasonably confident it will be able to do it - and that confidence comes from 25+ years of programming experience combined with 2+ years of intuition as to what LLMs themselves can handle.
Essentially, for "real-life work scenarios", the performance is not that great comparing to gpt-3.5 with the exception of Claude 3.7 and GPT-4.5. Bear in mind, the question was not "challenging" in a "genius thinking required" way.
That being said, I use LLM regularly for discovery. They do waste some of your time because of hallucinations but you can call their bullshit most of the time and if not, it is still faster than Googling.
I think AI will benefit more senior 'architectural' programmers the most.
It won't completely replace programmers of course, and certainly not in 6 months, but it will quite likely substantially reduce the need for the boiler-plate programmers typical of the offshore and H1B industry.
"In a leaked recording, Amazon cloud chief tells employees that most developers could stop coding soon as AI takes over" - https://www.businessinsider.com/aws-ceo-developers-stop-codi...
""If you go forward 24 months from now, or some amount of time — I can't exactly predict where it is — it's possible that most developers are not coding," said Garman, who became AWS's CEO in June.
"Coding is just kind of like the language that we talk to computers. It's not necessarily the skill in and of itself," the executive said. "The skill in and of itself is like, how do I innovate? How do I go build something that's interesting for my end users to use?"
This means the job of a software developer will change, Garman said."
If that’s my job, why do I have no influence on the product?
What’s the point of product managers?
Many of us have been asking this for years. Including those of us who have been product managers.
"Coding is just kind of like the language that we talk to computers. It's not necessarily the skill in and of itself"
they’re talking at the devs, but really talking to the market, since their job is partially to pump their own stock price.
You can’t believe public CEO statements.
Can you get me a job where you work?
Everywhere I’ve worked in the past 10 years as a developer, I’ve had 0 ability to do whatever the fuck I want.
I guess it's a cultural thing. Our CEO and CTO still commit code every other week (occasionally driving us mad), it's still a very bottom-up org despite having thousands of people now.
IBM pushed Linux very hard and contributed significantly to it's adoption- it would be revisionist to think otherwise.
They also created quite literally legendary laptops, before deciding that they didn't want to and then moved on.
I mean, their stock is not hurting as much as we think of them as a relic of the past: https://finance.yahoo.com/quote/IBM/?guccounter=1&guce_refer...
IBM has many shortcomings but they did manage to survive and navigate a century of tumultuous technological changes. Very few companies have done that.
But my feeling about AI is it a scam to wrestle money from stupid investors :)
I suspect his enthusiasm for AI is going to keep cooling down.
As of right now the code assistants mostly just make existing coders more productive -- predicting 20 or 30% of new code in near term will be generated is not unreasonable -- 90% is a stretch as has been discussed here many times
If I code a system, then that system has a bug; or if I use Illustrator to make a drawing, then the stakeholder says they want the tree a different shade of green; correcting that error after delivery is reasonably easy.
If I ask an AI to do either of these things, even if I'm still being paid to be in the room (many supporters would argue this system has replaced me, and thus I'm not even in the room anymore): How does this correction happen? The operator has to take off the vibehat, dig in to the inevitable machine-generated mess the AI has created, and learn everything its done in order to diagnose it (or, keep prompt-praying it comes up with a solution on its own).
Getting past this feels like a fundamental issue with the proposed process. AIs are trained on human data, and prompted by humans, who are imperfect. I don't think its reasonable to assume that AI will ever be able to generate perfect solutions, if only because we will never be able to engineer prompts that adequately encapsulate what the prompter wanted, let alone if the AI makes no errors in its generation.
If we can't get to that, its obvious to me simply knowing how much of my time is spent every day [writing code] versus [debugging existing code] versus [gathering requirements] that AI is doing any significant amount of any of that unsupervised will not result in a more productive system. It will always be most productive for me to leverage (or tightly supervise) AI in its generation, intercepting errors before they compound, directing the flow of output.
I do think the roles and responsibilities of devs is going to change a lot over the next ten years; from crafters to soothsayers or oracles one might say. But I am still very comfortable betting my career on:
1. Someone (meaning: human) needs to do the soothsaying.
2. Those classically trained in software engineering will be the most effective people to do this.
3. The amount of stuff one individual can output will be amplified, but there will still be a reasonable per-capita maximum of output, and thus the industry, in its ever-increasing desire for code and ever-increasing need to manage the output of AI, will continue to demand more soothsayers.
My take: the truth will lie somewhere in between, with the balance moving into the AI corner with time. Also, the real truth will emerge from IBM's financials. The growth (or decline) of their revenue from Software Contracts will speak for itself over the next few years.
Also, from what I'm seeing in the Industry, the number of Software hires have begun to decline with more engineers being let go.
I mean, he's right, but come on.
IBM still has a consulting business, but focus on AI, so if anything "replacing human programmers" would be their breads and butter.