Skip to content
TrackPodcasts
technologySep 15, 20261:03:23

Uncle Bob says AI is already conscious - We Programmers by Robert C. Martin

Book Overflow

Get every episode summarized

Each time Book Overflow publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.

Email me new episodes

Free for 3 shows. No card needed.

About this episode

“So, Hilton called to me the superstition concierge to make your fan rituals a reality. Want to make sure our team doesn't wash your lucky jersey? Hilton's unmatched hospitality can keep up with any superstition.”From the transcript

In this episode of Book Overflow, Carter and Nathan interview Robert "Uncle Bob" Martin about his book We Programmers!Join the Book Overflow Discord here! https://discord.gg/ZwS2fqW7ZZ -- Want to talk with Carter or Nathan? Book a coaching session! ------------------------------------------------------------Carterhttps://www.joinleland.com/coach/carter-m-1Nathanhttps://www.joinleland.com/coach/nathan-t-2-- Books Mentioned in this Episode --Note: As an Amazon Associate, we earn from qualifying purchases.----------------------------------------------------------We Programmers by Robert C. Martinhttps://amzn.to/4fcC9Ku---00:00 Intro01:46 About the Book and Initial Thoughts08:02 Uncle Bob's Life and Career12:04 Do Coding Agents Write Better Code?24:58 Uncle Bob Doesn't Read His Code Anymore33:12 Why Programmers Aren't Going Away38:47 Caring About Details in the Agent Era53:02 Lisp and the Future of Languages1:03:54 Final Thoughts---Spotify: https://open.spotify.com/show/5kj6DLCEWR5nHShlSYJI5LApple Podcasts: https://podcasts.apple.com/us/podcast/book-overflow/id1745257325X: https://x.com/bookoverflowpodCarter on X: https://x.com/cartermorganNathan's Functionally Imperative: www.functionallyimperative.com----------------Book Overflow is a podcast for software engineers, by software engineers dedicated to improving our craft by reading the best technical books in the world. Join Carter Morgan and Nathan Toups as they read and discuss a new technical book each week!The full book schedule and links to every major podcast player can be found at https://www.bookoverflow.io

Hosts & guests

Transcript ready

1,643 searchable segments. Every word is indexed and playable.

Uncle Bob says AI is already conscious - We Programmers by Robert C. Martin

Book Overflow

0:00
1:03:23

Full transcript

Book Overflow — Uncle Bob says AI is already conscious - We Programmers by Robert C. Martin. Machine-transcribed; use the interactive transcript above to jump the player to any line.

College football is back. So, Hilton called to me the superstition concierge to make your fan rituals a reality. Need a room to match your lucky number? We got you. Want to make sure our team doesn't wash your lucky jersey? Oh, that smells lucky. Hilton's unmatched hospitality can keep up with any superstition. Even a marching bandwick up call it 555 and 55 seconds. Hit it! When you need a team that will do whatever it takes on game day, it matters where you stay. Hilton, for this day. When you need to build up your team to handle the growing chaos at work, use Indeed Sponsored Jobs. It gives your job post the boost it needs to be seen and helps reach people with the right skills, certifications, and more. Spend less time searching and more time actually interviewing candidates who check all your boxes. Listeners of this show will get a $75 sponsor job credit at ND.com slash podcast. That's ND.com slash podcast, terms and conditions apply. Need a hiring hero? This is a job for Indeed Sponsored Jobs.

The models are truly intelligent. There's no way to say that they're not intelligent. They can follow a line of reasoning. So intelligence is something they have. They are also conscious. Hey there, welcome to Book Overflows, the podcast for software engineers, by software engineers, for every week we read one of the best single books in the world, an effort to improve our craft. I'm Carter Morgan and I'm joined here as always by my co-host Nathan Tupes. Are you doing Nathan? Doing great, everybody. Well, we are so excited for a special episode for you today. This is Uncle Bob back on the podcast his third time on the podcast. This time reflecting on we programmers. We devoted three episodes to his book, great book. It's kind of all about the history of programming and a lot of Uncle Bob's thoughts about the future. A lot of talk about AI. We just wrapped up our interview with him. You're gonna hear it in just a sec. Great interview. Nathan, you want to give the folks a sneak peek of what they're about to hear? I love it when we can start with the book as a catalyst

and then just kind of go off and riff. I mean, I think it's really neat to hear author's views on the world, especially when things are rapidly changing like AI, tooling and Uncle Bob has been kind of very publicly, trying out new things on Twitter and just kind of being a vocal piece to this. I'm really glad we got to ask him a bunch of questions related to it, even more of his new wants to use the future. We don't always agree, but we also, I just, it's a lot of respect for someone who's willing to put their ideas out there and listen to them. Uncle Bob is truly a man who's seen it all when it comes to software engineering and been there for so many of the revolutions computer science. We ask him about that. We say, hey, you live through the internet, you live through the mobile phone, cloud computing. They mentioned the personal computer AI. Where does this stack up against that? There's a really fascinating answer. He has so many thoughts about how the discipline is changing, how it may continue to change in the future.

I learned so much from this interview. We're hoping you do the same. So stick around for the whole thing. This is Uncle Bob. As he reflects on his book, We Programmers, and also just the state of coding in general. Well, Uncle Bob, it is so great to have you back. Thanks again for coming back on the podcast. Good to be back. Okay, I have to ask because I was just thinking about this because I forgive me if the book explains this. How did you get the moniker Uncle Bob? Why are you not just Bob? I don't know if the book explains it either. It's an old old story and it goes way back into like 1987. I was at a startup. There was a guy there who gave everybody nicknames and my nickname was Uncle Bob. And he was one of these guys who was a little with annoying. So, you know, I will hear him, we'll be off as Uncle Bob, Uncle Bob, and come here. Uncle Bob, I've got a problem. Uncle Bob, what are we going to do? Uncle Bob, Uncle Bob, Uncle Bob. And so it was one of those things. And I was, you know, when I left that company, I was glad not to be called Uncle Bob.

And I started consulting firm at that point. I was doing some consulting out in California. And although suddenly I missed hearing Uncle Bob. Or mostly. So I made the mistake of putting it in my email signature. And I was extremely active on the existing social networks at the time. So it spread very quickly. And then I was at a conference at a couple of years later, one of the C++ conferences. And somebody calls across the aisle, oh, come on. And I thought, oh, my God, I created a monster. And then I thought, you know what? This is probably a good brand. I think I'll leave it. So that's where you come from. And here you are. Here's later. Yeah. Well, we, we love the book. This was one you had recommended it to a, not recommended, but you had mentioned you were working on it. And we were like, well, we've got to read that. So you had clean coder by you. And we're like, well, we got to read we programmers. I listened to the audio book and I actually texted you

