I

n a recent conversation on Lex Fridman’s podcast, David Heinemeier Hansson (DHH), the legendary creator of Ruby on Rails and co-owner/CTO of 37signals, shared his insights on the evolving landscape of programming, the rise of AI, and the concept of “vibe coding.” As a New York Times best-selling author and a programmer with decades of experience, DHH offered a nuanced perspective on how AI is reshaping coding, the importance of maintaining competence, and the joy of programming as an expressive craft. Below is a distilled version of their discussion, with key quotes highlighted, exploring vibe coding, the future of programming, and the delicate balance between leveraging AI and preserving the art of coding.

Vibe Coding: A New Paradigm or Empty Calories?

DHH and Lex dive into the concept of “vibe coding,” a term that encapsulates generating code with AI tools like large language models (LLMs) and iteratively refining it through prompts and manual edits. For DHH, vibe coding represents both an opportunity and a potential pitfall for programmers, particularly those learning the craft.

“I think vibe coding is a skill. So for an experienced programmer, it’s too easy to dismiss vibe coding as a thing. 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.” (1:31:26–1:31:38)

DHH acknowledges that vibe coding can be a valuable tool, especially for prototyping or exploring unfamiliar domains. However, he cautions that relying solely on AI-generated code risks eroding a programmer’s core skills. Much like watching fitness videos doesn’t make you fit, consuming AI-generated code without hands-on practice yields “empty calories” in learning.

“You’re not going to learn anything. You’re going to learn in this superficial way that feels like learning but is completely empty calories.” (1:52:15)

For DHH, true learning comes from doing—typing the code yourself, wrestling with its logic, and internalizing the process. He likens programming to playing a guitar: the joy lies in the act itself, not just the outcome.

“The joy of a programmer is to type the code myself. If I elevate, if I promote myself out of programming, I turned myself into a project manager of AI crows. I could have become a project manager 20 years ago if I didn’t care to write code myself.” (1:33:49–1:34:01)

This sentiment underscores DHH’s belief that programming is an expressive art form, not merely a means to an end. Vibe coding, while useful for quick results, cannot replace the tactile satisfaction of crafting code from scratch.

AI as a Pair Programmer: Enhancing Learning and Fun

DHH sees AI as a powerful tool for learning and exploration, particularly when used as a “pair programmer.” Unlike human pair programming, which he finds draining as an introvert, AI offers a judgment-free, always-available partner that enhances the coding experience.

“AI allows me to have all the best of that experience all the time. It’s made it more fun to be a beginner again. It made it more fun to learn Bash successfully for the first time.” (1:37:59–1:38:10)

Lex echoes this enthusiasm, noting that AI’s lack of judgment makes it an ideal companion for asking “dumb” questions without fear of criticism, unlike the sometimes harsh environment of platforms like Stack Overflow.

“AI sometimes to an excessive degree has no judgment. It usually says, ‘Oh, that’s a great question to a fault.’ It’s so conducive to learning. It’s such a wonderful tool for learning.” (1:35:57–1:36:05)

For both DHH and Lex, AI transforms programming into a more joyful and accessible process. It acts as a hype man, encouraging exploration and boosting confidence, even in unfamiliar territories like iOS development for DHH.

“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 programming buddy like AI.” (1:38:34–1:38:40)

However, DHH warns that over-reliance on AI can lead to a loss of competence, drawing parallels to programmers who stop coding after being promoted to managerial roles.

“I’ve seen what happens to even great programmers the moment they put away the keyboard. They lose touch with programming. If you don’t have your fingers in the sauce, the source, you are going to lose touch with it.” (1:32:41–1:33:02)

This loss of “fingers in the sauce” is a critical concern for DHH, who values the craft of programming as much as its outcomes.

The Future of Programming: A Humble Perspective

The conversation also touches on the broader implications of AI for the programming profession. DHH reflects on the uncertainty of predicting technological progress, drawing historical analogies to the rapid evolution of aviation and the stagnation of virtual reality.

“It’s really hard to predict the future because we just don’t know. No one can predict even 6 months ahead. Right now, we’re probably at peak AI future hype.” (1:43:38–1:44:02)

He cites the example of COBOL, a language from the 1970s still running critical infrastructure, to highlight how legacy systems persist despite technological advances. This leads to a broader point about humility in forecasting the future of programming.

“We should certainly be humble about predicting the future. I don’t think any of the programmers who wrote that COBOL code back in the 70s had any damn idea that in 2025 checks were still being cut off the business logic they had encoded back then.” (1:48:07–1:48:21)

For young programmers, DHH advises focusing on the love of the craft rather than chasing trends or job security, which are inherently unpredictable.

“If you like programming, you should learn programming. Now, is that going to be a career forever? I don’t know. But what’s going to be a career forever? Who knows?” (1:48:35–1:48:41)

He encourages a mindset of gratitude and adaptability, emphasizing that the joy of programming should be its own reward.

“If that’s over tomorrow, I shouldn’t look at that with regret. I should look at it with gratitude.” (1:41:52)

Balancing Vibe Coding and Traditional Skills

A central tension in the discussion is how to balance vibe coding with traditional programming skills. DHH is skeptical of treating vibe coding as a standalone skill, comparing it to editing without first mastering writing.

“Editing in my opinion is the reward you get from being a good doer. You have to be a doer first.” (1:55:33)

He argues that while vibe coding can produce results, it doesn’t inherently make someone a programmer. Instead, it democratizes coding for non-programmers, much like Excel empowered accountants to build models without formal programming knowledge.

“Vibe coding enables non-programmers to explore their ideas in a way that I find absolutely wonderful, but it doesn’t make you a programmer.” (1:52:56)

Lex pushes back, suggesting that vibe coding—when combined with iterative correction—could be a legitimate skill, potentially outperforming traditional coding in certain contexts.

**“It’s possible if you get really good at [vibe coding], you’re...

Something went wrong, please refresh to reconnect or try again.

Posted 
 in 
 category

More from 

 category

View All
No items found.