How Generative and Agentic AI Shift Concern from Technical Debt to Cognitive Debt
đź”— a linked post to
margaretstorey.com »
—
originally shared here on
But by weeks 7 or 8, one team hit a wall. They could no longer make even simple changes without breaking something unexpected. When I met with them, the team initially blamed technical debt: messy code, poor architecture, hurried implementations. But as we dug deeper, the real problem emerged: no one on the team could explain why certain design decisions had been made or how different parts of the system were supposed to work together. The code might have been messy, but the bigger issue was that the theory of the system, their shared understanding, had fragmented or disappeared entirely. They had accumulated cognitive debt faster than technical debt, and it paralyzed them.
A very appropriate piece for me right now (thanks for sharing it, Simon!).
I set off earlier this week to build an iOS music player. It seemed like an ambitious-enough project that would help me become a better agentic programmer, using an idea that interests me deeply yet I’d realistically never be able to tackle this on by myself.
What I learned was that the glitz and glamour of seeing tokens fly by and then seeing code materialize into existence is addicting. It feels like a slot machine: perhaps this spin will be the thing that eliminates the UI lag! … ope, nope, just ran completely out of tokens. Better upgrade to Max!
I also learned that I’ve been missing something in my life: the joy of making something. I remember seeing my Plex library show up on my iPhone inside the app for the first time. It reminded me of how it felt when I figured out how to change the Windows 95 “It is now safe to power off your computer.” screen back in the day. I made the computer do that!
But yeah, cognitive debt.
I got the MVP up and working, but then attempted a refactor that left the whole codebase a giant goop of spaghetti. I wasn’t paying any attention to the architecture of the app, and pretty soon, I found myself with three different queues for storing media. Completely untenable slop.
So I’m gonna wipe the repo clean and start fresh. This time, I will be armed with a better plan. One that allows me to be more close to the action, one that keeps me focused and engaged with the architecture.
Let’s see how this goes.