Vibe Coding: Advanced Engineering
AI-assisted engineering for people who already ship. Written for senior and staff engineers who know how to code and now want to run models and agents at professional standard. Context engineering, spec-driven development, your own harness, verification loops, review of generated code, legacy archaeology, large migrations, debugging, security, and the judgment to know when not to use AI at all.
12 lessons, in order
- 135 min
Context Is The Whole Game
Almost every complaint about AI coding tools ("it hallucinated an API", "it rewrote code that was already correct", "it works on toys and falls apart...
Context window as a budget you spendWhat the model actually sees versus what you think it seesCurating a repo map instead of dumping filesContext rot and why longer is not better - 225 min
Pick The Right Brain, Pay The Right Price
Model selection is an engineering decision with the same shape as choosing a database or a queue: there is no best option, only a fit for a workload....
Capability tiers and when a bigger model is not the answerReasoning models versus fast modelsThe latency, cost, and quality trianglePrompt caching and why request shape drives the bill - 335 min
Spec-Driven Development
The fastest way to get correct code out of a model is to stop describing what you want and start defining it. A prompt is a wish. A spec is a...
Writing the acceptance criteria before the promptExecutable specs as the contract with the modelSpecifying error behavior and boundaries, not just the happy pathPlan before code, and reviewing the plan instead of the diff - 435 min
Build Your Harness
Engineers who get consistently good results from models are rarely writing better prompts than everyone else. They have built a harness: the...
The harness as the thing that makes good output the defaultProject rules files and what belongs in themGiving the model tools instead of instructionsSubagents and scoped delegation - 540 min
Verification Loops: Make It Prove Itself
A model will tell you its code is correct. It is not lying and it is not right; it has no way to know. Correctness is something that gets established...
Properties and invariants instead of example testsGenerated inputs find what handwritten examples missShrinking a counterexample before handing it overClosing the loop so the model checks itself - 640 min
Reading Generated Code Like A Senior
You already know how to review code. What changes with generated code is the distribution of mistakes. Human code fails where the human was confused,...
The failure taxonomy of plausible-but-wrong codeReading the docstring and the code as two competing claimsReviewing intent and seams instead of tokensDuplication the model cannot see - 740 min
Legacy Archaeology
Handing a model a codebase nobody understands and asking "what does this do?" is one of the highest-value things you can do with it, and one of the...
Facts before narrative when mapping unfamiliar codeCharacterization tests that pin current behaviorDistinguishing intent from accident in old codeUsing a model to generate hypotheses, not conclusions - 840 min
Migrations At Scale
Asking a model to change four hundred files is the point where AI assistance either becomes a genuine multiplier or generates more review work than...
Mechanical rewrites versus judgment callsKeeping a large migration reviewableThe escape hatch list of cases the tool refuses to touchStaging, verifying, and rolling back a wide change - 940 min
Debugging Code You Did Not Write
Debugging your own code starts with an advantage: you remember what you were trying to do. Debugging generated code removes that advantage...
Hypothesis-driven debugging instead of guess-and-patchDeterministic reproduction before diagnosisShrinking to the smallest failing inputBisecting a change set and reading the fix for scope - 1040 min
The Security Model Of An Agent
An agent with tools is a program that takes instructions from text and acts on your systems. Some of that text is yours. Some of it arrives from a...
Prompt injection as a structural property, not a model bugThe lethal trifecta of private data, untrusted content, and exfiltrationBlast radius, allowlists, and approval gatesGenerated code risks: secrets, dependencies, and licence provenance - 1130 min
AI On A Team
Individual productivity gains from AI are real and they do not automatically become team productivity gains. Code that is faster to write is not...
Review capacity as the real bottleneckShared conventions and rules files as team artifactsWhat review bots and CI agents are good and bad atMeasuring impact without gaming the metric - 1235 min
Judgment: Knowing When Not To
Every lesson so far has been about doing this well. This one is about the decision that comes before all of them, and the one most likely to separate...
The cases where reaching for a model is the wrong callUnderstanding as the thing you are actually paying forDeliberate practice and skill maintenancePutting the whole method together on one change
Learn Vibe Coding: Advanced Engineering in your language
Every lesson, quiz, and tutor reply renders in your language. The AI tutor matches the language you ask in.