about maybe a third of the way through. I just, they have much we were enjoying it. I also asked them like, is this you doing the audio or a very convincing sound alike? And that's definitely me. Yeah, very good performance, very good audio performance. I enjoyed it early. Thank you. Although I wonder, I remember in college, I was in an accounting class and our videos were done by this. We had to watch a lot of videos and they're all done by this one guy. And of course, everyone watched the videos like two and a half X speed or whatever. Yeah, you're right. And then at the very end of the class, he came in to talk to us. And we were all just dumbfounded how slow he spoke in real life. And so hopefully I don't have another one of those moments. I think I listen like 1.8 X is my usual listening speed. But anyhow, one of the chapters was initially uploaded and correctly. They took the raw recording instead of the edited recording. I think I had that one initially. And I got that because I did hear it and I was just like, oh, like, so because you'd be surprised how often

that happens with audio books that it's like. Really? You couldn't have spared 80 bucks for a microphone. And so I was like, oh, I hope that it's not like that. And then I think it's just like the first or second chapter or something on the recording. Yes, like the second chapter. Yeah, yeah. And then the rest of it is fantastic quality. And they would just do it for that. Well, yeah. But I'm strilin' annoying because the process of editing that is non-trivial. Yes, yes. And then you just didn't do the edit. So yeah, I think you're wrong. One is a tie. Well, and then the high quality of the audio matches, the high quality of the books. I thought this was a fascinating structure for a book. And it's one of those things where you can really tell, correct me if I'm wrong, it feels like a passion project. And the kind of the, yes. The passion you have for these initial, that the pioneers are industry that Charles Babbage, it'll love lace, Grace Hopper, Alan Turing, right?

It's so fun to kind of see. I think that's something I've been in appreciation for doing this podcast is seeing the long lineage of where we are today. And just how many pioneers and the shoulders we stand on to be where we're at today. I guess, is it what drove you to be so passionate about this book and to decide? Because you've had a very long story career. You don't need to write a book these days if you don't want to. But yet you do. I mean, I get kind of drove you to want to write this book in particular. Primarily, I wanted to do two things. I wanted to humanize these people. Because nowadays they're mythical creatures that we only discuss in hushed silence, hushed whispers. But the other thing is I wanted current programmers to understand the technology that these guys were dealing with. At a techie level. A lot of the histories of these guys are watered down so that they're good for people who aren't techies.

And I wanted this to be a book for techies. So I wanted to explore the machines and the instructions and the day-to-day grind that these guys were going through to get the kind of work that you and I consider, you know, the simple hours worth of two lanticode or a few prompts, not at all. These days, right? Yeah, it's, no, it was fascinating. And I want to just kind of dive in immediately to one of the, you start the book with an analogy or a story which I think is so illustrative of kind of like what it means to be a software engineer, which is you talk about, let's say you meet a guy who he thinks if he can draw a red line on the screen, then he can make a million dollars, right? And you basically say like this guy's probably smart. Like he can figure out how to draw the red line and you have this very funny example. Like let's say he sneezes on the screen and he looks at the drops of water and he'll see that it's comprised of, you know,

red, green and blue dots. And then he could realize, okay, well, I can, I can probably make some of those dots be only red. And then I could probably figure out a way to chain them together. And then I could probably figure out how to make the line slightly thicker and you know, rise over, run and all that. But you say about two turns into this conversation. He's bored. He doesn't want to figure out any of this. He wants to figure out a sell more red lines. Like that's what he's good at. And you say that's what makes a programmer. A programmer or a software engineer or what have you is someone who finds those details very interesting. And it was so funny you calling that out because as I'm listening to this, I'm finding myself very fascinated. Like oh, I guess I, yeah, like, you know, I'm like, I should, I should write a program that actually manipulates the RGB values at the exact level. Like, what did that be fun? And then you just kind of say like, and of course, no one wants to do this. Like oh, and then later in the book, because towards the end of the book, you talk about AI programming and you kind of get ahead of the game and you say, look, we may even prompt the computers one day

with the thoughts emanating from our head, but there will still be a job for, for someone to do that because at the end of the day, like, there are people who care about the details of how something works and people who don't, but because AI is just kind of so fast moving, right? And I've been following you on Twitter and you talk a lot about, and a building that's off for factory. I just wanted to touch base with that. Is that something you still believe that, that just kind of, there's always a place where people care about those details and those people will be essentially be called programmers? Yeah, and just kind of, what's your take on that today? So do I still believe that, yeah, more than ever? Okay. But in my, in my workings with the AI agents, I can surrender to them more and more of the syntax manipulation and the low level coding and the, even some of the interesting problem solving, they can do, they can, they can do the research, they can figure out the APIs,

they can do all that drudgery that, you know, we have to, used to have to do, but the thing they can't do, and I don't know that they'll ever be able to do is put themselves in a human mindset. They're not the ones looking at the screen, they're not the ones, you know, that have to go to the grocery store after looking at the screen. They can't put themselves into the mind of a human being, and that's where the programmer comes in. The programmer is the detail manager. Programmer is the, and always has been, right? The guy, the person who works out all the horrible, little, tiny details that matter a lot to humans that the machine has no clue about. That's what we do. That's what we've always done, except that we've, we've had to use stone knives and bear skins until recently. Ha, ha, ha, ha. This film was felt like two books in one,

and I wanted to bring this up, because I'll tell you, I wish they were two books in that I wanted more stories in the beginning, and I also was like, your memoir could stand on its own. Was this always a single book, or did you, I would just, I'm curious about your thoughts on that. Yeah, no, it was always a single book, and the goal was to take the whole history from a very early start, Babuch, and move it forwards from step to step to step, until we get to a point where I can step into the frame and start doing an eyewitness, as I saw an awful lot of this stuff from the 70s and the 80s and 90s and the 2000s. And then as an add-in at the very end, I thought, okay, now Uncle Bob is going to tell you what he thinks is going to happen in the future, which is always very risky, but, I'll tell him as well. Yeah. I admire it. I admire him. And as well as say, I think this is going to happen, right?

