Work · Opinion
Nobody arguing about DHH's keynote knows how much of their own code survives
DHH says coding by hand is dead at 37signals. The number that would settle it for your team is how much merged code survives two weeks, and almost nobody tracks it.
David Heinemeier Hansson used his Rails World keynote to announce that 37signals, the 27-year-old profitable company that created Ruby on Rails, has finished with typing code. In his words: “Writing code by hand at 37signals is now an exceptional state.” He compared an engineer reaching for the keyboard to an error turning up in Sentry. He dated the turning point to the release of Opus 4.5 on 24 November 2025, and said he retired as a professional programmer around March. Most of the argument since has been about whether he is right that hand-coding is dead. I think almost everyone in that argument, on both sides, is missing the one number that would settle it for their own team: what share of merged code is still there two weeks later.
I went into the research expecting productivity numbers that would favour one camp. The figure that stuck with me was about how badly developers judge their own speed. METR’s randomised study, published in July 2025, gave experienced open-source developers tasks in codebases they knew well. With AI tools allowed, tasks took 19% longer. Beforehand the developers predicted a 24% speedup. Afterwards, having been slowed down, they still believed AI had cut their time by 20%. Economics experts had forecast 39% faster and ML experts 38%, so the people doing the work and the people studying it from outside overestimated in the same direction.
The obvious reply is that METR tested early-2025 models, older than the Opus 4.5 release DHH treats as year zero, on senior people in familiar code. I accept that. I would not cite METR to argue that agents slow 37signals down today. I cite it because it shows that a developer’s sense of being faster is weak evidence, and DHH’s keynote rests mostly on his own sense of it.
A better instrument already exists at industry scale. GitClear’s 2026 report covers 623 million code changes from 2023 to 2026. Against a 2022 baseline, code rewritten or deleted within two weeks of being written is up 15%, duplicated blocks are up 81%, moved or refactored lines are down 70% and constructs that hide errors are up 47%. Its earlier dataset shows refactoring falling from about a quarter of changed lines in 2021 to under 10% in 2024. DHH argued on stage that abstractions matter less now because repetition costs almost nothing to produce. GitClear’s duplication figures suggest much of the industry adopted that view before he said it. The cost of duplication shows up later, when a bug has to be fixed in every copy and somebody has to find the copies first.
GitClear also supplies the best argument against my position. It says AI power users produce four to ten times more code than other developers, and its 2026 report says the most motivated developers are shipping more code than ever. If you write four times as much and a smaller fraction survives, you can still end up with more surviving code than before. I agree, and I think it makes the case for measuring. A team in that position might be well ahead, or might be paying reviewers to read thousands of lines that get deleted before the sprint closes. You can tell those apart only if you count both the lines merged and the lines still alive afterwards.
The teams that count only the first number are easy to spot. An anonymous Big Tech engineer posting as voxium described managers insisting that pushing code was no longer the bottleneck while engineers worked 12 to 13 hours a day approving agent output that nobody read. Gergely Orosz found three bugs in a single new Uber Eats add-ons screen in one week, including a selector offering up to 999 toppings on a screen that let him pick six. Both describe organisations that measure output and treat whatever happens after the merge as somebody else’s problem.
Survival is cheap to compute. Take every pull request merged to main in September, wait two weeks after the last of them lands, run git blame on main, and count how many of the lines those PRs added are still attributed to them. Split the result by whether an agent wrote the PR. If agent-written code survives at close to the human rate while volume climbs, DHH is right about your team and you can stop arguing with him. If the agent column is the one draining away, you finally have the figure your management keeps asking for, and it points the opposite way from what they assume.
Prompted by The Pulse: RoR creator sparks new “death of coding by hand” debate, The Pragmatic Engineer.