In short
Practical AI Podcast: Episode Summary
Episode Title
Humility in the Age of Agentic Coding
Episode Description In this episode, the hosts engage with software engineer Steve Klabnik, known for his contributions to the Rust programming language. The discussion delves into his journey from being critical of AI to experimenting with AI tools, particularly in the creation of his programming language, Rue. The implications for software engineering and the evolving landscape of coding in an AI-driven world are also explored.
---
Key Participants
- Steve Klabnik - Software Engineer, Rust contributor, and creator of Rue
- Chris Benson - Principal AI and autonomy research engineer
- Daniel Whitenack - CEO at Prediction Guard and co-host
---
Key Points Discussed
Steve Klabnik's Background
- Started programming at age 7 and has a degree in computer science.
- Initially critical of AI but has shifted to use AI tools in his work.
- Known for his work on the Rust programming language and documentation.
Shift in Perspective on AI
- Klabnik once labeled himself an "AI hater" but has transitioned to utilizing AI tools.
- The turning point came during the release of ChatGPT, which presented new possibilities.
- Advocates for acknowledging AI as a significant change in the software engineering profession.
The Role of Humility in AI Discourse
- Klabnik emphasizes the need for humility in discussions surrounding AI.
- Highlights the disparity between technical understanding and public discourse about AI.
- Encourages developers to have open conversations about AI's realities and implications.
Development of Rue
- Rue is a programming language being developed with assistance from AI tools like Claude.
- Klabnik describes Rue as sitting between Rust and Go, aiming for better developer experience without sacrificing performance.
- Focus on creating a language specification first to improve validation and testing.
Revisiting Software Development Practices
- The podcast discusses the reevaluation of long-held software development practices, like the DRY (Don't Repeat Yourself) principle.
- Klabnik proposes that not all duplicates are problems if they can be managed effectively.
- Encourages developers to explore flexibility in practices to accommodate new AI-assisted approaches.
Future of Software Development
- The future of coding involves the collaboration of human developers with AI tools.
- Questions arise regarding the implications of AI on job security for software engineers.
- Klabnik expresses optimism that the demand for skilled developers will remain high, despite automation trends.
Challenges of Maintaining Code Quality
- Explores the dilemma of accelerating development speed using AI while ensuring code quality.
- Klabnik poses the question of how to maintain trust in AI-generated code without compromising standards.
---
Conclusion
- The conversation emphasizes the ongoing evolution of software engineering in the context of AI.
- Klabnik's journey from skepticism to practical AI applications highlights the importance of adaptability and humility in the tech industry.
- The episode concludes by inviting listeners to engage with upcoming webinars and discussions on these topics.
---
Resources and Links
- [The Rust Programming Language](https://doc.rust-lang.org/book/title-page.html#the-rust-programming-language)
- [Rue Programming Language](https://rue-lang.dev/)
- [Daniel Whitenack's Upcoming RSA Meeting Links](https://meetings.hubspot.com/catherine-katie/rsa-cyber-expo-start-up-march-23)
- [Practical AI Webinars](https://practicalai.fm/webinars)
---
Upcoming Events
- Register for [upcoming webinars here](https://practicalai.fm/webinars).
---
This summary encapsulates the key themes and discussions from the episode, providing insights into the evolving landscape of AI in software development while highlighting the importance of humility and adaptability in the field.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Chapters
Tap a time to open that second in VOHosts' Welcome and Conference Announcement
0:38 to 2:28
Hosts introduce themselves and discuss upcoming events.
“Welcome to another episode of the Practical AI Podcast.”
Guest Introduction and Background
2:28 to 5:56
Introduction of Steve Klavnik and his diverse background in programming and writing.
“We have an amazing guest with us who I'm excited to get to know a little bit.”
The Shift in Attitude Towards AI
5:56 to 9:26
Steve discusses his transition from skepticism to embracing AI technology.
“During that time, there was this big thing where essentially like I was playing around with ChatGPT for the first time.”
Conversations and Realizations About AI
9:26 to 14:02
Steve shares conversations that changed his perspective on AI and its applications.
“And then, you know, no one is, no one is exempt from the opinions of those around them.”
Trust and Non-Determinism in Computers
14:02 to 14:50
Explore the speaker's realization about the trustworthiness of computers and their non-deterministic nature.
“And like, I don't trust computers at all.”
Humility in Software Development
14:50 to 15:44
Discuss the need for humility among software developers when assessing tools and the capabilities of non-programmers.
“I trained my entire life to like the computer does exactly what you say and bugs happen because sometimes you say to do the wrong thing.”
The Unique Perspective of Software Engineers
15:44 to 16:59
Analyze how a software engineer's background influences their views on human-AI collaboration.
“for me came out of all that kind of stuff, basically.”
Epistemic Humility and AI Interaction
16:59 to 19:36
Reflect on the importance of epistemic humility when developing and interacting with AI systems.
“kind of human AI teaming exercises these days.”
Reexamining Software Development Practices
19:36 to 21:32
Encourage a reassessment of traditional software practices and the influence of AI tools on development.
“The problem is I don't know which of the 50%.”
Experimentation in Software Development
21:32 to 22:53
Highlight the necessity of experimentation and risk-taking in the evolving software landscape influenced by AI.
“And so I feel like, you know, like, everybody's talking about software factories, you know, these days, which is already a thing that's only a month old, and it was just called Gastown before that.”
Show all 22 chapters
The Future of Software Development Frameworks
22:53 to 24:21
Discuss the implications of AI on software development frameworks and the role of human developers.
“So I was going to like next question, drive you toward Rue a little bit.”
Job Security in the Age of AI
24:21 to 28:00
Examine concerns about job security for software developers in light of AI advancements and automation.
“Like, again, I wouldn't really talk about my product at my job, but it's like forge shaped, right?”
The Future of Work and AI
28:00 to 28:49
Discussion on how AI impacts job productivity and job security.
“We're going to need more people than ever.”
Personal Journey in Open Source and Time Constraints
28:50 to 30:46
Exploration of the challenges faced in open source contributions and time management.
“And yeah, I love, I think I'm going to fall asleep thinking about a lot of these topics because it's something I'm wrestling with all the time.”
Building the Roo Compiler: Lessons Learned
30:47 to 34:29
Insights into the development process and challenges while creating the Roo compiler.
“I don't know as much about CodeGen as I should.”
Shaping Roo: Defining the Language's Purpose
34:30 to 36:53
Delving into the reasoning behind creating Roo and its intended functionality.
“This is not like this is off topic of a tangent of tangent.”
Roo's Position in the Programming Landscape
36:54 to 41:25
Discussion on how Roo aims to fill the gaps between existing programming languages.
“between Go and Rust, you know, maybe some C and things like that.”
Challenges of Roo's Development and Future Directions
41:26 to 42:00
Addressing the current limitations of Roo and the vision for its future.
“Did you go with garbage collection or without garbage collection?”
The Challenges of Roo and Rust Programming
42:00 to 44:24
Learn about the challenges and trade-offs in programming with Roo and Rust.
“but like there's like things that you can kind of do.”
AI's Impact on Coding Practices
44:24 to 46:44
Discover how AI tools are changing coding practices and team dynamics.
“I haven't done this with a compiler or a new programming language, but certainly it's something I discovered along the way, one of those skills things.”
Reevaluating Code Quality Standards
46:44 to 49:48
Understand the shifting standards of code quality and the importance of flexibility.
“But some of the stuff, I'll give you maybe a spicy one that's like a practical thing that I think is, I think that when you start using these tools, you got to give up stressing out about dry a little bit.”
Future of Rue and AI in Software Development
49:48 to 54:22
Explore the future prospects of Roo and AI's evolving role in software development.
“I don't know the answer, but it's certainly something that probably will be discussed and evaluated as we move forward.”
Transcript
Automatic transcript. May contain errors.0:04Welcome to the Practical AI Podcast, where we break down the real world applications of artificial intelligence and how it's shaping the way we live, work, and create. Our goal is to help make AI technology practical, productive, and accessible to everyone. Whether you're a developer, business leader, or just curious about the tech behind the buzz, you're in the right place. Be sure to connect with us on LinkedIn, X, or Blue Sky to stay up to date with episode drops, behind-the-scenes content, and AI insights. You can learn more at practicalai.fm. Now, on to the show.
0:53Welcome to another episode of the Practical AI Podcast. This is Daniel Whitenack. I am CEO at Prediction Guard, and I'm joined as always by my co-host, Chris Benson, who's a principal AI and autonomy research engineer. How are you doing, Chris? Doing great. Enjoying having fun, and gosh, the weather where I'm at is awesome. So I had to force myself to come in to do the show today. Yeah, yeah. I unfortunately had a mild case of COVID last week, and so coming into this week, it's both really nice weather, and I'm over that, So I feel like extra boost. Welcome back. Yeah. Thanks. Thanks. It's good to be back.
1:31And yeah, for our listeners, just one thing you might want to be aware of if you are in the San Francisco area or if you're attending RSA, I'm going to be at the conference at RSA out in San Francisco end of March, 2026. If you're listening to this years later, I won't potentially be there years later, but this year, this year I'll be there. And I do have some meeting space where I can meet up with people if you want to talk about enterprise-y AI things. I'm going to have some demos on AI bill of materials and some cool prompt injection stuff. So if you're into that side of things from the security enterprise AI side, I'll include the link in the show notes if people want to figure out where to find me or find a time.
2:22So look me up there. But really excited to get into the conversation today. We have an amazing guest with us who I'm excited to get to know a little bit. I'm really intrigued by his work, Steve Klavnik, who is a software engineer. And I'll leave it up to you, Steve. Maybe you can describe why. software engineer extraordinaire software engineer extraordinaire how you ended up on a on an ai podcast what what your background is and um how where that intersects with ai i guess yeah thanks guys i uh thanks for having me it's good to be here and uh yeah i have like a weird background and so i never know what to say with these kind of things i can say presently i work at a company called east river source control we're building some source control tooling around the jj uh virtual system, but like, we haven't really talked a lot about product is yet.
3:14But as you might imagine, developers collaborating to build software means at least knowing about AI right now. So, you know, that's one reason I'm connected to this. But I think the biggest thing is like, so I started programming when I was seven, and I turned 40 this year, I've seen a lot of change happen, you know, both my professional time and also just like being around computing for, you know, this long. And I did a computer science bachelor's degree, but then I almost went back and got an English degree. And so like, I'm in this weird section where like, I've been programming for a long time, but this bookshelf behind me is full of a lot of like dead French people books, you know, and so I kind of was always in that space.
3:56And I found myself being really interested in sort of the intersection of writing and software. And so I sort of became known as the docs guy to a lot of people. So I spent 10 years working on the Rust programming language and wrote a book also called the Rust programming language with my co-author. It's the book. Yeah, thanks. I'm just saying it is the book. Yeah, yeah. People in the Rust world call it the book, which is very nice. But so I've kind of been like interested in all of that. And also like I loved compilers. And so I like scheduled my computer science classes around how to get to compilers as quick as possible.
4:32And then I kind Ruby on Rails became a thing. And I was like, oh, I guess I'm going to make websites now because that's what everybody's doing. So I had this kind of complicated-ish sort of background. And at the start of 2025, if we went back a year and change ago, I would have been self-described as an AI hater. And then by now, a year later, I have a lot of people who are like, damn, that guy really fell off because now all he talks about is AI. And so that transition has been very interesting and complicated. And I've been trying to write about it. And so, you know, that's sort of, I think, how we kind of got introduced or how you originally sort of we're talking about me being on the podcast is about some of that stuff.
5:09But yeah. And so I think that like, regardless of one's opinions on AI, I think it is like arguably the biggest change to our profession in a long time. And whether or not you think that's good or bad, I don't think you really deny that it is a thing that is making things change significantly. And so that's sort of what I'm most interested in is like, at the moment, I feel like I have a sort of base disagreement about what reality actually is with a lot of people. And so it's sort of almost like I have my own sort of thoughts about where stuff is going and whatever else. But when I read things, a lot of the stress of this past year and what led to my writing was me being like, I wrote a post almost a year ago, it was in May of last year, called like, I'm disappointed in the AI discourse.
5:57During that time, there was this big thing where essentially like I was playing around with ChatGPT for the first time. And I asked it a question and it was like searching the web and it showed me all the websites it searched and stuff. And then I'd switch over to Blue Sky and I see a post that's like, ChatGPT cannot literally search the web. It is not a search engine. Stop calling it a search engine. And that kind of like disparity, like maybe that's like a formative moment, but it also, I think, exemplifies the way that we have been talking about these tools is that there's like a disagreement about the facts.
6:25And you can't, I feel like you can't really get to a higher level amount of discussion or like come to any sort of consensus or building things without like understanding what the facts are. And so I've spent this last year, maybe in a sort of Pyrrhic kind of way, trying to be like, can we all just agree on the facts, please? And then the facts keep changing and that makes it hard. Anyway, that's sort of a lengthy, I guess, background to, you know, where I am, what I care about the space. I think that the future is interesting and I don't know exactly what it's going to be like. but uh but that's sort of yeah i don't know that's hopefully that's enough rambling to get started at least it is not only that but i'm about to draw draw you out a little bit more along that line of thought because um uh you know i i followed you for a number of years uh i was when i got into ruby and rails years ago and then you wrote uh i think it was real the rails four book um i helped with that yeah yeah yeah and i that helped me level up uh when I moved through Go for a long time.
7:22That's how I met Daniel. Eventually got to Rust, and you're one of the three authors of the current edition. I think you got it started in the first edition, and so still reading that book. So, you know, it was one of those things where I was interested, but you were consistently kind of, you know, a little bit negative on the AI side as things were getting in. I was thinking, I got to find a way to get Steve onto the show, but he's not writing blogs that are very conducive to that. So like maybe there's an angle. So I was really surprised when we got to the holiday season and, uh, and you announced Roo, uh, which I know we'll get into in a moment, but like you talked a little bit about kind of setting the facts and everything, but there was a, there was at least from the outside, you know, as someone who's reading your blog stuff, there was a definite shift in how, in, in, in like the, the approach or the tenor, if you will.
8:20And can you talk a little bit, like, I know you were talking about the facts a second ago and kind of laying those out, but like, what, what, what happened, man? You know, like how that was a turnaround. I was like, holy. Yeah. I shouldn't say that. There's a couple of things. We're family friendly. So. Okay. That was a good, that's, oh yeah, that was only a pre-podcast question I didn't get answered is how much can I curse? Cause I'll accidentally say it myself. It's all good though. No. So, um, okay. So I basically did not pay any attention to this space at all until ChatGPT came out. And I very distinctly remember where I was when ChatGPT came out because I was with my family.
8:56And like the first thing I did, because, you know, maybe I have some small narcissist tendencies is to try to ask it if it knew about me. So, you know, you're curious when you post a lot of stuff online and it says it's been trained on the internet, you know, you're like, who, you know, do you know who this is or whatever? But like, I tried it that day that it launched and I was like, this is cool, but this is like kind of a curiosity. And then I had a lot of like stuff going on in my life at the time but because I was like around family um I ended up showing in particular my mom's boyfriend uh chat GPT initially and so um some time goes by and people were talking about things uh you know in general and like I wasn't paying super close attention to all of it because like you know it was like neat but it also was like wonky enough and weird and odd enough that like it didn't really seem useful it seemed like a fun kind of like party trick, but I didn't really think about it too much.
9:46And then, you know, no one is, no one is exempt from the opinions of those around them. We live in a society, we have friends, you know, you're kind of the people that you're around. And the people that I found myself around were very negative on AI for various reasons. And I think also there's a couple different sort of angles to that that I'm sure we'll kind of get into, but I kind of just by default fell into kind of a like you know i ask it to write some rust code and it barely does it correctly and it's like kind of bad and like that seems like whatever and uh but like as the sort of silicon valley hype cycle kind of like ramped up on this it sort of seemed like the hype was mismatched from the actual reality and so that kind of matched my kind of uh you know what my friends were saying and stuff but my mom's boyfriend like he's not a programmer at all he was managing a coal tar, like it's like where you take physical tar out of things and you move it around.
10:42And I don't really totally know anything about that. But like for this thing from a software developer ever, he just kept being like so into it. And we'd have conversations every so often about like these kind of topics. And I was like, man, you're like the only dude in my life who's like positive on this thing. And so it was actually kind of like, you know, some there's some positiveness to like touching grass. I guess what I would say is that like when I got out of the online echo chamber. And I talked to somebody who has like no idea where the echo chamber even is, let alone what the echo chamber was about.
11:13So his fundamentally, what really changed around for me was like conversations I had with him was sort of the beginning of that. But then this sort of like the thing that really made the shift happen and the thing that led to that initial blog post was I happened, it's timing is so interesting. I like happened to try, I was like, I should be a more informed hater. So I'm going to give these tools like a better try. And so I was like, what, what is the current state of the art with these kinds of tools? And like, what should I use? And it just so happened that was like two months after the first agentic stuff started appearing at all.
11:50And so I installed an extension called Klein into VS Code and I started, you know, using it. And I was like, oh, this is like very different than me asking chat to PT on a website to like write me some code. And so I started playing with it. And I was like, okay, wait, this is like, this like works. Like, this isn't like, hold on a second. You know, like I was like not a fan of this stuff because it didn't really seem to work very well. But like, I'm not going to say it's perfect. There's like stuff going on, but like it does like fundamentally work. And so I can't be like running around saying this is useless when it's clearly not useless.
12:25And so what other stuff am I wrong about? And, you know, I think a lot of people maybe that are more familiar with my Twitter account than, you know, me as a actual human, not that much of an overlap, but like, I'm kind of a very strong opinions, weekly held kind of guy. And so I definitely like say things more strongly than I believe them sometimes just sort of by default. And so, but I do like to think that if I say something and the circumstances change, that I will change my opinion. That's like a thing I would like to believe about myself. I'm not going to say I'm perfect at it, but in this case, that's just literally what it was, was I was like, okay, I was willing to criticize this as useless when it was useless, but now it is not useless.
13:04And so that's like a big sort of like shift in me. Um, and, and those conversations with my mom's boyfriend largely revolved around things like, I was like, okay, it, it makes stuff up sometimes. Like, how do you, you know, like, what are you using this for? And like, how do you deal with these downsides? Because like my peers are talking about how like it hallucinates things and therefore it's totally useless. And he's like, well, here's the deal. He's like, I need to write a lot of reports for my job. And you know what I hate doing? I hate having a blank piece of paper. I love editing stuff, but I hate writing things.
13:37I'm going to fact check everything that I write before I send it out. And if it's 10 % wrong, that's totally fine because I'm going to fix that in post because I'm never just dumping the text it gives me into that report. But it solves this major problem. I am more productive, not because even I'll fully rewrite the entire thing from scratch. But like, because that's an editing process and not an authoring process, like that, that to me has really, really helped my own productivity. And like, I don't trust computers at all. You know, he's, he's retired now to give you a vague idea of his age. And, and so like, he's like, I don't really trust computers at all.
14:11And like, what I sort of came to realize is that like, as software developers, we've conditioned our brains to think of like, so many programs, like it's, it's not a compiler, because it's not deterministic, There's non-determinism. It doesn't gives the wrong answer sometimes. To normal people, computers this whole time have been magic boxes that you just punch random things into and they give you the right answer 60 % of the time. And you can't trust what they say anyway, because they like barely work. And so that like that like non-programmer mindset up to computers really was what made me go like, oh, yeah, like that's like kind of a good, you know, point sort of like he's more equipped mentally and like in techniques to deal with something that lies 20 percent of the time than I am because I'm used to I'm used to determinism and I'm used to the computer doing exactly what I say.
14:56I trained my entire life to like the computer does exactly what you say and bugs happen because sometimes you say to do the wrong thing. Right. But like that sort of that was like a really big shift for me specifically. And there's also I think if I'm at my most critical about my industry that we kind of sort of believe that because we're good at computers that we know what we're talking about and we're like better at them than normal people. but I like want to believe in normal people as well. And so I think a lot of software developers are like, no, this tool is wrong and is bad. And if you get value out of it, that means you're stupid, not that you know something I don't.
15:32And I think we could all deal with a little more humility, which again, I know a lot of people are gonna be like, Steve is saying we need to do more humility, but like, it's true though, I need it too. And so that's, I think a lot of sort of the turnaround for me came out of all that kind of stuff, basically. Yeah. So Steve, something I was thinking about when you were, talking about this kind of shift in mindset and what kind of quote, not, I forget what you use, normal people or non-programmers or whatever it is. I don't know. I don't know. I don't know. Yeah, exactly. What they, how they kind of view computers, how they they're interacting prior to AI and now, and how you want to believe in, in sort of, you know, that, that kind of person or more people utilizing powerful tools like this and what they could do.
16:22I'm wondering, we'll talk, I think, more about Roo and some of that stuff as we go along. But in that respect, you obviously have domain expertise that has been built up over years. And I'm guessing in that kind of human AI experiment, which has to do with compilers or developing a programming language, in some way you had an advantage over someone who had never thought about compilers or that sort of thing in terms of your like human AI teaming. But also, yeah, I guess I'm wondering about what you think is that kind of unique element that software engineers bring to these kind of human AI teaming exercises these days.
17:11And, you know, what's important, I guess, to preserve in that and important, like you say, to like maybe be willing to sacrifice or say like, hey, this thing that I held very closely for many years is something that I need to be okay to let go. Yeah. I think that there's a couple of things. I'm actually not entirely sure if it's my like English grad school background is actually more valuable than my software background when it comes to understanding these things, because they are fundamentally about language and like Also, I don't know, I got a book back there called Alien Phenomenology, What It Means to Be a Thing.
17:50The idea of a non-person entity existing in the world and what that means. I grappled with that question a lot and I feel like a lot of people haven't necessarily. I'm not on team AIs or people at all, mind you. But I've had this longstanding sneaking suspicion that being nice to AIs makes them perform better. um for example i also think it's good for like you as a person to not be mean to them but like there's kind of there's sort of like uh the hottest programming technique is to go to therapy like it's sort of this like like because i'll see people who like i tried this and oh i almost swore right there i tried this crap and it didn't work properly and whatever and i'm like you show me the transcripts and it's like when claude makes the first mistake they're like hey jerk what's your problem and i'm like i think that that's like why it's performing worse is because i'm like hey clock because anyway it's like a that's an excellent try uh let's move on to the next step yeah and like you know there's like a non-zero part of you know i um i started dating i'm about a year into a relationship with someone who has kids this has never been a thing in my life and so you know another funny part is like when you're around a two-year-old and people are like it just repeats what it's heard before humans don't do that and i'm like she literally says the last thing i said two times in a row after i say it every time and again i don't think humans are people, LMs are people, and she'll grow beyond that.
19:07And LME won't, whatever else. But it's just like, those are the kind of experiences that were like breaking my brain in terms of people being like, man, you wait, you know what consciousness is like you, you claim that it can't be because you know what it is like, wow, that's new to me because I thought philosophy of mind was still arguing about what that means actually. And you sure feel very strongly about like, and that doesn't mean it is conscious. I'm just saying like, have some epistemic humility. So anyway, like I do think there's some aspects of the programming background that are useful though.
19:33And I think that like, but I think the trick is, so there's an old advertising joke that's like, you know, only 50 % of my advertising budget is useful. The problem is I don't know which of the 50%. And I really think that that is the moment that we are in in 2026 as software engineers is I think that there are I think that we need to have a sort of like acknowledgement that many of our industry practices are not actually backed by evidence at all, especially around things like clean code. like what like i have never given less of a care about how many spaces my tab key produces you know what i mean like we used to like man eight spaces is far too indent you can't read that stuff and so we really need to move to like four or two that's like a i'm happy to never argue about that ever again it has to be four come on exactly it's got to be four not two and and like and so but like that's an easy one to like sort of like joke around about but what i mean is is that like another really interesting thing is that like if we want to acknowledge these tools interact with code bases in a different way.
20:40Like what is good code to an LLM may not be good code to a human. And we need to recognize that like some of our practices have pretty good empirical basis, but other ones are just stuff some guy made up and he had a blog in 2002 and then everyone's been repeating it ever since. And like, that's just the case. And so, and it doesn't mean that I totally believe in the idea of code quality is dead. And that's not what I'm saying. I'm just saying that like, we don't, There's so many things that we now don't know. This is not a time for like shutting off ideas. This is a time for reexamining the beliefs that we have.
21:16And I say beliefs because they are beliefs. They're not like proven, guaranteed correctness things. And so that's like, I think the biggest part of what I'm trying to do this year is to have some humility in what I believe about what the correct way to develop software is. And that means also a lot of experimentation, means a lot of mistakes, means a lot of problems, means a lot of like, you can't, you can't figure out what's right until you do a whole lot of things that are also wrong. And so I feel like, you know, like, everybody's talking about software factories, you know, these days, which is already a thing that's only a month old, and it was just called Gastown before that.
21:54And then before that, it was barely anything else. And sure, those things may be bad ideas. But like, also, you know, in the 1910s, let's see if I remember history, right? There's a bunch of dudes strapping wings to their arms and jumping off buildings and dying. But like, I still take an airplane around the world today as part of the process that they gave their lives for. And it's kind of silly to be like, you know, but like those people did. They literally died experimenting to try to figure out how to make flight happen. And then eventually we applied engineering rigor and we understood things.
22:21But that like experiment time, like that's what we're in. I don't use open claw like at all. Like to me, those are the guys strapping things on their wings and jumping off a plane. and like a bunch of them are going to, problems are going to happen. Like people are going to lose their livelihoods. And I'm not saying it's a good thing, but I'm just saying like different people have different risk tolerances. And like, even as psyched as I am about this stuff, there's like things that I won't do, but I'm also not going to poo-poo them exactly because like they may uncover something cool and I welcome their sacrifice.
22:49You know what I mean? And so that's like, that's like the thing. So I was going to like next question, drive you toward Rue a little bit. Yeah, yeah. But you've hit a point there that I'm spending a lot of time thinking about right now. And I really wanted to kind of ask you, because it sounds like you're getting there too. And that is that so many of the processes, you know, agile, frameworks, you name it. There's so many things that are in place today in software development because of the humans, because the complexity. and you're trying to manage all the things and you're trying to say, okay, we're going to have microservices, nanoservices, you name it, all these things that are really more about the human in that than the technology itself.
23:37They actually add overhead in terms of that. And so that has been something I have been thinking a lot about is as we get into this kind of new approach to software development this year, like what is the future of these various artifacts that we've created to to help ourselves be be software developers when you have llms that may not need any of those to produce you know maybe not today but at some point in the not so distant future may be able to produce amazingly capable software without the need for all these things changing that role of how the human fits in and so it sounds like you're hitting a little bit on the same kind of questions there yeah i mean Is that accurate?
24:21Like, again, I wouldn't really talk about my product at my job, but it's like forge shaped, right? Like you upload code to our thing and then, you know, people use the code to work on your stuff. And so, like, this is an active, like, question in terms of product direction at my job is like, it's very easy to make pull requests and make those good. And we know how to make pull requests good. But, like, is that building for last year and not next year? Because, like, another funny thing is that people hate pull requests and code review. even while we do acknowledge they're really important for actual like good you know stuff and i'm not saying that pull requests are bad that we're not doing them or anything this is not like a statement about what's going to end up coming out the other end but like you know i do like wonder like okay what is what do these steps look like and like what's that happening like that is sort of you know the core like you still like humans are still doing this and we're doing in collaboration with machines now and so if we if we're willing to take it seriously like what affordances do you know do we need pull requests where they're automatically marked as this is a clod open pull request versus a human open pull request?
25:20Or do we need different review standards for different ones? How do you go about implementing these kinds of things? All of these are sort of open questions as far as I'm concerned. We need a little more epistemic humility around being willing to be like, okay, what practices work and don't work? A concrete one that I don't know the answer to, but I can give you a specific example rather than just generalizing about things that we used to believe that we don't anymore. In OpenAI's most recent blog post about using agents to build a product, and most people think that's codex, but like we didn't really say specifically what it was.
25:55They mentioned that when they develop software in this sort of agent first fashion, when they added more developers to the project, their velocity increased. And that's like a sacred cow since Fred Brooks. Like that's like a 1950s, 1960s, adding more people to a project, makes it slow down. Well, if that's not true anymore, like that changes a lot of other things. And like, you know, and that's like, that's like one. And there's been, I think also, I think Anthropica said a little bit about this as well. And so like, you know, it's sort of like, that's an example of a thing that is a belief that is very strongly held and for good reason.
26:33It has been true in the past, but that doesn't mean it's not going to be not true in the future. And I think that matters because like so much of this, like being upset about AI stuff is this existential question about when I'm meanest, I'm like, software developers jobs, our industry's jobs has been automating other people out of jobs for 50 years. And now it's coming for us. And now we're like, Oh, automation might be bad. Like, it's a little selfish and a little self serving. And I think a little like almost insensitive in the way that some people react. But also, I got a mortgage, if I don't have a job, I'm gonna be upset.
27:04You know, like, I understand it at the same time as it maybe feels a little hypocritical. But like the thing is, is that I do look to the frontier labs a lot because if anyone is doing something that's forward looking, it's probably them. There are other startups too, but I think that they are the ones with the most inside knowledge about what's going on. They all have software engineering job positions open. They're still hiring people. And so while it's true that you have very famous examples of executives firing people because of AI, I think that like that is, first of all, like, do you really believe CEOs.
27:35We're taking CEOs at their word now for what they're doing. You trust that they're doing what they're doing correctly. I think a lot of it is cover for post-ZERP overhiring. And I think some of it is just poor management. And again, you lost your job due to poor management is not a soothing thing to say to someone that lost their job. I'm not trying to trivialize that aspect of it either. But I think that once we get through this period of learning, we're going to learn that we need more programmers than ever. We're going to need more people than ever. because like when you make an individual person more productive, that doesn't mean you, like a forward thinking company doesn't go, oh, that means I need less people to do the same work.
Read the full transcript
28:11It means, oh my God, I can get even more work done. Cause I don't know about you guys, but I've never worked at a place that's been like, well, we're out of ideas and we don't have a backlog and there's nothing to do around here. So just go home. Yeah, like there's always infinitely more work to do. And when you start being able to do it faster, that just means you can do even more things faster rather than do the same amount of stuff with less people. And so I can understand the cynicism, But like for me personally, I'm not sure that I believe that that will be the case in the long run, basically.
28:36Anyway, that's a little small digression. But that's kind of like once the AI labs start firing software developers, that's when I'm going to be worried about software developers losing their jobs. But as long as they're hiring, like I think we're good, probably. We'll see. And yeah, I love, I think I'm going to fall asleep thinking about a lot of these topics because it's something I'm wrestling with all the time. We've even had some of these code quality discussions, even like this week in our, in our business around like what standards should we have and what does that mean? So, um, yeah, I, I am curious about this particular, um, you know, effort that, that you did with the, with Rue and like what that means.
29:17Like maybe you could set the stage with like, how did this idea come up and like, what was the concept, I guess? Yeah. So there's a couple of different things. The first one is, is like I worked on Rust, but I worked on documentation. I weighed in on language design occasionally, but like I did not, I was not on the language team. I didn't do that. I was on the compiler team. I didn't work on the compiler. I did other things because that's where I thought my skills were most useful because I wanted Rust to exist in the world more than I wanted to work on a compiler. And so, and so like, you know, it's been a couple of years since I've worked on Rust.
29:45And so I was like, maybe it's time that I could work on a compiler. But the thing is, is that like, I know that all of this is a tremendous amount of work and I have had less free time in my life than I ever have. Like in my 20s, I remember distinctly being like, why doesn't it, people were like, you are so productive in open source, Steve. Like there was a time when I was the 17th most committed person on GitHub. And like, that's because like GitHub was like way smaller back then. But like, I was like legitimately up there. And I was always like, why don't people ever have time for open source?
30:15And like, I literally had a conversation with my girlfriend last night about like, I wish I could buy more time because I don't have enough time to even do my side projects. If you go look at Rue right now, I haven't committed since January. And when we scheduled this thing, originally I was like, I'm taking a little bit of a break. I don't know when I get back to it. So maybe we should put it off for a little bit. And I've not had the time to get back to it yet because my life has been busy. So I had never started a language project because I knew that if I'm the one typing out all the code, I'm not going to get far enough to the interesting parts.
30:41I don't really care about parsers. I'm not really interested in the front end. I'm interested in the middle end. I'm interested in the back end. I'm interested. I don't know as much about CodeGen as I should. And so I want to like learn that. And the best way to learn is by doing. But you know what like sucks? Saying that like I have five free hours of work time a week and I'm going to spend that debugging a register allocator on why x86-64 is like using LEA incorrectly or like whatever. That's like not, you know, I, in college, a bug that I fought all weekend. Like there was a time, you know, my friends were working on an operating system in college and like we couldn't get the machine to boot.
31:14Boot in Kimu, we put the disk into the actual computer and we boot it up and it would fail to boot. I was like, man, that took us like two weeks to figure out that there was like something slightly wrong. I don't even remember what it was. But I used to tell that story. I was like, man, that was awesome. I spent two whole weeks working on this bug. You know what two whole weeks working on a stupid bug means in my project now? It means that I'll go play video games or like hang out with, you know, the people I care about or like do something else. Like I'm just I'm old. And so for me, you're like you're not old.
31:41Yeah, sure. I know. But you're not old. Trust me. I'm getting there. And so it's really great to have the 40-year-old midlife crisis at the same time as the, like, is my industry going to disappear crisis happening with a classic millennial. Like, I graduated college in 2008. So we got all these other things happening in the world at the same time. It's been cool. But no. So what I saw with stuff like Claude was like, oh, this is good enough now that I wonder if I could revive this project I've always wanted to do, which is work on a compiler. And like, I know because I put in that amount of work, how much it takes to make a programming language popular.
32:18And like, I'm not really interested. I'm not here to sell you on Roo or you should use it. It's actually not even really ready for human consumption yet. Talk about that in a second. But like, the point is just like, I wanted to work on a compiler. And by work on a compiler, I mean, I wanted to like design one, play around with one, read the code, figure out how that stuff works. But like, I almost have repetitive stress in RSI sometimes. So like typing out, like putting the code into the IDE is like not the part of the programming that I care about anymore. It's the architecture. It's like reading stuff.
32:48It's like reviewing stuff. And so for me, like having Claude do that work is like totally fine. So anyway, I actually started Roo last August because I had some time going on back then. And then my velocity slowed down a lot. And I started getting into problems where it would spin all night and not make progress. And I was kind of not happy with it. And at the same time, I conveniently got very, very busy. And so I dropped it entirely. And so from like August to November, I pretty much didn't really do anything because I just didn't I didn't have the time to work on it at all. And so I came back and a couple of things had changed.
33:24The first one is that I do think using these tools is a skill. So another thing that I think is really important with all this AI stuff is to acknowledge that it's it's like Vim. Like we joke about Vim being hard to quit, but like nobody says that Vim is a bad tool. I mean, some people do, but like what we generally acknowledge that Vim is useful, even if it's not every max person or whatever else person like, you know. We don't deride the tool for being bad simply because it has a learning curve. We may say that learning curve is not worth it or I don't want to put in the time. That's totally fine.
33:53But a learning curve does not inherently mean a tool is bad. So I think that AI tools and developing using AI and especially agentic programming is a skill that takes time to get good at and you need to practice it. And so this first iteration of Roo, combination of the models being worse, plus me being worse at it, meant that I kind of backed myself into a corner where I bit off too much. I made my PRs too big. These are all not new problems. You know, I merged some stuff that was of questionable quality for velocity reasons because it's a side project. And so it kind of got bogged down and I wasn't really, you know, feeling it super great.
34:29so in like November December rolls around and I started having time again and I was like okay I learned a lot from this first iteration I want to do it again and I had some new ideas as well about like what I wanted the language to be and like some other things and so I just started over again from scratch and this time along it has gone way way better and I am like very happy with the overall quality and some of that has to do with my own skill some has to do with my approach so So, for example, a thing that people get upset about with Rust all the time is like it doesn't have a spec and it sort of has a spec, but like whatever.
35:02This is not like this is off topic of a tangent of tangent. But like a thing that I did that I think matters in terms of like practically speaking, making this better is I focused on validation. Like I think one of the most critical things to do when developing with agentic programming is give the agent the ability to evaluate if its work is correct or not, because it iterates towards a fixed point. and that fixed point is test pass. And so I actually did like language spec driven development. I actually said like, let's work on a language specification first. And then I ended up writing a custom test framework with Claude because I'm being a little extra about it that takes the language spec and connects those to test cases.
35:43And those test cases are example programs that get run through the compiler and can determine like what the program outputs, should it output something? What are the error messages? Did the program work? What's the program's output to verify that the code was compiled correctly. And so that significantly increased my success rate and also let me do things a lot better, a lot faster because I put in the upfront time on validation and giving the agent the ability to invoke those things automatically because at the old time, I was just running the code myself and that was slower and more error prone than this time around.
36:17And so that's one specific example of why it's going better this time. But I changed sort of the architecture of the project and a bunch of other stuff like that. So that's where it's at, like, kind of now. See, I said I was a yapper. I could talk forever if you let me. So it's just like, yeah. You got to cut me off sometimes. I go too much. It's perfect. No, all good. It was good stuff. But I want to ask, so as you, like, totally get, like, wanting to scratch the itch, you know, wanting to create it, and you now have a tool that kind of helps you get there, given the fact that you're short on time, like, you know, which is normal.
36:48I'm the same way. And so you kind of have this pet project. But as you were kind of defining what Rue would be as you're scratching your itch on this, and it's like I think in your blog post and there's a number of other articles out there on the web that people can find, it kind of talks about, you know, position between Go and Rust, you know, maybe some C and things like that. But what is your thinking about that? Like what, A, why did you, what was the problem you were trying to solve? And what is your thinking about solving that problem? While you've been very explicit so far that, you know, Rue is not ready for, you know, production code and that kind of stuff in how you've addressed it with the public.
37:36being a personality in the software development world, a lot of people are interested in this, you know, hey, we're on the show right now. And so like, what is your intention in terms of like, what problem to solve? And, and maybe eventually in the future, when the when the language is a little bit more mature, if it gets more mature, like, what would you see people using it for? and why versus Rust, which you're famous for, or one of the other, or Go, you know, how are you seeing that? Totally. So right before I get to that, there's one other part that's similar that I want to get to that I didn't say earlier, which is just that I also, a lot of people are in the question of like, can a new programming language work?
38:19Because if a programming language isn't in the training corpus, how can an LLM write the language? And so part of my goal with this project was to invent a new language and make Claude write a ton of it because I wanted to see how good it would be at using a language that literally did not exist before this project happened. So there was some of that. And the second one is like a lot of people have said, it's good at writing a React web app, but it couldn't do anything like a compiler or an OS. And so I wanted to like prove out like it could write a production compiler. So those were also parts of this.
38:48The reason I settled on this project was that stuff. In terms of the language itself, there's a lot of people. So I got involved with Rust because I knew there had not really been any credible challengers to see in a long time. Again, Go was brand new at the time and also is Go a challenger to see is a whole giant flame where we could like get into. But to me, I was very much of the like, GC means no. So like whether or not that's right or wrong, I was like, Rust is like - I'm with you, it's more Java. Yeah, yeah, yeah. And so I think those like, in reality, I think those categories are much more blurred than they are in actuality.
39:21But like at the time, I was a little less educated slash I had stronger opinions. I was a lot younger then. And like, so I was like, okay, we need this low level language. And so we're building a thing that's for operating systems and kernels and use maximum performance and all that stuff. And that's why I got invested in Rust and why I think it's important and why I think it took it off. But a lot of people are like, man, memory safety and OGC is like the seventh reason I would use Rust for a programming project. I love the tooling. I love the error messages. I love ownership and borrowing, but like not because I'm like slinging pointers around, but just because I think it helps me make more clear programs.
39:58And I like the performance. And they're also like I hate the slow compile times. So for me, like basically, I think that there is a sort of a market opportunity for some sort of language that is like in the middle of Rust and Go. that's like willing to, like Rust is willing to give up everything for the performance of the code and the ability for you to write as low level code as possible. Go is willing to give up compiler optimizations and control over certain things in order to have a good developer experience. I think there's like some room in there for a language that is like able to reach down the stack a little further than Go is able to effectively, but also not as fully committed to like this much must equivalent or beat C and performance style thing.
40:48And so I wanted to play around in that kind of space because if there was something that was like just a little, like just a little higher level than Rust and just a little more performant than Go that compiled instantly, like I think that's a thing people would use. People want advanced type systems, which again is something that Go is kind of like backed away from, you know, as a stance for them. And I think that's totally fine. But like I want some types, I want super strongly typed stuff. Like I like the heavy type system things, but those languages all come with like lack of speed for various reasons and all these things.
41:22So that's the niche I want Rue to exist in, or that's kind of the like overall spot for it, I think. Did you go with garbage collection or without garbage collection? So currently, no, I have not. But what I'm sort of leaning heavily on is an idea that came out of Swift and also another language called Hilo, which is somebody from Swift has been working on for a while, which is called mutable value semantics, which basically is like, you only need to GC if you have references and what if you just didn't have references? And then you're like, well, how do you write any programs? And the answer is like, well, you treat references as values and then you kind of, I'll hand wave for the purposes of this conversation, but like there's like things that you can kind of do.
42:02So basically you give up a teeny little bit of expressiveness for any of the Rust nerds out there, you give up the ability to save references inside of structs. That's fundamentally what you give up. And you give up a little bit of returning references from functions too, not entirely, but like a little bit. And in exchange for that, you have no borrow checker and you have no lifetimes. And so I think there's a ton of people who would absolutely make that tradeoff, basically. And so, yeah, that's kind of like the space. There are some problems with that. And so as a consequence, one of the reasons why Roo is not really ready for regular programmers yet is I have a little bit of some stuff I need to implement where if you put a string into an array right now, you can't get it back out or access it.
42:46As an example of like, and that's not because there's no plan to do that, but because just like the moment that I had no more free time was cut off right before I fixed that problem. And so you like, my friend Dorian has like probably the human who has the most experience programming in Roo. And he's like, I've tried to write real programs and you're like so close. like even if you'd ever do anything with it again can you please just fix these two or three issues and then you can start to write real programs and i think it'll become a real thing and i was also like i'm on the cusp of like a standard library being seriously implemented and so if i get it to that point like it's it's like just before it's real enough to be used for good things so i do want to not permanently abandon it i just have a lot of stuff going on in my life right now and so uh but like yes that's kind of the the core of it and a lot of rust compile time woes are a combination of wanting super speed, but also some decisions that were made a long time ago that weren't really well thought out in the sense of their effect on compile times because that was not something that we really thought about back in those days.
43:42And so those have now made it a problem that makes it really, really hard to make Rust compile quickly. A lot of people think that as a safety checks, they're not correct. It's almost always these incidental things that were sort of not really thought about that have come back to bite you years later kind of thing. And so fixing that like can, you know, is sort of part of the thing that's on the table. And so I've really honestly like Rue is like sort of this weird mix of like Swift, Rust, Zig and Go. Like basically, like it's kind of like what if you just take all those things and mush them together and like, you know, and that's fine.
44:12Like I'm not claiming that I've invented some sort of new magic thing. A lot of programming languages are just taking the good stuff from other things and shoving them together in an interesting way. And so that's kind of what I'm trying to do with it. I love the observation around the spec. I haven't done this with a compiler or a new programming language, but certainly it's something I discovered along the way, one of those skills things. And actually using AI to help me write that script with my validation or spec, and then going to actually implement it. I'm wondering, as you've gone through that, like this is kind of was part of what you were doing on the side when you had those those times in your life.
44:57Has has anything of those like skills that you learned in this AI human teaming kind of project? Has that filtered into things that you have in an opinion in an opinionated way brought back to your kind of day job and the team that you're working with? Like, hey, if we did X, like, have you guys, you know, have you guys also found this to be true? Like, should we be doing should we be doing this or, you know, has that happened? A little bit, but like there's a couple of different things. One is I personally have been working more on upstream JJ than on our product. And that's kind of going to switch sort of soon.
45:36But like I kind of have been not I personally have not been like hacking on our product for various reasons. So I try really hard to not force my opinions on code bases I'm not working on. So I have like not really broached a lot of that with a lot of people. But our team are like, we are not like super cutting edge, let's make Claude do all the work kind of things. We are much more of a, these tools help me write code and I use them. And we don't really have like a mandate for like, you need to write code this way and like, you know, whatever else. I think we're much more like median in terms of our AI usage as a team.
46:14And so some of my thoughts and opinions about this have been from exploring these things in sort of that more cutting edge kind of way. Because, again, we're fundamentally building developer tools for humans and AI to collaborate. And so like that means you need to be aware of what people are doing. And so I spent a lot of my time reading a lot of stuff from all of every blog post on this ever. Like I have read all of them and probably many that I should not have, too. but like just to be aware from like a product perspective of like what we kind of need to be working on with those sort of things.
46:44But some of the stuff, I'll give you maybe a spicy one that's like a practical thing that I think is, I think that when you start using these tools, you got to give up stressing out about dry a little bit. I definitely have had times in these code bases in my side projects where I've been like, hey, could you give me an analysis of code quality, please? And Claude's like, you got five copies of this function in here, dude. And in the past, I would have been like, this is an actual problem. Like this is a failure of the development process. But now my opinion is like something closer to like, okay, cool.
47:21Can you fix that, please? Great. I'll merge that PR. That's fine. And sort of the reason why is that like, if we go back to think about like why way before AI, there's a time with Gary Bernhardt and one of his things, shout out Gary. He really changed some of my opinions on dry specifically where there's one of his early screencasts he did. He did this thing where there was like a bunch of SQL files or something, had a bunch of strings that were basically identical. And he said, hey, should we abstract these out into a constant? Because like they're identical strings. And it was in tests specifically.
47:52So tests are often very repetitive. So there's a question about like, should you dry up your tests? It's been a thing people have been fighting about for a long time, right? So he's like, we're going to leave them in there for now. And it's going to be fine. There's seven strings in this file. They're all identical. That's chill. Two or three weeks later, he's still working on this code base and I'm watching him, you know, do this stream. And he's like, oh, we need to change those strings. Let's see how hard that was. And he does some, he taps like five keys with Vim and like changes all six of them at the same time or whatever.
48:21And it's like, cool, that took half a second. You know, drying this code out would not have actually, because like the reason we care about dry is because we want all the logic to be in the same place and we want the same logic and we'll make it easier to change later. We are worried about, I modify one copy of the function and then that doesn't, we use the other copy of the function and we reintroduced a bug somewhere else, right? That's like the core. That's a human thing. And so like five copies of the same function, sure, it makes my program a little bigger. Maybe we need to care about our program sizes, maybe in some contexts.
48:50But like what, if there's five literally identical copies of a function in my code base now, I'm like, that's fine as long as it doesn't cause those other problems. And if you notice it early and clean it up later, Like, like I am more willing to commit minor heresies into my code base and then fix them later. Like there is sort of the bigger picture thing, I think, is that we we have been focused on shifting left in the development process because we all know from Toyota that like the earlier in the process you find problems, the more that you fix them, the cheaper it is to fix them. Right. And so we've been like sort of almost everything is downstream of like shift left, shift left, shift left.
49:27But like, what if certain things were OK to be fixed later in the process, actually, though? Like, what if some sorts of problems are not the biggest problems that we shouldn't be paying our attention or time with? Like, you know, and so that's kind of like where I'm at with some of these kinds of things is like it's it's it's kind of OK to not have the cleanest possible code because it's easier. it's and even the more advanced people with dry would say don't repeat yourself wait till the third or fourth repetition before you bother going back and cleaning it up but i think that translated to like two identical strings must be turned into a constant for a lot of people so i think there's like there's like a wave of opinions that's always been there and i think that just like we're moving back towards a little more duplication is kind of okay so yeah i was gonna say that goes back to kind of what we were talking about a little bit earlier in the conversation about kind of reevaluating, you know, you have new capability and do all of the human aids that we've put in place dry and lots of other things, do they need to be there?
50:25I don't know the answer, but it's certainly something that probably will be discussed and evaluated as we move forward. And speaking of moving forward, as we are getting to winding up, one of the things that we like to hear is getting your perspective on the future. From our perspective, we ask people not to worry about if they get it wrong, but just like as you're thinking about the future at this point, and I'm going to ask you in two versions, if you will. One is kind of future of Rue, the way you see it. And then the other one is kind of future of coding this way that we're talking about, you know, whether it's Claude or other tools going forward as we're starting to learn that and adjust to it and change the way we approach software development, how do you see that going forward?
51:15So both Roo and AI-assisted software dev, go. So with Roo's stuff, I hope that it's a project I continue working on. It's my 69 Chevy in my garage, so it'll sit there for a while and I'll work on it and maybe it'll be a cool thing other people find useful in the future, but I mostly want it to be a thing that I get to return to and something that I get to play around with and try out this kind of stuff. And so that's what I see in the immediate future. I hope, hopefully maybe it's ideas, like a cool thing about programming languages is you just have to demonstrate an idea could work and then it's useful for other things.
51:47So I would totally be happy if Roo is a thing that like somebody else says, oh, that's cool. And then makes a real language, you know, that's more serious after it or something. Like that would be fantastic. So we'll see. In terms of everything else, I think my biggest problem is that I don't know. I've kind of been in a little bit of a quiet period lately I have not been writing blog posts and I have one or two I've been working on but I gotta like ship but the back in November December of last year I felt like I had a couple different things that I thought were important and one of those is like teams of agents and another one was like validation that like things are happening and then anthropic released Claude you know swarms and like other people and I was like cool now I'm out of ideas and I don't really know what is going to happen and so if anything I've had the opposite kind of like mental breakdown in a like, I can't see the future.
52:32And the whole point is seeing the future. And so I struggle with that. But I do know that I do have a challenge that we have to figure out. I don't know what the answer is, but the question is important. There is so much velocity to be gained by letting Claude merge PRs. That is just, it is like a thing. Like I shipped 100 PRs on Rue on Christmas Day while hanging out with my family. And with Rue, I've read every PR that I merged. But what I mean by that is not like I spent 30 minutes reviewing every diff. I've glanced at it and said, that doesn't look obviously horrible. Click green. And so I could have shipped 200 PRs if I was more willing to like be honest with myself that I was not really truly reviewing those things.
53:16And so when I look at like my personal projects, like allowing, allowing that cycle to happen naturally, just like it makes you go so much faster. And the problem is, is that how do we maintain quality in that universe? And that is, to my mind, that is the biggest question that we need to answer as a profession right now is like either that is impossible and we're just going to have to give up on that acceleration, but it's just too tempting. And that's why you see all these people doing this irresponsibly right now is because like you get so much back. And so like, how can we make that a thing that is okay somehow is I think the like the biggest question I don't have an answer to, but I think is the future or is the next step of the future is like, how do we how do we have trust in these tools that are not going to totally harm us?
54:04And that doesn't mean no oversight either. I'm not saying that you can't not read the code, but just like, I don't know, there's something in that space is like the biggest price performance payoff in terms of solving the software development engineering. The software engineering question of right now, I think, is that question. So, yeah. Well, I'm looking forward to having you back on the show when you've got that one solved, Steve. I'm excited for that. Yeah, yeah, totally. So maybe next week you could come back and let us know the result. Yeah, yeah, yeah. Yeah, this was a great conversation.
54:38Really, really appreciate you joining. Totally. It's been great. Thanks so much for having me.
54:48All right. That's our show for this week. If you haven't checked out our website, head to practicalai.fm and be sure to connect with us on LinkedIn, X, or Blue Sky. you'll see us posting insights related to the latest ai developments and we would love for you to join the conversation thanks to our partner prediction guard for providing operational support for the show check them out at predictionguard.com also thanks to breakmaster cylinder for the beats and to you for listening that's all for now but you'll hear from us again next week
From the publisher
What happens when an AI hater starts building with AI agents? In this episode, we talk with software engineer Steve Klabnik, known for his work on the Rust programming language, about his journey from criticizing AI to experimenting with it firsthand. We explore Steve’s programming language Rue, largely built with the help of AI tools like Claude, and discuss what this means for software engineering and the future of coding in an AI-driven world.
Featuring:
- Steve Klabnik – LinkedIn
- Chris Benson – Website, LinkedIn, Bluesky, GitHub, X
- Daniel Whitenack – Website, GitHub, X
Links:
- The Rust Programming Language
- Rust
- Rue
- Daniel's RSA Meeting link for March 23, 2026
- Daniel's RSA Meeting link for March 24-25, 2026
Upcoming Events:
- Register for upcoming webinars here!




