He stopped writing #code by hand. Part nobody agrees on. #ai #agenticengineering #openai #anthropic
The creator of Ruby on Rails, David Heinemeier Hansson (DHH), announced that his company, 37signals, is transitioning from manually writing production code to using AI agents. This shift has sparked a debate on how to effectively review AI-generated code, particularly concerning the volume and potential for subtle, architectural-level errors. Key takeaways involve strategies for adapting review processes: focusing on smaller changes, robust testing, explicit invariants, and directing human attention to critical areas like architecture and security boundaries, rather than line-by-line inspection.
read more
David Heinemeier Hansson (DHH), the creator of Ruby on Rails and co-founder of 37signals, recently declared that his software company is largely done writing production code by hand, instead relying on AI agents for code generation. This announcement has ignited significant discussion, particularly on platforms like Hacker News, regarding the implications for code review when humans are no longer the primary authors of the code.
DHH shared an anecdote from the final push before the launch of Basecamp 5 in May 2026. During this period, his designers and team utilized AI agents to finish features, resulting in the generation of approximately 20-30 pull requests (PRs). While individually, each PR appeared reasonable, their cumulative effect on the overall architecture was, in DHH's words, 'a little like Swiss cheese' – implying a disjointed and potentially problematic structure. This led the team to revert to a more manual review process.
However, DHH now believes they learned the wrong lesson from that experience. He argues that the AI models have improved sufficiently that developers should once again entrust agents with more responsibility. The core challenge then shifts from 'if' AI should generate code to 'how' humans effectively review the output of these increasingly capable agents.
The Hacker News discussion highlighted several practical concerns and potential solutions:
* Authentication Flaws: One engineer recounted discovering an AI-generated API endpoint in their codebase that had shipped without proper authentication. The AI agent had seemingly misinterpreted or incorrectly implemented the required authentication pattern, highlighting a critical security vulnerability that a human review failed to catch.
* Scalability of Review: Another prominent point was the sheer volume of code generated by AI. DHH mentioned figures like 150,000 to 200,000 lines of code in a month. Traditional line-by-line human review simply cannot scale to this output, rendering it an impractical approach for the future of software development.
* The 'Human' Standard for PRs: A compelling argument was raised: 'Why would we accept a giant PR from a machine when we wouldn't accept them from humans?' This underscores the need for consistency in review standards, regardless of the author. If humans are encouraged to submit small, digestible changes, the same expectation should apply to AI agents.
Several alternative approaches to code review for AI-generated code were discussed:
* Focus on Tests and Automation: Instead of verifying every generated line, the emphasis should shift to leveraging tests and automation to catch local mistakes. This means maintaining important tests independent from the agent's generation process.
* Reviewing Implementation and Architecture: Human attention should be redirected from scrutinizing every line of generated code to higher-level concerns. This includes reviewing the overall architecture, security boundaries, integration behavior, and crucially, the assumptions the AI agent makes during code generation.
This paradigm shift suggests that 'pencils down' doesn't mean the disappearance of review, but rather a transformation into a much more intentional review process. The focus will be on smaller diffs, stronger tests, explicit invariants, and humans applying their expertise to areas where errors are most expensive and impactful, such as architectural design and critical security aspects. The conclusion drawn is that code generation might scale, but traditional line-by-line human review likely will not, necessitating a strategic evolution of how we validate software.