I think the automation makes a significant difference though. I'm building a tool that is self-improving, and I use "building" for a reason: I've written about 5 lines of it, to recover from early failures. Other than that, I've been reviewing and approving plans that the system has executed itself. Increasingly I'm not even doing that. Instead I'm writing requirements, reviewing high level specs, let the system generate its own work items and test plans, execute them, verify the test plan was followed. Sometimes I don't even read past the headline of the plan.
I've read a reasonable proportion of the code. Not everything is how I'd like it to be, but regularly I'll tell the system to generate a refactoring plan (with no details, that's up to the agent to figure out), and it does, and they are systematically actually improving the quality.
We're not quite there yet, but I plan to build more systems with it that I have no intention of writing code for.
This might sound like "just" vibe coding. But the difference to me is that there are extensive test plans, and a wide range of guard rails, a system that rewards gradually refining hard requirements that are validated.
I've read a reasonable proportion of the code. Not everything is how I'd like it to be, but regularly I'll tell the system to generate a refactoring plan (with no details, that's up to the agent to figure out), and it does, and they are systematically actually improving the quality.
We're not quite there yet, but I plan to build more systems with it that I have no intention of writing code for.
This might sound like "just" vibe coding. But the difference to me is that there are extensive test plans, and a wide range of guard rails, a system that rewards gradually refining hard requirements that are validated.