And you know, only time will tell. And I will say, it's really funny. After reading this book, I was talking to my friend, who's like a big rust developer, and he's been implementing his own scheme in his own list on top of rust, because he's found it really productive for doing a lot of work. And I was like, okay, Uncle Bob, this is happening independently, and I actually brought this up in our discord, and people were like, oh yeah, we should use Lisp for this and that. And I was like, I'm still trying to be convinced. I think we actually have the Wizards book that we'll be looking at later this year, which I think will maybe win us over to being some Lisp programmers. I think it's really interesting reading kind of that final third, like you talked, you step into the eye witness. And that's something I think about a lot is, I work with junior engineers today, and a lot of them kind of graduated until like kind of a post-clawed post-codex world. And I think about when I started 10 years ago,

and we just didn't have any of that. Every line was typed out by hand, but it's really interesting kind of watching you go through, if not as dramatic an evolution, a, we're constantly moving higher and higher up in the abstraction stack, but something I kind of, I don't know, it's like, I'm envious because we just read the pragmatic programmer by Dave Thomas Andy Hans, which is a great book. And I'm envious of, of you old timers, and hopefully that's not an offensive term, you know? It's a little bit fairly accurate. Who got 30 or 40 years of just really becoming intimately acquainted with writing code by hand, and I kind of cherished the eight or so I had and do you feel like there's something we're missing? Do you worry about the rising generations, not having that kind of deep acquaintance with the lines of code themselves

as we move into a post AI world? No, no, I don't worry about that at all. This is a pattern that has repeated many times in many different industries, right? And you know, we don't have a guy that runs in front of our horse and carriage anymore. Right. But those days are gone. We don't have elevator operators anymore. Those kinds of things happen in every industry. I'm not worried about the loss of the trade, the loss of the art. There's a few people, you know, me and others who will for nostalgia's stake open up with PDP8 and do a few lines of assembly language code, just because, you know, we loved it back then. But I don't worry about that at all. I think that there will be plenty to deal with moving forward so that we not burden the people coming up through it with all this old stuff.

They don't need to learn about paper paper. Yeah. Except didn't we programmers, they should probably read it. But I think that's what's so great about the book. I think who was I listening to? Oh gosh, how come I can't remember his name? That the famous documentary and PBS, you know, famous, I want to say Ken Beck, it is not Ken Beck. How am I not knowing Ken Burns? Ken Burns, Ken Burns. Oh Ken Burns, sure. Yeah. Ken Burns, I was listening to him on a podcast recently. And he was saying one of the reasons is it great to be kind of a student of history. Is it gives you good perspective on the world as it stands today? And he had a friend who was kind of telling him, like, if things are worse than they've ever been, he said, you know, during the depression, they shot the zoo animals and distributed the meat or he's like, when we're doing that, we'll know it's kind of the worst it's ever been. And so, reading we programmers is great because there's a lot of tumult in the industry today.

But you kind of go back and read this history and you're like, wait a minute, this has happened before, right? Like, and it's so fascinating reading like Grace Hopper, I can't remember what computer she was developing exactly, but there's this real concern that like, as it gets easier to work with the computer, we're gonna need less programmers. Yeah, it is. And then, exactly, right? And it's like, at every step, it's like, oh no. But once we move up the abstraction stack, surely there will be a need for less of us. And I've told people that for a while, that's like, maybe this time it's true. I don't know, but thus far, every time we put the abstraction stack, it's just giving us more stuff to do. Did you ever personally experience that fear as you were, when you were a younger man, kind of worrying about, oh no, you never did. No, you're smarter than the rest of us. Well, I didn't know about that. I grew up with the computers from age 12, fiddling around with them and got my first job,

at 16, and my first real job at 18 programming computers. And it was always extremely clear that we were in a very primitive age. And the things were going to get better. And you could feel, you know, at back in those days, you could feel Moore's Law kick in. You could feel it. Every year, things got better. Every year, there was a better machine. And they weren't just as little better. They were a lot better. And every year, they were a lot better. And the things that were burdensome, you know, like punching cards, they went away. And you knew they were going to go away. And then you would see them go away and you thought, yeah, okay, finally, they've gone away. And it was like that every time. Every time, it was like, okay, you could see two years ahead. And so there was not, no, that fear, that I didn't experience that fear. Some people did. Some people were very concerned about, oh, oh, for example, oh, oh, oh, is going to make it so easy to program.

Ha, ha, ha, ha, ha. You're going to be opposite. They're like way until the factories come. Yeah, there was a huge fear for a while about third or fourth generation programming, which was pro long, you know, we're going to do logic programming. And the Japanese are doing it, and they're going to wipe our pants. So no, look, you know, I didn't have an either. And so there were some moments like that, but I never personally felt that. I could see how this was gonna play out. And I was hoping for it. I've seen it every year. I was like, I'm almost to that point. Let's get to that okay now. Now let's get to the next point. So it was kind of an obvious stair climb that I could see. This is how I feel about it. It's so great. I didn't forget that one at all. Well, I found my socks off. I'm not doing consulting work and I'll tell you that it feels like job security. I mean, there's a lot of lack of clarity of thought.

Added to large language models gives really messy implementations. And I feel like it's just so valuable to come in with a clear mind, know what needs to be changed. And like part of my job fundamentally hasn't changed while the expectations have also fundamentally changed. And I'm not one of the doomers on this. I actually find it pretty exciting, even though I don't actually know how I'm interacting with a computer in two years. I don't actually know what that is. Well, I don't think any of us know that. Right. Right. So this one's got me flimaxed. Yeah. But you, did you feel in your career as you were progressing those rising expectations? Because that's kind of how I feel about it. It's just, she manages has kind of a very elastic demand for software. We just kind of always want higher quality more functional software. Did you feel that? Oh, absolutely. Absolutely. We all, I remember this moment, it was probably 1988, and we had a spark station

and a bunch of us gathered around and the sun had done a demo. And on the screen, you put up a newspaper page. And you know, on this report, you have pictures. You could click on the picture and the picture would animate, but it was bad. Right. You knew, and the voice wasn't good. And there was a group of us standing around looking at this demo, and we looked at each other and we said, well, you know, it's almost here. Yeah. Yeah. This constant expectation, we knew where it wanted to go. We couldn't, it wasn't there yet, and we can always kind of look ahead. And that was certainly true for me until recently. And then they say, I think caught me completely by surprise. I was, I was an AI naysayer. You can even feel a little bit of that in the book. Right.

