Software Is Changing (Again)
Y Combinator (transcript, slides, via Duncan Davidson, Hacker News):
Drawing on his work at Stanford, OpenAI, and Tesla, Andrej [Karpathy] sees a shift underway. Software is changing, again. We’ve entered the era of “Software 3.0,” where natural language becomes the new programming interface and models do the rest.
He explores what this shift means for developers, users, and the design of software itself— that we’re not just using new tools, but building a new kind of computer.
He says that LLMs are, in a way, the new operating systems.
Thomas Ptacek (via Nick Lockwood, Hacker News):
Some of the smartest people I know share a bone-deep belief that AI is a fad — the next iteration of NFT mania. I’ve been reluctant to push back on them, because, well, they’re smarter than me. But their arguments are unserious, and worth confronting. Extraordinarily talented people are doing work that LLMs already do better, out of spite.
All progress on LLMs could halt today, and LLMs would remain the 2nd most important thing to happen over the course of my career.
[…]
but the code is shitty, like that of a junior developer
Does an intern cost $20/month? Because that’s what Cursor.ai costs.
Part of being a senior developer is making less-able coders productive, be they fleshly or algebraic. Using agents well is both a both a skill and an engineering project all its own, of prompts, indices, and (especially) tooling. LLMs only produce shitty code if you let them.
Gergely Brautigam (Hacker News):
While the post is funny at times, I feel like it’s absolutely and completely missing the point of the skepticism. Or at least I feel that it is glossing over some massive pain points of said skepticism.
You gotta look at the iOS app. This is a completely agent-built port of the web frontend.
ageesen (via Peter Steinberger):
I’ve been using CC NON-STOP (think 3 or 4 five hour sessions a day) over the last 11 days. Mostly Opus 4 for planning and Sonnet 4 for coding. I have a workflow going that is effective and pushing out very good quality code.
I just installed ccusage out of curiosity, and was blown away by the amount of daily usage.
Any of you feeling the same kind of urgent addiction at the moment?
Like this overwhelming sense that everything in AI tech is moving at light speed and there literally aren’t enough hours in the day to keep up? I feel like I’m in some kind of productivity arms race with myself.
Don’t get me wrong - the output quality is incredible and I’m shipping faster than ever (like 100x faster). But this pace feels unsustainable. It’s like having a coding superpower that you can’t put down…. and I know it’s only going to get better.
Well, over the last year or so, I’ve made the biggest-ever change to the way I write software. I now code with AI assistance all the time. Here’s why. Here’s how.
[…]
I write fewer lines of code than ever— by hand in the old-fashioned way—yet I create more code than ever. What’s more, as far as I can tell, there is no detectable reduction in quality. I’m just faster at making changes, fixing bugs, and turning out more features.
[…]
I still think of the features ideas. I still plan how I want the features to be implemented. I still read over all the code before I commit—and I still take the same responsibility over the code I merge—but I don’t write each and every if/then or function call anymore. No more typing out boilerplate code, either. I no longer have to. The AI does this grunt work for me.
My mind feels freed up. I remain at the higher levels of abstraction, with more time to think about ideas and plans. There’s less cognitive overhead in attempting things, so I attempt more things.
I still don’t really get how to apply this to my work. Most of what I’m doing is already thinking vs. typing grunt work. Describing how to change or enhance my existing codebase seems more daunting than just doing it directly. Is reviewing code written by an AI actually like reviewing code written by another human? And how does it help you fix bugs?
These days, I do most of my coding in python. I don’t love the language—maybe someday I’ll say why in more detail. However, since the models know python so well, it is possibly the most effective language to use for AI coding. Unlike other languages.
At work I’m developing a new iOS app on a small team alongside a small Android team doing the same. We are getting lapped to an unfathomable degree because of how productive they are with Kotlin, Compose, and Cursor. They are able to support all the way back to Android 10 (2019) with the latest features; we are targeting iOS 16 (2022) and have to make huge sacrifices (e.g Observable, parameter packs in generics on types). Swift 6 makes a mockery of LLMs. It is almost untenable.
This wasn’t the case in the 2010s. The quality and speed of implementation of every iOS app I have ever worked on, in teams of every size, absolutely cooked Android. I have to give Google credit: they took all of the flak about fragmentation they got for a decade and grinded out the best mobile developer ecosystem in the world, and their lead seems to be increasing at an accelerating pace. I am uncomfortable with how I have positioned my career, to say the least.
To be clear, I’m not part of the Anti Swift 6 brigade, nor aligned with the Swift Is Getting Too Complicated party. I can embed my intent into the code I write more than ever and I look forward to it becoming even more expressive.
I am just struck by the unfortunate timing with the rise of LLMs. There has never been a worse time in the history of computers to launch, and require, fundamental and sweeping changes to languages and frameworks.
There were pros and cons to Apple’s approach over the last decade. But now there’s a new, and major con: because Swift 6 only debuted last year, there’s no great corpus of Swift 6 code for LLMs to have trained on, and so they’re just not as good — from what I gather, not nearly as good — at generating Swift 6 code as they are at generating code in other languages, and for other programming frameworks like React.
To hear the AI fans tell it, I, the developers we write about, and nearly everyone else will be out of jobs before long. Some days, that threat feels very real, and others, not so much. Still, it’s caused a lot of anxiety for a lot of people.
Rand Fishkin (via Hacker News):
Over the weekend, I went digging for evidence that AI can, will, or has replaced a large percent of jobs. It doesn’t exist. Worse than that, actually, there’s hundreds of years of evidence and sophisticated analyses from hundreds of sources showing the opposite is true: AI will almost certainly create more jobs than it displaces, just like thousands of remarkable technologies before it.
I’ve been an independent Mac developer for going on twenty years now (yikes!).
[…]
My initial reaction was pretty skeptical, since it’s clearly full into its hype cycle at the moment, and the previous hype cycle of crypto/blockchain/Web3/NFTs has pretty much proven to mostly be a way to run more elaborate scams. As time has gone along though, it’s undeniable that this LLM stuff has actual utility, even if it’s being thrown at everything under the sun by CEOs in hopes of being able to pay less money to their employees.
[…]
But the code itself isn’t actually the satisfying part: it’s the process of creating something new, and it’s all the things I outlined above about diving deep into a particular area, and solving problems for people.
Probably the biggest limitation of being indie is the fact that you just only have so many hours in the day, and there will always be more stuff you want to do than you possibly have time for. What has started to get me excited about using AI tools to assist with coding is that it can take a lot of the grunt work out of the process of doing what I ultimately want to do, which is to try to apply my expertise to solve problems. While my coding expertise is obviously a decent part of why I’m able to do what I do, the truth is that the individual lines of code that I type out are not really what lets me add something to the world, it’s being able to help people via the mechanism of encoding my expertise into software.
[…]
I’m only just getting started with this stuff, having been working full time with Claude Code for all of a week now, but I’ve already implemented features in hours that would have normally taken me days, with basically the same quality of code output in terms of readability, maintainability, etc.
A friend asked me to show off my current workflow, so I did an impromptu workshop for him and his developers. This is a snapshot of how I approach vibe coding these days.
I legitimately think that agentic LLMs are the future of personal computers, the new operating system. Using Claude Code to interact with your own software over MCP, and see it autonomously solve problems with it and using it, is transcendent. The rest of the computer feels so antiquated, handmade GUIs feel cumbersome. Our computers will use our computers soon.
The thing is, people don’t understand that you don’t actually have to pay that much to get incredible AI productivity. After using the best AI subscription deals 2025 has to offer, here’s the real math (all prices in USD). (And yes, I built Vibe Meter to track exactly how much I’m spending.)
Previously: