First off - apologies for the Gen Z (Alpha? What generation are we on?) slang in the subject line. It’s catchy, but honestly, at what cost.

So here are some definitions:

Vibe Coding: The idea that instead of carefully designing software through traditional coding and development, you just start building with AI tools, intuition, and momentum.

Situationship: an undefined, uncommitted romantic relationship that lacks formal labels, exclusivity, or clear future plans.

Now, onto our regularly scheduled newsletter -

I want to like Vibe Coding. Many of my peers are absolute wizards when it comes to this - you can casually mention you wish you had an app/tool/software for something and a few hours later they will have spun up a truly impressive initial version you can actually use. Incredible.

But for me, it feels like a misguided attempt at trying to date a guy who is totally wrong for me - fun when things are working, but then I go down a rabbit hole and lose multiple hours of my life on something with nothing to show for it.

The tools are sometimes responsive, sometimes moody, frustrate the heck out of me, can’t read my mind or anticipate my needs.. (am I projecting here?) At best, it feels like you’re working with a kindred soul who inspires you and lights you up.
At worst, you’re repeating yourself and bringing up past conversations just to try and prove that YOU ARE RIGHT, which, spoiler alert, will not get you back to a happier version of the relationship.

Needless to say, I have been outsourcing my vibe coding requests to people who have more stable relationships with the technology than me. But something kept nagging at me, and I couldn’t understand why I let myself get so frustrated with the process.

Then I started reading How Big Things Get Done by Bent Flyvbjerg and Dan Gardner, and suddenly the missing piece clicked. They state that -

Technology is “frozen experience.”

I love that sentence.

Because it explains why mature tools feel solid in a way brand-new tools don’t.

When software has been around for years, it’s quietly absorbing lessons from thousands of people:

When someone tried something weird, or broke something important.
What reports people wanted to see time and time again, so the software was updated with standard reporting an dashboards.
When the industry changed, and customers wanted to see their invoices broken out differently, or wanted to have better access to their tickets.

And every time that happens, the software gets a little smarter.

So when you use established tools, you’re benefiting from problems you never personally had to solve. Which is, honestly, a fantastic life strategy in general.

New Software Starts With a Résumé of Zero

Here’s what finally clarified my discomfort with vibe coding:

When you build something from scratch, the software has no experience.

It hasn’t been stress tested, it hasn’t handled edge cases.
It hasn’t survived real users doing unexpected things.
It has a résumé of zero.

And the only experience inside it is yours.

Which sounds fine until you remember how many situations you haven’t run into yet.

Where Vibe Coding Does Make Sense

I actually think vibe coding is great for personal workflows, experimentation, developing new ideas and prototypes, or whenever there is no historical data or existing software.

Here, there is no previous blueprint, it’s all blues-sky thinking. Or, it’s just for you, so it needs to be hyper customized and personal to work within your parameters.

Now, when I get the itch and think:

Could I build this myself?

I’m starting to ask:

What experience already exists that I’d be throwing away if I did?

Because mature technology isn’t just software. It’s a frozen memory of other people’s mistakes, assumptions and real world tests. And borrowing other people’s memory is almost always smarter than starting from zero.

It feels like more of a long-term relationship for me, and that’s just what I’m looking for.

Reply

Avatar

or to participate

Keep Reading