Dear Professor Ousterhout,
I'm a software engineer based in India. I recently read A Philosophy of Software Design, and chapter 3's distinction between strategic and tactical programming is the idea from the book I keep coming back to.
I'm writing because that idea keeps colliding with something I'm experiencing firsthand: using Claude Code and similar AI tools day to day. The results are inconsistent — some of what it produces is genuinely well-structured, some of it isn't — and I've noticed a real shift in how I relate to my own codebase. I used to know it line by line; now large parts of it are things I've never actually read. I've watched other developers do the same, often without seeming to notice how much they've lost track of. My honest impression, watching it work, is that Claude Code itself defaults to a tactical style: it optimizes for producing something that runs now, not something built to be lived with later.
This has left me with a question I'd be very grateful to hear your thoughts on, if you ever have a spare moment. Your case for strategic programming rests, if I understand it right, on the idea that investing in good design pays off because someone — a human — has to live with the consequences later. I'm curious whether that argument holds in the same way if it's increasingly an AI doing that living-with, rather than a person. A few possibilities I keep turning over, though I'm sure you'll have a much better sense of it than I do:
1. It could matter even more — an AI reworking code has no tacit memory of why things were done a certain way, so hidden complexity might cost it more, not less.
2. It could matter less — if an AI can absorb messy structure cheaply at any scale, some of the human-centered arguments for deep modules and careful naming may weaken.
3. Or the tradeoff doesn't disappear so much as move — design now matters for a different audience: the AI doing the work, and the human trying to review or trust it.
I'd value your take on this, even a few lines. Thank you again for writing the book — it's one I keep returning to.
Best regards,
Karmesh Gupta