Jack Cuthbert

The language we use to talk about things shapes how we feel about them

This is a bit of a follow up post on my previous one about "vibe coding" and what I'm doing with it. It's been a bit of a whirlwind since then as I've gone deeper down the rabbit hole of what's actually possible with LLMs and agentic engineering and my opinions are changing, again.

Not feeling the vibe

In between discussions with my colleagues about how they're managing with the advent of LLMs/AI development, and more than a few personal software apps under my belt now, I've been feeling that the term "vibe coding" isn't the right way to describe what my peers and I are doing.

Calling software development with AI "vibe coding" minimises and trivialises what software engineers do, and they feel threatened by it.

Let me explain...

I work with software engineers and domain experts of varying levels of experience: seasoned senior engineers with multi-decade software careers, juniors with less than a year or two and doing their best to skill up as fast as possible, and all kinds of durations between. For myself, I've clocked in around 15 years or so if you count Minecraft server plugins I somehow put together and shipped to a large server I ran in high school. Collectively we all have what I'd consider a reasonably solid foundation in understanding how to build good, production-grade software without AI. All of those people have just been told to "give AI a go and see what works". For the most part we've done exactly that.

Some have embraced it and genuinely don't write code by hand anymore and some are still working out how to trust the code the LLM generates. Fortunately (or unfortunately) I've landed firmly in the former category. I'm building personal apps at a pace I've never been able to before, I've shipped large features that work exactly as designed in days instead of months (not counting review time), I'm dogfooding my agents with their own output for self-improvement, creating analysis tools for myself to better understand agentic orchestration and token consumption, building in AI-based workflows into my daily routines to be across more domains and provide help and reviews to more people, and so many more things that quite honestly has me overwhelmed with how quickly it's all come about.

Now that I've tooted my own horn...

The point is, we are still engineers. We don't phone it in and give up thinking about how to make good software because "AI does it for me now". I believe the how we do what we do has changed from implementing to designing/defining. I spend nearly all my time now typing English in conversation with agents instead of code into my IDE. I still design and implement system architecture, choose the technology to do it, design the contracts between systems and the transport protocols they use, I read the code my agents generate in places that matter, I still do the job, just... not how I did before.

Software isn't just code in an editor, or files being created behind an agents harness, it's everything else too. Maintenance, planning, design, performance, review, UI/UX, communication, team organisation, learning & development, upskilling, business... eugh.

Nuance

Like all things in life this opinion has nuance and I don't want to minimise different kinds of people using AI to build stuff. Nor do I want to leave it at "vibe code bad because I feel offended". It's hard for me to articulate, but I think the gist of what I'm saying is the vibe coding term and meme has given software engineers a fear that it's all over and all software from now on is slop and we can't trust anything AI generates. Which I think is entirely false given the above level of software experiences.


Ultimately, as the title suggests, the language we use informs our opinions and how we think about the world. "Vibe coding" can absolutely create unmaintainable slop that no self-respecting engineer wants to see (though this is certainly debatable given how good models are getting now), but it can also make some surprisingly good stuff extremely quickly given the right input and care that engineers are known for. I think from now on, at least until my opinion changes again, I'm calling it AI assisted engineering instead.

#development #software #whinge