Vibe Coding Alone isn't Enough, You Need an Engineer in the Loop
·
Agents write code. They don't do software engineering
Writing code is pattern recognition. Take what’s been done before, apply it to a new context, and scaffold it out. Large language models are exceptional at this because that’s exactly what they do: recognize and reproduce patterns from massive corpora of prior work.
Software engineering is something else. It’s trade-offs. Constraints. Decisions that require context no model has access to: your business domain, your product strategy, your customers, your technical debt, the conversation your team had last week about why you chose one approach over another.
Working with an LLM in a professional manner involves creating a requirements document, generating or manually updating code, creating and enforcing style guides (via linters), testing and code coverage (plus automation), build and deployment (CI/CD), security, project maintenance, SLAs, guarantees about project timing and delivery, negotiating features, managing complexity, creating documentation, and most importantly the years of experience to know when to do what.
Division of Labor
Here's a good rule of thumb for dividing the work between an engineer and an LLM:
Developers own the work where the output is a decision, not an artifact: what to build, what to cut, and which technical bets to place six months from now. Agents can generate options. They cannot tell you which option is right for your situation because “right” depends on factors that reside in human heads and organizational contexts, not in training data.
And for LLMs:
There is a mountain of work in every codebase that is a waste of human brainpower. Boilerplate, scaffolding, repetitive refactors, unit test generation, configuration templating, and data formatting. This work is rote, mechanical, and can be reasoned entirely from prior patterns. Agents should own it.
In other words, LLMs are a tool that engineers can use to make development faster, but for software that you can depend on you still need an Engineer in the Loop.