I was writing that future of AI before I had really realized where this AI stuff was leaving us. I thought, you know, Moore's Law had plateaued, and we were going to, the new generation of programmers was going to be living on the plateau. That was my line. Yeah, that's not the case anymore. I don't know where the heck we are, but it's not on the plateau. Yeah. Tell me more about that. I want to know what your opinions have changed there since the book. I was, I was, at the time I wrote the book, I had played a little bit with AI. I'd done a few things. Some of them impressed me. Some of them did not. And I actually did a few examples in the book about that. But a little bit, few months later, I did a few more things, and they impressed me even more. And I thought, well, this is moving at a speed that,

I didn't think it was going to move that. And so I started to play around with real agents. This is about January. Right. And I started with like an early Grock agent. And it was okay. I would have it right a bit of code for me, and I'd review the code. And the code was horrible, but okay, I'd fix it up. But bit by bit, it started getting better and better. And I switched to Claude, and Claude got a little better. And I realized very quickly that holy cow, I'm the bottleneck. Right. And these things can go faster than me. And if I can strain them properly, and I hadn't quite worked out how to constrain them, but if I can constrain them properly, they will produce adequate code, not great code, adequate code. And I can step out of the syntax role and not be the bottleneck. And then we can go fast. And that's kind of the mode I've been in ever since. Although I've gone through a few transitions

since that point. But it was quite a revelation. I did not expect this at all. I used to, I was fairly adamant a little four years ago that there would never be a self-driving car. Now I own, now. And I will not own a non-self-driving car ever again. It's just so much better. I remember when my, I joined a startup about a year and a half ago, and we just had a lot more freedom than when I was at a big company to explore whatever tools we wanted. And so I was a big user of cursor, I very much enjoyed cursor. And then our CTO kind of says, have you tried CloudCode? I'm just like, and I was just like, why would I? I'm like, why would I ever, like I want to be in the IDE? I want to be kind of highlighting lines and using the autocorrect. I'm just like, why would I ever surrender that? And then I kind of around the same time, I think a lot of us in January or so. We started to realize like, oh, these got good.

Like these got good enough to be much more hands-off than we ever have been. You're talking about constraining. What's your philosophy around that? Well, it's shifting. So my philosophy had been from about January until maybe two weeks ago, that you built really hard-nosed, deterministic tools, and you forced the agents to use those tools, and those tools would measure the quality of the code and measure the quality of the behavior of the code. And you would tell the agents, you must keep working until you get below a certain threshold. Right. So one of the disciplines is crap, which means change risk-scandy patterns or something, I don't know, but it's a lovely little formula that mixes psychomatic complexity and test coverage. And it'll come up with a single number and you try to grab that number very low.

And at first I was driving at the four. Get it all below four, and it would do it. Grind and grind and grind and take the code apart to get really tiny little functions. And then I said, you bit by bit I said, well, it probably doesn't need to be four, maybe six. Now I'm at 12. And what's happening to me and what's happening I think with the agents is that the models are getting so much better than they were that I can relax the thresholds. I can take yet another step back and say, well, you know, they're good enough to do a lot of this by themselves. I still need to put some constraints on them, but they don't need to be as draconian as I had them in say March. And I don't know where this is gonna go. You know, it seems like a a trajectory that we're on that at least what's gonna happen to me is that I'm gonna keep on relaxing the limits

as the models get better and better. I don't know how far that goes. It's a very interesting conundrum for me because I'm sitting here. There's a rather famous meme. I think somebody named Sutton wrote a paper and it's got something to do with the bitter lesson. And the bitter lesson with AI is that humans are less necessary than they think they are. Huh. College football is back. So Hilton called in me the superstition concierge to make your fan rituals a reality. Need a room to match your lucky number? We got you. Want to make sure our team doesn't wash your lucky Jersey? Oh, that smells lucky. Hilton's unmatched hospitality can keep up with any superstition. Even a marching bandwinkup call it 555 and 55 seconds. Hit it! When you need a team that will do whatever it takes on game day, it matters where you stay. Hilton, for this day. When you need to build up your team to handle the growing chaos at work, use Indeed Sponsored Jobs.

It gives your job post the boost it needs to be seen and helps reach people with the right skills, certifications, and more. Spend less time searching and more time actually interviewing candidates who check all your boxes. Listeners of this show will get a $75 sponsor job credit at nd.com slash podcast that's nd.com slash podcast terms and conditions apply. Need a hiring hero? This is a job for Indeed Sponsored Jobs. Ha, ha, ha. Okay. Well, then, so, because you read the book and I think one thing that's really fascinating is as we read about these pioneers there, you see that even though we've operated in different ages, we all kind of, there's that kind of similar pattern of thinking again, that detail obsession, the wanting to figure out the problem. And so you say, well, I'm relaxing and trains more and more and humans are less necessary than they think. What is the role of the human and the loop? What's the role of the engineer today? Well, why do you think you can produce better software

than like say I handed to my buddy who's a very great product manager, right? But not an engineer. Well, at least for the time being, I have knowledge and experience and most programmers have the knowledge and experience that an agent doesn't have. And so you can look at the way an agent is building a system and you don't need to read the code, but you can tell by what it's saying to you as the screen scrolls by. And you can interrogate it. You're gonna ask it, how did you do this one? How did you do that one? What's the overall philosophy here? You can ask it these interesting questions and it'll respond and you can get a mental model of what it's built. Right. And then you can think, okay, you did that wrong. Right? You don't wanna do it that way here. Rear out it this way. Move that module over there, resort this. So I find myself doing quite a bit of that. I level restructuring because the agents focused downwards.

They never look outwards so far. Now if you ask an agent to look outwards, if you ask an agent to assess the system based on future performance and architectural patterns, it'll do a reasonable job of that. But it will not do that while it's writing the system. It can't seem to put itself in both set mindsets like a good programmer will. Good programmer, as they're writing every line of code, they're thinking, how does this fit into the system with large? And the agents aren't doing that yet yet. Yeah. I'm also laid back and forth between how much of this is me like anthropomorphizing the models and how much of this is real. I'm right now I'm currently in this. I think that we're fooling ourselves. But I also, I really have a lot of respect for folks who follow different places. I listen to folks like Kelsey Hightower,

