Jonathan Blow – If AI Solved Coding, Why Is My Software Still the Same? [video]
youtube.com
youtube.com
In the last 3 years, there have been a lot more indie games of far higher quality than we used to get. I'm thinking of the RTS space right now. The Scouring for example. We went from having nobody but Blizzard able to make something that complex to several games with outstanding performance and complexity, often with their own custom game engines that are not only working but working better than I remember wc3/sc2 working at launch.
I don't know how much of a role AI is playing in those games, but I think the performance and complexity of indie games is shooting up and we are seeing very, very small teams make things that large teams struggled with in the past. Honestly, I think indie studios are outperforming AAA in most ways besides spend and length and art budget --and yet, it's the indies who are making their own game engines these days, isn't it?
(btw, we have to also admit that many of these game engine builders look to blow for inspiration (to carmack too), and their architectures are not what you'll find at typical saas companies. Game coding is complicated in a really fun way I didn't get doing plumbing on web projects, speaking for myself)
AAA and indies now use the same engines for the most part
In game dev however, there's a lot fewer reliable open source tools around. You have a game engine, a small number of great plugins, and a lot of dodgy stuff. You have to/get to make a lot of things yourself.
The scope and complexity of indie games, even allowing for this, is still increasing staggeringly.
...and don't get me started on unreal engine physics and pathfinding issues, or rendering bugs in unity
Indie games didn't get THIS good because of Unity and Godot, if you think that you're deluding yourself.
I've done amateur and professional game-dev and Unity and Godot existing don't make making an FPS any easier than before, engines have existed for a long time.
A solo dev can create (from scratch) an FPS engine, assets, music, levels from scratch over a weekend now.
This is only possible with AI.
And when they do, this is what we get:
There's been a lot of good indie games recently (Queen's Domain[0] being a recent example that's taken off) but I don't know of any which are using an AI-coded engine or use AI-generated assets extensively.
[0] https://store.steampowered.com/app/1799840/Queens_Domain/
Just recently, someone used AI code to fix a Unity engine bug and hand-wrote the rest, and it still caused a huge uproar. It's a world where honestly disclosing that you used AI code is not a good idea.
[0] https://www.unrealengine.com/developer-interviews/meccha-cha...
What does "from scratch" even mean when using an LLM trained on existing assets, music, art and code? Why even bother with that parenthetical? No one believes an LLM creates ex nihilo like God.
Show me the AI generated game that's superior to Balatro, or Hades, Or Undertale/Deltarune? Cult of the Lamb? Expedition 33? Factorio? Kerbal Space Program? Ultrakill?
It not being easy means it requires actual effort and skill, and effort and skill are where the quality comes from. No one is ever going to care about whatever vibe-coded slopfest you had Claude shit out over a weekend. Being able to make low quality low effort shit quickly is not better.
1. Hardware advancements mean that you can get the same results with less optimized code (this is what allowed 3rd party engines with GC scripting languages to become popular)
2. The proliferation of learning resources and open source code.
3. The budgets and size of indie studios as well as total time spent on the games. Seriously look at some of the games these days that get labeled indie.
Warcraft 1 (my first RTS) had just 4 programmers. And only one of them was on the project the whole time. And the entire project was only 14 months.
Their workflow was:
1) Arrive at work. Get coffee. Fetch latest code from Visual Source Safe.
2) Turn on Xbox. Hit F5 to build, deploy and start debugging on target.
3) Edit and Continue C++ in debugger IDE all day on target without ever bothering to stop the game. (Yes, this took some coding discipline to maintain.)
4) Turn off Xbox and go home.
Between the Visual Studio debugger and the Whole Tomato coding assistance, it was easy to understand the code and the runtime behavior. For anything GPU-related, Microsoft Pix for Xbox gave you a scrubbable timeline of every action, every pixel, every register change in the GPU while drawing a frame.
The hardware capabilities, available libraries, and artist tools have increased tremendously since then. But, the coding experience has not. 20 years later, I'm outside of gaming and I find most people using re-run-and-printf debugging for professional development. Even locally. I don't know how anyone gets anything done.
The only significant improvements I've seen in 20 years (besides the occasional memory tracker or profiler tool) has been AI agents and reversible debuggers. Otherwise, it's all been downhill since 2004.
Gamedev programming probably hit a low point for me when XBox One and WiiU came around. Those were some truly awful experiences.
For WiiU, Nintendo used the Green Hills compiler. Their entire toolchain was simply clunky and unstable. You had to use this MULTI debugger which often didn’t work. My favorite line from their dev docs was “c++ not fully supported”. Well, that’s an issue since we used that extensively. It wasn’t even clear what actually wasn’t supported.
* before and after rails;
* before and after js UI frameworks;
* before and after scaled machine learning;
* now before and after LLMs;
And saying we haven't advanced much is wild.
And I agree, it’s because organizations and people haven’t changed (yet, if you’re being positive) what it is they’re optimizing for and how they do work. AI gives you more of what you want and gives it faster, that doesn’t on its own change the culture or goals of a company.
but when you have requirements,
why not render the code to fulfil them?
> why not render the code to fulfil them?
Because 95% of the time the LLM can turn the requirements into code, faster, cheaper, and with fewer defects on the first attempt, than most humans.
The ancients knew it all along!
What utter twaddle.
I’m old enough to remember pre AI programming and it very very much was the bottleneck.
So old enough the remember the ancient times back in 2023?
The Heuristic Compiler, dating back to the early 1960s, is generally considered the first instance of AI programming.
Maybe you mistakenly confused AI with a particular AI technology, like LLMs? But even then we had LLM-based code completion tools in 2020.
Is 2023 when you became old enough to start remembering things?
For some years I have been successfully using the following rule of thumb for scheduling a software task:
l/3 planning
l/6 coding
l/4 component test and early system test
l/4 system test, all components in hand.
The separation can be blurred if you follow an iterative approach (also explained in the book), but it aligned roughly with my experience. And whenever I helped a colleague in the past, coding was not the problem. It was either the lack of planning (no data modelling, no rough algorithm design), or no test setup (trial and error coding). It was never the coding part. Syntax errors is trivial to solve (with any good editor) and most libraries have good reference docs (not learning the library is an orthogonal matter).It meshes with my experience. Coding was never the bottleneck. Understanding what the customer/business wanted or needed was always the vast majority of the time spent on a project. A developer might not have seen that, depending how the organization worked. If you got specs from a manager you might not have been aware that those were 6 months in the making. If most of what you experienced was writing code then that could feel like the bottleneck especially if your manager demanded frequent status reports.
Have this been measured, not comparatively, but absolutely? Where you plan, but don't code, instead leave the task to an agent (while you do something else), then test the result (maybe a quick look at the code), and ship. Is it sustainable? Or is it for greenfield setup and common ideas (things you would use tooling and snippets before)?
> What's left is "planning" which under a modern iterative model apparently includes deployment/distribution and getting/understanding/incorporating feedback.
That is not "planning" means. Planning is usually understanding, research, and design.
AI has been a huge disruption to that status quo though because it enables people like me that were stuck managing these bozos to just do the thing on a timeline that wasn’t feasible before. AI also removed any excuses these people could make for never getting anything done. It exposes clearly for anyone tangentially involved in these projects that the devs often can’t even begin to understand the problems they are trying to solve.
With the level of detail that I had to specify things for them to be productive, it’s easier and more effective to just give that (often much less detail tbh) to GitHub Copilot or Claude.
It has massively changed the game for me and helps me enjoy my job quite a bit more.
so actually it sounds like coder management was the bottleneck, not coding itself.
I'm doing truly astounding - stupefying - levels of work. Others on my team are actively resistant to my advice but the C Suite isn't.
The numbers are shooting up and to the right but people don't want to get on board. It's too much too fast.
Edit. Consider your own reaction to my statement if down voting.
If you keep doing the black box approach you will be deskilled in the medium term and your input less valuable.
If you are reading the code, explain how you can do the claimed amount of work, since whenever I review output it's a huge bottleneck
> Consider your own reaction to my statement if down voting.
Down votes in reaction to comments like these are almost always due to there being no evidence shared when these claims are made. Share the astounding, stupefying amount of work you're getting done because you've figured out the tools and watch as your down votes magically turn to up votes.
Recall the study done with open source devs, every one of them believed they were more productive with AI than without, yet the net effect of AI resulted in a 19% loss in productivity.
Revenue is one of those numbers, right? Right??
> It's too much too fast.
Yes, that’s exactly what being over-leveraged looks like.
“The number one indicator of fragility is leverage” -Nassim Taleb
We have one of you at my work. He’s a god, but for the wisdom.
A lot of things that I've paid for subscription services in the past I've just replaced with personalized software for myself. It's not something I would ever release publicly for others to use because I'm sure there's a million edge cases that wouldn't work for a broader audience, but it's perfect for me and saves me a ton of money.
Does this mean that jig makers out there are out of business? Sort of, they need to sell jigs complex enough that you wouldn't want to / be capable of making.
It also wasn't functional before-a-days [=
You should peak inside some old COBOL codebases running some of the most important software in the world [=
This has been a core feature of Outlook for so long that it might as well be considered day-1 functionality. Why it breaks like this in 2026? Who knows...
Blow is more renown for running his mouth and shitting on other people's work rather than any of his own work.
So what argument is there to be bearish on it when it is in infancy? If you just want to go with "the quality sucks" well, sure, but it sucked a lot more two years ago, which means it sucks a lot less today, and in 2 more years, it will suck even less. I'd use different adjectives personally, cause I find it's pretty decent now (opus 5.5) and i'm pretty optimistic about what comes next.
It's a solution to something that shouldn't be a problem in the first place, if the OS was designed better.
He regularly denies the use of new technology that is genuinely useful, and is a fairly conservative dude (I mean in the non-political sense. I do not know his politics. He may be a conservative politically as well, but that would be independent of the point I'm making.)
I've worked with many engineers at many different scopes. Big companies, indie darlings, web services, games. Games is always the last to adapt, always the last to think that anything they didn't invent is worth their time. Blow has experience in that domain, and is colored by working in it, but I don't think he knows what's happening on the bleeding edge very well.
On steamdb.info, Order of the Sinking Star has 1830 players right now, 2404 over a 24 hour peak, and 8247 all-time peak last month which was when it was released.
It is just beating out Cuphead, which released in 2017.
And yet... the app works efficiently, has features like shape-smoothing for hand-drawn freeform annotations (I wouldn't even know where to start if I were tasked with this on macOS, for example), it's designed far more beautifully than I could have done, even after a decade of studying UI/UX, etc
Yes, AI solved coding... mostly. At least for indie devs.
I have a personal project where I am merging 100+ PRs a week and at work I would be lucky to merge 8. I spend 20x as much time trying to get PRs merged as I do actually doing the work.
I'm on a project with 4 other people working on 4 or 5 microservices and I would get more, better, work done if I were on a team alone managing all 4 or 5 microservices myself.
So the answer to why we don't see AI productivity gains more broadly is, unfortunately, enough people have not been "re-orged" away.
Legal has much more authority , and far less familiarity with the product, or even the customers. So they demand orthogonal, complicated and impractical requirements that are not even beneficial for risk mitigation. And they are slow at providing them – usually the bottleneck.
It’s not a simple LOC/day formula. If Southwest Airlines wanted to make major software improvements tomorrow, it certainly wouldn’t be the engineering team armed with Claude Code holding them back.
Anything that makes code more available to "normies" is something Jonathan Blow will absolutely hate. Why? Because Jonathan Blow HAS to be the smartest guy in the room, if he's somehow not the smartest guy in the room, there is something wrong with the room, nothing is ever wrong with Jonathan Blow.
So of course, Jonathan Blow thinks AI coding is terrible, only Jonathan Blow can be the best coder in the world, anyone who thinks otherwise is a total moron.
If you don't hand-roll your own programming language and game engine to make your own game, you're a moron. Hell, he even has a video where he basically says if you don't make your own version of JSON and associated parser, you're a fucking idiot.
What I'm saying is this, Jonathan Blow's ego only sustains itself on the idea that he is right about everything and the smartest person on any given topic. The idea that AI might be better at coding than him causes him to implode in a narcissistic rage.
Is it strictly necessary? Most certainly not. I've met equally dedicated and talented individuals who are fine adapting to existing tooling and working around idiosyncrasies rather than improving the tooling. That personally drives me batshit, but I can stomach it if required.
The people who said building software wasn't the hard part before were right, you still need interesting problems to solve to find interesting things to build. Gotta get out of the tech bubble to find those. There aren't many interesting problems left to solve for other tech bros
(HN is also a very big fan of this hypothesis, without realizing it has gotten weaker with time. In their defense, I don’t think anyone wants to think about COVID anymore)
He thinks he's the foremost expert on basically any topic, from literature to politics, to science, to videogames etc.
Because the Witness is a tedious slog, as is Order of the Tediously Long Title.
The hardest part of the Witness is the fact you aren’t told the rules of the line-drawing puzzle you’re presented. But often, they’re not that hard to discover. It’s not half as clever as Blow thinks it is. It’s essentially “what number am I thinking of”? Then being called a fool when you didn’t guess 12,859,155. Cool.
Especially in The Witness where there are times where failure of a puzzle forces you to re-input previous puzzles. Or there are a couple of dozen of the same puzzle with only minor variation with the same rule. "Yes, I can draw an L", "Yes, I can draw it backwards", "Yes, I can draw it and a cube, truly a masterfully built puzzle".
Why would you want to be told how a puzzle works if you can discover it yourself? Tutorials are boring, discovery through trial and error is exciting.
This doesn't just apply on the level of raw puzzles, but also on a meta level where you start understanding the ideas and concepts behind the puzzles, and then the absolute best part when you understand how these ideas and concepts interconnect (or are related or mirror each other, no pun intended).
Also, I find that his games aren't tedious at all. Sure, you might get stuck on a puzzle occasionally. But then you just go somewhere else and come back later. Or you go to sleep, gain the critical insight in your dreams, and then solve the puzzle. (I'm not kidding about that! It works wonders to sleep over a puzzle.)
I have not experienced any other games that's are as enjoyable as Blow's, not even close. But of course different people have different preferences.
If you don't enjoy the thinking and figuring things out, then maybe these games aren't for you. But every curious individual who loves playing with and enhancing one's mental understanding of abstract ideas, should absolutely play Blow's games.
Something about the lone programmer off goat-skinning every aspect of the tech stack, while telling you how you are writing software wrong...
Track record isn't everything, especially for people early in their career, but when somebody ships successful products as consistently as Jonathan has for decades, that can no longer be ascribed to luck or anything like that. There must be some far-above-average skills involved.
My friend is in managment at faang and he said ai has changed how tech coders now behave at work. he is enjoying the fact that "their tails have been cut by AI". Made his management job infinitely easier.
why is this downvoted?
That's a bit of a myopic view. Imagine someone asking the same question a few years after the invention of the printing press.
It's not hard to find examples of how AI is changing things. To take just one example, look at how it's revolutionizing research in science and mathematics. I wouldn't expect this to change the average person's life overnight, but there are absolutely going to be huge breakthroughs in the next few decades.
We're talking about something that speculatively invalidates all digital data. All code created prior is seen with lesser value to the point of commodification because of its existence. We are past the slow erosion of trust of the photoshop or Wikipedia era. You can't trust anything digital anymore. Encryption is our last hope, and companies now join governments in the race to break it.
Perhaps a bit of a leap but based on their phrasing, I'd be very critical of a viewpoint in management who believes themselves immune from what's occurring to specialized talent across the board. We are intergalactially far away from IBM's "never let a computer make a management decision." A concerningly large number of people submit their data, thinking, and agency to these tools. The impact is real even if not personally felt or in your backyard.
Manager. FAANG. Enjoys the misfortune of the people he manages. Your friend sounds like a prick to me.
Yeah, I see this attitude a lot. People seem gleeful that software devs are getting kicked in the teeth, but honestly the business practices in software already have been kicking my ass my entire career. I've never felt like a respected, valued individual at any company I've worked for. I've only ever felt like an assembly line worker and accountability sink for my bosses. Someone to pile shit on, and then blame if stuff goes wrong.
My career has been full of overtime, evenings and weekends, overnight deployments, crunch time, layoffs, and for most of it I wasn't even making lots of money. It's only a couple of years ago I started making more than six figures, and now I'm laid off again and wondering if I'm even going to manage to get another job at all, nevermind one that pays as well.
I made the wrong choice in careers twenty years ago, tell you that much. Now I don't know what to do, but people are happy my tail has been cut, as if they haven't already been kicking my ass for ages. :/
Hard to feel anything but resentment anymore
The direction was clear for last 2 decades with every little feature broken into dozens upon dozens of tickets for better management . And now with AI each JIRA story can have its own design doc, testing doc, usage guide and so on. And management does seem happy by increasing number of artifacts which implied quality work done.
Realistically speaking, AI raised the average quality. Among today's AI slop games, there are many that would have been "at this level of quality, this game could succeed" in the past.
Realistically, that's how it is. So there will be many people telling bad-luck stories like "ever since AI came out, GitHub has stalled," but I think that's closer to the opposite — AI increased production so much that the supply chain itself can't keep up.
The thing is, I can't really agree with the claim that software is the same. I don't know about open source, but when I think about the state of code in code delivered to clients, I think there has been a dramatic rise. Separately from that, because products are pouring out, I think consumers' quality demands are rising far faster than production. Comparing early smartphone games with today's AI slop games makes this even more palpable.
Blow and coders have a hammer so all they see is nails; it didn't "solve coding" AI solved "machine state management". Totally different; human tagging/coding will still exist just at the presentation layer cause we don't need a bunch of syntax like:
def sumAllCustomerAccounts() { Some desired physical state of machine based on mathematical axioms }
AI solved naming that function (the coding with human context part) with
f() { generate a function to add all customer balances}
We moving on from 1960s and 70s machine state management, pushing context coding to the presentation layer
Blow is just doing that thing humans do where they wrap their entire identity up in who they were 30 years ago and still think that's who they are today and will be tomorrow; rotary phone companies, bowling alley equipment manufacturers... new generations are superseding them... circle of life Simba
Not really gonna put Blow and Carmack on a pedestal; they never invented computers or software dev. They came along in the middle of the hype. The read the manual for old machines. We're just moving on to new kinds of machines.
People flipped out over the printing press too. Nothing to see here; it's just the upper bound of the middle age generation having a mid-life crisis