Lucid Day's monday.com practice has joined AntlerWing. Read the announcement
← Field notes

The middle ground between traditional dev and vibe coding.

Two camps dominate the conversation about how to build software in 2026. The interesting work is in the middle.

The conversation about how to build software in 2026 has split into two loud camps. Neither one is correct, and the noise is hiding the actual answer.

The first camp is vibe coding: solo developers and influencers proclaiming that anyone can build now, the tools have changed everything, traditional engineering is dead. The pitch is speed and accessibility. The output is demos that look impressive on Twitter and fall over when actual customers arrive.

The second camp is traditional dev agencies: large shops, billable hours, eighteen-month timelines, structured processes built for a world before AI tools existed. The pitch is rigor and predictability. The output is real but slow, expensive, and still operating like it is 2019.

Both camps are real. Both have customers. Neither describes how good software gets built right now.

What each camp gets wrong

Vibe coding’s mistake is treating tools as a replacement for skill. The framing is that AI now does what engineers used to do, so the engineer became optional. This is wrong in the same way the calculator did not make mathematicians optional. Calculators changed what mathematicians spent their time on. They did not eliminate the need for mathematical judgment.

The vibe coding pitch works because the first hour of using a tool like Claude Code feels magical. You describe what you want and code appears. The code runs. It looks like the same code an engineer would have written. The illusion is sustained until you try to scale it, integrate it, or maintain it. At that point the difference between code that exists and code that survives shows up sharply.

Traditional dev’s mistake is the opposite. They have not accepted that the tools changed. The same shop that quoted eighteen months for a custom system in 2022 is still quoting eighteen months in 2026, even though a senior engineer using modern AI tooling can do the same work in three. The structural reason is that the billable-hour business model rewards taking longer, not shipping faster. The cultural reason is that adopting AI tools requires admitting that the old way of working was inefficient, and senior people at large shops have spent careers building the old way of working.

Both camps are stuck. Vibe coding is stuck because it pretends judgment does not matter. Traditional dev is stuck because it pretends the tools have not changed.

The middle ground

The interesting work happens in a third position that neither camp acknowledges. Senior engineers, using AI tools well, leading the build, shipping faster than traditional dev shops while maintaining the quality those shops were originally known for.

This is not a compromise between the two camps. It is the only position that actually works.

Here is what the model looks like in practice. A senior engineer takes the lead on a build. They design the data model, the API contract, and the integration plan before any code is written. They open Claude Code (or Cursor, or whichever tool fits the work) and use it to accelerate the implementation against that plan. Every change gets reviewed before commit, with PR templates designed to catch the specific failure modes AI tools introduce. Test coverage is built in from the start. Logging and observability are not bolted on later.

The result is a system that ships in weeks instead of quarters, but with the engineering quality of something that took quarters. The AI is not the foundation. The senior engineer is the foundation. The AI is the multiplier on top.

What AI works well for, and what it does not

The case for the middle position rests on understanding what AI tools actually accelerate.

AI works well for: boilerplate code, test scaffolds, refactoring across files, translating between similar languages or idioms, documentation, generating throwaway exploration scripts, regex and parsing logic, well-trodden integration patterns. Anything where the answer pattern exists somewhere in the training data and just needs to be retrieved and customized.

AI does not work well for: concurrent data integrity, complex domain-specific business logic, financial calculations with regulatory implications, security-critical code paths, performance optimization beyond surface-level fixes, judgment calls about which feature to build first, evaluation of vendor trade-offs, architectural decisions that will live for five years.

The middle position works because the senior engineer at the keyboard knows the difference. They accept the AI’s output for the first category and override it for the second. They have spent enough years building production systems to recognize when the AI is plausibly wrong, which is different from being plausibly right.

Vibe coding fails because the operator does not have the judgment to know which category they are in. Traditional dev fails because the operator is not using the tools at all and therefore moves at the speed of writing every line of boilerplate by hand.

The cost math

Where this gets interesting is in the actual numbers.

A vibe coder might quote you twenty thousand dollars to build something that looks like a SaaS product. They will deliver something that demos well in three weeks. Within six months you will be paying someone to rebuild it because it does not survive production traffic, the data model is incoherent, or the security holes have started getting exploited. The total cost is the twenty thousand plus the rebuild plus the damage from whatever broke in between. Easily six figures by the time you are done.

A traditional dev agency might quote you four hundred thousand dollars for the same work. They will deliver something solid in nine to twelve months. By the time it ships, your business has moved, the requirements have changed, and you are paying a maintenance contract on a system that solves a problem you do not have anymore. The total cost is the four hundred thousand plus the lost time plus the maintenance.

Senior engineering with AI as the multiplier sits in the middle on price but produces meaningfully better total cost. Quote between forty and a hundred and fifty thousand, depending on scope. Deliver in six to twelve weeks. The system survives production because senior engineering went into it. The build time matches the actual rate of business change so what gets shipped is still relevant.

This is not a marketing claim. It is the math of how the three positions actually compare when you measure beyond the initial invoice.

Why this matters now

The reason the middle position is interesting right now, specifically in 2026, is that the tools have matured enough to make it possible but the market has not caught up to acknowledging it exists. Most buyers still think they are choosing between cheap-and-bad (vibe coding) and expensive-and-slow (traditional dev).

That gives an opening to operators who occupy the middle. The work is real. The output is verifiable. The pricing is defensible. The buyer who finds the middle gets meaningfully better outcomes than they would have gotten in either camp.

We built PartnerView in weeks. The marketing site, the product structure, the engineering quality. It is on the internet for anyone to verify. We built KoshaOS, the platform that runs our own business, in months. Over eighteen hundred tests. Real production system. Neither of those things would have shipped at the same quality in either of the two loud camps.

The middle ground is not a compromise. It is the only place that actually ships.

If you have a build on your roadmap that has been there too long, or that you have been afraid to start because the options looked binary, tell us about it. We will tell you honestly whether it belongs in the middle, or whether it should not be built at all.

Bring us
the messy one.

The system that's been on the roadmap for two years. The migration that's already failed once. The AI strategy that didn't make it past the deck. That's the one we want.