Modern Software Moves Like Lightning
Constantly ping-ponging between pushing faster and legibility/control.
tl;dr
AI-assisted development is messy in ways traditionalists find horrifying
but the mess is cheap and self-healing
people clutching pearls about it are mostly protecting their own relevance
I am about 70% of the view that NOT embracing AI coding is a kind of grift: programmers with earned skills/knowledge find justifications within themselves to sandbag development times, new capabilities exploration, maintenance and upkeep, process documentation, test coverage, etc.
Control (legibility) is more of a crutch than a pure requirement.
Every chortle that "those cowboys used AI and lost customer data in a production database" is partly a self-soothing mechanism, a comforting reminder that the craft of programming has important lessons the vibe-fools are too quick to discard.
But then I hear someone like Karpathy speak clear-mindedly about the current limits of AI, and it's clear he's not a fool.
The Bun example - bots and processes deliver things
Jarred Sumner is not a fool. He may be one of the greatest programmers ever at his age. Bun delivers so much value to the world1, yet every time I read their release notes / changelog, I think whut is going on over there. It's so crazy.
Around Node.js 24.4.0 (July 2025), a thing called fs.promises.mkdtempDisposable made it simple to auto-cleanup resources, similar to python's with statement.
In Aug 2025, robobun and claude and ClaudeBot ported the feature. This commit looks crazy to me but whatever, I guess it's fine?
It immediately failed CI (for what appears to be unrelated reasons).
Three months pass. In Nov 2025, some humans succinctly identified the gap, and dutifully triaged and tagged the bug correctly.
Another three months pass. In Feb 2026, a prunebot closed the PR for inactivity.
Meanwhile, the docs show the functionality is there. Search engines / LLM agents report the docs were updated 2 weeks ago, and confidently write code for you to use it.
The code was never released. It's not there in prod. Just one six-month old item in a bug list, that only two humans in the world ever cared about publicly.
Impact: an LLM silently tries to use the function, fails, writes 8 fresh lines of code, and everyone can move on whether they look at it or not.
Rethink - on the Node side
At this level of cost/significance, I have a different conclusion as well.
A mature library, like Node.js, should not introduce convenience functions ("syntactic sugar"), after everyone in the world and all LLMs have trained on it. It has already had 15+ years of real-world usage to discover how much sugar is needed.
It reflects a certain kind of programmer insecurity, to introduce a syntactic sugar wrapper function as part of constant version churn and liveness activity.
Some people point to modern software as evidence that we can't have immutable code. But the judgement on incremental "improvements" is skewed towards maintaining a privileged class of clever people. Maybe AI is the antidote to knowledge worker preciousness? Humanity hasn't yet explored the solar system because we've been too busy enjoying new languages like Nim and Zig.
I often think of the civil engineer who designs a bridge between two neighboring towns, saving 20% of the residents 45 minutes per day every day for 100 years. That engineer has as big an impact on the world as a financial engineer making 10x the salary↩