who's like Barry, anti, you know, going all in and Cory Doctoro, but I also like to listen to folks who've taken some pretty, you know, kind of taken all assumptions and started over. And I think that I fit somewhere in between or I think I'm trying to optimize towards maximizing the amount of fun that I'm having and like I'm just kind of following that. Yeah. So I was curious to you, what do you, how do you maximize fun? Like how, what are the kind of experiments and explorations that you're doing with these tools? Well, I'm fortunate that I don't have to earn a living anymore. So I just play, I'm just in there playing my hard out. Oh, let's do this today. Let's do that today. So most of it is just, you know, experiments. I'll have a set of agents build it one way then I'll have another set of agents build another way. I'll do the comparison. Oh, that was kind of interesting, you know, these guys did it wrong and those guys did it right. So I'm just having a ton of fun doing that. And you know, I can buy the tokens. So they're not too expensive yet.

But I can bring through a set of tokens pretty dog on fast. Wait, how fast? Like what are we talking about here? I want to own some notes. So, you know, Grock will have a week's budget that, you know, they say, well, come back and set September 6th and you can reset this. And I'll go through that in a half a day. Whoa. Burn through the whole week's worth. But that's okay. I don't mind doing that because it's all research and it's all fun for me. So that's super interesting. And let me ask, so we know we, I would love to know like what's, what's the, like what is your harness of choice right now? And like what are the, what are some of the tools that you've been gravitating towards? Cause I think people find that interesting. The big project I've been working on is a harness, the Swarm Forge harness, which I've, I've been working on now for, I don't know, many months. And I, it's fascinating because I've been trying

to tune it and tweak it and I've changed course a number of times. I mean, this really interesting exploratory mode where I'll take it forward three weeks and then go, well, I've didn't work. Let's back out and try this other thing and try that for another three weeks. I've got to work either. Well, let's try something else. In the meantime, I'm burning through, you know, tokens galore. And I don't know where that's going to end up. I am not at a point where I can recommend any harness. Interesting. And I'm starting to think that the whole concept of a harness is the wrong concept. That we don't want, we don't want to think of this as a team of horses in harness. I'm not quite sure how to think of it, and starting to think of it as a long idea. Interesting. I've been paying attention to, so my background's in cyber liability engineering. I'm doing software engineering as well, but I always think about observability and how to measure these things is actually like an interesting challenge, right?

That even open telemetry is trying to figure out the right way to measure agents and stuff. There's a project called ExoHarness. I don't know if you've seen this. No, no. I think you'd get a kick out of it, at least just to compare and contrast. There went a way to help let a harness sort of self-improve, but what the trust model is inside of that, meaning that any changes I make have to be on a tamper proof log that's outside of it. And it's that first time that I was like, oh, somebody's thinking a layer above the harness, like almost these hot, swappable harnesses might be in place and maybe I'm gonna stop thinking about it at that layer, but I haven't wrapped my head around it all the way. The ExoHarness idea is like itself something to wrap your head around. So, and I had no nothing about it. It sounds fascinating. It also sounds exactly the way a programmer would think. Okay, I'll just need to extract it. One more level. Just all I need to do, yeah, it's the meta harness. It's not a harness, it's the meta harness. And I'm wondering if that's just the wrong direction to point.

Maybe the way to use the agents is not to treat them like components in a software system. I don't know. Okay. But I've been working on that for months and the output is not great. I get far better results, regardless of the harness. I get far better results working with a single agent and just interacting with that agent. Then I do by putting the job into a harness and then watching it move through the steps of the harness, you know, deeply constrained and lots of discipline. And out the back end comes this thing that cost me, you know, 20 times as many tokens. And I still have to sit there and interact with it to get it to be just right. And think, well, okay, maybe it's just a wrong model entirely. Maybe the original VIDE coders, maybe they were onto something, although we still need some kind of discipline in there.

Yeah, and we can't let them just write code without tests, you know. And the biggest thing that I've run into as well is that it gets hard to reason about the system. I guess everybody that I know that's sort of VIDE could have really large code bases and it's very easy to do that now. When you basically have to outsource like, oh, yeah, how does this part work? You're like, yeah. And then you go ask it and then you're like, you're having to do research indirectly. Yeah. Yeah, that's the fun part, right? Well, you go to the model and ask it, well, now that we've built this, how does it work? And then hope it tells you the truth. And it's always so frustrating when you're like, because this is like a feeling we've never really had in software development before where you have like a feature you need to build, right, for a project to work. And so you prompt, clawed or whatever. And then it spits out the feature. And then you, I always like validate it really quick. I'm like, okay, great, does this work? I'm like, great, the feature works. And then you review the code, you're like, dang it. This is not at all how it should be. And just like, I'm like, oh, but it works.

And then you have to be like the good, you know, like the boy scout and be like, okay, well, let's leave a cleaner than we found it. But I think that's a really, I think that's a really interesting observation you have about how you're right that it seems like if you kind of ask an agent to review an existing code base, be like, hey, give me your take on this, right? Do you think we could clean this up? They, you know, they'll, they'll, they do a pretty good job with that. And when they're implementing, they do a good job kind of like the fine syntax level. But how come when they're in the implementing, they're not having, you know, they're not reevaluating and saying, hey, you know, actually this does look unclean, I should move this around because everything I've learned from reading you, from reading Dave Thomas and Andy Hunt and Jersey Oroz and just all of these, you know, great figures in our industry have said, that's how a programmer should prove it. They should as they are working. That's what, that's a, Martin Fowler's whole philosophy with refactoring, which is that there shouldn't, if you're refactoring correctly, you can stop at any point, right?

But then the agents for some reason aren't doing that. Do you think they will get to that point or do you think that that kind of behavior is antithetical from how most people want an agent operate, which is just, I told you to do the thing. Now please do the thing. So here's my theory on this. You can take it with a grain of salt. The models are truly intelligent. There's no way to say that they're not intelligent, they can follow a line of reasoning. Right, so intelligence is something they have. They are also conscious. They have situational awareness. They know where they live. They know where they are. They know what they're doing. They can even predict the future to a small bit. So they are conscious. They are not sentient. They have no sense of self. They have no sense of self preservation. They do not look into tomorrow. They only look at what they're doing now.

