Comment by arduanika
Comment by arduanika 14 hours ago
Excellent.
This part especially:
"Some developers can fit substantially more in their memory. I have come to believe that hinders them at least as much as it helps them. When you are at your limits, you are forced to simplify the situation in order to resume forward progress. The more regularly you are forced to do that, the better the chance that you are keeping the situation under control."
It reminds me of how Bill Gates said he'd rather hire lazy developers, because "a lazy person will find an easy way to do it." Maybe even better would be to hire lazy developers with poor working memory.
I have seen many systems that were overly complicated because the developers couldn’t keep it all in their head. It led instead to poorly designed modularity along boundaries selected to be small enough that they could keep it in their heads, to the detriment of both efficiency and maintainability.
Being able to see across it at scale is what exposes elegant reductions to something simpler, which enhances maintainability. It is how you end up with the commits that delete a thousand lines of code.