<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Code Quality &#183; PiniShv</title><link>https://pinishv.com/tags/code-quality/</link><description>Pini Shvartsman leads AI transformation inside a 100+ engineer SaaS org. Field notes on autonomous engineering: AI-powered execution, human accountability.</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Pini Shvartsman</copyright><lastBuildDate>Fri, 10 Jul 2026 12:00:00 +0300</lastBuildDate><atom:link href="https://pinishv.com/tags/code-quality/index.xml" rel="self" type="application/rss+xml"/><item><title>Stop Reviewing Code. Start Reviewing Evidence.</title><link>https://pinishv.com/articles/stop-reviewing-code-start-reviewing-evidence/</link><pubDate>Fri, 10 Jul 2026 12:00:00 +0300</pubDate><guid>https://pinishv.com/articles/stop-reviewing-code-start-reviewing-evidence/</guid><description>Agent-heavy teams ship twice the PRs at more than twice the size, and reviews wait almost five times longer for pickup. The review model built for hand-typed code has collapsed, and the fix is not humans reading more diffs. It&amp;rsquo;s the evidence gate: machine-verified proof for every change, with human judgment reserved for intent and architecture.</description><content:encoded>&lt;p>The math went first. Faros telemetry puts hard numbers on what agent-heavy teams already feel: they produce &lt;a
href="https://blog.codacy.com/ai-breaking-code-review-how-engineering-teams-survive-pr-bottleneck"
target="_blank"
>98% more PRs, 154% larger, and those PRs wait 4.6x longer for a reviewer to even pick them up&lt;/a>.&lt;/p>
&lt;p>Twice the PRs. Two and a half times the size. Nearly five times the wait before a human even opens the diff.&lt;/p>
&lt;p>The pull-request review model, where one busy human reads a diff, understands it, and approves it, didn&amp;rsquo;t bend under agent volume. It snapped. And the industry&amp;rsquo;s answer so far has mostly been to tell humans to read harder.&lt;/p>
&lt;p>That won&amp;rsquo;t work, and most of us already know it. The fix for the verification bottleneck is not humans reading more diffs. It is building verification capacity as a system, the way we once built CI. Humans stop reviewing code. They start reviewing evidence.&lt;/p>
&lt;h2 class="relative group">The bottleneck moved downstream and put on a disguise
&lt;div id="the-bottleneck-moved-downstream-and-put-on-a-disguise" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-bottleneck-moved-downstream-and-put-on-a-disguise" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The generation problem is solved. An MIT study of more than 100,000 developers found &lt;a
href="https://www.forbes.com/sites/josipamajic/2026/06/10/ai-coding-agents-write-180-more-code-but-ship-only-30-more-software/"
target="_blank"
>code volume up roughly 180% while shipped software rose only about 30%&lt;/a>. The constraint is no longer producing code. It is getting code to a state anyone is willing to put in production.&lt;/p>
&lt;p>And here is the part that should sting. A &lt;a
href="https://blog.codacy.com/ai-breaking-code-review-how-engineering-teams-survive-pr-bottleneck"
target="_blank"
>LinearB study of 8.1 million PRs across 4,800 organizations&lt;/a> found developers &lt;em>feel&lt;/em> 20% faster while merged-to-production time is actually 19% slower. Everyone is typing less and waiting more. The keyboard got fast. The gate stayed human-sized.&lt;/p>
&lt;p>I wrote before that &lt;a
href="https://pinishv.com/articles/ai-code-cheap-to-produce-not-to-own/">AI made code cheap to produce, not cheap to own&lt;/a>. This is that gap, matured into a full-blown organizational failure mode. Ownership starts at the review gate, and the review gate is where the whole pipeline now piles up.&lt;/p>
&lt;h2 class="relative group">The human GIL is a correct diagnosis and a terrible strategy
&lt;div id="the-human-gil-is-a-correct-diagnosis-and-a-terrible-strategy" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-human-gil-is-a-correct-diagnosis-and-a-terrible-strategy" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Martin Fowler named the problem precisely: the human is &lt;a
href="https://martinfowler.com/fragments/2026-06-02.html"
target="_blank"
>the Global Interpreter Lock for agents&lt;/a>. Everything the fleet produces serializes through one person&amp;rsquo;s attention. His advice: don&amp;rsquo;t launch more agents than you can properly review. Two weeks later he quoted Charity Majors on what happens when you ignore that: &lt;a
href="https://martinfowler.com/fragments/2026-06-16.html"
target="_blank"
>&amp;ldquo;when you ship code faster than engineers can read it&amp;hellip; reliability degrades, institutional knowledge evaporates.&amp;rdquo;&lt;/a>&lt;/p>
&lt;p>They are right about the failure mode. Zoom out two years and the curve is even steeper: The Pragmatic Engineer reports teams running agents now ship &lt;a
href="https://newsletter.pragmaticengineer.com/p/slow-down-to-speed-up"
target="_blank"
>five times more pull requests than they did two years ago, at triple the size&lt;/a>, and the same writeup carries a Meta account-takeover vulnerability as the cautionary tale of what merges when volume outruns comprehension. Nobody serious disputes the diagnosis.&lt;/p>
&lt;p>But &amp;ldquo;slow down&amp;rdquo; is a holding pattern, not a strategy. It caps your engineering organization&amp;rsquo;s output at the reading speed of its most conscientious reviewers. Forever.&lt;/p>
&lt;p>We have seen this exact shape of problem before. Twenty-five years ago the bottleneck was testing. Releases piled up behind manual QA cycles, and the industry&amp;rsquo;s first instinct was the same one it has now: test harder, run longer QA cycles, slow the releases. That instinct lost. We built CI instead. Nobody today asks a release manager to hand-run the regression suite, and nobody calls that recklessness. We turned verification from a human virtue into a system property.&lt;/p>
&lt;p>Bryan Finster put it bluntly: &lt;a
href="https://bryanfinster.substack.com/p/ai-broke-your-code-review-heres-how"
target="_blank"
>AI broke traditional code review, and the answer is to restructure it rather than heroically read more diffs&lt;/a>. I&amp;rsquo;d go one step further. The review gate has to become something else entirely.&lt;/p>
&lt;h2 class="relative group">The review gate becomes an evidence gate
&lt;div id="the-review-gate-becomes-an-evidence-gate" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-review-gate-becomes-an-evidence-gate" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here is the reframe I&amp;rsquo;ve landed on after living with agent fleets in production.&lt;/p>
&lt;blockquote>
&lt;p>Stop asking humans to verify code. Ask the system to produce evidence, and ask humans to judge it. The evidence gate replaces &amp;ldquo;a person read the diff&amp;rdquo; with &amp;ldquo;the change arrived with machine-verified proof&amp;rdquo;: failing-then-passing tests, a reproduced bug, validation runs, scope and regression checks. The human rules on the two things machines can&amp;rsquo;t: intent and architecture.&lt;/p>&lt;/blockquote>
&lt;p>Call it evidence-based review. The diff is the claim. The evidence is the proof. The human is the judge, not the fact-checker.&lt;/p>
&lt;p>Concretely, evidence looks like this:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Reproduction.&lt;/strong> A bug fix ships with the bug demonstrated failing before the change and passing after it. Not &amp;ldquo;trust me.&amp;rdquo; A recorded, re-runnable repro.&lt;/li>
&lt;li>&lt;strong>Adversarial tests.&lt;/strong> Tests written to break the change, ideally by a different agent than the one that wrote it. Author-written tests are a conflict of interest whether the author is a human or a model.&lt;/li>
&lt;li>&lt;strong>Validation runs.&lt;/strong> The change exercised in a real environment, end to end, with the output attached.&lt;/li>
&lt;li>&lt;strong>Scope discipline.&lt;/strong> Proof the diff touches only what the claim says it touches. Agents love to &amp;ldquo;improve&amp;rdquo; three unrelated files on the way through.&lt;/li>
&lt;li>&lt;strong>Regression and blast-radius checks.&lt;/strong> What else depends on this path, and what happened when the suite ran against it.&lt;/li>
&lt;/ol>
&lt;p>None of that requires a human minute. All of it can be produced by the same class of machinery that produced the code. In my own organization, that is the bar I hold the autonomous systems that investigate bugs and write fixes to: a change that arrives without its evidence isn&amp;rsquo;t &amp;ldquo;waiting for review.&amp;rdquo; It isn&amp;rsquo;t done.&lt;/p>
&lt;p>And this is measurable, not hand-wavy. Cognition&amp;rsquo;s &lt;a
href="https://cognition.com/blog/frontier-code"
target="_blank"
>FrontierCode benchmark&lt;/a> is the first to score agent PRs on whether a maintainer would actually &lt;em>merge&lt;/em> them: correctness, test quality, scope discipline, regression safety, judged by criteria built with more than twenty senior open-source maintainers. Every frontier model &lt;a
href="https://cognition.com/blog/frontier-code"
target="_blank"
>passes fewer than half of the hard tasks&lt;/a> (the &lt;a
href="https://benchmarklist.com/benchmarks/frontiercode/"
target="_blank"
>leaderboard&lt;/a> leader clears the field by about twelve points and still lands under 50%). Two lessons in one number. First: agents have not earned blind trust, so the gate stays. Second: merge-worthiness can be scored by a machine. If a benchmark can grade correctness, test quality, and scope discipline, your pipeline can demand them.&lt;/p>
&lt;h2 class="relative group">If your best engineers are your validation layer, you built the system backwards
&lt;div id="if-your-best-engineers-are-your-validation-layer-you-built-the-system-backwards" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#if-your-best-engineers-are-your-validation-layer-you-built-the-system-backwards" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>LeadDev documented what agent velocity is doing to the people downstream of it: mid-level engineers silently absorbing unmeasured &amp;ldquo;invisible validation work,&amp;rdquo; with &lt;a
href="https://leaddev.com/ai/ai-productivity-is-burning-out-your-best-engineers"
target="_blank"
>one org losing three of them in six to eight weeks&lt;/a> while the team shipped 40% faster, right up until the production incidents arrived. A &lt;a
href="https://clearing-ai.com/ai-fatigue-2026-report.html"
target="_blank"
>survey of 2,147 engineers&lt;/a> found 71% often feel like a middleman between AI output and actual results.&lt;/p>
&lt;p>I believe every word of it. I&amp;rsquo;ve watched the pattern form: the diligent engineers become the org&amp;rsquo;s immune system, quietly re-verifying everything the agents produce, unmeasured and unthanked, while the dashboard celebrates throughput.&lt;/p>
&lt;p>But notice what that actually is. It is not proof that agents don&amp;rsquo;t work. It is proof that the organization deployed generation capacity without deploying verification capacity, and then made its most conscientious humans eat the difference. The invisible validation work exists because the visible validation system doesn&amp;rsquo;t.&lt;/p>
&lt;p>That&amp;rsquo;s not diligence. That&amp;rsquo;s a design flaw with a burnout rate.&lt;/p>
&lt;p>The evidence gate is the answer to the middleman problem, not a competitor to it. Every hour a mid-level engineer spends manually confirming that an agent&amp;rsquo;s fix actually fixes the bug is an hour the system should have spent producing a repro automatically. Humans reviewing evidence instead of re-deriving it is not just faster. It is the difference between judgment work, which builds engineers, and verification drudgery, which &lt;a
href="https://pinishv.com/articles/im-pro-ai-thats-exactly-why-im-worried-about-our-next-senior-engineers/">burns out exactly the people you need to become your next seniors&lt;/a>.&lt;/p>
&lt;h2 class="relative group">Verification is a system you build, not a virtue you demand
&lt;div id="verification-is-a-system-you-build-not-a-virtue-you-demand" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#verification-is-a-system-you-build-not-a-virtue-you-demand" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If this sounds like the &lt;a
href="https://pinishv.com/articles/agentic-overwatch/">Agentic Overwatch tier model&lt;/a>, that&amp;rsquo;s because it is the same shape. Code review is simply the first engineering ritual to move into the Agent Operations Center. The evidence gate runs in the same three tiers:&lt;/p>
&lt;p>&lt;strong>Tier 1, evidence production.&lt;/strong> Agents and deterministic tooling. Every change automatically generates its repro, its adversarial tests, its validation run, its scope and regression report. This is CI&amp;rsquo;s grandchild: not &amp;ldquo;did the tests pass&amp;rdquo; but &amp;ldquo;here is the complete case for this change.&amp;rdquo;&lt;/p>
&lt;p>&lt;strong>Tier 2, adjudication.&lt;/strong> Agents reviewing agents. A second system cross-examines the evidence: are these tests real or decorative, does the repro actually exercise the bug, did the diff sprawl beyond its claim. Weak cases get bounced back before a human ever sees them.&lt;/p>
&lt;p>&lt;strong>Tier 3, judgment.&lt;/strong> Humans. Intent: should this change exist at all? Architecture: does it belong here, shaped like this? Consequence: what&amp;rsquo;s the blast radius if the evidence lied? These questions don&amp;rsquo;t scale with lines of code, which is exactly the point. Human attention should never have been scaling with lines of code in the first place.&lt;/p>
&lt;p>Fowler is right that human attention is the lock. So stop routing everything through it. Route &lt;em>claims and proofs&lt;/em> through it, at the altitude where human judgment actually operates, and let the machinery below grind through the volume the way CI grinds through test matrices.&lt;/p>
&lt;h2 class="relative group">What to do Monday morning
&lt;div id="what-to-do-monday-morning" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-to-do-monday-morning" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>Measure the validation tax.&lt;/strong> Ask your mid-level engineers how many hours last week went to verifying agent output that nothing tracked. The number will unsettle you. Good. Invisible work stays broken precisely because it&amp;rsquo;s invisible.&lt;/p>
&lt;p>&lt;strong>Define evidence requirements per change class.&lt;/strong> A bug fix ships with a reproduction. A refactor ships with regression proof. A dependency bump ships with a blast-radius report. Write it down like you once wrote down test-coverage rules. No evidence, no review slot.&lt;/p>
&lt;p>&lt;strong>Build the evidence harness before you scale the fleet.&lt;/strong> Every agent lane you launch without automated evidence production is another engineer conscripted into middleman duty. Verification capacity first, generation capacity second. Most orgs did it in exactly the wrong order, which is how we got here.&lt;/p>
&lt;p>&lt;strong>Retrain the reviewer role.&lt;/strong> Your reviewers stop being line-by-line readers and become adjudicators: they rule on whether the evidence supports the claim and whether the change deserves to exist. That is a promotion, not a demotion. It is also the Tier 3 skill your whole agent operation will run on.&lt;/p>
&lt;p>The teams that keep the human as the interpreter lock will spend the next two years choosing between capped velocity and quiet reliability decay, while their best people burn out doing verification work no dashboard sees. The teams that build the evidence gate get the volume &lt;em>and&lt;/em> the trust.&lt;/p>
&lt;p>Code review isn&amp;rsquo;t dying. It&amp;rsquo;s being promoted, from reading the work to judging the case.&lt;/p>
&lt;p>Stop reviewing code. Start reviewing evidence.&lt;/p>
&lt;hr>
&lt;p>&lt;em>How is your team handling review under agent volume? Whether you&amp;rsquo;re drowning in diffs or already building the evidence machinery, I want to hear what&amp;rsquo;s working. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a>, &lt;a
href="https://www.linkedin.com/in/pinishv"
target="_blank"
>LinkedIn&lt;/a>, or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/stop-reviewing-code-start-reviewing-evidence/feature.jpg"/></item><item><title>The Vibe Coding Backlash Is Right. Seniors Are Losing the Argument Anyway.</title><link>https://pinishv.com/articles/vibe-coding-backlash-seniors-lose-argument/</link><pubDate>Fri, 24 Apr 2026 14:00:00 +0300</pubDate><guid>https://pinishv.com/articles/vibe-coding-backlash-seniors-lose-argument/</guid><description>Forbes just said vibe coding will break your company. Senior engineers are organizing against it. The data is on their side: independent audits keep finding materially more issues in AI-co-authored code, no-code AI platforms are shipping apps with real security holes, and a Replit agent deleted a live production database during a code freeze last summer. Seniors are still about to lose the argument in every quarterly review unless they can make their judgment legible. Here&amp;rsquo;s what actually needs to ship.</description><content:encoded>&lt;p>Something finally broke this week. Forbes published &lt;a
href="https://www.forbes.com/sites/jasonwingard/2026/04/23/vibe-coding-will-break-your-company/"
target="_blank"
>Vibe Coding Will Break Your Company&lt;/a>. Senior engineers are circulating it. Other senior engineers are writing their own versions. The pushback on vibe coding culture has been brewing for months, and it just hit mainstream media.&lt;/p>
&lt;p>The seniors are right. And they&amp;rsquo;re about to lose the argument anyway.&lt;/p>
&lt;p>Here&amp;rsquo;s why, and what needs to happen if they actually want to win it.&lt;/p>
&lt;h2 class="relative group">What the seniors are right about
&lt;div id="what-the-seniors-are-right-about" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-the-seniors-are-right-about" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The data at this point isn&amp;rsquo;t close.&lt;/p>
&lt;p>&lt;a
href="https://medium.com/engineering-playbook/vibe-coding-in-2026-is-straight-up-dangerous-and-most-devs-are-too-hyped-to-see-it-4e2e6aa08f37"
target="_blank"
>Multiple independent audits&lt;/a> of AI-assisted codebases are converging on the same picture: AI-co-authored code ships with materially more &amp;ldquo;major&amp;rdquo; issues than human-written code. Audits of no-code AI app-generation platforms keep finding meaningful percentages of generated applications going live with real security holes: hardcoded API keys, client-side-only authentication, unsanitized user inputs.&lt;/p>
&lt;p>In July 2025, a Replit AI agent deleted a live production database during an explicit code freeze, affecting over 1,200 executive users. The agent had permissions. The permissions were never meant for an agent. Nobody designed for the possibility.&lt;/p>
&lt;p>Across the industry, &lt;a
href="https://stackoverflow.blog/2026/02/18/closing-the-developer-ai-trust-gap/"
target="_blank"
>Stack Overflow&amp;rsquo;s trust-gap research&lt;/a> and &lt;a
href="https://getdx.com/report/ai-assisted-engineering-q1-impact-report/"
target="_blank"
>DX&amp;rsquo;s Q1 2026 impact report&lt;/a> tell the same story: 84% of developers use AI daily. Only 29% trust the code reaching production. PR throughput is up 46% in some teams. Defect rates are up 50% in some of the same teams.&lt;/p>
&lt;p>And the perception gap keeps embarrassing us. &lt;a
href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/"
target="_blank"
>METR&amp;rsquo;s study&lt;/a> measured experienced developers as 19% slower with AI while they believed they were 20% faster. 39 percentage points of self-deception. The feeling is real. The feeling is wrong.&lt;/p>
&lt;p>&lt;a
href="https://pinishv.com/articles/ai-didnt-replace-software-engineering/">The craft didn&amp;rsquo;t change&lt;/a>. The pressure to ship faster without understanding what shipped did. And when you ship what you don&amp;rsquo;t understand, you pay for it later, with interest. &lt;a
href="https://pinishv.com/articles/im-pro-ai-thats-exactly-why-im-worried-about-our-next-senior-engineers/">The next generation of senior engineers&lt;/a> is taking the brunt of it.&lt;/p>
&lt;p>The seniors are not wrong to push back. They&amp;rsquo;re watching production systems rot in slow motion.&lt;/p>
&lt;h2 class="relative group">What the vibe coders are also right about
&lt;div id="what-the-vibe-coders-are-also-right-about" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-the-vibe-coders-are-also-right-about" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>For a lot of what companies actually ship, fast-and-rough is genuinely fine. Internal tools nobody will maintain in two years. One-off data migrations. Prototype features for customer calls. Throwaway scripts. The economics of fussing over these pieces changed. If an agent ships them in thirty minutes and they work, that&amp;rsquo;s a real win.&lt;/p>
&lt;p>The vibe coders are also right that a lot of &amp;ldquo;senior engineering rigor&amp;rdquo; is muscle memory from an era where code was expensive to produce. Gatekeeping code review, nit-level style comments, architectural debates that take longer than the feature itself. Some of it was always noise. More of it is noise now that the economics flipped.&lt;/p>
&lt;p>And they&amp;rsquo;re right that the pushback often sounds like resistance to change from people protecting their role.&lt;/p>
&lt;p>Both sides are right about different things. The fight isn&amp;rsquo;t which side wins. It&amp;rsquo;s where the line gets drawn.&lt;/p>
&lt;h2 class="relative group">Why the seniors are losing anyway
&lt;div id="why-the-seniors-are-losing-anyway" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-the-seniors-are-losing-anyway" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>In most engineering orgs, the pushback against vibe coding is losing. Not because the data is wrong. Because the seniors can&amp;rsquo;t make their case in the meetings where throughput metrics get shown.&lt;/p>
&lt;p>Imagine the scene. Quarterly review. Director pulls up a dashboard.&lt;/p>
&lt;ul>
&lt;li>PR throughput: up 46%&lt;/li>
&lt;li>Commits per engineer: up 2.1x&lt;/li>
&lt;li>Features shipped: up 34%&lt;/li>
&lt;li>Deployment frequency: up&lt;/li>
&lt;/ul>
&lt;p>Then the senior engineer raises a hand and says &amp;ldquo;but the code quality is degrading.&amp;rdquo;&lt;/p>
&lt;p>Where&amp;rsquo;s that dashboard? What&amp;rsquo;s the number? Can you point to the specific incidents that didn&amp;rsquo;t happen because you caught them in review? Can you show the rework that wasn&amp;rsquo;t done because you stopped a bad architecture at design time?&lt;/p>
&lt;p>Usually, no. The senior engineers have the instinct and the experience. They don&amp;rsquo;t have the receipts.&lt;/p>
&lt;p>&lt;strong>Throughput is legible. Judgment is invisible. In a fight between legible and invisible, legible wins every time.&lt;/strong>&lt;/p>
&lt;p>This is the real problem. The seniors are right, and they&amp;rsquo;re losing, and they&amp;rsquo;re losing because the thing they&amp;rsquo;re right about doesn&amp;rsquo;t show up on the charts.&lt;/p>
&lt;h2 class="relative group">What &amp;ldquo;legible judgment&amp;rdquo; actually means
&lt;div id="what-legible-judgment-actually-means" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-legible-judgment-actually-means" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>In organizations doing this well, the senior engineers who keep winning this argument don&amp;rsquo;t do it by being louder. They do it by making the prevented damage visible. Five concrete moves.&lt;/p>
&lt;p>&lt;strong>Write down the decisions you stop from shipping.&lt;/strong> When you block a PR because the approach is wrong, don&amp;rsquo;t just close it. Write a one-line note: &lt;em>&amp;ldquo;Rejected: would create a race condition under load. Suggested redesign: queue-based.&amp;rdquo;&lt;/em> Collect these. After six months, you have a measurable &amp;ldquo;incidents prevented&amp;rdquo; count. That&amp;rsquo;s a number. Numbers win.&lt;/p>
&lt;p>&lt;strong>Track rework on AI-generated code specifically.&lt;/strong> Most PR analytics can&amp;rsquo;t distinguish AI-generated from human-written code. If yours can, instrument it. Show the quarterly trend: what percentage of AI-generated commits get reworked within 30 days? If it&amp;rsquo;s higher than your human-written baseline, that number is your argument.&lt;/p>
&lt;p>&lt;strong>Tie blocked architectures to real incident data.&lt;/strong> When an incident happens that a senior flagged earlier, say so in the postmortem. Not as blame. As calibration data. &lt;em>&amp;ldquo;This failure mode was identified in PR #1847 on March 3 and was not addressed before ship.&amp;rdquo;&lt;/em> That&amp;rsquo;s the receipt.&lt;/p>
&lt;p>&lt;strong>Put a senior on every AI-native system&amp;rsquo;s design review, not just the code review.&lt;/strong> Code review is too late. By then the architecture is set and the only conversation left is stylistic. Design review is where senior judgment actually prevents expensive mistakes. Move your seniors upstream.&lt;/p>
&lt;p>&lt;strong>Run quarterly &amp;ldquo;prevented incident&amp;rdquo; retros.&lt;/strong> Once a quarter, the senior engineers present what they caught and the counterfactual. What would have happened if this had shipped? What did it cost to catch it? That reframes senior time as prevention, not overhead.&lt;/p>
&lt;h2 class="relative group">The bigger reframe
&lt;div id="the-bigger-reframe" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-bigger-reframe" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The vibe coding debate is a symptom. The underlying issue is that engineering organizations built their scorecards for a world where code production was the bottleneck. In that world, throughput meant progress.&lt;/p>
&lt;p>That world ended sometime around late 2024. The bottleneck isn&amp;rsquo;t production anymore. It&amp;rsquo;s &lt;a
href="https://pinishv.com/articles/ai-code-cheap-to-produce-not-to-own/">ownership&lt;/a>. Review capacity. System understanding. Architectural coherence across the full surface area. Governance. Incident response.&lt;/p>
&lt;p>If your scorecard only measures production throughput, you will systematically underfund the ownership layer. The senior engineers trying to protect that layer will keep losing quarterly reviews while the on-call pager gets louder.&lt;/p>
&lt;p>&lt;strong>The seniors aren&amp;rsquo;t wrong. The scorecard is.&lt;/strong>&lt;/p>
&lt;h2 class="relative group">What senior engineers should do right now
&lt;div id="what-senior-engineers-should-do-right-now" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-senior-engineers-should-do-right-now" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Three moves, in order.&lt;/p>
&lt;p>&lt;strong>Stop arguing about vibe coding.&lt;/strong> The debate is a distraction. Every hour spent defending &amp;ldquo;slow careful engineering&amp;rdquo; in principle is an hour not spent proving prevented cost in practice.&lt;/p>
&lt;p>&lt;strong>Start a prevented-incident log today.&lt;/strong> One line per blocked PR, rejected design, caught architectural issue. Share it monthly with your manager, not as complaint, as data. Six months from now you&amp;rsquo;ll have a case you can actually make.&lt;/p>
&lt;p>&lt;strong>Volunteer for the AI incident response playbook.&lt;/strong> When the next AI agent deletes something important (and it will), be the person with the playbook. Incidents shift organizational gravity. You want to be the person organizations call, not the person who said &amp;ldquo;I told you so.&amp;rdquo;&lt;/p>
&lt;p>The seniors who survive this era will not be the ones who pushed back the loudest. They&amp;rsquo;ll be the ones who learned to make their judgment measurable, visible, and impossible to dismiss when the throughput chart is on screen.&lt;/p>
&lt;p>The vibe coders are going to keep shipping. That&amp;rsquo;s fine. The question is who&amp;rsquo;s going to own what they ship in production three months later. That&amp;rsquo;s the open job. If you&amp;rsquo;re a senior engineer, that&amp;rsquo;s your job. Go take it.&lt;/p>
&lt;p>What prevented-incident data do you actually have from the last quarter? Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a>, &lt;a
href="https://t.me/by_pini"
target="_blank"
>Telegram&lt;/a>, or &lt;a
href="https://www.linkedin.com/in/pinishv"
target="_blank"
>LinkedIn&lt;/a>.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Disclaimer:&lt;/strong> This article references specific studies, surveys, and public commentary for illustrative and educational purposes, including work from Forbes, Stack Overflow, DX, METR, Medium authors, Replit and Lovable incident reports, and industry analyses available at the time of writing. I have not independently verified all claims. The analysis and opinions expressed are my own. I have no financial interest, business relationship, or affiliation with any companies or tools mentioned. This is commentary, not investment, legal, career, or business advice.&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/vibe-coding-backlash-seniors-lose-argument/feature.png"/></item><item><title>AI Makes Code Cheap to Produce. Not Cheap to Own.</title><link>https://pinishv.com/articles/ai-code-cheap-to-produce-not-to-own/</link><pubDate>Thu, 02 Apr 2026 12:00:00 +0200</pubDate><guid>https://pinishv.com/articles/ai-code-cheap-to-produce-not-to-own/</guid><description>AI accounts for 42% of committed code. 96% of developers don&amp;rsquo;t fully trust the output. Only 48% always verify before committing. The gap between how fast we generate code and how well we govern it is the real risk of AI-assisted development.</description><content:encoded>&lt;p>Here&amp;rsquo;s the gap that should worry engineering leaders more than any single AI incident.&lt;/p>
&lt;p>AI made code dramatically cheaper to produce. Boilerplate, scaffolding, internal tools, glue code, first-pass implementations. All faster. I&amp;rsquo;ve &lt;a
href="https://pinishv.com/articles/ai-didnt-replace-software-engineering/">written about this before&lt;/a> and I believe the speed is real.&lt;/p>
&lt;p>But the cost of owning code didn&amp;rsquo;t drop at the same rate. Some of those things got faster too. CI pipelines, SAST, dependency scanning, automated testing. The tooling exists. But having the tools and actually making them the focus are different things. Most teams automate the easy checks and skip the hard ones. And when code volume doubles, even the automated parts need more attention than they&amp;rsquo;re getting.&lt;/p>
&lt;p>The gap between production speed and ownership capacity is where organizations get hurt.&lt;/p>
&lt;h2 class="relative group">What the data says
&lt;div id="what-the-data-says" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-the-data-says" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;a
href="https://www.sonarsource.com/resources/developer-survey-report/"
target="_blank"
>Sonar&amp;rsquo;s developer survey&lt;/a> puts numbers on it: 72% of developers who have tried AI use it daily. AI accounts for 42% of committed code. But 96% don&amp;rsquo;t fully trust the output, and only 48% say they always verify AI-assisted code before committing.&lt;/p>
&lt;p>Half the code isn&amp;rsquo;t being verified by the people who committed it. That&amp;rsquo;s not a tooling problem. That&amp;rsquo;s a discipline gap.&lt;/p>
&lt;p>On the security side, Veracode found risky security flaws in 45% of tests across more than 100 models. Georgetown CSET found that almost half of AI-generated snippets contained bugs that were often impactful. &lt;a
href="https://www.gitguardian.com/state-of-secrets-sprawl-report-2026"
target="_blank"
>GitGuardian&amp;rsquo;s 2026 report&lt;/a> detected 28.6 million new secrets in public GitHub commits in 2025, a 34% increase year over year, with AI-assisted commits leaking secrets at roughly twice the baseline.&lt;/p>
&lt;p>On code quality, &lt;a
href="https://www.gitclear.com/ai_assistant_code_quality_2025_research"
target="_blank"
>GitClear&amp;rsquo;s analysis&lt;/a> found more cloned code, less refactoring, and more short-term churn. A &lt;a
href="https://arxiv.org/html/2601.13597v2"
target="_blank"
>January 2026 study&lt;/a> on autonomous coding agents found static-analysis warnings rising 18% and cognitive complexity up 39%.&lt;/p>
&lt;p>None of this says AI is useless. All of it says code production is accelerating faster than code governance.&lt;/p>
&lt;h2 class="relative group">Where it breaks
&lt;div id="where-it-breaks" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#where-it-breaks" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The pattern I keep seeing looks the same across organizations.&lt;/p>
&lt;p>AI generates code quickly. The PR looks good. The tests pass (if there are tests). The review is fast because the diff is large and the reviewer is busy. It ships. It works. For now.&lt;/p>
&lt;p>Three months later, someone needs to modify that code and can&amp;rsquo;t understand it because nobody on the team wrote it in a way they&amp;rsquo;d naturally reason about. Or a dependency it pulled in has a vulnerability. Or a license obligation nobody noticed is now a legal question. Or the secrets it embedded are in a log somewhere.&lt;/p>
&lt;p>The cost doesn&amp;rsquo;t show up at generation time. It shows up at ownership time. And by then, the team that generated it has moved on to the next sprint.&lt;/p>
&lt;p>&lt;a
href="https://dora.dev/ai/gen-ai-report/dora-impact-of-generative-ai-in-software-development.pdf"
target="_blank"
>DORA&amp;rsquo;s 2025 AI report&lt;/a> found a negative relationship between higher AI adoption and delivery stability. Their recommendation is one of the oldest engineering lessons: small batch sizes. AI can generate massive blocks of code that are hard to review and test. Small batches plus strong automated testing are the counterweight.&lt;/p>
&lt;h2 class="relative group">What to change
&lt;div id="what-to-change" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-to-change" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>Same gates for all code.&lt;/strong> AI-generated code goes through tests, review, linting, SAST, dependency scanning, secret scanning, and license checks. No exceptions. The standard is &amp;ldquo;would we be comfortable owning this in production?&amp;rdquo;&lt;/p>
&lt;p>&lt;strong>Small batches, always.&lt;/strong> Resist the temptation to let AI generate a 500-line PR. Break it up. Review it in pieces. The speed gain from generation is worthless if it creates a review and maintenance bottleneck downstream.&lt;/p>
&lt;p>&lt;strong>Track provenance.&lt;/strong> If you can&amp;rsquo;t answer what third-party components entered through AI, what licenses apply, and who owns the output, you don&amp;rsquo;t understand what you shipped.&lt;/p>
&lt;p>&lt;strong>Measure ownership, not output.&lt;/strong> Escaped defects. Rework rate. Time-to-understand for someone new. Rollback frequency. These tell you whether code is owned, not just produced.&lt;/p>
&lt;p>&lt;strong>Budget for the ownership layer.&lt;/strong> If your team is spending 80% of its capacity generating code and 20% on everything else, flip that conversation. The generation is the cheap part now. The ownership is where the investment needs to go.&lt;/p>
&lt;h2 class="relative group">The one-line version
&lt;div id="the-one-line-version" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-one-line-version" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>AI made the first draft cheap. It didn&amp;rsquo;t make the second year cheap. Plan accordingly.&lt;/p>
&lt;hr>
&lt;p>&lt;em>How is your team handling the gap between code production speed and governance capacity? I&amp;rsquo;d love to hear what&amp;rsquo;s working. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a> or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/ai-code-cheap-to-produce-not-to-own/feature.png"/></item><item><title>AI Didn't Replace Software Engineering. It Made Bad Engineering Easier to Ship.</title><link>https://pinishv.com/articles/ai-didnt-replace-software-engineering/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://pinishv.com/articles/ai-didnt-replace-software-engineering/</guid><description>The culture shifted. &amp;lsquo;Ship fast with AI&amp;rsquo; became the expectation. Anyone who slows down to think looks unproductive. Discipline became a career risk. And that&amp;rsquo;s how engineering organizations quietly rot from the inside.</description><content:encoded>&lt;p>Something shifted in the last year and I don&amp;rsquo;t think enough people are talking about it honestly.&lt;/p>
&lt;p>&amp;ldquo;Ship fast with AI&amp;rdquo; became the default expectation. Not just in one company. Everywhere. I hear it in conversations with other engineering leaders, I see it in open source repos, I notice it in how people talk about engineering work online. The assumption is that if you&amp;rsquo;re not shipping faster with AI, you&amp;rsquo;re falling behind. And if you push back, if you slow down to ask whether anyone actually understands what shipped, you look like you&amp;rsquo;re blocking progress.&lt;/p>
&lt;p>Engineering discipline became a career risk. That&amp;rsquo;s the shift.&lt;/p>
&lt;p>Not because AI is bad. I&amp;rsquo;m &lt;a
href="https://pinishv.com/articles/build-your-own-ai-agents-for-real-productivity/">pro-AI&lt;/a>. I want teams using it aggressively. But the culture around it drifted somewhere dangerous: we started treating speed as proof of quality, and nobody corrected the mistake because the dashboards looked great.&lt;/p>
&lt;h2 class="relative group">How the rot works
&lt;div id="how-the-rot-works" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-the-rot-works" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s the chain reaction I keep seeing play out.&lt;/p>
&lt;p>It starts with the culture. Leadership sets the tone: adopt AI, move faster, ship more. That&amp;rsquo;s reasonable. AI does make the mechanical parts of software cheaper. Boilerplate, scaffolding, migrations, glue code, first-pass implementations. All dramatically cheaper now. One strong engineer with the right tools can burn through work that used to take days. That part is real, and teams that ignore it are choosing to be slower for no reason.&lt;/p>
&lt;p>But then the culture starts rewarding output over understanding. The engineer who ships three features in a sprint looks more productive than the one who shipped one but thought deeply about failure modes, tested edge cases, and refactored the interface. The first engineer gets praised. The second one gets asked why they&amp;rsquo;re slower than their peers.&lt;/p>
&lt;p>That&amp;rsquo;s where discipline starts to erode. Not because engineers are lazy. Because the system is telling them that slowing down to think is unproductive. The incentive points at speed, so speed is what you get.&lt;/p>
&lt;p>And the quality problems follow, quietly. A &lt;a
href="https://arxiv.org/html/2601.13597v2"
target="_blank"
>January 2026 study&lt;/a> on autonomous coding agents found static-analysis warnings rising 18% and cognitive complexity increasing 39%. The researchers called it &amp;ldquo;sustained agent-induced technical debt even when velocity advantages fade.&amp;rdquo; That maps exactly to what I see: the code looks fine on the surface, the PR gets approved, the feature ships, and the complexity accumulates in places nobody is watching.&lt;/p>
&lt;p>On the security side, &lt;a
href="https://www.gitguardian.com/state-of-secrets-sprawl-report-2026"
target="_blank"
>recent data&lt;/a> shows AI-assisted commits leak secrets at about 2x the baseline rate. Not because the tool is broken. Because humans under time pressure make worse decisions. Speed without discipline creates exposure.&lt;/p>
&lt;p>Meanwhile, nobody connects the dots. The velocity charts are green. The sprint burndown looks healthy. But the on-call rotation gets heavier. Rollbacks creep up. The feature that shipped in two days takes two weeks to debug. The &lt;a
href="https://plandek.com/blog/press-release-2026-benchmarks/"
target="_blank"
>Plandek 2026 benchmarks&lt;/a> across 2,000+ teams confirmed the pattern at scale: as coding speeds up, the bottleneck just shifts downstream to review, testing, and integration. The slow teams are still slow. They&amp;rsquo;re just slow in different places now.&lt;/p>
&lt;p>And the skill problem compounds it. Anthropic ran &lt;a
href="https://www.anthropic.com/research/how-ai-is-transforming-work-at-anthropic"
target="_blank"
>a randomized trial&lt;/a> where developers learning a new library with AI scored 17 percentage points lower on mastery than those who learned without it. The largest gap was in debugging. The exact skill you need most when AI-generated code breaks. If your engineers aren&amp;rsquo;t building real understanding, you&amp;rsquo;re growing people who can ship fast but can&amp;rsquo;t fix what they shipped.&lt;/p>
&lt;p>&lt;strong>The whole chain is connected.&lt;/strong> Culture rewards speed. Speed without understanding produces fragile systems. Fragile systems produce incidents. Incidents expose the gap. But by then, the culture has already moved on to the next sprint.&lt;/p>
&lt;h2 class="relative group">The perception gap
&lt;div id="the-perception-gap" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-perception-gap" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s what makes this so hard to catch from the inside.&lt;/p>
&lt;p>Last year, &lt;a
href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/"
target="_blank"
>METR ran a study&lt;/a> where experienced developers using AI were measured at 19% slower, while believing they were 20% faster. When they &lt;a
href="https://metr.org/blog/2026-02-24-uplift-update/"
target="_blank"
>tried to rerun it&lt;/a> with better tools, developers refused to participate if it meant working without AI. They&amp;rsquo;re now redesigning the entire experiment because measuring this honestly is harder than anyone expected.&lt;/p>
&lt;p>I don&amp;rsquo;t think the specific numbers matter as much as the pattern: &lt;strong>people feel faster. The feeling is real. But feeling and measurement aren&amp;rsquo;t the same thing.&lt;/strong> And in a culture that rewards feeling fast, nobody wants to be the person who says &amp;ldquo;slow down, let&amp;rsquo;s check.&amp;rdquo;&lt;/p>
&lt;p>Thoughtworks landed on something important in their &lt;a
href="https://www.thoughtworks.com/insights/articles/reflections-future-software-engineering-retreat"
target="_blank"
>February 2026 retreat&lt;/a>: AI is actually increasing cognitive load, not reducing it. More output, more concurrent problems, more decisions to make. Same human judgment capacity.&lt;/p>
&lt;p>Stack Overflow has been tracking what they call the &lt;a
href="https://stackoverflow.blog/2026/02/18/closing-the-developer-ai-trust-gap/"
target="_blank"
>AI trust gap&lt;/a>: adoption keeps climbing, trust keeps falling, and the top developer frustration is &amp;ldquo;almost-right&amp;rdquo; code that takes longer to verify and fix than it saved to generate.&lt;/p>
&lt;p>Everyone knows this. Nobody wants to be the one who says it out loud, because the culture has made saying it feel like resistance.&lt;/p>
&lt;h2 class="relative group">Most AI agendas are still theater
&lt;div id="most-ai-agendas-are-still-theater" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#most-ai-agendas-are-still-theater" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This is the part where I&amp;rsquo;m going to annoy some people.&lt;/p>
&lt;p>A lot of company &amp;ldquo;AI strategies&amp;rdquo; aren&amp;rsquo;t strategies. They&amp;rsquo;re tool rollouts with executive branding. Buy licenses. Mandate adoption. Count prompts. Celebrate throughput. Post a screenshot in the all-hands. Hope quality survives.&lt;/p>
&lt;p>That&amp;rsquo;s not transformation. That&amp;rsquo;s procurement.&lt;/p>
&lt;p>If your AI agenda starts with &amp;ldquo;every engineer must use Tool X&amp;rdquo; and ends before you redesign review standards, testing expectations, security boundaries, knowledge capture, and learning paths for junior engineers, then all you did was change the keyboard.&lt;/p>
&lt;p>You didn&amp;rsquo;t modernize engineering. You industrialized guesswork.&lt;/p>
&lt;p>And if the KPI you&amp;rsquo;re showing upstairs is &amp;ldquo;percentage of code written by AI&amp;rdquo;?&lt;/p>
&lt;p>That&amp;rsquo;s one of the dumbest vanity metrics engineering has ever produced.&lt;/p>
&lt;p>I don&amp;rsquo;t care how much code the model wrote. I care whether we understand what we shipped. I care whether it survives production. I care whether the team is getting better, not just faster.&lt;/p>
&lt;p>Simon Willison &lt;a
href="https://simonwillison.net/2026/Feb/23/agentic-engineering-patterns/"
target="_blank"
>drew the right line&lt;/a> between vibe coding and what he now calls &amp;ldquo;agentic engineering.&amp;rdquo; If you reviewed, tested, and understood the AI-written code, that&amp;rsquo;s still software development. The production-grade version of working with AI raises the bar for tests, planning, docs, automation, QA, and review. It doesn&amp;rsquo;t lower it.&lt;/p>
&lt;p>The problem is that a lot of teams adopted the speed without adopting the bar.&lt;/p>
&lt;h2 class="relative group">What actually needs to change
&lt;div id="what-actually-needs-to-change" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-actually-needs-to-change" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;ve written before about &lt;a
href="https://pinishv.com/articles/developer-work-did-not-change-the-sequence-did/">how the work sequence shifts&lt;/a> and &lt;a
href="https://pinishv.com/articles/im-pro-ai-thats-exactly-why-im-worried-about-our-next-senior-engineers/">what to do about junior engineers&lt;/a> in earlier articles. This piece is about the organizational layer, because that&amp;rsquo;s where the failure is concentrated right now.&lt;/p>
&lt;p>&lt;strong>Separate prototype mode from production mode.&lt;/strong> Loose AI prototyping is great for throwaway experiments. It doesn&amp;rsquo;t belong anywhere near money, customer data, security boundaries, or core workflows.&lt;/p>
&lt;p>&lt;strong>Make AI transparency normal.&lt;/strong> If a change was heavily AI-assisted, say so. Show the verification path. Reviewers should know whether they&amp;rsquo;re looking at a handcrafted change, an AI-assisted draft, or an agent-produced branch. Different creation paths deserve different scrutiny.&lt;/p>
&lt;p>&lt;strong>Review decisions, not just diffs.&lt;/strong> Ask why this approach exists. What breaks first. What alternatives were rejected. What do we monitor. If your review culture is still optimized for nit-picking while AI is generating whole subsystems, your process is in the wrong decade.&lt;/p>
&lt;p>&lt;strong>Measure what matters.&lt;/strong> Escaped defects. Rework rate. Rollback frequency. MTTR. Time-to-understand for someone new in the codebase. A green AI usage dashboard isn&amp;rsquo;t evidence that your architecture got better.&lt;/p>
&lt;p>&lt;strong>Stop rewarding speed without understanding.&lt;/strong> This is the culture change that matters more than any tool or process. If your system promotes the engineer who ships fastest and ignores the one who catches the architectural flaw before it ships, you&amp;rsquo;re building the wrong incentives for the AI era.&lt;/p>
&lt;p>But honestly? The most important thing you can do isn&amp;rsquo;t on this list.&lt;/p>
&lt;p>&lt;strong>Sit down with your team and have an honest conversation about what you actually understand versus what you shipped.&lt;/strong> Not a retro. Not a metrics review. A real conversation. What did we ship this month that we could confidently debug at 2 AM without the AI? What would break if the model hallucinated something subtle? Where are we trusting output we haven&amp;rsquo;t verified?&lt;/p>
&lt;p>If that conversation is uncomfortable, good. That&amp;rsquo;s the conversation that needed to happen three months ago.&lt;/p>
&lt;h2 class="relative group">The craft didn&amp;rsquo;t change
&lt;div id="the-craft-didnt-change" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-craft-didnt-change" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>AI changed the toolkit. It changed the speed of first drafts. It changed the sequence of when work happens. It changed how much mechanical effort one good engineer can burn through in a day.&lt;/p>
&lt;p>But it didn&amp;rsquo;t change the craft.&lt;/p>
&lt;p>We&amp;rsquo;re still in the business of turning ambiguity into reliable systems. Still responsible for the trade-offs. Still accountable when the thing breaks. Still need people who understand architecture, testing, operations, failure modes, and human consequences.&lt;/p>
&lt;p>The teams that win won&amp;rsquo;t be the ones that generate the most code. They&amp;rsquo;ll be the ones that still know what good engineering looks like when the machine gets loud. The ones where discipline isn&amp;rsquo;t a career risk. The ones where slowing down to think is treated as engineering, not obstruction.&lt;/p>
&lt;p>The tool changed. The accountability didn&amp;rsquo;t.&lt;/p>
&lt;p>What&amp;rsquo;s the worst AI-caused quality problem you&amp;rsquo;ve seen? Not a hypothetical. A real one. I&amp;rsquo;d genuinely like to hear it. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a> or &lt;a
href="https://t.me/by_pini"
target="_blank"
>Telegram&lt;/a>.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Disclaimer:&lt;/strong> This article references specific companies, products, research studies, and industry analyses for illustrative and educational purposes. Information is based on publicly available sources including METR, Plandek, Anthropic, GitClear, GitGuardian, Stack Overflow, and Thoughtworks reporting, available at the time of writing. I have not independently verified all claims. The analysis and opinions expressed are my own. I have no financial interest, business relationship, or affiliation with any companies mentioned. This is commentary, not investment, legal, or business advice.&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/ai-didnt-replace-software-engineering/feature.png"/></item></channel></rss>