3 ms·
Ask HN: Is understanding code becoming "optional"?
On Twitter, Boris Cherny (creator of Claude Code) recently said that nearly 100% of the code in Claude Code is written by Claude Code, and that he personally hasn’t written code in months. Another tweet, from an OpenAI employee, went: "programming always sucked [...] and I’m glad it’s over."
This "good riddance" attitude really annoys me. It frames programming as a necessary evil we can finally be rid of.
The ironic thing is that I’m aiming for something similar, just for different reasons. I also want to write less code.
Less code because code equals responsibility. Less code because "more code, more problems." Because bad code is technical debt. Because bugs are inevitable. Less code because fewer moving parts means fewer things can go wrong.
I honestly think I enjoy deleting code more than writing it. So maybe it’s not surprising that I’m skeptical of unleashing an AI agent to generate piles of code I don’t have a realistic chance of fully understanding.
For me, programming is fundamentally about building knowledge. Software development is knowledge work: discovering what we don’t know we don’t know, identifying what we do know we don’t know, figuring out what the real problem is, and solving it.
And that knowledge has to live somewhere.
When someone says "I don’t write code anymore," what I hear is: "I’ve shoved the knowledge work into a black box."
To me there’s a real difference between:
- knowledge expressed in language (which AI can produce ad nauseam), and
- knowledge that solidifies as connections in a human mind.
The latter isn’t a text file. It isn’t your "skills" or "beads." It isn’t hundreds of lines of Markdown slop. No. It’s a mental model: what the system is, why it’s that way, what’s safe to change, what leverage the abstractions provide, and where the fragile assumptions lie.
I’ve always carried a mental model of the codebase I’m working in. In my head it’s not "code" in the sense of language and syntax. It’s more like a "mind palace" I can step into, open doors, close doors, renovate, knock down a wall, add a new wing. It happens at a level where intuition and intellect blend together.
I'm not opposed to progress. Lately, with everything going on, I’ve started dividing code into two categories:
- code I don’t need to model in my head (low risk, follows established conventions, predictable, easy to verify), and
- code I can't help modelling in my head (business-critical, novel, experimental, or introduces new patterns).
I’m fine delegating the former to an AI agent. The latter is where domain knowledge and system understanding actually forms. That’s where it gets interesting. That’s the fun part. And my "mind palace" craves to stay in sync with it.
Is the emerging notion that understanding code is somehow optional something you are worried about?
- adamzwasserman 8mo agoJob security for those of us who think like this. Two layers vibe coding can't touch: architecture decisions (where the constraints live) and cleanup when the junior-dev-quality code accumulates enough debt. Someone has to hold the mental model.
- giantg2 8mo agoIf anything, you have to understand code more now. Before you (or your devs) could write code a couple different ways and understand it. Now you have to look a code generated by an agent that is not necessary writing code in the same way as the culture at your company. There might be a thousand different ways a feature gets written. You have to spend more time reviewing and thinking it about it in my opinion.
- dapangzi 8mo agoMade a similar comment. It's great for tenured engineers, when we use it. When juniors use LLM, because they don't have experience, it becomes a nightmare for tenured engineers, and we just end up "mopping the slop", as I tend to say. I also have issue with how LLM do testing.
- taurath 8mo agoJust as with an LLM, a detailed style and format guide helps an incredible amount both for the LLMs and juniors. If you have standards and they’re not written down, you either require everyone to go teach them to anyone new, or you don’t have standards.
- dapangzi 8mo ago> you don’t have standards. The problem is that LLM mess up things as basic as math and dates, and that's before the context gets too large and it starts making other mistakes. Edit: Also LLM over mock tests and juniors trust that...
- 8mo ago