<!DOCTYPE html>
<html>
<head>
<style>.ck-link { text-decoration: underline; }</style>
<style>.ck-link { text-decoration: underline; }</style>
<style>@media only screen { .email * { word-break: break-word; } }
@media screen and (max-width: 384px) { .mail-message-content { width: 414px !important; } }
@media only screen { .email * { word-break: break-word; } }
@media screen and (max-width: 384px) { .mail-message-content { width: 414px !important; } }
@media only screen and (max-width:600px) { .ck-mobile-font-size { font-size:50px !important; } }</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="margin:0;padding:0;-webkit-font-smoothing:antialiased;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%">
<div class="email" style="margin-left:18px;margin-right:18px">
<table cellpadding="0" cellspacing="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;width:100%;margin:0 auto"><tbody><tr><td style="vertical-align:top"><div>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><br>
Hey Andrea,<br>
</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>Today is the last day to save 30% on my next cohort of <a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/7qh7h2u97ok85ru9/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC1lbnJvbGw=" style="color:#0875c1" url-id="1857961555">AI Coding for Real Engineers</a>! But before the price goes up, I want to debunk a common critique.</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Did you watch the new <a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/p8hehqu40z3doetr/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC1mZWF0dXJlLWJ1aWxkLXZpZGVv" style="color:#0875c1" url-id="1857961558">“Real World Feature Build”</a> video I dropped on Friday?</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Thousands of developers have already watched me use the AI Hero Engineering Workflow to build a new feature with Claude Code from scratch.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">I've loved reading the <a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/x0hph3ue6wrz0gtg/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC15b3V0dWJlLWNvbW1lbnRz" style="color:#0875c1" url-id="1857961559">comments</a>:</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>"This is the tutorial I needed 3 months ago. The zero slop part is key. Most people give up because their first attempts generate garbage. It's the structured approach that makes it work."</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>"50% planning, 20% implementation, 30% QA. Nice!"</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>"It's crazy how much more intelligent the AI seems when you speak in specifics."</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>"Before I even start the video - I was one of those people saying 'Show us doing it' and I just want to say you are a gigantic PRO for doing it."</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">While all that's going on, my <a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/58hvh8ug8mv08nu7/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC1za2lsbHM=" style="color:#0875c1" url-id="1857961562">Skills library</a> is still gaining users at a ridiculous pace. The last time I mentioned it just a few emails ago, it was just under 94,000 stars on Github. Now it's over 100,000. I'm still a bit stunned!</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">People love this stuff. They're using it. It's working for them. They're happy with the results, and they tell me about it. I love it.</p>
<h3 style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.17em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>But there's one very particular concern I keep hearing…</strong></h3>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>"...this works fine for solo products, but <strong>it doesn't work for larger codebases with paying customers</strong>."</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>"This looks decent for a one man team, but how would you even manage this <strong>in a real repo</strong>?"</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>"Curious <strong>how the 'no slop' holds up</strong> when the agent confidently rewrites a util file that 4 other modules depend on."</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">These are valid questions.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">It’s smart to bring a healthy dose of skepticism to any AI promises, because these tools <em>do</em> have limitations. And in <a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/7qh7h2u97ok85ru9/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC1lbnJvbGw=" style="color:#0875c1" url-id="1857961555">AI Coding for Real Engineers</a>, we cover those limitations early and in depth.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">You’ve seen me say that Real Engineering means risk management.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">In any engineering role, it’s your job to avoid a large swathe of the most preventable risks in the first place, as well as catch, manage, and control those risks when they are unavoidable.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><strong>In an AI engineering role, that part doesn’t change.</strong></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">The stakes are just higher. <em>But so are the upsides.</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">In my experience, the upsides of learning how to avoid the preventable mistakes, and proactively triage for the ones you can’t fully prevent, are extremely worth it!</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><strong>So today, I want to take a closer look at those AI coding mistakes and how you can avoid them in the first place, too.</strong></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>Starting with…</em></p>
<h3 style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.17em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Mistake #1 - Losing track of your context window</strong></h3>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Everyone's seen this at some point: the AI starts forgetting decisions or facts you’ve discussed, making wild leaps, and producing messy or inconsistent results.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">This issue is a side effect of how AI works. And it's also pretty easy to handle.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">It's all about the context window.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Think of the context window a bit like talking to a coworker. If you don’t tell them enough information, they have to guess and are more likely to make mistakes.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">But if you tell them TOO much information, they get overwhelmed, and struggle to recall the right parts, at the right time. Too much and too little give you the same result: mistakes.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Similarly, whenever your agent is misbehaving, there’s a good chance that you’ve given it either too much info, or not enough.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Maybe you dumped too much information into the chat at the start of a session. Or you’ve connected a bunch of unused or unoptimized MCP servers that fill up the context. Or trying to load a huge codebase entirely into context before working on a single feature (see Mistake #4).</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Bottom line: if you learn how to get the most of your token budget and actively manage your context window. This is the single biggest unlock most developers miss.</p>
<h3 style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.17em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Mistake #2 - Jumping straight to code without a plan</strong></h3>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Let’s be honest… we’ve all made this mistake well before AI existed, so we know exactly what comes next. <em>Mess</em>.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">If you tell your agent to start coding <em>before</em> you've thought deeply about the problem you're trying to solve, you’re going to get code that solves the wrong problem, and <em>fast</em>. An even <em>bigger</em> mess than humans can produce unaided.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">This is a massive and extremely popular failure mode. And it's one that's plagued dev teams since the first time anyone thought, "code is cheap" (probably about the time we switched from punchcards to video displays).</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">That's why, in my <a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/g3hnhwum53dn5ka3/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC03LXBoYXNlLXdvcmtmbG93" style="color:#0875c1" url-id="1857961565">7-Phase AI Engineering Workflow</a>, there are <em>3-5 steps</em> before the main development phase:</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">![][image6]</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">The very first step is the <strong>/grill-me-with-docs</strong> skill, a skill that encourages deep thinking <em>before</em> any code gets written.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Next, using the Real Engineering practices you'll learn in class (plus my <strong>/prototype</strong> and <strong>/to-prd</strong> skills) you'll use your agent to first help you develop a clear and comprehensive plan, document it, then work from that plan.</p>
<h3 style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.17em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Mistake #3 - Working in a codebase the AI can't navigate</strong></h3>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Here's the one that might sting a little.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>If your codebase is hard for a new hire to navigate on their first day, it's going to be hard for AI too.</em> 🫣</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Except it's worse, because a human developer will learn conventions and quirks over time but an AI can't learn the way a person does.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">An AI doesn’t build that institutional knowledge. It doesn't "know" things. At least not intrinsically. You have to give your coding assistant hand-holds.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><strong>That means it's your job to explicitly surface your conventions, decisions, and architecture through documentation, clear structure, and good naming.</strong></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">And if you don't have clear conventions, consistent decisions, and well-structured architecture? You need to fix that first.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Great news, though: Making your codebase AI-friendly makes it better for humans, too. We cover this in-depth in the cohort.</p>
<h3 style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.17em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Mistake #4 - Trying to do too much in one session</strong></h3>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">I gave a nod to this already in Mistake #1, but it's worth calling out on its own.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Every day, I see developers try to tackle a massive feature in a single session. They try to:</p>
<ul style="margin:1em 0;margin-left:1em;padding:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5;list-style-position:outside !important">
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">Describe the goal or task</li>
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">Explore the existing codebase</li>
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">Generate a bunch of code</li>
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">Revise features</li>
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">Identify and fix bugs</li>
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">Etc etc…</li>
</ul>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">… all in one go.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">And before they’re even done with the first step, the context window's full, the output quality's tanking, and they walk away thinking, <em>"AI coding doesn't work."</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">The solution is to break <strong>all</strong> of your larger development goals into focused, phased, and carefully scoped tasks so your agent can make and track progress clearly while it loops through the PRD. Again, this is one of those things that's both great and necessary for people, too!</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">When you enroll in AI Coding for Real Engineers, you’ll learn how to best implement and wield this process to keep your coding agent on the straight & narrow. And fast & easy enough that you stick to it, too.</p>
<h3 style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.17em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Mistake #5 - Not having (or using) reliable, deterministic feedback loops</strong></h3>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Feedback loops are the force multiplier that takes AI code quality from unreliable-to-somewhat-acceptable to good-to-great, production-ready.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Without feedback from its environment, your agent is essentially operating in the dark without guardrails. And the longer it goes without guardrails, the more it's going to invent things.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">With feedback, like passing or failing tests, your agent can be creative the way you want it to be: <em>within constraints</em>.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Tests have always been a good idea. But if you want your agent to deliver the best quality results, tests are absolutely essential.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Good tests give your agent the “eyes” it needs to observe its own work and self-correct.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">You can use your favorite testing framework, consistent type checking, even hooking the agent up to a browser so it can screenshot your front end or click on your behalf.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">I’ve found that testing with AI is almost as misunderstood as coding with AI (maybe more?) so in the cohort we’ll spend an entire section on:</p>
<ul style="margin:1em 0;margin-left:1em;padding:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5;list-style-position:outside !important">
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">which tests to write (and which ones are wasteful or unhelpful), and</li>
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">how to set up the feedback loops that let you run your agent worry-free</li>
</ul>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">These feedback loops are what let your agent work autonomously while YOU work on designing and planning the next batch of tasks for it to handle.</p>
<h2 style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.5em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Bottom line: LLMs aren't intelligent, but you are…</strong></h2>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">You can do everything else right, but make just <em>one</em> of the process mistakes and you might end up thinking AI coding's <em>all</em> slop.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">My take is that AI slop isn’t a technical problem. AI slop is a <strong>process</strong> problem.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Every single one of the 5 failure modes I listed above is a <strong>process</strong> problem.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Just like Claude Code sits between you and the LLM, making the output so much better, your process sits between you and Claude Code, making its output even better than that.</p>
<ul style="margin:1em 0;margin-left:1em;padding:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5;list-style-position:outside !important">
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">Slop shows up <em>when</em> you don’t give the AI requirements and constraints that set it for success. <em><strong>Yet!</strong></em>
</li>
<li style="padding:0 0 0 1em;margin:0;margin-left:1em">Slop shows up when you haven’t created a process where AI coding fits perfectly in your human-powered workflow. <em><strong>Yet!</strong></em>
</li>
</ul>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Process is a lot like a coding harness for humans. It makes us better, too.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">And even as this technology rapidly changes, <strong>the process</strong> keeps you on the right track.</p>
<h3 style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.17em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Today is the last day to save 30%</strong></h3>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">So if you're ready to build an end-to-end interconnected <em>system</em> for getting the absolute best out of AI coding (and yourself!), you should consider enrolling in <a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/7qh7h2u97ok85ru9/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC1lbnJvbGw=" style="color:#0875c1" url-id="1857961555"><strong>AI Coding for Real Engineers</strong></a>.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">You'll learn a reliable, repeatable suite of interlocking processes that will keep code quality high in <em>any</em> codebase, no matter how big or complex.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">And you'll get to soak up some of the best engineering wisdom from the pre-AI age. Engineers have been solving these hard, human, thinking problems for decades. Learning from their successes will make us better thinkers, better developers, and help us wield AI coding tools in the smartest and most effective way.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><em>No matter how novel our tools become, Real Engineering is the way forward.</em></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Enrollment is still open until the first day of class, on Monday June 1st, but <strong>after midnight tonight (pacific time), the price goes from $696.50 to $995.</strong></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Which is still a very fair price for everything you'll learn, do, and keep. But why pay more?</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">So if you're planning to attend, save yourself the difference and secure your seat today:</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"><a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/7qh7h2u97ok85ru9/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC1lbnJvbGw=" style="color:#0875c1" url-id="1857961555"><strong>Enroll today to Save 30%</strong></a></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Matt</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">P.S. The entire day-by-day curriculum is <a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/7qh7h2u97ok85ru9/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9zL2MwMDQtZTAwOC1lbnJvbGw=" style="color:#0875c1" url-id="1857961555">right here on the course page</a>.</p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">P.P.S. Hit reply if any of these mistakes I listed sound familiar. I'd love to hear which one has bitten you the hardest.</p>
</div></td></tr></tbody></table>
<div class="email-footer"><table cellpadding="0" cellspacing="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;width:100%;margin:0 auto"><tbody><tr><td style="vertical-align:top">
<div><div class="email-footer" style="color:#4b4b4b">
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5;color:#4b4b4b; margin:1em 0;font-family:Arial,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;;font-size:12px;line-height:1.5;display:block;margin:13px 0;"><a href="https://7751c435.click.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm/9qh489gqfdudmpqxm2iz/aHR0cHM6Ly93d3cuYWloZXJvLmRldi91bnN1YnNjcmliZWQ_cHJlZmVyZW5jZT1vaG9ydC0wMDQ=" trigger-id="5690340" style="color:#0875c1" url-id="1857961566">Unsubscribe from AI Hero Cohort updates</a>. You can also <a href="https://7751c435.unsubscribe.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm" style="color:#0875c1"><span style="font-size:12px">unsubscribe</span></a><span style="font-size:12px"> from all emails at any time.</span></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5;color:#4b4b4b; margin:1em 0;font-family:Arial,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;;line-height:1.5;display:block;margin:13px 0;"><span style="font-size:10px">12333 Sowden Rd, Ste. B, PMB #97429, Houston, TX 77080</span></p>
</div></div>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"></p>
</td></tr></tbody></table></div>
</div>
<!-- -->
<img src="https://7751c435.open.kit-mail3.com/wvuwz39v44tghk29xv3a7hndk7kw0h42288zq8pg37vk632dnnlom42zv7vg94z6zw3gq62o2lrme49p49kw64l60wv98e9d5e3p2z5meg5r758xz4xm60x6mzps66ppm" alt="" style="border:0 none;display:block;height:auto;line-height:100%;outline:none;-webkit-text-decoration:none;text-decoration:none;max-width:100%">
</body>
</html>