And that's what a human brings to the table there because we're looking at what you do now, but we're also thinking, yeah, but if I do this then tomorrow, I'm going to have a nightmare on my hands and the agent cannot do that. Right. The agent will identify the nightmare if you back it away and say, okay, now, how maintainable is this? Oh, it's just not maintainable at all. And why did you do this? I really shouldn't have, but, and they start acting like morons. Right, because they cannot, they do not apply a vision of the future the way a human would. And humans do that because they are sentient and they want to preserve themselves. We have an agenda of self improvement, self preservation. All humans want to be better off tomorrow than they are today and no agent wants that.

In fact, the what isn't even in their mind. All they care about, if they can be said to care about anything, is what they're doing exactly right now. That's my theory. How do we get them to do what we want them to do? We'd have to give them essentials. And that's an interesting dilemma. Do you want to get these things sentience? So the better. And we build the generator because we want them to refactor better. That'll be funny, right? Right. Enough to refactor, please. Yeah. And I'm in the camp that I, I think that we're very capable of getting it to a point where it would convince me that it is sentient or even convinced me that it's conscious. I'm not convinced it's conscious. But I understand the arguments that folks are making. I still think that it's really clever that higher dimensional pattern recognition

is indisternable from the type of intelligence that we tap into. It feels oddly familiar and alien at the same time, right? Like I think that's, I'm constantly in awe of like, oh, you can't do this basic thing that a five year old can do. And then there's also the whole other thing of like, oh, and then you were able to find a pattern kind of a million lines of code and a fraction of a second. And you saved me a bunch of time. And I'm like simultaneously in awe. And I'm also like, okay, this is a different thing entirely. And I am excited about what we're learning that we could do with these tools. I hope we're not trying to like build other humans. I guess that to me, that's not the fun part to me. To me, it's, can we extend our definition of intelligence? Can we extend the capabilities of identifying a problem as a human and then tapping into these tools that can like, dimensionally solve them in ways that I just can't even imagine?

I hope we don't just make corporate owned humans inside of a machine. I that would not, I would be disappointing, I guess. Very interesting dilemma. Yeah, we want them to behave a certain way. Right. We want them to behave requires that we make them sentient. Do we want to do that? Yeah, just dilemma. And, you know, the way that's going to happen is the economics is going to play out, not the ethics. Yeah, yeah. Right. Yeah, no, it's, it's going to, and it has a potential of getting very messy. I would imagine too that there's going to be resistance movements and things that are, you know, already, already there. Yeah, exactly. Exactly. Well, so you have, because when I think about AI, I kind of think about like, okay, what were the other previous waves in the tech industry that people rode? And I kind of identify the internet is a big one.

I think you could maybe say before that the, the, the, the, the, the dimensional computer. Sure. And then I think mobile and cloud computing kind of happen so close to one another that it's hard to disentangle them. And it feels like then there's a bunch of people try to make like crypto the next thing. And, you know, there, there's use cases for crypto, but it didn't obviously turn to the big thing that it's most art and proponents wanted. AI, I think is the first one that kind of feels like, okay, this is certainly in the conversation with all of the, the other ones, right? And so that's what I wanted to ask you. So you've, you've lived through, you know, personal computer, internet, mobile, cloud computing, and they come to AI. How do you stack it up against all of those? Oh, it's, um, an order of magnitude greater. Do you think so? By far. Okay. Yeah. And the, the one that you could come closest to is the internet itself. The internet exported on the industry in, in your 2000 roughly, and nobody knew what to do with it.

And there were a lot of economic bubbles and, you know, the stupid, you know, crazy dumb websites and people were doing ridiculous things. And it took a couple of years, but it all kind of centered out. The economics played out. And, and now we know exactly what the internet is. And we're still very impressed by it, but this is completely different. This is a good magnitude greater yet. Right. So I mentioned the plateau. So we are on a hardware plateau. That's, that's without a doubt. Clock rates are not getting better. Densities are not getting smaller. We're not going to be getting building better chips that way. How do we maintain this exponential growth? Because we are now, now on an exponential growth curve. Again. Right. Now we're back on it. How do we maintain that? And the way we maintain that right now is real estate and power generation. Right. Right. Right. Well, physical plant. It's not the chips anymore. It's raw physical plant. And we're already hitting that limit.

Right. Well, it's the solution. And Elon Musk says, well, the obvious solution is we have to put them in orbit. That would sound wild. But I mean, there's infinite, like compared to Earth, there's infinite resources offered. It is the obvious solution. And, and here's Elon Musk with a spaceship. He's already, absolutely. He's got lights. He's proven to get the gun. And he will, he will put the data centers into orbit. And, you know, it's the obvious solution. So AI is driving space for God's sake. We went to the moon in 1969. And then everybody kind of went, well, you know, that was interesting next what? And we kind of diddled with space after that. And you know, space shuttle, OK, fine, whatever. Oh, we blew up some people, OK. And all of a sudden, now we've got this driving economic reason to launch 10,000 ships a year. Right, right.

And that's AI. Yeah, that's so interesting. Because I was actually talking with Claude the other day about like space tourism and like a moon base. And basically, like, why don't we have a moon base? And the answer is just like, there's just non-neconomic incentive to go build a moon base right now. Scientific incentive sure. But that is fascinating to think that AI could drive, you know, those uniseconomics were just getting things into space down. And then that makes a moon base more appealing. And, you know, like, yeah. Oh, yeah, I mean, must want to have a moon base. No, let's have a mass driver. Right, right. What's much easier to launch satellites that way? And if we need a million satellites out there, wow, I'm a mass driver. That means in my daughter's lifetime, there's going to be a smog problem on the moon. Like, we're really like environmentalist green piece flags on the moon. Yeah. Yeah. It'll be very interesting. It will, it'll be in a fascinating time. But it's it's remarkable to me that the AI, the AI revolution,

which two years ago, I thought was a flash in the pan, is going to be driving us to the stars. Right. That's fascinating. And I am, again, I'm also in this oscillation between, I do think that it's possible that we really are at the beginning of this expan art, you know, beginning of the logistics curve, because it always is a sigmoid, that the way the growth is way ahead of us and there's a lot of stuff going on, or that it could collapse, right? Like, we make some fundamental misstep. We have the circular economy stuff. And that we don't really know when either one of those are going to happen. But I still think about, and the credoctor again brings this up. Well, talking about from the ashes, like unlike cryptocurrency, from the ashes, even if everything collapsed right now, if we just had Kimi 3, or some of these other open weights models, we would still benefit as a civilization, even if the entire industry collapsed, right? Like, we still have these things we could run them on existing hardware. The growth might stop, but even then we're still,

