📝 vibe-coding-vs-ai-assisted-engineering.md

Vibe Coding vs. AI-Assisted Engineering

TL;DR

A Reddit post about a FAANG team's AI workflow sparked debate over what counts as "vibe coding." The workflow described — design docs, code review, TDD — is actually AI-assisted engineering, not vibe coding. Conflating the two devalues real engineering discipline and misleads newcomers about what production software actually requires.


Definitions

Vibe coding: high-level prompting, minimal review, rapid iterative experimentation. Good for prototypes, MVPs, learning, throwaway weekend projects. Prioritizes speed over correctness/maintainability.

AI-assisted engineering: AI as a force multiplier inside a mature SDLC — boilerplate generation, initial test drafts — but the human owns architecture, reviews every line, and is accountable for security/scalability/maintainability. A spectrum exists between the two poles, from pure vibing to spec-driven, context-rich AI collaboration.


The Three Personas (Forrest Brazeal's Venn diagram)

The "rope" metaphor — how much freedom/risk a developer is given or takes:

Punchline: all three extremes fail long-term. Sustainable engineering needs balance — enough rope to innovate, not enough to strangle the codebase.


Why Vibe Coding Breaks in Production

An August 2025 Final Round AI survey: 16 of 18 CTOs reported production disasters directly caused by AI-generated code. Failure patterns:

Failure type What happened
Performance disaster AI-generated DB query passed testing, then crawled under real traffic — a week lost debugging inefficiency an experienced reviewer would've caught.
Security lapse AI inverted a truthy check in an auth module; deactivated accounts kept admin access. Undetected for two weeks — "trust debt" that senior engineers had to pay down.
Maintainability collapse A vibe-coded auth flow shipped fine, then couldn't be extended for new roles/regions — middleware scattered across six files, no mental model. Rewritten from scratch.
False sense of security AI code often looks idiomatic and passes unit tests, so scrutiny drops — until it "catastrophically fails" under real conditions. Reviewing a 1000-line AI PR is nearly as hard as writing it.

Canva CTO Brendan Humphreys: you won't vibe-code your way to production if quality, safety, security, and long-term maintainability matter at scale.

Developer-community sentiment (Reddit/HN) mirrors this — frustration at reviewing PRs the author never read themselves, and the line "this isn't engineering, it's hoping."


Where Vibe Coding Actually Works

Even critics carve out legitimate use cases:

Common thread: an experienced developer is still steering. Founders like Matt Cumming (LittleHelp) now start every AI-assisted project with a collaboratively written functional spec and have the agent run a security check on new functionality — after an earlier vibe-coded project was "completely destroyed by AI in a few minutes." Brett Farmiloe (Featured) treats vibe-coded output as scaffolding: fine for a fast start, always handed to engineers before it's load-bearing.

Novices who treat AI as a shortcut around fundamentals, rather than a power tool wielded by someone who already knows the domain, are the group most at risk of long-term skill gaps.


Spec-Driven / Agentic Development as the Middle Path

Adds structure back into AI-assisted workflows:

The framing: sandbox phase = vibe freely; production phase = full engineering discipline (design, test, review, ownership).


Bottom Line

Speed-first AI generation is a legitimate first draft tool, not a substitute for engineering. The failure mode isn't AI itself — it's skipping the human accountability step (architecture ownership, real code review, testing against real load) that's always been the actual job. "AI tools are copilots, not autopilots."