I really like these 2 posts from @conradirwin.bsky.social and @jimniels. They manage to put in words one of my struggles with AI coding tools.
The distinguishing factor of effective engineers is their ability to build and maintain clear mental models.
- With LLMs, you stuff more and more information into context until it (hopefully) has enough to generate a solution.
- With your brain, you tweak, revise, or simplify your mental model more and more until the solution presents itself.
One adds information — complexity you might even say — to solve a problem. The other eliminates it.
Just a Little More Context Bro, I Promise, and It’ll Fix Everything
I find this is especially true when maintaining big and complex codebases that I know well. When tacking a new task, I don’t start from scratch. I’ve built mental models, my view was challenged, and I’ve updated my model at a result. And again. And again. I went through hundreds of engineering loops with that codebase. I can put some of that baggage into words and feed it to the LLM, but the loop stops there. LLMs cannot iterate through a loop on their own. They cannot find the most optimal implementation on their own.
At least for now.