At 5am this morning (down under, that is), Ryan Dahl posted a tweet that's already racked up hundreds of thousands of views:
"This has been said a thousand times before, but allow me to add my own voice: the era of humans writing code is over. Disturbing for those of us who identify as SWEs, but no less true. That's not to say SWEs don't have work to do, but writing syntax directly is not it."
If this came from some random tech influencer, you could dismiss it. Scroll past.
But Ryan Dahl isn't some random tech influencer. He's the person who created Node.js.
The guy who received a standing ovation at JSConf EU in 2009 when he first demonstrated that JavaScript could run on the server. Nine years later, he gave another talk at the same conference titled "10 Things I Regret About Node.js" and then built an entirely new runtime called Deno to fix those mistakes.

When Ryan Dahl says something is over, it's worth paying attention.
The man who keeps starting over
To understand why this tweet matters, you need to understand who's saying it.
In 2009, Dahl was a freelance developer who'd become obsessed with a problem: web servers were terrible at handling many simultaneous connections. Most servers used threads, which were expensive. He'd been watching nginx handle thousands of connections with an event-driven architecture and wondered if the same approach could work for application code.
His solution was Node.js. At that first JSConf demo, he showed an IRC server written in JavaScript. The audience gave him a standing ovation. Just like that, web development changed forever.
But here's the thing about Dahl that makes him different from most tech celebrities: he's willing to admit when he got things wrong. Publicly. In 2018, he returned to JSConf EU with a talk that opened with a confession. "I have mass with Node," he said, "because I see bugs that I introduced." He listed his regrets one by one: the way he handled Promises, the security model he chose, the build system, the package.json design. All the things that had calcified into the foundation of one of the most widely-used runtimes in the world.
Then he announced Deno (which I use for some stuff, I'm a Bun dude for the most part), built from the ground up to address those mistakes. Security by default. TypeScript as a first-class citizen. No node_modules folder. He didn't defend his past decisions. He burned them down and started again.
This is someone who's demonstrated, repeatedly, that he cares more about being right than about being consistent.
What he's actually saying
Let's read the tweet carefully. Dahl isn't saying software engineers are obsolete. He's saying writing syntax directly is no longer the job.
There's a crucial distinction here. The work of building software still exists. Understanding problems, designing systems, making architectural decisions, verifying that things actually work. All of that remains. What's changing, Dahl argues, is the mechanical act of translating those decisions into lines of code.
This isn't a new position for him. In June 2025, he published a blog post titled "We're Still Underestimating What AI Really Means" where he wrote:
"We're living through what may be one of the most significant moments in history: the emergence of a new non-biological form of intelligent life. And yet, it doesn't feel like it. There's no cinematic score, no blinking AGI warning light. Just Slack threads, blog posts, and conference panels."
He compared it to witnessing childbirth: "profoundly transformative, with some shocking moments, but also lots of mundane time waiting around."
And he's in the trenches with these tools. In another tweet from June 2025, he complained: "Really tired of hearing 'You're absolutely right!' from Claude." That's not the observation of someone theorising from the sidelines. That's someone using AI coding assistants daily and getting annoyed by their quirks.
Dahl isn't a utopian or a doomsayer. He's a working programmer who's watched the tools change and is calling what he sees.
The titans weigh in
Dahl isn't alone in this view. And he isn't unopposed either.
Andrej Karpathy, the former Tesla AI director, coined the term "vibe coding" in February 2025 to describe exactly what Dahl's talking about. "There's a new kind of coding I call 'vibe coding'," he wrote, "where you fully give in to the vibes, embrace exponentials, and forget that the code even exists." His punchline: "The hottest new programming language is English."
George Hotz, the hacker behind comma.ai and tinygrad, frames it as a change in role rather than a loss of one. "The future programmer is more like a technical product manager who can read code," he's said. His metaphor: we're becoming directors, not cameramen. The 10x developer, in his view, becomes the 100x developer with AI tools.
But not everyone's convinced.
DHH, the creator of Ruby on Rails, has been sharp in his pushback (which has since changed this month). "The pitch is that developers will become 'orchestrators' of AI systems," he wrote. "I've heard this song before. It was sung to mainframe operators in the 80s." His view: fundamentals matter more than ever. "If you can't evaluate AI-generated code, you're not a programmer, you're a prompt typist."

… and then:

How the turntables…
Bjarne Stroustrup, creator of C++, echoes the concern about understanding. "You cannot debug what you don't understand," he's said. "AI makes understanding more important, not less."
And Kent Beck, the pioneer of Test-Driven Development, has taken perhaps the most interesting position. In a post titled "90% of My Skills Are Mass Now," he acknowledged that most of what he knew how to do can now be done by AI. But his response wasn't despair. It was adaptation. "The skill is shifting from 'writing code' to 'evaluating code' and 'asking good questions.'"
The paradox: orchestrators still need fundamentals
Here's where it gets uncomfortable. And honestly, a bit ironic.
If the future is orchestration (telling AI what to build rather than building it yourself) then you might think the fundamentals matter less. Why learn algorithms if Claude can implement them? Why understand memory management if you're just describing what you want?
But nearly every experienced voice, even the optimists, lands on the opposite conclusion.
James Gosling, creator of Java, put it bluntly: "The hard part of software was never typing. It was figuring out what to build and why. AI doesn't solve that."
Guido van Rossum, Python's creator, makes a similar point: "You still need to understand what the code is doing. The AI can write it, but you need to be able to read it, debug it, and know when it's wrong."
ThePrimeagen, the Netflix engineer and content creator, is even more direct: "If you learn to code with AI from day one, you're building on sand. You need to understand what's happening. Then AI becomes a multiplier. Otherwise, it's a crutch."
And here's Kent Beck again, on why tests become more important, not less: "If AI is writing code, tests are how you verify it does what you intended."
The paradox is this: to orchestrate effectively, you need to know enough to evaluate the orchestra. First principles don't become obsolete. They become the difference between developers who can use AI and developers who are used by it.
What this actually means
So where does that leave us? The working developers who still type for a living?
I think the honest answer is: somewhere uncomfortable.
We're not obsolete. The demand for people who can think clearly about software problems isn't going away. But the specific activity that many of us trained for, the act of translating intent into syntax, is becoming less valuable by the month.
Kent Beck's framing might be the most useful: the skill is shifting. From writing to evaluating. From implementing to verifying. From typing to asking better questions.
Martin Fowler, the software architecture author, makes a related point: "AI-generated code needs the same rigorous review as human-written code. Perhaps more, because it can be confidently wrong."
That "confidently wrong" is the thing. Hell, it might be the thing. AI tools don't know when they don't know. They'll generate plausible-looking code that subtly misunderstands your problem. If you can't see the mistake, you'll ship it.
This is why the fundamentals crowd isn't just being nostalgic. They're being practical. The ability to read code critically, to understand systems deeply, to spot when something is "confidently wrong," these are the skills that let you use AI tools without being led astray by them.
The man who admits his mistakes
What strikes me about Ryan Dahl's tweet isn't just the claim. It's the acknowledgment: "Disturbing for those of us who identify as SWEs."
He's including himself. He's not standing above the disruption, pointing down. He's in it.
That's consistent with who he's been. The person who stood on stage and listed his regrets about Node.js. The person who started over with Deno because he saw the problems he'd created. The person who, in his AI essay, wrote about the Turing test being passed without anyone really noticing: "For most of my life, that milestone felt impossibly far off. When we crossed it, there was no headline. Just another Hacker News thread."
Dahl has been right about things before. He saw that JavaScript could be a server language before most people took the idea seriously. He saw the flaws in his own creation clearly enough to build something better.
Maybe he's right about this too. I suspect he is.
But even if he is, even if writing code by hand becomes as quaint as writing machine code by hand, the underlying work remains. Understanding problems. Designing systems. Verifying that things work. Thinking clearly.
The era of humans writing code might be ending. The era of humans doing the hard thinking that makes software useful? That's not going anywhere.
The question is whether we're ready to adapt. Whether we can let go of identifying as "people who write code" and become "people who build software" instead, regardless of how the building gets done.
Ryan Dahl, at least, seems to think we have to. And he's been willing to start over before.
References
- Ryan Dahl's tweet (20 January 2026): https://x.com/rough__sea/status/2013280952370573666
- Ryan Dahl, "We're Still Underestimating What AI Really Means" (June 2025): https://tinyclouds.org/underestimating-ai/
- Ryan Dahl, "10 Things I Regret About Node.js" — JSConf EU 2018: https://www.youtube.com/watch?v=M3BM9TB-8yA
- Andrej Karpathy on "vibe coding": https://www.theregister.com/2025/02/14/karpathy_vibe_coding/
- Kent Beck, "90% of My Skills Are Mass Now": https://tidyfirst.substack.com/p/90-of-my-skills-are-mass-now-what
- DHH, "Developers Are the New Mainframe Operators": https://world.hey.com/dhh/developers-are-the-new-mainframe-operators-f7930a89
- Martin Fowler, "Exploring Gen AI": https://martinfowler.com/articles/exploring-gen-ai.html