DHH · 2025-07-12 · transcript-lex-474-2025 · source ↗
Future of programming
`1:27:04`
it's not a collaboration. So it has to be speaking the human. It's not just you're writing the prompts in English. You also want to read the responses in the human interpretable language like Ruby, right? So that's actually is beneficial for AI too. 'Cause you've kind of said that for you the sculptor, the sort of the elitist Coco Chanel sculptor, you want to on your fancy keyboard to type every single letter yourself of your own fingers. But it's also that the benefit of Ruby also applies in once some of that is written by AI and you're actually doing with your own fingers the editing. Because you can interact with it because it's human interpretable. — The paradigm I really love with this was something Elon actually said on one of your shows when you guys were talking about Neuralink, that Neuralink allows the bandwidth between you and the machine to increase. That language either spoken or written is very low bandwidth. If you are to calculate just how many bits
`1:28:06`
we can exchange as we are sitting here, it's very slow. Ruby has a much higher bandwidth of communication revealed conveys so much more concept per character than most other programming languages do. So when you are collaborating with AI, you want really high bandwidth. You want it to be able to produce programs with you, whether you're letting it write the code or not, that both of you can actually understand really quickly and that you could compress a grand concept, a grand system into far fewer parts that both of you can understand. Now, I actually love collaborating with AI too. I love chiseling my code and the way I use AI is in a separate window. I don't let it drive my code. I've tried that. I've tried the cursors and the wind surfaces and I don't enjoy that way of writing. And one of the reasons I don't enjoy that way of writing is I can literally feel competence
`1:29:09`
draining out of my fingers. Like that level of immediacy with the material disappears. And the where I felt this the most was I did this remix of Ubuntu called Omakub when I switched to Linux, and it's all written in Bash. I'd never written any serious amount of code in Bash before. So I was using AI to collaborate, to write a bunch of Bash with me, 'cause I needed all this. I knew what I wanted. I could express it in Ruby. But I thought it was an interesting challenge to filter through Bash because what I was doing was setting up a Linux machine. That's basically what Bash was designed for. It's a great constraint. But what I found myself doing was asking AI for the same way of expressing a conditional, for example, in Bash over and over again. That by not typing it, I wasn't learning it. I was using it, I was getting the expression I wanted, but I wasn't learning it. And I got a little scared. I got a little scared like, is this the end of learning?
`1:30:11`
Am I no longer learning if I'm not typing? And the way I, for me, recast that was, I don't wanna give up on the AI. It's such a better experience as a programmer to look up APIs, to get a second opinion on something, to do a draft. But I have to do the typing myself because you learn with your fingers. If you're learning how to play the guitar, you can watch as many YouTube videos as you want. You're not gonna learn the guitar. You have to put your fingers on the strings to actually learn the motions. And I think there is a parallel here to programming where programming has to be learned in part by the actual typing. — I'm just really, this is fascinating. Listen, part of my brain agrees with you. 100% part doesn't. I think AI should be in the loop of learning. Now current systems don't do that, but I think it's very possible for cursor to say, to basically force you to type certain things.
`1:31:12`
So like if you set the mode of learning, I don't want to be this sort of give up on AI. I think vibe coding is a skill. So for an experienced programmer it's too easy to dismiss vibe coding as a thing. — [DHH] I agree, I wouldn't dismiss it. — But I think you need to start building that skill and start to figure out how do you prevent the competency from slipping away from your fingers and brain. Like how do you develop that skill in parallel to the other skill? I don't know. I think it's a fascinating puzzle though. I know too many really strong programmers that just kind of avoid AI, 'cause it's currently a little too dumb. — Yes, it's a little too slow. It's actually my main problem. It's a little too dumb in some ways, but it's a little too slow in other ways. When I use Claude's code, the terminal version of a Claude, which is actually my preferred way of using it, I get too impatient.
`1:32:14`
It feels like I'm going back to a time where code had to compile and I had to go do something else. A boil some tea while the code is compiling. Well, I've been working in Ruby for 20 years. I don't have compiled weight in me anymore. So there's that aspect of it. But I think the more crucial aspect for me is I really care about the competence. And I've seen what happens to even great programmers the moment they put away the keyboard. Because even before AI, this would happen as soon as people would get promoted. Most great programmers who work in large businesses stop writing code on a daily basis because they simply have too many meetings to attend to. They have too many other things to do. And invariably they lose touch with programming. That doesn't mean they forget everything. But if you don't have your fingers in the sauce, source, you are going to lose touch with it. There's just no other way. I don't want that because I enjoy it too much. This is not just about outcomes.
`1:33:14`
This is what's crucial to understand programming for programmers who like to code is not just about the programs they get out of it. That may be the economic value. It's not the only human value. The human value is just much in the expression. When someone who sits down on a guitar and plays "Stairway to Heaven," there's a perfect recording of that that will last in eternity. You can just put it on Spotify. You don't actually need to do it. The joy is to command the guitar yourself. The joy of a programmer, of me as a programmer, is to type the code myself. If I elevate myself, if I promote myself out of programming, I turn myself into a project manager. A project manager of a murder of AI crows as I wrote the other day. I could have been become a project manager my whole career. I could have become a project manager 20 years ago if I didn't care to write code myself. And I just wanted outcomes. That's how I got started in programming. I just wanted outcomes. Then I fell in love with programming
`1:34:16`
and now I'd rather retire than giving it up. Now that doesn't mean you can't have your cake and needed to. I've done some vibe coding where I didn't care that I wasn't playing myself. I just wanted to see something. There was an idea in my head. I wanted to see something. That's fine. I also use AI all day long. In fact, I'm already at the point where if you took it away from me, I'd be like, oh my god, how do we even look things up on the internet anymore? Is Stack Overflow still around? Or I'm still a thing? Like how do I even find answers to some of these questions I have all day long. I don't wanna give up AI. In fact, I'd say the way I like to use AI, I'm getting smarter every because of AI. Because I'm using AI to have it explain things to me. Even stupid questions. I would be a little embarrassed to even enter into Google. AI is perfectly willing to give me the ELI5 explanation of some Unix command. I should have known already, but I don't, I'm sorry,
`1:35:17`
can you just explain it to me and now I know the thing. So at the end of the day of me working with AI all day long, I'm a little bit smarter. Like 5%, sorry, not 5%, half a percent maybe. That compounds over time. But what I've also seen, when I worked on the Omakub project and I tried to let AI drive for me, I felt I was maybe half a percent dumber at the end of the day. — Okay, you said a lot of interesting things. First of all, let's just start at the very fact that asking dumb questions. If you go to Stack Overflow and ask a dumb question or read somebody else's dumb question and the answer to it, there's a lot of judgment there. AI sometimes to an excessive degree has no judgment. It usually says, oh, that's a great question. — [DHH] To a fault. — Yeah, oh, that's wonderful. Yeah, I mean, it's so conducive to learning. It's such a wonderful tool of learning and I too would miss it. And it's a great basically search engine into all kinds of nuances
`1:36:18`
of a particular programming language, especially if you don't know it that well or like APIs you can load in documentation. It's just so great for learning. I, for me personally... I mean, on the happiness scale, it makes me more excited to program. I don't know what that is exactly. Part of that is the, I'm really sorry. Stack Overflow is an incredible website, but there is a negativity there. There's a judgment there. It's just exciting to be out like with a hype man next to me, just like saying, yeah, that's a great idea. And I'll say, no, that's wrong. I'll correct the AI, and the AI will say, "You're absolutely right. How did I not think about that?" You know, rewrite the code. I'm like, holy shit, I'm having, that's like a buddy. That's like really being positive and is very smart and is challenging me to think. And even if I never use the code it generates, I'm already a better programmer. But actually the deeper thing is for some reason
`1:37:20`
I'm having more fun. That's a really, really important thing. — I like to think of it as a pair programmer for exactly that reason. Pair programming came a vogue in like the 2000s. Where you'd have two programmers in front of one machine and you'd push the keyboard between you. One programmer would be driving, they'd be typing in. The other programmer would essentially sit and watch the code, suggest improvements, look something up. That was a really interesting dynamic. Now unfortunately, I'm an introvert, so I can do that for about five minutes before I want to jump off a bridge. So it doesn't work for me as a full-time occupation. But AI allows me to have all the best of that experience all the time. Now I think what's really interesting, what you said about it makes it more fun. I hadn't actually thought about that, but what it's made more fun to me is to be a beginner again. It made it more fun to learn Bash successfully for the first time. Now I had to do the detour where I let it write all the code for me and I realized I wasn't learning nearly as much as I hoped I would
`1:38:21`
and that I started doing once I typed it out myself. But it gave me the confidence that, you know what? If I need to do some iOS programming myself, I haven't done that in probably six years was the last time I dabbled in it. I never really built anything for real. I feel highly confident now that I could sit down with AI and I could have something in the app store by the end of the week. I would not have that confidence unless I had a pair of programming body like AI. I don't actually use it very much for Ruby code. I'm occasionally impressed whenever I try it, they're like, oh, it got this one thing right. That is truly remarkable and it's actually pretty good. And then I'll ask you two more questions and I go like, oh yeah, okay. If you were my junior programmer, I'd start tapping my fingers and going like, you gotta shape up. Now the great thing of course is we can just wait five minutes. The Anthropic CEO seems to think that 90% of all code by the end of the year is gonna be written by AI. I am more than a little bit skeptical about that, but I'm open-minded about the prospect that programming potentially
`1:39:22`
will turn into a horse when done manually. Something we do recreationally is no longer a mode of transportation to get around LA. You're not gonna saddle up and go to the grocery store and pick up stuff from whole foods in your saddlebacks. That's just not a thing anymore. That could be the future for programming, for manual programming entirely possible. I also don't care. Like even though we have great renditions of all the best songs, as I said, there are millions of people who love to play the guitar. It may no longer have as much economic value as it once did. I think that I'm quite convinced is true that we perhaps have seen the peak. Now I understand the paradox, when the price of something goes down, actually the overall usage goes up and total spend on that activity goes up. That could also happen maybe. But what we're seeing right now is that a lot of the big shops, a lot of the big companies are not hiring like they were five years ago. They're not anticipating they're gonna need tons more programmers.
`1:40:23`
Controversially, Tobi actually put out a memo inside of Shopify asking everyone who's considering hiring someone to ask the question, could this be done by AI? Now, he's further ahead on this question than I am. I look at some of the coding trenches and I go like, I'd love to use AI more, and I see how it's making us more productive, but it's not yet at the level where I just go like, oh, we have this project. Let me just give it to the AI agent and it's gonna go off and do it. — But let's just be honest. You're like a Clint-Eastwood type character cowboy and on a horse seeing cars going around and you're like, well. — That's part of it. And I think that's, it is important to have that humility that what you are good at may no longer be what society values. This has happened a million times in history that you could have been exceptionally good at saddle making, for example. That's something that a lot of people used to care about because everyone rode a horse. And then suddenly riding a horse became this niche hobby that there's some people care about it, but not nearly as many. That's okay. Now the other thing of this
`1:41:23`
is I've had the good fortune to... I've been a programmer for nearly 30 years. That was a great run. I try to look at life in this way that I've already been blessed with decades of economically viable, highly valuable ways of translating what I like best in the working world to write Ruby code. That that was so valuable that I could make millions and millions of dollars doing it. And if that's over tomorrow, I shouldn't look at that with regret. I should look at it with gratitude. — But you're also a highly experienced, brilliant and opinionated human being, so it's really interesting to get your opinion on the future of the horse because it, you know, there's a lot of young people listening to this who love programming or who are excited by the possibility of building stuff with software, with Ruby on Rails, that kind of language. This and now the possibility.
`1:42:24`
— But is it a career? — Is it a career? And if indeed a single person can build more and more and more with the help of AI, like how do they learn that skill? Is this a good skill to learn? I mean, that to me is the real mystery here, because I think it's still absolutely true that you have to learn how to program from scratch currently. But how do you balance those two skills? Because I too, as I'm thinking now, there is a scary slipping away of skill that happens. In a matter of like really minutes on a particular piece of code. It's scary. Not the way driving, you know, when you have a car drive for you doesn't quite slip away that fast. So that really scares me. So when somebody comes up to me and asks me like, how do I learn to program, I don't know what the advice is because I think it's not enough
`1:43:24`
to just use cursor or copilot to generate code. — It's absolutely not enough. Not if you wanna learn, none of you want to become better at it. If you just become a tap monkey, maybe you're productive in a second. But then you have to realize, well, can anyone just tap? If that's all we're doing is just sitting around all day long tapping? Yes, yes, yes, yes, yes. That's not a marketable skill. Now, I always preface this both to myself and when I speak to others, it is rule number note one, nobody fucking knows anything. No one can predict even six months ahead. Right now, we're probably at peak AI future hype because we see all the promise, because so much of it is real and so many people have experienced it themselves. This mind boggling thing that the silicon is thinking in some way that feels eerily reminiscent of humans. I'd actually say the big thing for me wasn't even ChatGPT. It wasn't even Claude. It was DeepSeek. Running DeepSeek locally