Skip to content

When the value moves upstream from the code

The discussion about vibe coding and technical debt is worth taking seriously.

Some thoughts:

-Vibe coding, as in, the kind people talk about when they use the term is dangerous! Super dangerous. On the other hand, that's why it's fun... and it's a concentrated learning opportunity for new devs who don't understand the gravity of engineering practice yet.

-When we talk about technical debt, in the context of vibe coding, I think we need to seriously reexamine what we're talking about, why the concept exists, and what we're trying to address with the concept.

What debt means

So what is technical debt?

Technical debt is when you do something fast and pragmatically, to get the job done now, at the expense of future efficiency -- it's debt in the sense that you know you have to pay it back with real work, and man hours, which translate into real world expenses and impact on roi... at some undisclosed future time.

I think to understand why this changes in the world of vibe coding... we have to understand the piece that Tim's missing. In the world, the value was on the code itself. It's normal to think about it in those terms. In the new world, the value isn't on the code so much anymore as it is on the requirement itself. We replace one kind of debt for another. And that shifts the way we need to think about technical debt. Especially when you consider how weak planning has been in Enterprise work for the last 30 years or so.

Where the work moves

-In the context of vibe coding tools, you will nuke your app if:
1. Your requirements are monolithic and vague
2. You jump straight into implementation
3. You don't have any experience with unit or integration testing.
4. You don't have a strong grasp on the data you're using and what it means.

Good planning is and has always been layered, multi-dimensional, and recursive in nature.

Congratulations... that's now your entire job.

Everybody gets to be an architect, but at that point, it's not really vibe coding anymore.

Good luck.