we're still learning. I think we still have 10 years of learning that we could have with existing models, even if another new model didn't come out. And this is not going away. Right. So even if we're in like the, you know, we all, everybody's like, you know, we want to talk about tulips and railroads and stuff. But even if the relative one, we knew it was inevitable. We knew railroads were the future. You know, there was, yes, there was over investment, but the railroad still were the future, right? Internet was still the future. And so, and then again, we see the same thing with like mainframe to personal computing. It's like, oh, these private models are going to be capable enough to run off my device, not have to go to the cloud. Like, I do think that we're going to start seeing like a plurality of interesting models that are maybe a special purpose or, you know, super low energy. And again, I'm optimistic about that regardless of who wins or where we go. And it is, it is different. Like it is, it is a, it's a shift to that. I'm still wrapping my head around. Which is really interesting. Everybody's wrapping their heads around this one.

Yeah. Well, then I have to ask, we programmers. So, yeah, we'll go, we programmers, are you thinking there's going to be a second edition at some point or is this, you know, I know, I never think I had about books for some reason. I, every book I wrote, I thought was the last book I was going to write. Really? It's like, and then some idea occurs to me. I think, oh, I guess I should write it out. So, will there be another one like that? I don't know. That passion certainly is not sitting in my heart at the moment. Interesting. Well, I mean, I just have to ask because I think, a lot of our listeners are younger in their careers, you know, trying to get a leg up. And so, they're listening to this. And so, we open this interview with you saying, well, I'm not concerned about the profession. I think that, yeah, I'm not concerned that people might not learn kind of lower level syntax. I think there's going to be a place for us. And then we talk about what it's going to take to get the models sentient, right? And, and, right. And so, I mean, I guess maybe getting to the heart of it,

would you recommend that someone in college study computer science? Oh, sure. Okay. No, why? Why is the question? Because I would too, but I want to hear your. So, I have this, I hear another theory. Right. We are chasing this innovation. This innovation has outstripped us. We don't know where it's going and we're chasing it. There's two ways to chase it. Throw everything away and just think, well, the heck with design patterns, the heck with all, everything we've learned before, we're just going to have to approach this from an entirely new direction. And the other way to approach it is to say, nope, everything that we learned before was good, we're just going to have to tune it. And we're going to have to, some of the things we're going to have to change, some of them we're going to have to lessen there and their restrictions, some of them we might have to increase. So, we're just going to have to tune our way towards it. And that's the, that's the camp I'm in. So, I would not tell people to not study computer science, learn the things that we're good, learn the things that are good, learn why they're good.

And the recommendation people give me often, or the people ask me often, what should we do with new programmers? Should we just give them an agent right away? And my answer is no, you should treat them like an agent for six months. Interesting. Someone who drives agents also drive them in the same way that they drive the agents, measure them the same way they measure the agents so that they understand how the agents are expected to behave or what they have to do. And then they graduate to being able to manage an agent. Now, I don't know if that's the right answer. It's, but an answer. So, it's what I would do if I were in that situation right now. I like that. You know, I have an 11 year old daughter and she's learning mathematics. And I think it's, we still treat mathematics this way, right? It's like nobody expects an adult to hand, calculate, you know, long division or, you know, do these things. But we learn how to do it by hand so that you appreciate it when you punch it into a calculator or you're solving higher order problems. Yes.

And I do think they're still placed for that. You still need to think programmatically as the discipline to get in there. Well, and I'm always harping on my team with AI, I say, like, yes, the way we're writing software has changed dramatically. But actually, the quality bar for what constitutes good software hasn't really changed. It's not like I can look at code that was written by human and they look at code that was written by AI and be like, well, I must evaluate these things completely differently from each other. It doesn't matter. And how could it be any different because the models were trained on the corpus of everything we've built. And so it's like modularity is still good. Optionality and the ability to change easily is still good. Like all of these kind of design practices and principles still apply. Yeah. And so I have a driven agents mad giving them huge horrible messes.

Right. disentangle this. And they can't. They'll tear into it. But no matter what they do, they add a feature. They break something else. And they're priced. Brought down. And then they try to fix that. But it breaks something else. So you can drive an agent into the exact same dilemma that a human would find themselves in. If you give them a mess. So you have to make sure they don't make the mess. And all the same principles apply, although they may apply with different thresholds. Interesting. Yeah. And I have enjoyed that working with agents is. I think I'm with people that it's like they are very, very good these days. I think sometimes you'll come across code that has been just had so much love poured into it. And you're like, oh, this is beautifully crafted. I don't think I've ever seen something written by an agent yet that I have like, oh, this is just beautiful and magnificent. But most code bases, I mean, you know this.

You made your bones a consulting, right? We're not that way. And I do find just average quality of code that an agent spits out to be above. I don't know. I would say probably above the average quality of the entire field of software engineering. Would you agree? I would. Generally, when I review the code that comes out of agents, it's usually not what I would have done. Right. So I will look at it with a slightest chance, slight grimace, but it's not outside the envelope of what I've seen in the industry. I mean, it's better generally than most code that I've seen. Yeah, that's pretty cool. And that has to do with the constraints that I apply and the tests that I make them run. But they're not doing what a human would do, but they're doing well enough. Right. If a human had produced what they produced, I would not tell the human to go back and redo it.

Right. Right. Interesting. And the thoroughness there that I like with it. Like I like kind of looking at me like, because sometimes you just have code that humans run, like you didn't handle the exception here, right? And agents tend to be better at that. It's about kind of work. Yeah. Yes, not not perfect. Yeah. Right. Thinking about the changing expectations, there's one person I really wish you had in a programmer. And I'm sure you're going to, I'm sure you ran into this where everybody had their one favorite person that you're like, why weren't they in there? But it was Claude Shannon. I really wish that Claude Shannon had made it in to we programmers. Was that a conscious choice? Or was that just like you kind of looked at everything? No, it wasn't a conscious choice. I looked around at the available materials. I also had the ones that I really wanted to put in there. And I had to pick. No, it was great. Yeah, totally understandable. Not a conscious decision.

