YouTubeFeed

Yelling at Vibe Coders

Summary

Paul Ford and Rich Ziade perform one of their favorite pastimes: corporate roleplay. Paul plays “Doug,” an enthusiastic vibe-coding engineer who used Claude to build a complete expense tracking application in six hours, and Rich plays “Mr. Jeremy,” a skeptical engineering manager responsible for $15 million in reimbursable expenses. The skit hilariously dramatizes the tension between rapid AI-generated prototypes and the rigorous testing and validation required for production enterprise software.

After the roleplay, they break character to discuss three key takeaways. First, even if AI can build what you want, articulating requirements within the organization — not just to the prompt — remains essential. Second, while Doug is overzealous on the offensive, Jeremy is overzealous on the defensive; the boss should learn how the developer built it rather than simply rejecting it. Third, most companies are not starting with empty data, and the migration of existing data into new systems is the unglamorous but critical work that vibe coding demos never address.

The episode is a sharp, funny examination of the real organizational dynamics around AI adoption in enterprise settings. Paul and Rich argue that humility from all sides — the excited developer, the cautious manager, and the eager executive — is the only approach that actually works when metabolizing this technological change.

Highlights

”I Built It in Six Hours Using the Most Powerful Technology on Earth”

Clip

Clip command
yt-dlp --download-sections "*5:42-6:40" "https://www.youtube.com/watch?v=5hpwgaZhJRQ" --force-keyframes-at-cuts --merge-output-format mp4 -o "5hpwgaZhJRQ-5m42s.mp4"

“Come to my Windows XP machine that we have provisioned and let me bring this bad boy up. I use Claude to build this. This has a database behind it and it has a beautiful interface. It looks really nice… It took six hours.” — Paul Ford as “Doug”, 5:42

”$15 Million in Reimbursable Expenses, Doug”

Clip

Clip command
yt-dlp --download-sections "*6:53-8:00" "https://www.youtube.com/watch?v=5hpwgaZhJRQ" --force-keyframes-at-cuts --merge-output-format mp4 -o "5hpwgaZhJRQ-6m53s.mp4"

“Last year we received over $15 million in reimbursable expenses. Our clients trust us that when we run those invoices and we add those numbers up that they are accurate… This is money we’re talking about, Doug. Money is exchanging hands.” — Rich Ziade as “Mr. Jeremy”, 6:53

”I Don’t Want AI Testing AI”

Clip

Clip command
yt-dlp --download-sections "*9:23-10:15" "https://www.youtube.com/watch?v=5hpwgaZhJRQ" --force-keyframes-at-cuts --merge-output-format mp4 -o "5hpwgaZhJRQ-9m23s.mp4"

“One more thing. I don’t want AI testing AI… Not going to cut it.” — Rich Ziade as “Mr. Jeremy”, 9:23

”The Boss Is More Vulnerable”

Clip

Clip command
yt-dlp --download-sections "*13:34-14:20" "https://www.youtube.com/watch?v=5hpwgaZhJRQ" --force-keyframes-at-cuts --merge-output-format mp4 -o "5hpwgaZhJRQ-13m34s.mp4"

“In some ways the boss is more vulnerable. Because I can play with these toys and something really blows up. I’ll just go — I’m an AI enhanced accelerated developer. There aren’t enough of me right now. I can make as much mess as I want.” — Paul Ford, 13:34

”Nobody in History Has Ever Worked One-Shot”

Clip

Clip command
yt-dlp --download-sections "*18:50-19:50" "https://www.youtube.com/watch?v=5hpwgaZhJRQ" --force-keyframes-at-cuts --merge-output-format mp4 -o "5hpwgaZhJRQ-18m50s.mp4"

“Everybody is obsessed with one shot and standing up zillions of agents and you give it a prompt. Nothing in culture, nothing in history has ever worked that way.” — Paul Ford, 18:50

