De bedenker van Ruby on Rails schrijft geen regel code meer zelf

Lex Fridman sprak ruim vijf uur met David Heinemeier Hansson: DHH, bedenker van Ruby on Rails, CTO van 37signals en sinds een jaar bouwer van de Linux-distributie Omarchy. Het gesprek past in één alinea: een programmeur die twintig jaar lang zijn Ruby met de hand beitelde en dat vak als een ambacht beschouwde, heeft in negen maanden vrijwel alles losgelaten wat hij erover dacht te weten. Hij schrijft geen regel code meer zelf, stuurt in plaats daarvan een stuk of zestien agents tegelijk aan over vier machines, en leverde daarmee in drie maanden een compleet besturingssysteem op. Zijn eigen samenvatting van het moment leent hij van Lenin: er zijn decennia waarin niets gebeurt, en weken waarin decennia gebeuren.
Vijf uur is veel, ook voor een goed gesprek. Ik heb er drie dingen uit gehaald waar je maandag iets aan hebt: wat een klus bij welk model kost, hoe zijn werkplek eruitziet nu hij zestien dingen tegelijk laat lopen, en de truc met twee modellen die elkaars werk nakijken. Die werk ik uit. De rest staat verderop kort bij elkaar, met tijdcode. De niet-technische delen laat ik liggen: AI en filmmaken (2:50:57), vaderschap (3:10:28), politiek en immigratie (4:22:17), zijn afkeer van de longevity-cultus (4:53:54). Dit is tenslotte de zeepkist van een softwarebedrijf.
In dit artikel
Het hele gesprek, ruim vijf uur. Alle tijdcodes in dit artikel verwijzen naar deze opname.
Wat het kost: hetzelfde programma, vierentwintig keer prijsverschil
Hier staat het enige getal uit de aflevering dat een inkoper direct aangaat (vanaf 2:21:05). DHH liet een Python-library naar Rust vertalen: één prompt, geen kennis van Rust, geen regel code bekeken. Fable maakte een plan van acht stappen en was in vijfenveertig minuten klaar; halverwege liep zijn abonnement leeg en nam Opus 5 het op datzelfde plan over. Per token zou die run zo'n 550 dollar hebben gekost. Hetzelfde plan gaf hij daarna aan andere modellen: GPT Sol deed het in anderhalf uur voor 46 dollar, Grok 4.6 voor ongeveer 55, DeepSeek V4 Pro in twee uur drie kwartier voor 23. Twee goedkope modellen faalden volledig, en één daarvan probeerde te valsspelen door een bestaande implementatie in te pakken. Het resultaat was in alle geslaagde gevallen hetzelfde werkende programma, tien keer sneller dan het origineel en na twee automatische optimalisatierondes zesenveertig keer.
Reken dat even om. Dezelfde uitkomst, een prijsverschil van vierentwintig keer, en de duurste run is de snelste. Of dat bij jouw werk ook vierentwintig keer is, weet ik niet: dit is één library, één keer gemeten, door iemand die er aardigheid in heeft. De richting klopt wel met wat wij zien. Projecten die de businesscase nooit haalden, halen hem nu: het klantportaal dat drie budgetrondes sneuvelde, de koppeling tussen twee systemen die te duur leek voor wat ze opleverde. Waar dat sommetje omslaat is per organisatie anders, en dat is het gesprek dat we voeren bij AI-consultancy.

