C theory-building and why churn is lethal to software companies

https://www.baldurbjarnason.com/2022/theory-building/

https://news.ycombinator.com/item?id=34328069

What keeps the software alive are the programmers who have an accurate mental model (theory) of how it is built and works

Most internal documentation only begins to make sense to a developer after they’ve developed an internal mental model of how it all hangs together. Most code documentation becomes useful after you have built the theory in your mind, not before. It operates as a mnemonic for what you already know, not as a tool for learning. ^internal-mental-model

This can happen in the other direction as well. The programmer revisits a module after working on other parts of the software. That work has left them with a sharper, more accurate theory of the software. Now they realise the original module didn’t fit in with the rest and, with their improved insight, see that if left untouched the old module would become a source of friction, bugs, and defects. The code didn’t change, but the programmer did. The code rotted because the programmer changed.