It can also slow it down as people get distracted experimenting with features they can build quickly.
Most V2 rewrites fall under a similar category.
It's like all the food being replaced by MacDonalds food that is served from a replicator (from Star Trek). Sure, we can survive on it, sort of, but if all we ever know is this food and we're too busy to cook (or no one knows how to manufacture a stove) then we'll never know anything else. Maybe someone will learn how to tweak the recipe a little but our minds will be conditioned to context-switch so much that we'll never even think of learning to cook great meals.
That's what LLMs do. They're shit.
Whenever a new technology makes what used to be hard easy, all the non-experts pile in and produce shit for awhile, until they're finally forced to admit that software engineering is hard (or die trying).
The same will happen with LLMs in a couple of years.
In my opinion, not a good direction. Maybe just good for the stockholders and investors and someone wanting to make a quick buck.
There seems to be this pervasive false dichotomy about software currently: that it's either lovingly hand-tooled and crafted and perfect; or that it's a vibe-coded one-shot sloppy-slop-slop-fest of spaghetti code.
There is a middle ground, where rigorous software project management and careful architectural guidance and oversight continues, but agentic coding takes away much of the coding drudgery. It takes time, and it's not even remotely one-shot, but it's still way faster than coding everything by hand. From what I can tell, this quiet approach is where most agentic coding effort is going currently -- it's not flashy, it's not sloppy, and mostly you won't even notice.
AI doesn't preclude this. In fact, it can help accelerate parts of it.
He's describing the typical big project lifecycle:
- Examine the landscape
- User research (how they use existing software, what their frustrations are, etc)
- Brainstorming
- Early ideas and prototypes
- Refinement, user feedback
- Solidify the vision and high level process design
- Choose technologies
- Design & architecture
- Plan out phases
- Build phases, then test them with users
LLMs are great at research, and great at prototypes. Once you have your design, they're good at coding as well. They're also good at distilling user feedback.