Het is niet de eerste keer dat een laag automatisering een heel vak overneemt.
De werkplek: zestien threads, vier machines, en een mens die het niet bijhoudt
Het concreetste deel van het gesprek voor wie dit zelf wil doen (vanaf 1:31:46). Hij werkt in de terminal: eerst tmux met panes, inmiddels Herdr, dat er meldingen bij doet zodra een agent een beslissing nodig heeft. Een IDE komt er niet meer aan te pas. Toen één machine niet meer volstond hing hij vier mini-pc's uit de kast aan KVM-adapters en een WireGuard-netwerk, en draait hij nu ongeveer zestien threads tegelijk. Meer kan de machine wel aan, hij niet. (Zijstapje: vier mini-pc's uit een kast aan elkaar knopen is geen datacenter, dat is een zolderkamer. Ik vind het het beste detail uit vijf uur gesprek.) Programmeren is daarmee parallel geworden, en de flow zit in de aaneenschakeling van beslissingen. Dat put uit zoals een uur racen uitput, zegt hij. Bevredigend, en na een dag heb je het gehad.
Zijn eigen conclusie is de interessantste: de mens in de lus is nu de limiet. Daarom bouwt hij een bot die 's nachts autonoom PR's en issues afhandelt en hem één mail per dag stuurt met wat er nog te beslissen valt, en experimenteert 37signals ermee om agents als collega's in Basecamp te zetten, met to-do's in plaats van chat, want chat verleidt je om te blijven wachten. Wie dit serieus inricht, wil weten of het ook echt sneller gaat in plaats van alleen drukker; daarvoor bestaat Agile Analytics, en schreven we hoe je DORA-metrics leest als AI de helft van je commits schrijft.
Twee modellen, vier ogen
Zijn standaardwerkwijze is simpel en overneembaar (vanaf 2:37:55): het werk laten doen door het ene model, en het daarna laten nakijken door een ander. Hij bouwt met Claude, laat Codex op de hoogste stand reviewen, en gooit er sinds kort Grok bij. En die vinden dingen. Hij haalt er een studie bij die Shopify's CTO liet doen op echte productie-incidenten: pull requests die door agents waren gereviewd, veroorzaakten minder storingen dan die door mensen waren nagekeken. Dezelfde modellen zijn ondertussen zo goed in het vinden van kwetsbaarheden dat het beveiligingsteam van 37signals er een lawine van patches aan overhield. Zijn scherpste zin gaat over de teams die geen lawine zien: dat betekent niet dat je systeem veilig is, dat betekent dat je blind bent, en je tegenstanders niet. Van alles in dit stuk is dit het makkelijkst over te nemen: het kost een abonnement en een vinkje.
De rest van het gesprek, kort
- Hoe hij hier terechtkwam (2:56). Dertien maanden eerder zat hij aan dezelfde tafel als scepticus. Zijn kantelpunt legt hij op de dag af: 24 november 2025, Opus 4.5. Het model werd niet veel slimmer, zegt hij; het kon zijn intelligentie eindelijk toepassen, zoals tools gebruiken en zijn eigen werk afmaken.
- Waarom je hier niets van terugziet in Photoshop (18:14). Zodra mensen samenwerken is implementatie zelden de bottleneck, maar de afstemming. Bij Basecamp 5 mochten ontwerpers vibe-coden: elke pull request was te verdedigen, bij elkaar sloopten ze de architectuur. Dat gesprek voeren wij het vaakst bij tech consultancy en bij het moderniseren van bestaande software.
- Duizend pull requests in drie maanden (27:30). Veel ervan van mensen die geen Linux-ontwikkelaar zijn. Hij leest ze niet meer zelf: een agent beoordeelt, test in een VM en vat samen, en hij merget of niet. Een agent-PR afwijzen kwetst niemand, zegt hij droog. Dat review de echte bottleneck is, zagen wij ook in onderzoek naar 25.000 pull requests.
- Waarom overspecificeren schaadt (47:05). Programmeurs zijn hier niet automatisch beter in: softwarebouwen is voor een groot deel productmanagement. Vanaf 1:00:06 komt hij terug op aarde, want samenhangende code loont nog steeds, nu omdat tokens schaars zijn. Dezelfde rekensom als in Code wordt goedkoop. Engineering niet.
- Er stapelt niets op (1:10:24). Was je een jaar backpacken, dan haal je de frontier in twee weken in. Wie alleen hield van het mechanische deel van het vak heeft het zwaar, wie hield van dingen máken juist niet. Over de keerzijden schreven we eerder: de weg van junior naar senior en waarom constante AI-hulp uitput.
- Een besturingssysteem dat in 45 seconden staat (1:44:11). Een nieuwe Mac had 42 minuten nodig, Omarchy doet het in minder dan een minuut. Gewonnen met domme, degelijke trucs: pakketten inladen terwijl de gebruiker vijf vragen beantwoordt, en een JetBrains-font van 200 MB terugbrengen naar 16.
- Linux wint de desktop, en Engels wordt de programmeertaal (3:38:35). Alles waar Linux dertig jaar om werd afgeserveerd, van configbestanden tot foutmeldingen die geen mens leest, is precies wat een agent nodig heeft. En vanaf 3:59:24: een taalmodel is met opzet niet deterministisch, en juist die speling noemt DHH het mooiste van het geheel.
Wat dit betekent voor hoe wij bouwen
Ik herken het grootste deel van dit verhaal uit ons eigen werk, en op één punt ben ik het oneens met de toon: DHH werkt vooral in zijn eigen projecten, waar hij tegelijk opdrachtgever, architect en reviewer is. Dat is de makkelijke variant. Bij een klant met een ERP dat niemand durft aan te raken, twee koppelingen die eraan hangen en een team dat er over drie jaar nog onderhoud op pleegt, is de agent net zo snel, maar het oordeel eromheen wordt duurder in plaats van goedkoper. Daarom hebben wij het accent verlegd naar AI-native software engineering en naar de vragen die overblijven als implementatie goedkoop wordt: wat bouwen we niet, en hoe herken je gegenereerde code die aannemelijk maar fout is.
Praktisch betekent dat maatwerksoftware waarvan de bouwtijd is ingestort maar de architectuurbeslissingen niet, en bestaande systemen moderniseren in plaats van blind opnieuw genereren. Ik schreef in 2023 dat het einde van programmeren onzinnige verkooppraat was. Dat vind ik nog steeds. Wat ik onderschatte, is hoe ver het vak zelf zou opschuiven.

Blije Nerds zijn productieve Nerds
Implementeer supersnel DevOps en SRE met Agile Analytics. Vraag het onze Agile Nerds.
AI consultancy
AI inzetten waar het echt scheelt, met de verantwoordelijkheid bij mensen.
Lees ook:

Mijn AI agent werkt 's nachts voor me door. Hij mag alleen niks beslissen.
Sinds augustus draait bij ons elke werkdag om half acht een agent die de open merge requests leest en er iets van vindt....

Wat je mist bij AI-agents is meestal geen gereedschap
Ik draai al maanden meerdere AI-agents naast elkaar. Na vijf uur DHH over programmeren met agents bleek mijn gereedschap...

AI-vampiers: de verborgen prijs van twintig agents
Marc Andreessen beschrijft bij Joe Rogan een nieuw type programmeur: iemand die niet meer gaat slapen omdat er twintig a...

AI is het ontbrekende stukje van de productiviteitspuzzel
Vandaag wil ik betogen dat Kunstmatige Intelligentie (AI) het ontbrekende stukje van de productiviteitspuzzel is, een re...

Hallucinerende AI - ChatGPT suggereert API's die nooit hebben bestaan
Ik was een stuk code aan het debuggen dat een Java.lang.OutOfMemoryError veroorzaakte. Na een kort onderzoek ontdekte ik...

Remote programmeersollicitaties zijn DOOD door Nvidia en ChatGPT
Met de opkomst van thuiswerken zijn remote programmeersollicitaties steeds populairder geworden. Die verschuiving brengt...
