[Me & X] Vibe wranglers vs software engineers

X : Why are you so dismissive of Vibe coding?

Me : I'm not. What makes you think I am?

X : You call them wranglers.

Me : lol. Ok, we need to understand a difference here - vibe wrangling and software engineering are different aptitudes i.e. skillsets. Wranglers help you find the questions you need to ask, engineers help you find the answers.

I use the techniques of vibe wrangling when I don't care about the decisions being made in the software. You don't so much build a system as wrangle it out of the AI. You evolve it towards your ideal target, and something emerges out of your conversation. For interest, your best defence against the horrors that AI can create are tools that inspect the behaviour of the system. That's why vibe wrangling is really only good for prototypes, at some point you need to hand it over to a software engineer.

Software engineering, is like any other engineering discipline. It's a decision making process in which you have to understand the context in which you're working in. The decisions we make are made in code. They're not made in architectural diagrams (which are just paintings of a system, a belief of what the system might be) - it's the code that determines what the system actually is. This is what my work on Rewilding Software Engineering is all about. The creation of contextual tools to provide understanding.

X : Isn't software engineering being replaced by AI?

Me : Not any time soon - as long as people care about the decisions being made. Vibe wranglers don't mean less software engineering, they mean the exact opposite. What you're forgetting is that this is going to lead to an explosion in the IT estate. Sure, software engineers are going to use AI, but they'll use it in a way that enables them to care about the decisions being made. I'll summarise:

Vibe wrangling = AI + I don't care about decisions in code for this thing. Emergent discovery. Deals with more complex spaces. Good for prototypes.

Software engineering = I do care about decisions in code for this thing + AI. Dynamic discovery. Deals with more complicated spaces. Good for running systems.

Anyway, Tudor Girba and I will talk more about this in Chapter 5 of Rewilding Software Engineering, but we're still writing that at the moment.

X : What about vibe engineering our way to a production system?

Me : There's a paradox here - I don't care about the decisions being made in code (vibe) and I do care about the decisions being made in code (engineering). Maybe, over a very long time the machines will become an acceptable replacement for software engineers and humans will just be vibe wrangling but there is no way to care and not care about the same thing at the same time. There are also better ways out of that conundrum.

X : Such as?

Me : That's enough for now. We'll talk about that later.

Originally published on LinkedIn.