Discussion about this post

User's avatar
Verdi's avatar

I agree and I have come to a similar realization in the past few months. The value of the time gained on throwing some tasks at the LLM can't be ignored and I will still use it but I've gone from being "100% all-in vibecoding" to a much more measured stance. Maybe < 40% use. For these reasons:

- You cannot get away from the tech debt models produce

- Over time, these subtle issues compound into a codebase the LLM itself finds difficult to navigate and work in

- Simultaneously, you, the dev has lost the inherent and deep insight connection into the code where you *cannot* troubleshoot without using AI and it's a self-reinforcing loop.

- You, the dev, become 0% productive when in the train or airplane because you forget how to write some algo or syntax and you lack the codebase's mental model

Gregory Forché's avatar

Great post! Couple of comments:

-- the idea that 'all you need to do is specify' has been wrongly internalized by many.

a) there's another name for it: it's called "waterfall". we know what happened there.

b) the entire structure of interaction is plan-then-execute. This is NOT how software development actually works (though, people can be excused for not being conscious of how they had been doing it before AI). There is a huge amount of improvisational work in a larger unfolding situation. The linear flow from plan to execution is frequently incompatible with any nontrivial development effort

c) software development - like anything else that is 'work' as we have come to understand it - is not merely a collection of tasks that neatly decompose just because we want them to.

Basically, I see you are observing these things in your work. Check out my substack if you are interested as I am trying to share out some compatible perspectives - would love some eyeballs / feedback.

53 more comments...

No posts

Ready for more?