Log in to watch

Log in or create a free account to watch this video.

Log in
Connect Feb 2025
Share

Why Coding By Hand Is Dead: Lessons Learned in Chat Oriented Programming

Steve Yegge explores the evolution of programming, emphasizing chat-oriented programming and the CHOP Handbook. He discusses the decline of junior developer roles due to AI advancements and introduces vibe coding, addressing its challenges in enterprise environments. The CHOP methodology is presented as a solution to blend engineering discipline with vibe coding. Yegge also highlights the need for engineers to adapt to AI's impact on their work and mentions an upcoming book for guidance.

Chapters

Full transcript

The complete talk, organized by section.

Steve Yegge

01Introduction (Gene Kim)

So, Steve Yegge — I'm so delighted that he is presenting again. He is of course famous for his 20 years at Amazon and Google. He is now Cody Evangelist at Sourcegraph, and I was so delighted that he presented last year on the death of the junior developer at the ETLS Conference in Las Vegas, and how he described how the practice of coding is changing underneath us as we speak.

So he's returning to talk about his vision of Chat Oriented Programming, and he's going to preview concepts from his new upcoming book with the title being The CHOP Handbook: How Chat Oriented Programming Is the End of Programming as We Know It, and Why It Will Be the Best Thing Ever. And I'm so delighted that I'll be co-authoring this book with him. And that's only one of the many reasons why I've never had as much fun as right now. So, Steve, over to you.

---

Steve Yegge

All right. Hey Gene, thanks for having me. Thanks to everybody for coming.

There is absolutely no way that my talk is gonna be anywhere near as good as Nathan's was. So I'm sorry about that, but that was amazing, wasn't it?

I will tell you about some stuff that I've kind of had my eye on lately, if I can figure out how to actually switch screens.

So, we'll start with some introductions. Hey, I'm Steve. Been at Amazon and Google for like 20 years, and then Grab in Southeast Asia for a couple years, and now I'm at Sourcegraph. And I had this epiphany about a year ago when I switched from Head of Engineering to become an engineer so I could see what was going on with AI.

Yeah. So that's me. This is Mozart. I took him — we took him to the store the other day. I just gotta tell you this, this will cause you to lose faith in humanity. We were carrying him and the guy working at the store said, "Oh, he's cute." And we were like, "Cool." And he said, "What's his name?" We said, "Mozart." And he goes, "Ah, does he paint?"

So anyway, yeah, he doesn't paint.

So Gene and I are writing a book, with Mozart here to supervise, and that book is called The CHOP Handbook. I'll talk about it just a little bit.

Let me tell you what we're gonna be talking about today. We're gonna talk about Chat Oriented Coding — how it's evolving, who's using it, who's not using it, and then what that does to jobs, and in particular what you're gonna wanna study if you wanna kind of get ahead of things.

All right. So, Dr. Erik Meijer. He's one of the foremost programming language experts in the world. He helped design Visual Basic, Haskell, C#, just a ton of stuff, right? And so this dude — you're probably like, who's Dr. Erik Meijer? He's the tie-dye shirts guy. Of all the people on earth who might want people to continue programming, it would be him, because he wrote programming languages that are really good, and you'd think that he'd want you to use them. And he's like, "Nah." Yeah.

And this is something that I noticed as well. When I was an engineer, I was like, oh no, something weird is going on. And so I wrote this post called "The Death of the Junior Developer." And it really picked up some steam. I mean, Gene Kim just forwarded me something like yesterday where this article, "Death of the Junior Developer," was being cited in a discussion on European economic policy, picked up by Bloomberg. I mean, we touched a nerve, right? Because Gene and I — when I wrote "The Death of the Junior Developer" it was after talking with Gene, and he had been talking to Dr. Matt Bean and all these other people about how this stuff is happening everywhere.

And so we've kind of refined it since then a little bit. It's not really junior developers. I hope that there's some junior developers on the call, and I've got good news for you — what I think is good news. But you're gonna have to make some changes, because what's happening is the job of being a developer is changing. It's gonna have to, with all that stuff Nathan talked about. I mean, AIs are getting really, really smart, and they can write code and they can do it really well. And so that means that what we do is gonna change. And it's been really difficult for people to predict what that change is gonna be, but I'm gonna talk a little bit about what I think it's gonna be.

