*Published March 19, 2026* --- I've used Claude Code daily for over a year. It runs my knowledge vault, helps me modernize a legacy Rails codebase, and handles routine tasks I used to do manually. It is, genuinely, the most useful tool I've adopted in twenty-five years of software development. It also made me dumber. --- ## Twenty Commits Deep Late last year, I was fixing a complex UI feature in a production Rails application. The feature had coordinate calculations, state management across multiple modes, and edge cases that surfaced one at a time. Claude Code was generating fixes. Each commit addressed a specific bug. I was reviewing the diffs, approving them, committing. The commits kept climbing. Ten. Fifteen. Twenty. By the twentieth fix, I had a working feature with passing tests. I also had a codebase section I couldn't debug without Claude. I understood the vocabulary. I could not reconstruct the logic from memory. I had hit enter too many times without building the mental model. The test suite passed. The feature shipped. And I had accumulated what Simon Willison calls cognitive debt: code that works, that's even well-structured, but that nobody fully understands. When a new bug appeared weeks later, I couldn't reason about it from first principles. I had to ask Claude to explain my own codebase to me. --- ## The Unread Notes The same pattern showed up in my knowledge system, but quieter. I run a PARA vault with over 500 atomic notes extracted from articles, tweets, and books. Claude Code handles the synthesis: it reads a source document, applies Progressive Summarization, extracts standalone concepts, files them into topic folders, and archives the source. The pipeline is efficient. I can process 50 documents in a single session. The problem: I stopped reading the notes. Last month, I was writing about how AI changes what developers need to be good at. I knew I had notes on this. I could picture the topic folder. I could name the concept: "cognitive debt." But when I tried to write the argument from memory, I couldn't connect the pieces. I had to open the note, re-read it, and realize I was seeing the content for the second time despite having "synthesized" it weeks earlier. The synthesis pipeline had done its job. I hadn't done mine. I could find any note, link to it, use the right vocabulary in conversation. But the knowledge existed in my vault, not in my head. I had built a system that captured and organized knowledge faster than I could absorb it. The capture was real. The understanding was not. --- ## The Same Failure Mode Both failures share the same mechanism. Before delegating to AI, ask yourself whether you're augmenting your thinking or avoiding it. Augmentation: using Claude to handle boilerplate while you focus on architecture decisions. Using synthesis to surface connections between notes you've already read and understood. Using AI to accelerate work you could do yourself, slower. Offloading: accepting a diff without building a mental model of the change. Archiving a synthesized note without reading it. Using AI because the thinking is hard and you'd rather skip it. You cross the line when you can no longer do the work without the tool. I crossed it somewhere around commit fifteen. --- ## What I Do Differently Now I have three habits that came from getting burned. **I read the diff out loud.** Not silently. Out loud. If I can't explain what the change does in plain language while reading it, I don't approve it. Last week this caught a refactor that renamed a method used by three other controllers. I would have hit enter without noticing. **I read my own notes.** `/diceroll` picks a random atomic note from my vault every morning. I read it. If I can't explain the concept without looking, I spend five minutes with it. Two weeks ago it surfaced a note on "allostatic load" I'd synthesized in February. I couldn't define it. Five minutes later, I could. The vault is only useful if the knowledge makes it into my head, not just my file system. **I attempt the thinking first.** Before asking Claude to fix a bug, I spend ten minutes forming a hypothesis. Even a wrong hypothesis forces me to engage with the system's logic. Claude's fix is better when I've already thought about it, because I can evaluate whether the fix addresses the root cause or just the symptom. None of these are efficient, and that's deliberate. --- ## The Uncomfortable Truth I still use Claude Code every day. I still hit enter hundreds of times per session. The problem is me, in the moments when convenience overtakes comprehension. When the enter key moves faster than understanding. I'm 45. I've been writing software for twenty-five years. The best tool I've ever used is also the one most likely to make me worse at my job, if I let it.