Nevermind syntax, what's a variable? function? class? What's the difference between int/float/boolean string? Nevermind more advanced concepts like O(1) vs O(n). But when the vibe coder just needs to prompt "the page loads really slowly. plz fix" and the LLM can go in, add an index to the right SQL table, add a limit and pagination, so what if I can tell you the difference between PostgreSQL's dialect of SQL vs MySQL, and what the difference is in row types supported. I can describe what happens when you type Google.com into your webbrowser to an inane level of detail off the top of my head, but when the LLM can do an even more through version, I mean, I can pat myself on the back and be smug that I know most of that innately, but what is it really worth?
About a decade back, we, as an industry were collectively learning how to make apps webscale, and oh the blog posts about not using a database as a queue. But the LLMs have ingested all of them. I've only read the ones I came across, and of course my professional experience being part of teams implementing that at various companies. So I've got that going for me, but when the Vibe-platform-dev just has to tell the LLM "hey, when the user hits the send message button, it's slow. /goal make messages fast", and the LLM grinds for hours overnight switching the entire system over to a pub sub event driven architecture and the vibe-platform-dev doesn't even know what pubsub stands for or that they're using one unless they go back and read the transcript. I don't think there's as much of a domain expertise moat for as long as we're hoping.
It only takes two or three unreviewed prompts like "the page loads slow, plz fix" for you to end up with a tangled mess that even the agents can't productively work with.
Take a look at the Reddit forums for vibe-coders - now that a bunch of them have been hacking on things for 3+ months there's a growing awareness there that you hit a wall. Here's the first post I found from just searching "reddit vibe coding wall", it's a great illustration of the genre: https://www.reddit.com/r/vibecoding/comments/1sabdw3/anyone_...
Software development is really, really hard. Coding agents can get you a surprisingly long way, but if you want to build real software for real people you quickly find that you DO need that domain expertise.
The agents may type all of the code for you now, but you need a huge amount of skill to clearly tell them what to do, confidently decide what to do next and credibly present software that works for other people to use.
Offtopic, but how do you monitor all of this stuff, Simon? Do you have a routine where you recheck Reddit, Twitter, HN, other resources, or do you use LLMs to find material for you?
I spend way too much time on Hacker News, Bluesky and Twitter and occasionally check in on Reddit (I'm more of a lurker than a poster there.)
I don't have any automated LLM scanners, but I do frequently have ChatGPT run searches for me with questions like "Find the most credible accounts of the recent Oracle layoffs, how they went, rationale, problems caused".
This guy clearly didn't hit the limits of vibe composing a Reddit post.
Im not understanding why the discounting of your prior knowledge somehow slides over to a benefit for the non-technical vibe coder?
wouldnt you still be in a better position when prompting “site slow, make fast”?
For now. But in a future where the non-technical vibecoder + AI can fix the slow site without the benefit of my expertise to thoroughly prompt it properly, why hire me?
The business goal is that the site is slow. That gets fixed by the non-technical vibecoder for the cost of however many tokens. Why look for outside help (aka me) if there's no need to and the AI can do it all?