So, who here's heard of Vibe Coding? You've all heard of Vibe Coding, right? I'm gonna talk a little bit about Vibe Coding, because I think it's important, and I think it's a way for us to sort of ground CHOP and get the distinction across.

So Vibe Coding was invented about — I wanna say three weeks ago. That's how fast this stuff is moving, all right? And it's already been picked up by all the major media outlets and channels. Everybody's talking about it. It's gone viral. People are buzzing about it.

And it all started with this tweet from Andrej Karpathy, who is a great man, and he will go down in history probably as the one who did the most to teach all of us about AI as it was emerging. And he's got quite the following, so his tweet was very influential.

But nobody read it. Hey, nobody read the tweet. I didn't read the tweet. Did you read the tweet? Come on, it's a long tweet. It's like a YY-esque wall of text. I mean, come on, who's gonna read this?

And the problem is, about halfway through — I can't select it — but about halfway through, where at first he's like, "Ah, this is the easiest thing ever." I'll read it: "There's a new kind of coding called Vibe Coding, where you fully give into the vibes and you embrace exponentials." It takes a mathematician to talk like that. "Forget the code even exists. They're getting so good. I barely even touch the keyboard. I ask for the dumbest things. I'm too lazy to find them. I just accept all. I just give it the error messages. I copy paste, no comment, and that fixes it."

And everyone's like, "Oh yeah, this is great." And then they stop reading. But then he says, "The code grows beyond my usual comprehension." And Karpathy has a lot of comprehension to go around, so that's a lot of growth. "I'd really have to read through it for a while. And sometimes the LLMs can't fix a bug, so I just ask for random changes until it goes away." And then he says, "It's not bad for throwaway weekend projects, but still quite amusing. I'm just building a project or a web app. It's not really coding. I just see stuff and say stuff and it mostly works."

This was profound because it finally got through to a bunch of people that you can actually have fun while you're working with AI, and that it works, and that you can even kind of go into autopilot and kind of turn your brain off.

The problem is, people read this and they were like, "Yeah, that's how AI coding works." And so it's been kind of bad. We were in a meeting last week with a bunch of experts — Gene mentioned we brought in a bunch of experts to talk about metrics for DORA v2 for Code AI, which we're gonna tease today. And Jesse Young, she's a principal at GitLab, and she's making a point, and on the side just off the cuff she says, "And I told my team, no Vibe Coding while I'm on call." And I caught up with her words and I'm like, "So are you saying that people are treating Vibe Coding as — you don't have to understand the code? Is that why you don't want people coding that way when you're on call? Because they might push stuff that they don't understand and then you have to debug it?" And she's like, "Yeah, did you read the tweet?" And I hadn't, of course — nobody did.

So here's the thing. Vibe Coding is important because it highlights the important stuff. You get into a flow state, you lean on the LLM, the dev loop is the same, you copy and paste, and it's fun. It doesn't scale up. You can't do Vibe Coding in production enterprise environments and just hope the LLM figures it out, right? I mean, come on. But people are doing that. The good, bad, and ugly — many people are using it in enterprise. And it's because people don't read.

But this is what CHOP is. CHOP is bringing engineering discipline to Vibe Coding. You still vibe. The LLM is still a lot of fun to talk to, and it gets crazy sometimes and you gotta keep it on the rails, but you do it as an engineer. You're all engineers here, and we're still doing engineering. AI-generated programming is still programming.

So that's CHOP, okay? CHOP is basically doing Vibe Coding, but then making the LLM explain stuff to you and making sure you understand the code and demonstrating ownership, and making sure that you can be proud of the code that you've generated with the LLM and that other people can maintain it.

This all sounds really obvious, right? Well then why do principals have to tell their teams not to Vibe Code while they're on call? It's because people are grossly misinterpreting Andrej Karpathy's advice.

So anyway, Gene and I decided to write a book about it because the misconceptions are still so prevalent. And we got Mozart here to come in and supervise.

Look, here's some of the things that we talk about in the book — there's more. Look at the bottom one in the middle here: "If you don't start using CHOP full-time, you're about to be left behind." Can I back that statement up? I used to just sort of speculate about it, but what about today, with you listening in?