Key Points

  • Corporate Roleplay Setup (0:38) - Paul plays Aboard president, Rich plays CEO; they introduce their company as shipping reliable, high-quality software fast using AI tools
  • The Vibe Coding Scenario (2:28) - Rich sets up the roleplay: Doug is an enthusiastic engineer, Jeremy is a tired engineering manager with back problems
  • The Expense Tracker Problem (3:22) - A Fortune 100 company needs to track expenses across fractional employees with different client rules
  • Six-Hour Miracle (5:42) - Doug built the complete application with Claude Code in six hours, including database and UI
  • The Trust Gap (6:53) - Jeremy pushes back: $15M in expenses means they cannot trust untested AI-generated code
  • AI Testing AI Rejected (9:23) - Jeremy explicitly says he does not want AI testing AI-generated code
  • Talk to the Users (9:55) - Doug needs to validate the software with the client operations people, not just the AI
  • The Developer Can Fail Up (13:34) - The AI-savvy developer is less vulnerable than the manager who has to clean up the mess
  • Takeaway 1: Articulate Requirements (14:20) - Even if AI does what you want, you need to articulate requirements within the organization, not just to the prompt
  • Takeaway 2: Jeremy Is Too Defensive (15:07) - The boss should say “this was really fast, let’s sandbox test it” rather than flat rejection
  • Massive Resistance from Stakeholders (15:53) - They report seeing 10x the resistance from business stakeholders compared to their roleplay
  • Humility Is the Only Approach (16:27) - Doug needs humility about AI limitations, Jeremy about the value created, executives about their firings
  • Takeaway 3: Existing Data (18:13) - Most companies have existing data in flight that cannot be ignored; migration is the real challenge
  • One-Shot Fantasy (18:50) - The obsession with one-shot AI prompts ignores that nothing in history has ever worked that way
  • Delegation Analogy (19:30) - Every boss fantasizes about perfect delegation, but intelligent subordinates (and AI agents) go off and do random things
  • Step 500 Is Where Results Are (20:43) - Paul says he gets amazing results after about step 500, not step 1

Mentions

Companies

  • Aboard (0:38) - The hosts’ company; ships reliable high-quality software using AI tools
  • Anthropic (12:08) - Maker of Claude; joked about uploading expense data to them

Products & Technologies

  • Claude / Claude Code (5:46) - Used by “Doug” to build the expense tracker in six hours; also mentioned as the “safe word” at the start
  • LDAP (6:30) - Legacy login system the app would need to integrate with
  • .NET (6:01) - The approved programming language at the fictional company
  • Windows XP (5:42) - The provisioned machine in the roleplay scenario

People

  • Paul Ford (0:00) - Host, President of Aboard; plays “Doug” the enthusiastic engineer
  • Rich Ziade (0:02) - Host, CEO of Aboard; plays “Mr. Jeremy” the skeptical engineering manager

Surprising Quotes

“What’s the safe word? Claude.” — 0:14

“This is much more subtle than hallucinating. It’s sort of a weird momentary daydream that could cost us a client.” — 9:06

“Every time I sit down at a computer, I read a web log that tells me about exciting ways to never do what you’re asking me to do.” — 12:50

“Every boss has the fantasy: I’m going to have all these amazing lieutenants and they are going to go and come back having done the thing I asked them to do. But anyone who is intelligent enough to do that will go do a million random things.” — 19:30

“I’m going to give you two words from the future but not explain anything about them. Cage match.” — 23:18

Transcript

0:00 Hi, I’m Paul Ford. And I’m Rich Ziade. And this is the Aboard podcast. The podcast about how AI is changing the world of software. It is really changing the world of software these days. And I think we’re going to do some role play. What’s the safe word? Claude. Let’s play that theme song and let’s get right into it.

0:38 Okay, Rich, you and I have established our roles. They will become very clear to the listener. I am the president of Aboard. You are the CEO of Aboard. Except for that one week where we were switched, but we don’t even have to get into this right now. Tell me what Aboard does and what Aboard is as a company. Aboard is a collection of people and some great tech that ships reliable, high-quality software, usually for businesses, but we can build a lot of different things and we do it real fast. Real fast. The tools we use are magical, but we don’t give the tools to the world. We use them to ship solutions that you need.

1:19 So if you have a sort of business-shaped problem, I need a custom application. And I have all sorts of complicated accounting needs. Data laying around. Ugly stuff. And it’s the road map stuff that your people keep saying like, “Boy, we just don’t have time for that.” Check us out.

