DHH Declares the End of Hand-Written Code: How AI Agents Are Reshaping Programming

DHH declares the end of hand-written code, marking programming's shift from coding to steering and judgment.
Rails creator DHH announced at Rails World that 37signals has stopped hand-writing code, calling those who still do so "losers." A coding agent rewrote Basecamp from Ruby to Rust with 99% less CPU and 95% less memory, illustrating another leap in abstraction. One developer reported that refactoring a Rails project took months and hundreds of dollars in 2025, but a year later took just one prompt, 3 hours, and $20. Claude Code even produced a 2,000-line JavaScript video in 30 minutes, including transcription, animation, soundtrack, and beat sync. AI can execute but not read minds—taste, judgment, context, direction, and verification are becoming a developer's core strengths, and programming itself is being redefined.
From Assembling Computers to Assembling Software: The Evolution of Abstraction
Twenty years ago, Ruby on Rails gave countless developers their first taste of "software that snaps together like Lego." MVC, routing, database migrations—these conventional structures encapsulated immense complexity into composable modules. As one developer who grew up in Taiwan recalls: as a child, he assembled motherboards, CPUs, and memory sticks by hand, and that feeling of "pick the right parts and you can build a whole machine" was something the software world had never given him before Rails came along.
Now, Rails creator David Heinemeier Hansson (DHH) has dropped a bombshell at Rails World: "We have decided to stop writing code by hand." He bluntly stated that those who insist on hand-writing code are "losers." This isn't a provocative soundbite—it's a natural extension of a twenty-year process of abstraction. From hardware assembly to framework encapsulation, and now to AI agents taking over implementation, the "hands-on" part of programming is being stripped away layer by layer.