We just heard from a couple of people at the experts panel last week that companies — many companies that they're talking to — have decided to solve the problem of some of their engineers refusing to adopt AI. Specifically — I mean chat, not completions. I mean chat. The LLM is writing the code; they are not writing the code. Companies have found a clever way to get around this problem, because they're having a problem with adoption. Engineers — a lot of engineers at some places, it's the senior engineers; at some places it's the junior engineers — are saying, "I don't wanna use AI 'cause it's gonna take my job." It's craziness. So what did companies decide to do? What's their clever solution?

They're firing people, okay. They fire people. They're just like, "Screw it. We're gonna—" My jaw hit the floor when I heard this. They were like, "Screw it, we're just gonna fire 30% of our workforce and replace them with people who wanna use AI."

That's some pretty serious turbulence. That's some pretty serious change. And it could definitely send the wrong signal — it could send a signal that there's no jobs. I think a lot of companies are quite frankly overreacting terribly. I mean, yeah, we're on an exponential curve, but it's still gonna be a few years before this stuff is really that good.

What did Karpathy mean about "embrace exponentials"? That's a profound point that he made with two words: embrace exponentials. He means that we are on an exponential curve, and nobody understands what that means. If you ever go read about how humans deal with exponentials, we don't — we think of them as polynomials or whatever. We don't understand that it's doubling every time period. But Karpathy is saying, use the coding assistants as if we're two years in the future. Because they will eventually get to the point where you're vibing along and understanding things and it's all happening much faster.

So anyway, this is a sneak preview of what's in our book. Let me talk a little bit, just briefly, about my experience.

I went to school in 1992 — actually 1989 — at the University of Washington, and I took computer graphics, which was a little bit after this Star Wars Death Star rendering I've got here on the left. That was in like 1977. And this middle one was basically my homework assignment at the University of Washington when we took computer graphics and all we had was put-pixel. Tony DeRose — Dr. Tony DeRose from Pixar — was our teacher, and he was like, "I'm only gonna give you one API call. Your API is you can turn on a pixel on the screen of a certain color, and everything else you're gonna have to do yourself by hand. You're gonna have to learn how to deal with points in 3D space and have cameras and rendering and clipping and shading and all that stuff." And we were like, "Okay." And we learned it, right?

And then three years later — I was still in school because I had gone full-time to go work since I was doing it part-time — I looked at the graphics course and it was all different. All the stuff that I had learned, the stuff the students were working on just three years before, was gone. It was gone because it was all in hardware. Hardware would do that stuff — it was GPUs. It was massively scalable. And so we got on this exponential curve. And what happened was, as graphics got better, the job changed. You weren't doing clipping and polygon rendering and Bresenham's algorithm anymore. Just three years later, in 1995, we were doing animation already and object graphs and starting to get into moving human limbs and stuff. And that was '95. And today, look at how graphics are. Look what it takes to be a graphics programmer now.

Did the increase in power of GPUs and graphics result in fewer graphics programmers? Because, gosh, we just don't need as many graphics programmers now because the hardware's doing it all, so the jobs are just going away. That didn't happen, did it.

In fact, there are many, many, many more graphics jobs available today than there were. And they're very different than they were — you're not doing the low-level stuff. You're doing custom physics and storyboarding and game engines and stuff.

Why is that? Well, let's take a look at the biggest slide in the world. You know how they say a picture's worth a thousand words? What about a picture with a thousand words in it? This one's worth a million words, but it is kind of an important picture, so we'll talk about it briefly.

On the left we have a typical scaled-down task graph for a project. This one's The Phoenix Project, which was a great book, if you haven't read it — still a very great book. And as you can see, it starts with big tasks and they break down into smaller tasks. And the blue ones here are the ambitions of agents today — that's what agents wanna be able to do. They're starting at the bottom of the task graph. They can do things like write code and write tests and validate things. And you wanna move up. We're moving them up in abstraction to where they can start doing more and more for you. And they're also powered by GPUs and exponentially scaling, just like graphics did.

