In this episode of the SourceForge Podcast, we speak to Steve Yegge, IC Engineer at Sourcegraph. Steve shares insights on the evolution of programming, the impact of AI-powered coding assistants, and the future of coding with a focus on CHOP (Chat-Oriented Programming). The conversation highlights the challenges and opportunities that come with the integration of AI in software development, emphasizing the need for developers to adapt to new workflows and tools. We discuss Steve’s extensive career in software development, his experiences at major tech companies like Amazon and Google, and the cultural differences between these organizations. In this conversation, Beau Hamilton and Steve Yegge explore the transformative impact of AI on programming and software development. They discuss the evolution of programming languages, the varying levels of AI adoption among companies, and the cultural shifts required for integrating AI tools into development workflows. The conversation also touches on the future of AI in creative industries, the importance of reading skills for effective communication with AI, and the potential risks associated with AI technologies, including security concerns. Yegge emphasizes the need for developers to adapt to these changes or risk becoming obsolete in the industry.
Watch the podcast here:
Listen to audio only here:
Learn more about Sourcegraph.
Interested in appearing on the SourceForge Podcast? Contact us here.
Show Notes
Takeaways
- Steve Yegge has a rich background in software engineering, having worked at Amazon, Google, and Sourcegraph.
- The transition from engineering leadership to hands-on coding can enhance product development insights.
- Cultural differences between tech companies can significantly impact employee behavior and productivity.
- AI coding assistants are changing the landscape of programming, making it more accessible to newcomers.
- The concept of CHOP (Chat-Oriented Programming) represents a shift in how developers will interact with code.
- The importance of staying technical as a leader to maintain relevant insights in product development.
- Programming has evolved from assembly language to high-level languages, and now to AI-assisted coding.
- The future of coding may involve less line-oriented programming and more block-oriented programming.
- Developers will need to adapt to new workflows that include AI tools and their limitations.
- The tools for AI-driven development will need to improve to meet the demands of programmers. AI is changing the role of programming languages.
- Most companies are at different stages of AI adoption.
- Cultural shifts are necessary for integrating AI in development.
- Reading skills are crucial for effective communication with AI.
- The future of creative industries will be influenced by AI.
- Developers need to learn how to prompt AI effectively.
- Security risks associated with AI are a growing concern.
- The concept of agents in AI may not be as effective as anticipated.
- The importance of adapting to AI tools cannot be overstated.
- The industry is undergoing a massive transformation due to AI.
Chapters
00:00 – Introduction to Sourcegraph and Steve Yegge
02:02 – Steve Yegge’s Career Journey
06:41 – The Importance of Staying Technical
09:54 – The Evolution of Programming and Personal Experiences
12:39 – Cultural Differences in Major Tech Companies
15:38 – The Future of Coding with AI Assistants
20:41 – Understanding CHOP: The New Era of Programming
29:52 – Challenges and Opportunities in AI-Driven Development
32:37 – AI in Development: Adoption and Resistance
35:21 – Cultural Shifts in Programming with AI
39:58 – The Future of AI in Creative Industries
41:48 – Trends in AI and Programming
46:15 – Industry Hot Takes: Agents and Security Risks
Transcript
Beau Hamilton (00:05)
Hello everyone and welcome to the SourceForge Podcast. Thanks for joining us today. I’m your host, Beau Hamilton, Senior Editor and Multimedia Producer here at SourceForge, the world’s most visited software comparison site where B2B software buyers compare and find business software solutions. Today we’re talking with Steve Yegge, Head of Engineering at Sourcegraph, who’s working to build the world’s most open and comprehensive code intelligence platform.
He’s also an influential programmer in the industry with his own blog post where he talks about all things programming and share some hot takes, which I’ll ask him about later in the episode. And he has his own Wikipedia page, so you know he’s the real deal.
So without further ado, Steve Yegge, welcome to the podcast. Glad you can join us.
Steve Yegge (00:43)
Hey, hey, thanks for having me, Beau.
Beau Hamilton (00:45)
Of course. Yeah. Thanks for, thanks for being here. Now I interviewed your colleague Beyang Liu CTO and Co-Founder of Sourcegraph. First of all, I mean, just what a nice, nice dude, super intelligent. must be great working with them, right?
Steve Yegge (01:00)
He’s one of my favorite people ever. He’s just so awesome.
Beau Hamilton (01:04)
Yeah, yeah, I want to have him back. He’s awesome. And before I kind of start getting into the questions for you, listeners, I kind of want to just go over some things in case you didn’t listen to the last episode where he shared a ton of information about the company and its products, Cody and Code Search.
Cody is a coding assistant that harnesses the power of artificial intelligence to basically write, fix and maintain code. Meanwhile, you have code search, which is a tool designed to help users quickly search their code to fix bugs, make large scale changes, and just track various insights.
So between the two episodes, I think you’ll have a pretty good understanding of what Sourcegraph has to offer, both on a general and technical level. And then also what the software developer space looks like from the perspective of a seasoned programmer like Mr. Yegge here.
So with all that introduction stuff out of the way, I want to pass the mic over to you, Steve. Can you introduce yourself and give us an overview of your position at Sourcegraph?
Steve Yegge (02:04)
Sure. Hey everybody, I’m Steve. It’s great to be on this show. Thanks for having me. I’ve been in the industry since like early 90s, very early 90s. And I’ve only worked at a few companies, like five total, right? I worked at this company called GeoWorks back in the day. They did assembly language. I will talk more about that. It’s relevant. And then I went to Amazon, straight to Amazon in 1998. And then, yeah, so that was a long time ago. There were 250 people there at the time.
Yeah. And then I was there for seven years, six and a half years. And then I went to Google and I was there for 12 and a half years, worked on a bunch of stuff at Google. But a lot of it was DevTools related. And then, yeah, I went up, I went up going to the Uber of Southeast Asia. They’re called Grab. And that was an amazing adventure and just mind bending in so many ways. Really, really cool. But then the pandemic hit and I couldn’t travel anymore. So that was kind of off the table. Yeah.
So then I spent like a year just chilling and then I spent a year just looking at companies deciding what I wanted to do, you know, because like I was picky. I was like, you know what? I’ve been doing this rat race for a long time. You know, I want somewhere that’s going to make me happy and be fine and good and not feel like work. And Sourcegraph won that evaluation like pretty well hands down. Really, really amazing company to work for. They’re all remote, you know, all I mean, geographically distributed. It’s pretty remarkable. mean, because we’ve got people in like, you know, tiny towns in Columbia and Kazakhstan and wherever. I mean, it’s really wild. You know, it’s got its own challenges. Yeah.
I came in as the head of engineering, which was, which was great. I ran, I ran with that role for a year on the executive team. And during that time, it helped us transform into an AI company, right? I mean, it was a huge pivot, a huge pivot. Innovators dilemma, the whole nine yards, right?
We got through it and that was fun. And then I realized I felt like I was getting left behind by AI and I was starting to panic because it is the thing, right? I mean, that’s it. It’s AI. And I realized I needed to get back and get my CHOPs into that again. And so I’m an engineer now. This year I’ve been an engineer at Sourcegraph and my title is engineer and I love it. Yeah. So that’s kind of where I’m at now.
Beau Hamilton (04:23)
Yeah. Okay. Yes. You get the hands-on experience. I think that’s what everyone kind of like strives to do, right? Cause you get in the business and kind of get in the weeds of, of that side of things. And it’s not as fun.
Steve Yegge (04:34)
I mean, look, everybody would love to. I mean, every, I think every technical manager who ever coded like would love it if they could continue coding, you know, as they’re leading. But, you know, leading takes a lot out of you and you tend to drift further from the technology and what Amazon found, okay? I got told by this by one of the VPs of RDS, okay? The relational database store in AWS. He said that Amazon did this, well, they found empirically that if you have more than, I believe it was 11 direct reports, 11 or more in your org, then over the next five years, you will lose all of your technical ability. Yeah. And Amazon found this out like sort of empirically.
And so a lot of companies would look at that and go, it sounds like we need to get people, you know, fewer direct reports and have a, you know, a deeper organization so that people can spend more time with the directs and be better managers and all that be more technical. Right? Amazon was like, nah, screw that, right? We’re just going to give everyone like 15 directs and they’ll be non-technical and we’ll have technical people managing them. And so Amazon took a really different route. All their managers were non-technical. I mean, by and large, right? You know, get the line manager level.
Beau Hamilton (05:44)
Yeah, it seems like that makes sense. when you kind of get further away from your actual skill, you kind of start to lose some of the technical aspects and just get disconnected and it waters down the products ultimately.
Steve Yegge (05:58)
Yeah, I mean, right? I mean, like, if it’s sad when you lose that technical, like if I hadn’t gone back to be an engineer this year, I wouldn’t have had any of the insights that I had about where programming is going and CHOP and all that stuff, right? You have to be doing it. And so, I mean, I feel like I’ve got, I’m doing a lot better of helping steer the product now, but right? It’s, two different, you know, skillsets, almost non-overlapping between an engineer and, you know, like an engineering leader and, and they both, they’re both full-time jobs. So it’s tough. It’s tough.
Beau Hamilton (06:28)
Yeah. Well, you have obviously quite the background. I feel like I have to mention it, although I want to focus on the software side of things. But you were, you have some experience as a nuclear reactor operator. I think that’s just so cool.
Steve Yegge (06:43)
Yeah, it’s weirder than you would think. It’s definitely a weird, I mean, you I guess, you you probably shouldn’t be surprised, but like, for example, we accidentally locked a civilian in the reactor compartment once, you know, it’s this four story, you know, four stories tall as the reactor, give or take, inside of a submarine. And it’s all painted white with really thick paint. And it’s really loud even when it’s off because the pumps.
And so like we locked the dude in there for like eight hours. Fortunately, we didn’t turn the reactor on. So he lived. But I mean, like just the stories I could tell you about that freaking job. I mean, just seriously, it was, it was really wild.
Beau Hamilton (07:23)
I bet. Yeah. Kind of going back with the, with your background there, you know, you, spent some years at Amazon helping them shape their API strategy. You helped to build out Google’s app engine and cloud infrastructure and correct me if I’m wrong there. But you, and you worked for a ride sharing company based in Singapore called Grab.
You’re also developing your own video game. I mean, so just kind of broadly speaking, can you, and you can take this any direction you’d like, but can you tell us a little bit about how you first were drawn to software development?
Steve Yegge (07:52)
Yeah. I mean, like I was taking hardware classes at the University of Washington thinking that I was going to be a computer engineer and I freaking hated it. I hated hardware, man. I just. I don’t know. It just wasn’t for me, right? It could have been a situation where like the University of Washington had a real problem with prerequisites and ordering and they would make you take classes and you didn’t have the mathematical tooling for the class, right?
And so you’d really struggle, right? Because you had to learn the math too. So I don’t know. But something about engineering, this was a long time ago, right? This is in the late 80s, right? Programming wasn’t really a huge big thing. Microsoft was pretty big by then, right? Everyone thought they were kind of a fluke.
But man, it was magical, I mean, being a programmer, you’re a wizard. You can make magic happen. You can make anything happen, right? So, I mean, for me, it was a no brainer. It was a no brainer. It was like, I want to be a programmer. I knew I knew that almost from when I was like, like 16, 17 years old. I know a lot of people program younger than that. And I was introduced to computers, you know, as big as cars when I was, you know, a teenager, younger teenager. But now I taught myself a program on one of those HP calculators, you know, that had that stack language. And I like, I built a rendering, you know, polygon rendering engine, 3D, you know, in it, it would take like a half hour to render one donut, you know. But man, I loved it. And man, never looked back, man. I’ve been doing it for 40 years now.
Beau Hamilton (09:13)
That’s awesome. So it was, sounds like it was largely kind of self guided, you know, in terms of just, find that you found that interest and it just kind of came natural, but were there any particular like experiences or people that come to mind that really kind of shaped and guided your approach to software?
Steve Yegge (09:29)
Wow, great question. Really interesting question. So the group that I worked with at GeoWorks, you know, the Amazon folks bought the Seattle office. There were some 20 plus GeoWorks engineers went to Amazon. They followed me there. It was wild, a couple of months later. And Amazon said they were absolutely the highest bar of, you know, of hiring bar of any any acquisition that they had or whatever. They were blown away. A lot of the ex-GeoWorks folks went on to be, you know, big mucky mucks at Amazon, right?
And, and yeah, it was, it was those folks. They were, they were from Berkeley, mostly a few Stanford. They were Lisp people. They were Emacs people. They were Tickle, the tool control language from Ousterhout. So they like, they wrote all their own tools. It was assembly language, but they built a tool chain that still is like kind of unparalleled in my experience. Like the debugger was better than what we have. You could patch things easier on the fly. And it was, it was a really interesting world. Yeah.
And what they taught me was, learn Emacs, right? Like never, ever, ever regretted that. I mean, and I knew it was going to be a thing where I was going to have to spend years learning like one new Emacs thing a day. And so I did, I would literally like, I went for a couple of years where I was like, okay, what’s my Emacs thing of the day? Right? And that’s been absolutely huge for me for my entire career because it’s an incredibly powerful tool.
And they also, you know, they taught me really good software engineering practices, you know, for what it was in the time. And they were all just really, really smart and taught me to aim higher, you know? And then I went to Amazon where Bezos was, you know, completely insane. So like I learned, you know, to aim real high.
Beau Hamilton (11:09)
Yeah, yeah, what’s the, so you worked at Amazon, you worked at Google, two major Fortune 500 companies, how did how did that different culture, you know, again, like shape your your approach to engineering?
Steve Yegge (11:21)
I, you know, when I, when I left Amazon, my first month at Google was like a month of like decompression, you know, like I was, I didn’t realize how tightly wound up I was until after, until some weeks after I left is the thing you got to understand about Amazon is they are at war. They truly believe that deep down that they are at war and that, you know, that, that, means everything is taken with a great deal of seriousness and there’s not a lot of humor there.
It’s all very professional and very snappy and almost military. I can say that having been in the Navy, right? And it’s in their efficiency and how they, you know? But culturally, I mean, you know, they were just so, so, so different and, you know, high, whatever, high, highly anxious, highly neurotic. Everybody there was just like a little bit crazy because, and it was weird. You know what? Though I saw people leave Amazon, who were like complete assholes. And then they would go to Google and they would turn into the nicest person ever. So to an extent, you’re like, you’re a product of your environment, right? I mean, you go to a company and you start acting like the other people at the company. And at Amazon, you had to be an asshole to get anything done, you know?
Beau Hamilton (12:38)
Interesting. Was it all, I mean, was it a front? Was it just a PR thing, a marketing branding thing that Google instilled in their employees?
Steve Yegge (12:48)
Google just took a completely different approach, man. Google was just like, hey, we’re going to attract the smartest people in the world, and we’re going to do it by making it more interesting and fun to work at Google than it is to have tenure at Harvard. So my first week at Google, there was literally a Harvard tenured economist professor sitting next to me named Mike. And he’s like, yeah, I’m tenured, you know, but I just told him I’m leaving. And they’re like, well, you can’t leave. You’re tenured. You will always have a job and an office here. And he’s like, yeah, but I’m leaving, right? And he went to Google, right? That was, that was their approach. And they brought in all the people that wrote the textbooks for all the classes that I took, right? Literally like, right? All the professors and all the, all the people who written books. And they’re all there at Google when I joined. It was incredibly intimidating, right? Amazon has an anti-PhD bias that is absolutely comical to watch in action. They think Ph.D.s are do nothing, know it all. And they, they’re almost anti-intellectual at Amazon. It’s pretty funny. That may have changed a little bit now that they’re getting more into AI and stuff, but those kinds of cultural things, they’ll stay with you for decades. You can’t change them. So Amazon is still what I would call a willfully ignorant company, right?
Beau Hamilton (14:00)
Okay. So, a WIC. We like acronyms here. Okay, interesting. Yeah, no, that’s, that’s definitely, quite the divide star contrast there with culture. Now, how did, how did that, so the experience about those different companies, how did that ultimately bring you to where you are now working on an AI coding assistant?
Steve Yegge (14:22)
I mean, that’s another great question, man. You know, I have found that I have always been frustrated by wanting to do more myself with my own hands. A lot of people solve that problem by going and getting helpers. They become a tech lead and they get a team and all of a sudden they’ve got, right? And that, you know, that you can accomplish more ambition stuff if you have a group of people.
But I always wanted to be a, you know what I mean? Like I wanted to be a superhero myself. I wanted to be able to build like a giant, you know, successful video game or whatever, you know, I felt like you should be able to, you can envision it. Why can’t, why can’t you build it, right? And I tried really hard. I threw myself at it, you know, just after leaving, it was, was actually, yeah, it was between Amazon and Google in there. And I, yeah, I, I, I, I found that…
Java was killing me for starters, right? I probably should have used C++ because it was a much more powerful language, right? But I picked Java because I didn’t, I wanted, it was supposed to be a productivity boost, right? And it was to an extent, but Java was incredibly unexpressive. It didn’t have first-class functions and stuff. So if you tried to build something big enough in Java, it would start like growing super linearly. It was horrible. And so like, just like, I got so frustrated with that and I went and read every book I could find.
I went to the Barnes and Noble, and those are coming back by the way. And I got design patterns and refactoring and all these books and I read them cover to cover. And I was like, what is going on here? Why am I so slow? When I started, I was flying. And now that I’ve got 100,000 lines of code or 200,000 lines of code, it’s starting to bog down to where things that used to take me a day, take me a week. What the hell’s going on? And I was mad, right?
And I started looking at other programming languages and other tools. started blogging about it, like call to action, inciting people to start picking better languages and stuff. And it became an obsession. And I started finding myself going into developer tools. And I wound up starting customer service at Amazon. I was like TPM at first. And then I ran customer service tools for a couple of years. But then I went into dev tools because I was like, man, we got to make this faster, right? For all the developers. And the same thing happened to Google, man. I did some cool stuff there and then, was like, screw this, I’m going to go fix our tools, right? And so I went and did Grok and that, that actually is ultimately what led me to Sourcegraph is that source graph is effectively the open source version of the thing that I built at Google.
Beau Hamilton (16:50)
OK, interesting. Yeah, so you started coding obviously at a young age. And maybe I’m jumping around here, but there’s a big push to get kids to learn how to code and develop. I mean, we have a user on Slashdot that comes to mind that frequently shares updates from code.org. And almost, it seems like every tech leader, Bill Gates, Tim Cook, Zuckerberg, they’ve all advocated for it. But is this less of a focus now that we have these AI coding assistants that essentially write code for us, for users? What’s your view here?
Steve Yegge (17:24)
I would say it’s more, it’s more, more of a thing. It was almost unreasonable to expect that a bunch of kids, you know, a generation of kids would learn how to program, you know, even five years ago, right? But like I’ve seen, you know, people have like, shown me that their eight year olds are writing code now using GenAI and using coding assistance, right? Like, like what’s happened is anybody can write code because, we’ll talk about this more in the podcast, but the actual act of writing code got a lot easier or it’s in the process of getting a lot easier, right?
We’re moving from where you have to write the code to where the LLM will write the code and you’re just having a conversation with it about the code, right? That is much more accessible to people who are just getting into the industry than learning how to code like straight up, So I view this as a huge, huge like, hopefully, right? We’re going to see tons and tons of people. It’s just that right now the tools are so new for Chat-Oriented Programming (CHOP), which is what I’m talking about here, that it’s, you you couldn’t expect, you know, junior kids to learn how to do that yet. But man, within a couple, you know, a year or two, a couple of years, I think all kids are going to be programming like this.
Beau Hamilton (18:36)
Okay. Yeah. No, that’s a good, that’s a good perspective to keep in mind. I mean, it kind of speaking for myself, you know, I don’t have a programming background and I’ve always kind of been kicking myself of, I should take it more seriously. I should learn, programming. I’ve done some like Python, Matplotlib stuff for, some data science courses. But other than that, I’m like, just, got to, I, I just been kicking myself for not learning, but now this kind of makes it, this, this piques my interest. You know, it makes me want to kind of get back into it. It makes it easier, more welcoming, just kind of being able to prompt engineer my, my, my way into things.
Can you kind of just talk more about, about CHOP? You’ve, you’ve teased it. What is, what is CHOP? What does it mean for a developer? And, yeah. Can you tell a bit more about it?
Steve Yegge (19:22)
Yeah, man. Sure. So I’m to make some wild claims and you’re going to get a lot. What both of us will probably get a lot of indignant email about this, right? But like, so I told, I mentioned that I was programming an assembly in for the first five years of my career, assembly language, move AX, BX, push, right? DX jumps, CX zero. It was registers, no variables, no scopes, no control flow, no statements or expressions. It was literally like registers and a stack and we didn’t even have operators. That’s how the world program for 40 or 50 years. And people resisted switching to high level languages like C and Pascal because the performance of the generated code wasn’t as good as what you could write as an experienced hand rolled assembly programmer. So it took a long time for assembly to die out. That’s why I was writing assembly, because I was doing systems programming and we literally wrote code that was faster than the C compiler.
And so we looked down on, ha ha ha, you right? You got to use a compiler, you got to use a high level language and we’re the real programmers here, all that, right? And of course it died, they died because of course the performance eventually beat people and it was five to 10 times more productive to write in a high level language than an assembly language. So economically, it was inevitable that assembly was going to die.
Well, I’m going to make the claim right now that economically, okay? line-oriented programming, which is what we do today and what we’ve done for the last 40, 50 years. All of our tools are line-oriented, stepping through lines of code and completing lines. And, you know, you call it statement and expression programming, but let’s call it line programming, just to call it something. Everybody thinks that’s the only way to program today, but it is going away.
It is dying just like assembly language did, and it will be completely dead within five years. You won’t write code anymore, lines of code, you write blocks of code. We are moving into the era of block-oriented programming, okay? Where you’re working at the level, your atomic building blocks are like functions, classes, modules. And if there’s a problem with one of them, or you need to extend it or something, you literally rewrite the whole thing with a prompt. The whole thing, all at once, atomically, okay?
It’s very similar to how 3D printing was like 15 years ago when the RepRap came out. There’s this 2004, 2005, somebody finally came up with a 3D printer that could print itself. And that was huge because then you could have one, right? Because you just ordered the kit, it had printed and then you’d put it together and then suddenly you had a 3D printer and they weren’t very good. And of course, not many people are going to put together a 3D printer. And it was a very niche fringe type of thing. Now, today, 15 years later, they print biological organs, man. They print tools in space, right? Their 3D printing is replacing a lot of work on assembly lines and manufacturing, right? But it didn’t seem like it was going to at the time. It seemed like it was just a proof of concept or something. People didn’t really see where it was going.
And also, it would have been easy with 3D printers to read into it and say, well, then you can 3D print a car in Borderlands and take off in your vehicle. It’s like, no, there’s a huge jump between being able to 3D print a solid object like a miniature that you can paint, you know, or a car parts and printing an entire working car. Obviously you can’t do it. I say this because people made the same stupid conclusion when AI turned out to be able to 3D print code. Sorry, you’re getting me really riled here and this is good. So like, right? Because the LLM, the GenAI is effectively a 3D printer for code, right? But instead of a, you know, a 3D spec, you’re getting a prompt and context. But it prints the code for you.
And that means that you’re now, as a developer, working with larger building blocks. Ones that you didn’t really want to be writing in the first place. You just wanted them to work for you. And so you can focus more on the API of the function or the class or the module that you’re working on and the RPCs between other systems and design aspects. All sort of high. You’ve been leveled up by doing this.
I have a lot more to say about it, but that’s an introduction to it.
Beau Hamilton (23:38)
Well, I can picture the emails just coming in now. All the, the, of what was just said here.
Steve Yegge (23:45)
Yeah, I mean, there’s like the objections to it, you know, like, look, there’s a bunch. Okay, let me, is it okay if I just walk through some of them? I’ll play devil’s advocate here. Cause I’ve been studying this phenomenon ever since I did my post, “The Death Of The Junior Developer”. And, and I’ve been talking to a lot of really smart people have come to me and given me their perspectives on it, right? And it’s definitely more nuanced than, you know, the junior roles are dying.
They’re not, they’re not dying out, but they’re definitely changing, like the way 3D graphics changed from when I started school to when I finished my degree, because I got hired full-time at GeoWorks and it took me longer to finish my CS degree. So I actually got to take computer graphics in 91 and in 95, or maybe it was 92, 96, right? But about four years apart. And in that four years, what it meant to be a graphics programmer had completely changed. That’s why I took it again, okay? Because graphics was moving so fast that in the early days, we were learning how to render lines and polygons and do shading. And four years later, all that stuff was in the hardware, right? Or in the engines that you were using. And so you were focused on much higher level concerns like scene construction and object graph manipulation and physics and special effects and stuff, right? That was just four years later. Now our graphics is just insane, right? What you do as a graphics programmer, you’re not going to render a polygon, right?
Well, the same sort of situation is happening with programming today, right? Is that what it means to be an actual programmer is changing. So the role’s dying, but we’ll still have junior engineers. They’ll be doing different things. The problem that I ran into, the problem that I’m wrestling with, that we’re all wrestling with, is that when you move up the abstraction ladder, right? When you’ve been given better building blocks, right? That the 3D printer can, print the pieces of your car. Now you’re just focused on the car and not building spark plugs. You get what I’m saying?
Like when you, when you get that, you’re naturally like moving up in seniority as well in a sense, because you’re focusing on things that more senior people tend to focus on, like architecture instead of the details of the programming language, semantics inside of some function, right? So it biases senior a little bit which is what really freaked people out. A lot of people are mad. We’re like, Hey, my kid just got a computer science degree. What have you done? You just killed his job, right? And so, you know, but, playing devil’s advocate here, why do people, why do people like, why do they feel that I’m wrong, okay? They are overestimating how powerful this is going to be, right? CHOP.
Beau Hamilton (26:18)
Yeah, I know. I know like just generally speaking, you know, when there’s any big new technology, there’s resistance because change is scary and it takes effort to adjust to it.
Steve Yegge (26:30)
It is, it is. But if we want to drill down into the details of one level letter, why is it hard? Where is the learning curve that people are resisting? What I found is that CHOP requires you to have a very high tolerance for a lot of things that developers don’t, a lot of developers don’t tolerate very well today. That includes model hallucinations. It includes like the sort of the tools, like the sort of state of the tools today. And it includes prompting and context management.
All of those things are like really hard for people because you have to be able to type really fast. You got to be able to read really fast because you’re going to have multi-hundred or multi-thousand line conversations with the LLM, right? That build up as you’re, as you’re solving a problem. That’s your context, that conversation. You’ve got to scan through it repeatedly to find nuggets that you need to push back in or whatever, right? So a lot of people can’t read well and a lot of people can’t write well. And, and, and, and a lot of people have trouble even telling the LLM, the prompting, like they’re not able to explain what they need as well as they could code it themselves. You see?
And honestly, truthfully, all of us have trouble reading when we’re busy or when we’re in a hurry, right? All of us have trouble typing when the airplane seat is jammed down in front of you, right? CHOP is kind of hard. And also the model hallucinations make it a very different kind of workflow than people are used to, right? Because, you know, what happens is the models are hallucinating all the time. Part of every answer that you get is likely to be wrong. And so you have to develop a sixth sense. You have to develop a set of skills, a set of validation skills as an engineer, as a programmer that you didn’t need before, because the compiler would tell you it would emit perfect code. The refactoring that your IDE does is perfect, right? It’s provably perfect. They won’t do refactorings that they can’t prove are correct. And that has trained all of our developers to expect code to be kind of correct when it gets produced by tools.
But we’re producing tools that’s kind of mostly correct most of the time. And that means you’ve got to go in, but it’s, when it is correct, it’s really good. And so you’ve got to, you’ve got to be able to get better at testing and better at debugging, and you’ve got to get better at looking at logs. And you can get the nice thing is you can get help with the LLM for all of that stuff. So it all gets easier, but by the same token, it’s different, right? It’s different workflow. You’re basically taking like kind of like bad, good code with some bad problems in it. And you’re turning in the good code with no problems in it. And that can take a few more iterations with the LLM, right?
Hopefully this is coming across, man. This is such a complicated thing, basically the reason people are struggling with CHOP is it’s not easy today and the tools are going to have to get a lot better just like 3D printing did over the last 15 years.
Beau Hamilton (29:13)
Okay. Well, that’s a good analogy with the 3D printer. I just think it is enticing because you can develop in your own kind of native language. There’s not necessarily that learning curve of learning a whole new language like it is like a foreign language. So I think from that standpoint, it makes things a little easier, right? I mean, that said, you still have to know probably a lot of the terminologies to kind of tweak the CHOP programming?
Steve Yegge (29:39)
I mean, do you? I mean, like you can literally, you can ask the LLM to explain literally any part of it at literally any level of experience that you want, right? Explain it to a fifth grader, explain it to a college student, explain it, right? You can completely tailor it and it will absolutely, it will do anything you want. It will redo anything you want and it will explain it for you. So, I mean, like you can learn as you go and you do learn as you go, but it’s really interesting because like, like, man, I consider myself like probably more than anything else in computer science to be like a programming languages person. It’s been my sort of like career focus. Compilers, interpreters, language design, you know, features. And man, that looks like it might become like a lost art. you know, like the Jedi books they burned, you know? I mean, like, right?
Do we like in 20, 30 years, will we even have programming languages anymore or where the LLMs come up with their own programming language that’s easier for them to read and write and we’re just dealing with specs. I don’t know, but it will happen in 50 years.
Beau Hamilton (30:47)
Yeah, it makes me think of like, you know, the, like the learning a new language or like Irish and Gaelic, for example, you know, like it’s, like your, your people in Ireland or Scotland, they’re taught to learn these languages. It’s, it’s like a nationalistic pride, but they don’t really use it in everyday life. And so as a result, it’s kind of getting lost.
Steve Yegge (31:03)
Yeah, no, I mean, yeah, these are just like most programmers don’t know how to do assembly today. It’s becoming a lost art, but it’s not important because it’s a niche thing, right? So yeah, man, the world is changing. The world is about to change. And if you’re really super attached to, for example, code completions, like where the code will auto-complete your line for you, or even multiple lines, you’re in for a rude awakening because completions are useless when the LLM is writing all of the code for you.
Beau Hamilton (31:31)
Now our dev teams for major companies using AI and CHOP, like are they kind of approaching it cautiously or do you think they’re all in on this new AI, these AI coding tools?
Steve Yegge (31:45)
Well, okay. So just like GenAI in general, like when it came out and coding systems and ChatGPT and all that, they run the whole gamut, right? There’s a spectrum of ranging from companies that are like, we can’t use AI because X, Y, we just can’t use it at all. And they’re really, really behind the curve. Some big companies, companies that I wouldn’t use their products anymore now that I know this about them.
And then there’s other companies that are like freaking science fiction that are like already executing on 10 year plans around AI that are amazing. And these are companies that have executed on 10 year plans before. So I know they’re not messing around, right? So you got that whole spectrum, right? And now you got to ask the question all over again for CHOP, right? Which is because like they may have adopted completions and they have a lot of lingo and terminology around that, right? How many? You know, what is it completion acceptance rate? and how much of it was written by the AI? and all that. All that’s going to go away, right? They’re all, they’re all, they’re all tinkering with it, but it’s not, it’s not the steady state for AI.
There’s a few that are using CHOP. Okay. I told you, I got a bunch of angry emails from people after the death of the junior developer, right? Well, I actually got some contact from some very large companies, very large, very rich, very technical, very intelligent, deeply, you know, deeply, the companies that deeply care about their developer tool chains, right? And they reached out and said, woo, interesting. We’ve been seeing this phenomenon too. Okay. The, the biasing towards more senior developers because they can just use GPT to blast it all out. And, and the other effects that I was talking about, right? You know, people starting to switch to chat-oriented programming. And so we’re getting confirmation from the field, right?
But mostly, I mean, like, look, I would say probably fewer than 1% of all developers worldwide are using it right now. It’s a totally a fringe. Yeah, it’s a, it’s too hard right now. Look, man, I do it all day long, but man, I know Emacs and I know my, you know, my OS really well. I type 120, 130 words a minute. And I like, you know, I know what I’m doing. And so I can force it to do what I need it to do, man. But most people can’t do that yet. So.
I’m evangelizing it, but at same time, I’m also like internally on our, on our team, you know, on Cody, we’re working really, really hard to make sure that all this stuff is more intuitive, right? So the people can just, just use it without having to understand it.
Beau Hamilton (34:15)
Yeah, well, and then just trying to scale it to various employees and across all those different superiors and, you know, it kind of comes back to the culture aspect too. It’s just the bureaucracy and trying to get everyone on the same page.
Steve Yegge (34:29)
Well, yeah, sure. Yeah. I mean, there is a cultural aspect to it. You know, I mean, you’re changing the way you program and that’s going to, it’s going to introduce a lot of, you know, knock on effects that you’re going to have to deal with. Like for example, the code may work, but it might be awful, right? This is a common pattern where the LLM generates perfectly good working code in the sense of like it passes. It does exactly what you intended it to, but you look at it and you’re like, oh my God, right? You know, that’s, that’s comically bad, you know, design for the code.
And so then, you know, you have to get into the habit of doing round trips where like today you basically, you know, if you want to, if you’re not senior and you can’t just glance at the code yourself and see that it’s garbage, then, or, or you’re not senior in that language. Like I’m not senior in, you know, Scala. So if I’m looking at Scala code, I have no idea if it’s right or not, or if it’s good code or not. So you, you have a second pass where you go to the LLM and you say this code you just wrote for me, is it good code? right? You, you ask it in different ways. You’ll say, can you do a security review for it? Can you please figure out whether this code is idiomatic or not? You know? What are my code reviewers going to say about it? Ask it a bunch of questions about the code as one of your validation steps that I told you about, right? And that’s a different kind of a workflow.
And so you brought up culture. It’s like, man, that’s a big culture change to like been having conversations with the LLM about code before it goes into code review. But we can all see that’s where it’s going, right? So I mean, we’ve got holdouts. I still hear people saying, I wish this would all just go away so we can all just go back to work. There’s a lot of real hardcore conservatives in the industry who just don’t want to learn AI, right? And those are the ones that die. That’s why I called it the death of the junior developer. It’s actually the death of the stubborn developer.
Beau Hamilton (36:15)
Hmm. Yeah. No, that makes sense. Yeah. I mean, it’s also kind of just in everyday life talking about AI to some of my friends and family and stuff. It’s, it’s always, it’s kind of viewed so skeptically. and, and like a lot of people still to this day have yet to really sit down and use, you know, even ChatGPT.
Steve Yegge (36:33)
Well, yeah, I mean, right? It’s I mean, and where, where, where, where is all the investor money going? Right. You know, like everybody’s investing in billions and billions and billions of dollars. And how has it changed our lives yet? right? I would argue that there’s only two use cases that I’m aware of. One is coding assistants have been a killer app. OK? They definitely work. And the other one is, you know, producing crummy pictures for your PowerPoint presentations using Gemini. And that’s pretty, pretty much it, right?
I mean, and ChatGPT is really great for like generating, you know, lots of texts and stuff, you know, it’s lovely. But I mean, like all the other stuff that we thought would emerge has been taking a long time to emerge because the, you know, because of hallucinations and people’s tolerance for it. brought this up before you can’t have an Alexa that every once in while tells you something that’s complete bullshit. And, and so they can’t sell it, right? And, and, or, or they have to change the way people, right? They have to put a lot of caveats around it, right?
And so this is, you know, it’s a transition, it’s a process, you know, it’s a shift and it’s happening, you know, in the, the, outside the programming world and it’s happening inside the programming world. But man, the best thing you can do is get on board, especially as a programmer and get behind it and learn it and learn how to be a prompt engineer, right? Learn how to prompt, learn how to manage context, learn all the, learn all the basics of it. Cause man, it’s, you’re going to find, you’re going to find suddenly that you’re unemployable in two, three, four years. If you haven’t learned this stuff.
Beau Hamilton (38:00)
Yeah, that’s a good, that’s, I mean, I people are listening right now because that’s a, that’s some, some truth right there.
Steve Yegge (38:06)
Well, that’s my opinion.
Beau Hamilton (38:08)
No, I think, I think that like, you know, there’s, you see so much money is being thrown at this. You’re right. Like there’s not a lot of like, not a ton of practical use cases just yet. They haven’t figured out how to monetize and really figure out a revenue system. But that said, you know, I think there’s glimmers of, of, you know, areas where this is going to completely revolutionize and upend industries.
And if you’re not on board now, I mean, you’re just going to get left in the dust. You look at like, project Sora with OpenAI and it’s how it’s essentially going to like replace, a lot of film studios, just being able to kind of generate just different scenes with AI. I think there’s still a ways to go, but, I mean, that’s just one example. I mean…
Steve Yegge (38:51)
It’s funny, I don’t think the film studio goes away. I think it either gets smaller or they make more films or something, right? It’s certainly, certainly what happens is they’re able to make the films they want to make faster, right? But I mean, like you still need somebody like with some, you know, good, creative, you know, good creative taste to actually make a decent film, right?
Beau Hamilton (39:15)
Kind of like democratizes it a little bit, makes it so like, you know, me and my little room or something can just make a feature film.
Steve Yegge (39:24)
That’s true. That’s true. Just like I just started this off by saying everybody can code now because of coding assistance. Of course, everybody’s going be able to make movies and produce content and stuff, really high quality. That’s what I mean by 3D printing. You get access to these building blocks that now you can print large blocks like a whole scene of a film, and you can reprint it because it’s software until it’s right, and move on to the next scene of the film or the next piece of the code or whatever.
So many, many disciplines are getting replaced or the junior folks are getting pushed out. Like if you think about it, what they’re killing is not the studio. They’re killing the outsourced animators that they’re sending it to overseas, right? Those roles are disappearing. So the whole thing again is filming a film is just getting up leveled again. It’s not like it’s going away, right? It’s like if GenAI makes it faster and more democratized as you say, I think this is a really good point.
Beau Hamilton (40:20)
Yeah. Yeah. Well, I think just, yeah, back to the CHOP. I think it’s definitely going to be, more widely adopted and utilized as time goes on. And just these AI, assistance in general are going to be more adopted and integrated into our everyday lives. You know, I guess I’m gonna ask you one more time. Like you touched a lot on the trends, but do you see any other trends here in this, in this area?
Steve Yegge (40:42)
Other trends, other trends, interesting. Besides that, well, I mean, the funny thing is, like, my boss asked me that too, right? Because they’re like, wow, you made a prediction. Do you have any more? But the thing is, like, this is a big one. This is like, this is a massive, like, tectonic shift in how programs are written and deployed and operationalized. It’s a massive change for the industry. So I would argue that probably what’s happening is within that umbrella, there’s going to be a lot of realizations and a lot of findings and stuff. And I haven’t been able to predict a lot of them yet. What I’ve been doing recently is more just understanding, like, why hasn’t it taken off yet? What is hard about it? And that’s, for example, how I came to the conclusion that it’s because it’s hard to prompt, hard to type, hard to read. So, yeah, I mean, like, if this will happen, this will absolutely happen. Boy, it’s a…early, early days.
Beau Hamilton (41:41)
Yeah. Well, and also like, you know, just if we all think back to our education when we were younger and like, I mean, it seems like reading and writing is two areas where they could, there could be some serious improvements, you know? And so maybe that’s, that has something to do with it. Why people aren’t as well versed in these areas.
Steve Yegge (42:00)
Yeah. So look, I’m just going to just as a little aside for the next generation, Gen Z and Gen Alpha, all right? What I’ve been hearing is that because of the environment that everybody grew up in in those generations, it’s much harder to read thousands of lines of text, right? Which is exactly what you need to do with CHOP, right? What I would recommend for anybody actually listening in on this podcast who wants to like better themselves, at pretty much everything, not just programming, is improve your reading. Okay. Now look, I’m 55 years old and I’m learning, I’m now learning how to sight read piano. Okay. And I’m getting pretty good at it, right? Even though I only started, you know, a few years ago and right, you learn slower when you’re old, but teaching myself to read is open up completely vistas. Like I can, right? And you know, there’s, I’m not, I’m not, can, I can go and play any piece of music now, right?
If you want to blog, if you want to have an impact, if you want to be a great programmer, if you want to be great at CHOP, I think you should really seriously consider actually upgrading your reading skills. You can do it. It’s not something you’re born with. It’s a skill that you can practice just like juggling or painting or whatever. And the better you get at it, the easier time you’re going to have with actually, with life. okay?
So that would be my advice is man, get behind reading. Just read whatever, find something you like to read, man. I don’t care if it’s comic books, whatever you like, read thousands of them because that will train your embeddings on the English language to where you have the mastery of it that you need to be able to do the things that you need. Like tell the LLM what you need. Anyway.
Beau Hamilton (43:43)
Well, you’ll become your own LLM just from all the stuff you’re reading.
Steve Yegge (43:47)
Yeah, I mean, that’s great. That’s the idea. We are all sort LLMs in a way.
Beau Hamilton (43:53)
That’s some great advice. That’s something I need to get better about. I feel like I’m constantly reading short form content, articles, and feature posts, and…
Steve Yegge (44:05)
We all are, right? So we have to like, we have to sort of like tell ourselves, I’m going to go read something long form now, right?
Beau Hamilton (44:11)
Yeah, sit down and focus. Yeah.
Steve Yegge (44:12)
Enforce yourself to it. I picked up a book, I recommended it, recommended me by a coworker called Sapiens. It’s a, it’s a new Malcolm Gladwell type book and it’s been a really good read. Pick something that you think would be fun to read about anything, you know, sports, whatever, as long as it’s long form and do that once a day, read one long form thing a day.
And because like, seriously, that, that art is starting to die out and that’s causing real problems because you need to be able to, you still need to be able to read probably for at least the next 10, 20 years.
Beau Hamilton (44:42)
Well, I’m coming down to my last question for you. I think it’s a good one because it kind of gives you the opportunity to, again, let loose. You know, I don’t think that’s an issue for you. You’ve been telling us the truth and some great takes here, but I think it’s also a good opportunity for listeners to kind of get a little reward for sticking through the end of this episode. So my question Steve, is, you know, do you have any industry hot takes and if so, what are they and what will their impact be?
Steve Yegge (45:09)
Boy, industry hot takes. It’s really hard to do those without like, you know, accidentally giving stock suggestions or something. But I’ll tell you one related to what we’ve been talking about is that, and this actually is really important. People come up to me all the time and they say, what about agents? Okay. Now, for those of you who are just ramping up in this space by agent, we mean a kind of program that people are developing that basically does all the stuff that we just talked about automatically.
Okay, so the agent can build higher level. It can “3D print the car” for you. It can build higher level software. Like it could build an iOS app or an Android app or something, or it could build maybe a system that you can deploy, right? That’s the idea. You give it a spec, you say, I want it to, you know, have a, you know, whatever user logs in and then there’s a registry and whatever. And it will write all of it for you, including testing, deploying and revision control and all that stuff, right?
So my hot take is that if you spent a lot of money investing on that, then you’re not going to get your money back, okay? I’m sorry, man. And that’s a real good way to make people mad is telling them that they invested their money wrong. But man, you can’t, they’re not going to work. won’t, they don’t work. They let the fundamentally what you’re trying to do is effectively AGI, right? Because the problem is, even people have trouble solving software problems. Software is hard. Every problem is unique and different and every environment has their own challenges or every company, right?
And so like, you know, we, we find very often that we’ll get two senior seasoned experience programmers together and we’ll try to do something together. And we’ll be like, well, what’d we do there? And we’re blocked on it for 15 minutes. Every single time that happens, your agent just stalled out because it ran into a problem that even humans aren’t sure how to solve, or it goes down a wrong path and costs you a bunch of GPU dollars, right? I haven’t seen even the faintest evidence that anything related to, and there’s a lot of companies working on them right now, not just the Devon or Devlin or whatever it was called. There’s a bunch. Everybody wants to do agents because they think, oh gosh, 3D printers are coming, so we need to 3D print cars. No, cars will still be built by hand the way they are today, okay, with 3D printers helping with pieces, yeah?
So people jumped to the wrong, wrong, wrong conclusion there and agents are, they’re a joke. They’re not going to, I mean, like, sure, they’ll work someday, right? You know, and by work, I mean, they’re going to be able to solve larger and larger problems, but there will always be a human at the top, right? Until we get to AGI, which is why I’m saying they’re trying to build AGI, right? Artificial Generalized Intelligence, right? So that’s a hot take that only affects a few people, but they’re going to be real hot.
Beau Hamilton (48:00)
Yeah. That’s a good, that’s a good answer. I wasn’t expecting that, you know, cause I’m not as familiar with agents either. Like I know I kind of, my mind just goes to bots and I think of those chat bots, you know, everyone is familiar with dealing with insurance agencies or something. but these are intelligent bots that can kind of do their own tasks and work on their own. Maybe it kind of thinks it makes me think of like, you know, the, Elon Musk recent, autonomous vehicle show he had where he was trying to convince everyone that these autonomous cars are gonna be the future and they’re gonna be driving around making money for you. In a way, it’s like a physical agent.
Steve Yegge (48:41)
Yeah. So to tie all this together, with CHOP, you’re the agent. You’re doing all that stuff yourself. The other hot take I would say, and this is an important one. I don’t know if it’s a hot take or a PSA, somebody listening to this podcast, and it almost makes me want to cry to say this. Somebody listening to this podcast is going to get their bank account drained by a hacker using an LLM, right? And all of the other technology that’s coming out.
Well, I saw an amazing, a scary talk at Vegas when I gave my talk. The best talk in my opinion was the dude who said, we all need to be scared right now. So what I, my, my call to action for all of you, in addition to get a coding assistant and learn CHOP, even if you’re not a programmer is go to your bank, take half the money out and put it into another bank. Okay. Start diversifying all of your accounts because some of them at some point are going to get drained by a scam, a convincing one, and you’re going to have no recourse. All right. So everybody get out there and diversify your shit right now. There’s a hot take for you.
Beau Hamilton (49:52)
There you go, awesome. Well, yeah, no, that’s a very real possibility. Diversify your assets, maybe even use credit cards, daily purchases, you have more insurance there. But with that said, I think that’s gonna, we’re gonna end it there. I mean, what better way to end it? My very last question is just, do you have any other place you’d like to send people? LinkedIn, Sourcegraph’s website, your blog?
Steve Yegge (50:20)
Oh, yeah. If you go to sourcegraph.com or search for sourcegraph blog, you can find some of the stuff we’ve written about it. We did a webinar recently. We’ve probably got a link to that. was recorded. Gene Kim and I, Gene Kim is a really, really famous industry luminary who has adopted CHOP. He’s a big fan. And we did a programming video session that we’re going to be releasing soon if needed some editing. But yeah, basically keep your ears peeled. This is my new, I’m an evangelist now, right? I’m evangelizing CHOP because I really feel that this is the big one. So keep your eyes peeled because it’s hard, it’s unintuitive, and there’s a lot to learn. So just as we go forward in the coming months, just look for more.
Beau Hamilton (51:04)
Nice. Well, I’m definitely going to stay tuned. Check out that episode and keep my eyes on CHOP for sure. Well, Steve, thank you so much for your time. This has been one of my favorite recordings. So I really appreciate it. And thanks for all your insights.
Steve Yegge (51:19)
Thank you. Thank you for the kind words, man. It was awesome being here, and I hope that this was useful for all of your viewers.
Beau Hamilton (51:25)
Yeah, I think we’re going to have lots of great clips too. So this is awesome. Thanks, Steve.
Steve Yegge (51:29)
All right. Thanks, Beau.
Beau Hamilton (51:31)
All right. Well, thank you all for listening to the SourceForge Podcast. I’m your host, Beau Hamilton. Make sure to subscribe to stay up to date with all of our upcoming B2B software related podcasts. I will talk to you in the next one.