David Heinemeier Hansson (DHH) is a Danish programmer, co-founder and CTO of 37signals, and the creator of the Ruby on Rails framework. Released in 2004, Rails completely transformed the web development paradigm with its two core principles—"Convention over Configuration" and "Don't Repeat Yourself" (DRY)—and became the inspiration for countless successor frameworks. 37signals owns well-known products such as Basecamp and HEY, and has long been known for its "small but elite" team size and exceptionally high profit margins. DHH himself is famous for being outspoken, preferring simplicity, and opposing over-engineering—which is why when he publicly declares "stop writing code by hand," the weight of it far exceeds the personal opinion of an ordinary technologist.
From Vibe Coding to Agentic Coding: An Exponential Leap in Efficiency
DHH used 37signals' internal practices as an example: a coding agent rewrote the flagship product Basecamp from Ruby to Rust, achieving a stunning optimization of 99% reduction in CPU usage and 95% reduction in memory usage. This is no longer a proof of concept in a lab—it's real gains in a production environment.
Another developer's personal experience is even more striking. In 2025, he tried "vibe coding," describing requirements to Replit to get runnable code. At the time, he asked AI to refactor a Rails 2 project into Rails 8, and the AI's assessment was: if a dedicated team did it manually, it would take 6 to 8 months. He spent months frantically prompting and hundreds of dollars (still far below team costs), and eventually got a working prototype.
Just one year later, he completed the same rewrite with a single /goal prompt, 3 hours, and $20. From months to hours, from thousands of dollars to twenty—this rate of change makes "science fiction" seem conservative.
"Vibe Coding" is a term coined by Andrej Karpathy in early 2025, referring to a way of working where developers describe intent entirely in natural language and leave the details to AI to generate code—developers don't even need to read the generated code line by line, but instead judge results by "whether it feels right." It differs from traditional "AI-assisted completion" by emphasizing intent-driven rather than line-by-line control. In contrast is Agentic Coding: AI no longer merely responds passively to a single prompt, but can autonomously plan, call tools, read and write files, run tests, and iteratively correct itself, forming a closed loop. The difference between the two is like "asking an intern to write a piece of code" versus "handing the entire project to an outsourcing team": the former still requires you to control every detail, while the latter only requires you to define goals and acceptance criteria. The leap from months to 3 hours described in the article is essentially the span from vibe coding to agentic coding.
When AI Creates Video: 30 Minutes, 2,000 Lines of Code, Zero Human Coding
To explain this transformation to teenagers skeptical of AI, the developer handed DHH's talk materials to Claude Code (running Opus 5.5), asking it to rebuild it into a 60-second developer explainer video and giving it complete creative freedom: compose its own soundtrack (pure code synthesis, no samples or audio files allowed), every cut must land on the beat, 1080p/60fps.
The result was astonishing. AI autonomously transcribed the talk, analyzed the materials, conceived visual concepts, wrote the renderer, created animated scenes, synthesized the soundtrack, and synchronized all elements to the rhythm—the entire process was completed in 30 minutes, all written in JavaScript, without using any other framework. For a developer who had never made an animated video, the first version reached 80% completion.
Claude Code is a command-line AI coding agent launched by Anthropic that runs directly in the terminal, can read and write local files, execute Shell commands, run tests, and self-correct based on errors. Opus is the most capable tier in Anthropic's Claude model series (there are also Sonnet, Haiku, etc., layered by performance and cost). Here, "no samples or audio files allowed" means the soundtrack must be computed in real time by mathematically synthesizing waveforms (such as sine waves, envelopes, chord stacking) rather than calling ready-made assets, so the precision requirements for code are extremely high. And "every cut lands on the beat" requires AI to first derive the beat grid (BPM) and then map animation keyframes to the corresponding time points. This kind of task compresses programming, music theory, and visual design into a single prompt, and is a typical demonstration of an agent's multi-step autonomous planning capability.
Judgment: The Core Capability AI Cannot Replace
AI can execute, but it cannot read minds. If a creator has a specific creative direction, it must be described with extreme precision. Even for AI-generated video, humans still need to make judgments at key moments. For example, one of AI's initial animations showed the programmer "dimming and disappearing," implying programmers are disappearing—this was not DHH's intent. The creator changed it to "the programmer turns from the keyboard to the steering wheel," conveying a role shift rather than extinction. Another line, "typing no longer pays," sounded like programmers had lost their income, and was also corrected.
The developer's summary of his own contribution was: "Too long. Wrong information. This part is wrong." It sounds utterly non-technical, but these judgments determine whether the final product is truly excellent. They are not programming problems; they are judgment problems.
The Shift in Skill Focus: Taste, Judgment, Context, Direction, Verification
If the core of programming in the past was "hands-on implementation," then the focus is now tilting toward "steering the ship." More and more developer time is spent on: deciding what to build, what counts as "good," what the agent misunderstood, and whether the result is correct.
These capabilities are not entirely new skills, but their share of the work is expanding dramatically. Taste, judgment, context, direction, verification—these five are becoming the key to distinguishing excellent developers from ordinary ones. If a person's core competitiveness is the act of "writing code" itself, then upgrading to "ship-steerer" is no longer a choice but a matter of survival.
Looking back at this developer's building journey—from assembling computer hardware in Taiwan, to assembling applications with Rails, to now letting agents handle implementation—each leap in abstraction made the previous layer's craft no longer critical. But one thing has never changed: he is still creating. He writes less code, but builds more than ever before.
This is not a story about whether AI will replace programmers, but about how programming itself is being redefined. When hand-written code is downgraded from a "must-have skill" to an "optional detail," the real dividing line is: can you define intent, set constraints, and judge the value of the result?
One-line Summary
DHH declares the end of hand-written code, marking a shift from writing code to steering and judgment.
Paragraph Summary
Rails creator DHH announced at Rails World that 37signals has stopped hand-writing code, calling those who insist on doing so "losers." The article uses a coding agent rewriting Basecamp from Ruby to Rust (99% CPU reduction, 95% memory reduction) as an example of another leap in abstraction. One developer shared his personal experience: in 2025, refactoring a Rails project with vibe coding took months and hundreds of dollars; a year later, the same work was completed with a single prompt, 3 hours, and $20. Claude Code even autonomously created a 2,000-line JavaScript video in 30 minutes, including transcription, animation, soundtrack, and beat synchronization. The author points out that AI can execute but cannot read minds, and that taste, judgment, context, direction, and verification are replacing "writing code" as a developer's core competitiveness—programming itself is being redefined.
Related articles

Chain of Thought Isn't Just for AI: How Humans Can Use CoT to Improve Thinking Quality
Chain of Thought isn't just a prompt trick for large models. Starting from a Hacker News discussion, this article analyzes why CoT works for human thinking too, breaks down actionable ways to transfer it, and highlights the key differences between human CoT and machine CoT.
Cloudflare Teams Up with OpenAI: Closi…
Cloudflare Teams Up with OpenAI: Closing the Loop from Vulnerability Discovery to Defense with AI
Cloudflare uses OpenAI Daybreak to investigate security vulnerabilities and generate reviewable remediation plans, while developers use Codex to boost coding efficiency and quality.

Orca Multi-Agent Orchestration in Practice: A Guide to Parallel Collaboration with Claude and Codex
Orca is Stable AI's free open-source agent workbench supporting 34 agents like Claude Code and Codex in parallel. Learn its Git worktree isolation, multi-model orchestration, and mobile management.