And if you look over on the right, this is a picture — this is actually Claude rendering; Claude 3.7 just made this, it was unbelievable — of what happened to the jobs in the industry as graphics got better. We moved up the stack into higher and higher level problems. And it felt like, "Wow, these are problems that only a few very senior, you know, graphics director types in the video game companies ever handle." But what actually happened in practice is that everybody started to handle those things. And all of a sudden you've got people that have no college degree at all, no math, no physics or anything, and they've learned enough about these engines and about the physics and the tools to be able to do their own mods for video games and their own movies and stuff.

This is so important because this describes what's happening to us now. And you can predict what's gonna happen in our industry based on what happened in graphics. It's just gonna be more compressed. AI is gonna get a lot better. A lot more people are gonna be able to start using it. We're gonna be able to do a lot cooler things instead of doing — you know where we are today? We're at the Death Star wireframe you see on the screen here. That's where we are with AI right now. We just discovered steam and electricity and now we're trying to figure out what to do with it. And so AI in the future is gonna be for everyone, but it's gonna be a really, really bumpy ride.

So I wanna just briefly talk — how am I doing for time, Gene?

Gene Kim: About three minutes and change.

Great, doing great. Is there gonna be a dystopian future? I would recommend reading this book, because it's actually really scary. It's a novel about what could happen if Amazon warehouses sort of become these corporate cities — they always talk about them like they're utopia, but he deals with a much more realistic scenario, which is that basically they take the human element out completely. You're just a cog. And that could happen in our industry. I mean, Nathan just told us that these things are getting better than humans at virtually all tasks. And so you could imagine a world in which you have a little bird sitting on your shoulder that tells you what to do at work — "You're a project manager, go talk to this team and get them to do this, go talk to this team and do that, turn this system on" — and you're not doing anything except walking around and doing what the AI tells you to do.

You know, it could happen. But it just really seems really unlikely. What's more likely is — Google searches for Jevons Paradox have gone through the roof. Many times in the past people have thought that making something cheaper will hurt it, and in fact it makes a bunch of people actually use it.

So here's where we're at in this process of moving up the abstraction ladder. We're kind of at the beginning, actually. This is where we're headed. It's gonna change so fast, almost overnight. And there's a bunch of skills that are headed out — like being a solo hotshot that's the only one who knows everything about your system. That's just not happening anymore. Democratization of knowledge is what's happening with LLMs.

What's improving is your ability to be a leader, your ability to be organized and have drive and initiative and actually stitch things together.

Gene and I went into a pairing session with Christine — you'll hear about it later today — and it was pretty eye-opening, but it was also really interesting to watch, because the AI would do all the hard, kind of fun stuff, and then we would get stuck as a group on a bunch of mundane, trivial, you know, integration stuff. All the not-fun stuff. And at the end of it I said, "I felt like we all just went to Disneyland and they found a way to speed the rides up to where they're practically instantaneous. All the fun stuff happens like that, and all that's left is standing in line."

That's how this can sometimes feel — the AI's doing all the cool stuff. But in time, I think you're gonna discover that it's better because you're building better things. We can all be more ambitious. And the fun part is launching; it's not writing the code. I think everyone's gonna understand that in time. And I say that as someone who has written a million lines of production code — I have 500,000 lines just in my game. And it's not fun having a lot of code. Coding was fun, you know, just like Sudoku is fun, but launching things is what we're really here for.

So I'm just gonna finish by pitching a book that's not ours. I have nothing to do with O'Reilly. I have nothing to do with this book. I don't know the author. This is what you should learn. Every software engineer needs to learn this. Every school needs to teach this. Every company needs to start interviewing for this. We've even played some dramatic music for you so you can see how important this is.

This is AI Engineering. It's what the job is changing to. This is what I had to learn by myself in 2023 and 2024 to get Cody working. We built AI into a product — that's what this is about. Building AI into a product.

And so with that, I'm gonna do a shameless plug for our book and then sign off. Our book is coming soon. Gene and I are working very, very hard on it, and it's going to cover the blocking and tackling of what you need to know to make it through this transition.

So with that, I hope that you found this interesting and useful and a little bit scary, but also a little bit exciting, because there are gonna be jobs galore — they're just gonna be different jobs. And I encourage you all to just jump on it now, embrace exponentials, and pretend it's the future now. Thanks.

---

Gene Kim: Thank you so much, Steve. Doubly so — wow, has this been fun. And hopefully we can avoid the future where we're all just being pushed around by the AI. Fantastic. Thank you, Steve.