In defense of not understanding your codebase
Summary
Sean Goedecke argues that in large, high-turnover codebases a partial understanding is often sufficient and more practical than full comprehension. He critiques Naur’s theory-building, explains why rewrites are rarely feasible, and describes how teams can work with incomplete models while using tools like LLMs to support, not replace, understanding. The piece surveys the tradeoffs between maintaining a theory of the codebase and delivering value, highlighting practical approaches for navigating complex systems.