NOTE · 3 MIN READ
Vibe Coding or Agentic Engineering
More thoughts on how AI is changing the face of software development
I’ve been thinking (and trying) various approaches to using AI within development for a while now. Tools keep evolving and change keep happening at a high pace. It seems like every day there is a new tool, a new MCP, skill announced and every day there’s a fresh battle in the comments between various sects. Everyone has their own view, so what’s one more:
Artemis II is expected to return from the moon today, it’s systems running on vastly more software than the Apollo landings. With fault-tolerant, multiply-redundant, fail-silent computers running to operate the craft in the harshness of space, it’s a marvel of systems engineering. Would it have been acceptable that all that life-critical software and hardware was simply generated by a RALPH loop? Of course not! We would fully expect and want humans to be involved in the creation of these systems. Only half of “Move fast and break things” should apply to space travel.
I see ideas like levels of agentic engineering and the clear pressure to be operating at the top of that staircase and only at the top of that staircase. It’s right to look at it with the same skepticism of someone trying to sell you more shovels (tokens). Anything less than running a dozen background agents of varying personalities over six concurrent pull requests an unacceptable waste. I say it isn’t. These are all different tools in a brand new toolbox that AI has given us engineers. “Levels” is such a loaded term here, I would use “continuum”.
Obsession with squeezing more output from the same developers makes sense, after all, developers are expensive and getting more for similar amounts of money is good business. So we end up seeing mandates to “just use more AI” being handed down from above. Yet this often leads to the frustrated state of vibe coding, misanthropy of LLMs, distrust of management and much of the potential benefit to be had is lost.
My message would be that skilled engineers/operators/agent managers are always going to be needed. Experience informs us where to operate on the agentic continuum. Sometimes the problem is to throw together a functioning throw-away prototype to which an autonomous agent team would be well suited. Other times we’re trying to build a full production application, dealing with a tricky, unique domain where we need more human in the loop to guide the systems design. Sometimes blindly vibe coding up a script to handle some messy data is what’s needed. Different problems need different tools.
No one should feel like a failure for not being at the top of the staircase. Experimenting at different places on the continuum is needed though, we’re engineers, not holy warriors; part of the job is to try out new things and refine our toolbox. There is a continually evolving suite of things to try out which should be very exciting (at least it is for me). Comment section holy wars on Hacker News doesn’t help, too often these are just lacks of context.
Operators are still very much needed and if anything, more skilled operators will be needed, AI in development will continue to be just a lever for a long time. There probably will be a day in the future where an entire martian ship would run on software entirely created by some form of superintelligent AGI and only by engaging with these shifting tools will we be ready.