2:05 Those are not the roles we’re going to play. Those are the roles we play all day. That’s our lives. Those are the masks we wear. But you give me my role. You tell me what you’re going to be and what I’m going to be. And then we’re going to dramatize the vibe coding fallout.

2:28 Okay. You are a forward-looking, just utterly endlessly curious engineer who loves trying new stuff. The AI stuff is not a turnoff to you at all. You think it’s great. You think you can work faster and better and you think you can impress me. I am a tired engineering manager who has back problems and is suspicious about all this stuff because while you get to play with things, I have to answer to the business people and I’m always worried about the proverbial hitting the proverbial fan.

3:07 Sadly, this actually dramatizes a lot of our real life relationship. So, this is really good. What’s my name? Doug. Of course it is. What’s your name? Jeremy. Of course it is. Okay. So Doug and Jeremy. I’m Doug. I’m excited. What have you asked me to build?

3:22 It’s a gnarly problem. We have an expense tracking tool inside of our Fortune 100 company. But our people are always fractional across many clients and different client arrangements have different expense tracking options. So, for some clients, they cap out at $200 a week. You can’t spend more than $200 a week unless you get written approval. Other clients, it’s pretty much unlimited because they’re big clients for us. And so, when you buy something like a donut while you’re on the road, you have to expense it back to us. And then you have to pick which client it is. And once you pick which client it is, it has to run particular calculations to see if you had money left and if you could use it. And it’s a messy, messy problem. The way we deal with it today is a spreadsheet. And that spreadsheet has to get then put back into the invoicing that has to show our expense reimbursement on top of the hours that you spent on the client work. It’s terrible.

4:35 What’s up, Doug? Well, first of all, it wasn’t two and a half weeks ago. Oh, Jeremy. Mr. Jeremy. Hi. Mr. Jeremy. It’s me, Doug. You might remember me. Hey, Doug. I’m one of like 360 engineers who work for you. Cool. Lord of the Rings t-shirt, Doug. Thank you. So, remember it was supposed to be two and a half weeks, but like four days ago, you were like, I really need some help on the expense tracker, Doug. Real quick, I told you not to bring the styrofoam sword to the office.

5:15 Okay, so I know that like you gave me like three weeks to do this, but actually and I know I’m not supposed to use any actually interesting or good software tools inside of the organization. So I went home and I put the spreadsheet on a USB stick and I know this is a huge violation of every policy. But you’re gonna forgive that for a minute because I’m going to show you something absolutely whackadoodle Jeremy.

5:42 Come to my Windows XP machine that we have provisioned and let me bring this bad boy up. I use Claude to build this. This has a database behind it and it has a beautiful interface. Looks really nice and it’s built in the official language that we like to use. And so I’m going to show it to you because in a few days I was able to do what used to take months to get good and I think it’s really amazing. And so you gave me that spreadsheet. I took that spreadsheet with all the expenses, all the donuts, all the different clients listed. Here’s the clients as a drop down. Here’s every expense from the last year. It’s now incredibly easy for anybody to put this in and it’s going to integrate beautifully with our legacy LDAP system for login across the entire global organization. I did it. It looks good. It works really well. The database is real. It took six hours.

6:53 Are you saying I should just put this in production and give it out to our people? You spent six hours on this. I used the most powerful technology on earth. Last year we received over $15 million in reimbursable expenses. Yes. So that’s why my thing’s amazing. Our clients trust us that when we run those invoices and we add those numbers up that they are accurate. Human errors happen and we acknowledge them sometimes and that they are credible.

7:20 Yeah, but look, I’m going to enter an expense and you’re going to see the math get done right in front of you. Okay. Watch there. You’re right. It added on $72. Chicken Caesar wrap for $72. Where are you eating? Forget that. And the math is correct. Absolutely. What do I do with this? I deploy it to production. I think we’re ready. Or maybe somebody could look at it first.

7:50 How can I trust that all the different permutations and rules because there are different rules for different clients get applied correctly. This is money we’re talking about, Doug. Money is exchanging hands. I get it, Jeremy. That’s great feedback. You know what I’m going to do, Mr. Jeremy? I’m going to go back to Claude Code and I’m going to tell it to add a rules engine and a bunch of unit tests to make sure this is good. You’re not going to validate this yourself. I mean, it’s just math. I looked at a few of them. It does a great job. Not good enough. I can’t trust it.

