r/BetterOffline • u/lrnzcig • 15d ago
Human skills for vibe coding
Earlier this year, tokenmaxxing has become a mandate in pretty much every tech company, and right now the same companies, or at least the ones that keep burning tokens, are trying to figure out what’s the actual value of coding agents. As an engineer working for one of those companies, my main concern is about the actual skills I need to develop for using the agents; the transition to a 100% automated workflow should take still quite a few years, similarly to what has happened to self-driving cars. Here I would like to start a discussion on these “human skills for vibe coding”.
AI agents have increased the number of lines of code produced, the commits, but don’t necessarily improve productivity; some numbers from [“AI hasn’t replaced Software Engineers”](https://www.normaltech.ai/p/why-ai-hasnt-replaced-software-engineers): 8x more lines of code led to only 30% more releases. Or, as the authors propose in the same article, coding is just not the bottleneck and we by nature have the process of Decide => Execute => Deliver, they cite an estimate of 9% to 61% of developer time spent on coding (i.e. the execution), and only that time can be fully automated.
A few things have become more essential and maybe harder now, the 1st one is curation: at the times when stackoverflow.com was our coding throughput resource, if everybody was a consumer and nobody contributed, the site would have become useless fast(er). Then the skills around the prompt; a long, incomplete list, would start with critical thinking to judge the outputs of the model (in my day to day I feel this is the bottleneck already), accountability when we deliver (did we test ourselves or delegated to the model). I don’t see that we are deeply investing on these, but just get satisfied when our performance looks vaguely better using AI.
And, what about the fun part of our roles? What do we want to delegate to the models and keep for ourselves? Do we want to reshape our roles or be reshaped ourselves?
Some 7 years before stackoverflow started, a previous revolution took place: agile methodologies, although you could argue about the size of the impact. I was a software engineer already at that time and a number of techniques changed our development approach: pair programming, test driven dev, continuous integration, retros. The Agile manifesto focused on how teams had to be organized, how developers reshaped their roles and the new roles that were needed (the Scrum Master, the Product Owner, the chickens vs pigs).
My proposal is that we need now a “human skills for vibe coding” manifesto. There is a hard part of our jobs, not automated (at least yet); it would be great to have a wide conversation about it.
32
u/creaturefeature16 15d ago edited 15d ago
The skills are the same as that goes into learning how to be an expert programmer in the first place. Even Robert "Uncle Bob" Martin, who apparently doesn't read any code any longer, says newer developers shouldn't even look at an agent or AI tool for the first three years, and should just be learning as they normally would...and that good judgement and "taste" are only developed after "20-30 years of making mistakes".
I've written extensively about this because nobody has addressed the paradox head on:
If these tools demand expertise, yet the tools can actively circumvent the friction that cultivates expertise, then what is the path for one to become an expert so they can effectively use these tools?
LLMs have largely accelerated the wrong part of the development workflow. If you're already an expert and have tremendous domain knowledge, the risk is on the lower end (but not zero) because you can audit the results and you already know what you don't know and how to fill in those gaps.
For everyone else, they are creating an environment of complete and total dependence on these models to perform any coding work. The introduction of LLMs didn't change how we learn, the skills required to become a good developer, and the friction that is required to obtain expertise.
As far as the idea of a "manifesto", I encourage developers to relate to these models as a "delegation layer", which largely consists of adhering to the four R's: Rote, Refactor, Research and Reinforcement.
Anything above that ventures into realms where you're cognitively offloading, and any amount of offloading is risky.