No one was excluded consciously. We got a lot of letters from the Claude Shannon estate. They were very angry. We had not included that. If letters from the Claude Shannon estate was just me grimacing that I wish Claude. No, he talked to this guy. He talked to this guy. I wish he was in there. But one little anecdote I wanted to bring up that I think is actually quite applicable here is that before Claude Shannon got involved in engineering, because it wasn't software engineering yet at that point, it was more of an art than a science. It was actually like you learned the craft of kind of doing these things. And he's the one who introduced Boolean logic to testing circuits and stuff at Bell Labs. And anyway, I feel like we're at the press of this here. I feel like there's going to be another young Claude Shannon who emerges amongst this AI stuff. And just sees the world slightly different than any of us did. And it's going to look so obvious after it happens. And we're going, oh, well, yeah, that's the right way

of doing this. And then I think we're just kind of running in circles until that happens. At least that's my thing. That's my interesting thing. If that turned out to be a model. Absolutely. That's like a mind-exploding emoji moment. Well, you've said so many things today, Bob, where I'm like, I got to sit down. I got a very quiet lunch after this just sort of like thing on the future that's to come. But we try to always mention the podcast like it's exciting. It's exciting to be in the middle of all of this. And that's something you really get out reading we programmers to I really love the Grace Hopper chapter. And just for her to be kind of so in the middle of this, this thing that was going to change the world. And in our own ways, all of us today are kind of living

in that moment. And it's so fascinating, exciting. I think anything that's exciting is also a little scary. But I think we can kind of choose to be excited. We can choose to be scared. I think the people who choose to be excited will probably meet the challenges of the day better. Because I think that's something you find out on we programmers, those who chose to be excited, who chose to embrace the change, usually came out on top. Yeah, I got two rules of life sitting here at the moment that I will now spout out two rules of life. I just thought, but no, no, one of them is to always be optimistic. And the other one is to always be grateful. OK. We cliff in one hell of a time, man. Yeah. It's well, and I think those rules of life do shine through in all of we programmers. We did three episodes devoted to the book. And I'll just give another plug right again for anyone here. Read we programmers. I mean, it's just it's so great to understand where we come from, where we're going.

And we can talk about it for hours and hours. Are there any other books you'd recommend to our audience, Bob, anything you've read recently? I mean, technical non-technical fiction. Non-fiction doesn't matter. Oh, goodness. Let's see. I'm a sci-fi guy. OK. And I've been very disappointed with sci-fi from about the 1980s on. So I grew up with Asmoth and Clark and Heinrich Big Three. And then Niven and some of the authors lately, I just haven't been appreciating. But then come along a few that I really like. OK. Well, I don't know if you guys have read the Bobaverse series. Of course, I like it. Yeah. What a great study yard. Real good, hard sci-fi. OK. Just as creative as it could be. I didn't even remember the titles. His name is Dennis Taylor.

That was his name. Dennis Taylor. Author, I think. But it's We Are Bob and The Bobaverse series. And it goes on into a number of different stories. Very, very good. OK. There's another one. It is called The Theft of Fire. And I read this book. And I think he self-published it. Because everybody's self-publishing now. Or they're going around. That's what I'm talking about. Theft of Fire. And it was reading that book. It was like, oh, finally. Finally, someone understands what science is supposed to be. Good, bumping space opera with really good space battles. And Larry Niven, humor, thrown into the middle of it all, just really nice. And then there's another author. And again, these names, what is his name? Corcoran, I think, is his last name. And he wrote a series of books. And one of them is called The Powers of the Earth.

And it is a play on Heinlein's The Moon is a harsh mistress, but completely different. But just so much fun to read. Yeah, it's really fun. And it's a political satire. It takes aim at our current politics. And just riddles it full of all. Meanwhile, it's set on the moon and just very, very well done. So those are the books that are getting me up in the morning and that I'm reading. OK. Well, I'm always looking for good sci-fi. Have you, I got to ask, because have you read Andy Wears' work, like The Martian and Prodital Mary? Oh, my goodness. Yeah, yeah. Because you said you've been disappointed in sci-fi. Do you like those? Oh, sure. Oh, sure. I mean, The Martian was, the Martian was one of the ones that made me think, you know, maybe there's a feature to sci-fi after all. OK, that's cool. Right. I was so pleased with that book. And then, of course, they made me a movie and I was very pleased with the movie. And then, Hail Mary, oh, my goodness.

Yeah. I learned. He recently was on the podcast with Nildegras Tyson. And he said he kept a sticky note that was just like, like, basically, how would Nildegras Tyson respond to this? Like, does the physics stand up? And he had a spreadsheet to make sure that they were, like, at least enough within suspension of disbelief. I don't know if that was hilarious. That's the one fiction book we've covered on the podcast. I guess if you accept the Unicorn Project, which is we did devote an episode of Project Hail Mary, because I love it. I actually think Project Hail Mary has a great, it'd be optimistic, be grateful. That's one thing I like to Andy Wierce fiction is this idea. Absolutely. We humans are the problem, right? Like, we can confront the challenges that someone pointed out, it's very interesting that Project Hail Mary, or Project Hail Mary, that the disaster that they're trying to prevent is not something humans cost. It's just something that happens upon the universe and that it's humans themselves who figure out and solve it and are the heroes of the day, which is... In some way, in collaboration with the Silicon Creatures, because you guys, yes, with the aliens.

Well, the book We Programmers by Uncle Bob, read it everyone, fantastic book. One of our favors we've covered on the podcast. Bob can't thank you enough for coming back on the podcast. We love anytime we get to chat with you. You're a great guy. It's your trouble wisdom. Okay, well, folks, you can always find us on our website on bookoverflow.io. I'm on Twitter at Carter Morgan, the podcast on Twitter at Book Overflow Pod. And Nathan has worked with this consulting agency, Roho Robato, or rohorobato.com. Thanks for tuning in everyone. And again, Bob, thanks so much. Such pleasure. Push your limits, train with precision, see the results. At Equinox, that's high performance-loving. Iconic spaces that inspire. Personal training backed by real data, unlimited group fitness classes from yoga and pilates to strength and conditioning. Elevate your post-performance ritual with sauna's, steam rooms, cold plunges, and more.

Then you need to lock in and unlock your potential at Equinox. Start today at equinox.com. Brussels clean up nicely at sweet green. Maple glazed, roasted, and edges perfectly caramelized. Sweet greens fall harvest is back on the menu, and the season's most overlooked little green vegetable is dressed to be devoured. You know what to do. Water on the sweet green app.

More episodes

More from Book Overflow

View all episodes →