8:18 Because I’m not asking you to put something in a box and take it out and show it to me every once in a while. It’s doing math. The number of rules are more or less endless. You can create all sorts of weird rules and trip wires and exceptions and whatnot. And I need to confirm before I put this because it’s my neck, Doug. Mr. Jeremy, you don’t have a lot of neck left.

8:48 One mistake, Doug. And I’m done. And we could lose a marquee client. So, I can’t. Even though it looks really good, by the way. It looks good. It’s pretty shiny. It looks really good. But the truth is, because money is exchanging hands, you know, people talk about AI hallucinating. This is much more subtle than that, isn’t it? It’s sort of a weird momentary daydream that could cost us a client. And even though I appreciate how fast you got things done and maybe when the dust settles, we are working way faster than before, I need this tested top to bottom.

9:23 One more thing, Doug. One more thing. I don’t want AI testing AI. Not going to cut it. Even though I’m named Doug, I think I can internalize that. Let me pause for a second then and maybe be just a little less enthusiastic, Mr. Jeremy, and say like, okay, but I think this is really cool and it really validates what we want to build as a way to clarify the requirements of what we need.

9:55 This is really good. I do need you to talk to the half-dozen client operations people that deal with this stuff because we had a meeting with them, but you just built a lot of software and they got to sign off on it. But why can’t I simulate them as a set of agents using synthetic research tools? That’s not going to cut it here. You need to go talk to them and make sure it’s doing what they need it to do.

10:20 Before you push to production, you do need that blessing and it needs to be in their hands. But before it’s in their hands, they’re not going to notice the mistakes, right? The weird subtle bugs that lead to dollars being missing or overcharging our favorite clients. Big problem for us. They’re not going to see those. You stop looking and then we find out after the fact that a lot of money and a lot of goodwill went out the door. I need you to button this up. Let’s meet in 3 weeks. Take an extra week, Doug. They’ve been waiting 12 months for this. They can wait an extra 3 weeks.

11:06 So, help me understand, sir, what buttoned up would really mean. I’ve built something you can click on and enter expenses, and it really does solve our business problem. I have a database exported from the spreadsheet. It appears to work pretty well. I’m going to go get validation and approval that this meets the requirements from the stakeholders. Here’s what your next step is. Go make a carbon copy of one of the sheets they’re using today. Use that actual data. Run it through your system and then A/B it with that spreadsheet. Make sure it lines up. Use our real world scenarios, real world rules, real world outcomes and put them up against your system.

11:55 Now, let me be a real AI guy for a minute, but also try to meet you halfway. Don’t you upload that spreadsheet, Doug. Not going to. Well, I kind of did already, so that ship has sailed. Sorry about that. I hope Anthropic doesn’t care about our expenses. But here’s what I could do. I don’t really want to go sit there and write a whole lot of tests because that’s really boring. But here’s what I want to do. I want to write a rules engine. I want to write a way to define if this is working or not. And then I want to describe all those rules and all those test cases. And then I want the AI to go ahead and test it.

12:46 Doug, here’s what I need from you. I need you to do some of the boring stuff. But every time I sit down at a computer, I read a web log that tells me about exciting ways to never do what you’re asking me to do. I understand that and I recognize it. But there are consequences to getting this wrong that are severe. For you. I will just go get an AI job at some other crappy company. You may do that, Doug. I probably will.

13:12 Yeah. I mean, you’re actually, when we think about it, I don’t mean to turn the tables, Mr. Jeremy, but you’re a little more exposed than I am here, cuz all I have to do is learn these new skills. You will go down with the ship with me. No, I will just go on indeed.com and find a whole new way to be cuz this honestly, I’m tired of eating these burritos.

13:31 Let’s come out of character and talk for a minute. But I actually want to double down on that point now out of character. In some ways the boss is more vulnerable. He is, because I can play with these toys and something really blows up. I’ll just go — I’m an AI enhanced accelerated developer. There aren’t enough of me right now. I can make as much mess as I want. And it’s like this has happened periodically in technology. The person who aligns themselves with the very new technology keeps getting snatched up even and they kind of fail up leaving the bosses with a broom to clean stuff up.

14:11 I’m getting told to use more AI. I think there’s a couple things that get highlighted out of this role play. Three things. The first is even if AI does what you want, articulating what you want first is really, really important. I actually mean articulating what you want in the organization, not to the prompt. Unlike single user personal productivity apps, organizations, you literally have to map out what people want across teams, across users, across all sorts of interests and needs.

15:01 Let’s talk about the legacy process for one second. Our product person is going to write a nice specification. It’s an internal project. Let’s keep it short. 10 or 15 pages. Socialize that and wait a couple weeks to get some feedback. Turn that into requirements. I’ve only got one dev for this. It’s Doug. He’s going to work on this for about six months. It’s pretty straightforward math and database stuff. Doug might work on five things in that time because you’re waiting for cycles and so on and so forth. So Doug’s gone away and come back in a day and it feels like a miracle.

15:59 But if Doug didn’t talk to people and if they push that to production and it’s out of sync with what people actually do and deal with — the human interaction stuff that you just have to kind of go through. Two others. The second is that while Doug is overzealous on the offensive, Jeremy is overzealous on the defensive. Jeremy should say, “This is terrifying. It’s scary to me, but that was really fast. Why don’t we get a couple of users and when they do it the old way, we ask them to do it the new way, but it’s sandboxed.” Jeremy should also learn how Doug did it.

16:27 We’re seeing 10x the resistance from stakeholders and business people who are scared of this stuff. It’s throwing people off. It is the kind of resistance that eventually is going to work against Jeremy. Because what’s going to happen is Jeremy’s SVP boss is going to go to the sauna with the other C-level bosses and they’re going to go, “Man, I just fired 6,000 people and it feels really good.” And they’re going to go, “I want that for me.”

17:07 The only approach here that is working is humility. Doug needs to be a little humble about the process and not assume that an LLM can just generate anything. Jeremy needs to be a little humble that Doug was able to create a lot of value even though it was accelerated. You’re assessing risk based on some crazy magic trick that just happened. That’s not a way to assess risk. You don’t understand it yet.

18:13 Three. All these apps that are getting built, there’s a lack of acknowledgement of the fact that most companies are not starting with empty data. There’s always data that exists today. Doug did something in six hours, but there are 300 clients and 6,000 expense entries in flight, not filed away. And that leap is boring. It’s real boring. There’s a continuous migration process where the old data is coming in, the new data is coming in the new system. You’re continually testing and evaluating.

18:50 Everybody is obsessed with one shot and standing up zillions of agents and you give it a prompt. Nothing in culture, nothing in history has ever worked that way. Every boss has the fantasy when they start becoming a boss: I’m going to have all these amazing lieutenants. And I’m going to tell the lieutenants what to do. And they are going to go and come back having done the thing I asked them to do. But anyone who is intelligent enough to do that will go do a million random things often having nothing to do with what you ask them to do.

20:12 And so you actually learn you have to have empathy and conversation and you have to really make sure that they’re aligned and understand what your goals are. You have to listen to their goals and then you can delegate. And that is also true of software with these new robots. You cannot just issue an order and get a response. And there is an infinite fantasy that I think we will never quite get done with.

20:43 What I am finding is that I can get amazing results after about step 500. You got to build the infrastructure first. Once you get the platform in place, you figure out your data. I have to internalize and understand. Not impressive. It’s incredibly impressive. I’m able to get results that I could never have even touched. Things that took six months can take a couple of weeks. But it’s 500 cuts. Sure. But programming is a little different now because sometimes you just do something and walk away and come back tomorrow and you see what you sort of get the report mailed to you. And you’re like, “Oh, let’s try this instead.”

21:57 Even if you don’t understand it, inscribe it into your brain. You’re all going to get where I am, which is this is really good, but it probably doesn’t replace people anywhere near as much as people think it will. I think that’s playing out. Hit us up hello@aboard.com. It’s a fascinating time. We’re learning and pivoting and tweaking as we go as well.

23:18 I’m going to give you two words from the future but not explain anything about them. But watch this space. You ready? Cage match. Okay, have a lovely week everyone. Aboard.