Keep mental models simple

The effectiveness of the Feynman technique shows that simple mental models can help to accelerate the learning process. Only those with deep understanding can clearly explain a complex concept using simple language. Similarly, software written using simple mental models is a demonstration of clarity of thought.

While it may be quicker to write software with interdependent representations (often referred to as spaghetti code) at first, the resulting code is hard to maintain because it's hard to explain and isn't generalizable. Fortunately, there's usually a way to break a problem down into atomic units. In addition to making it easier to introduce new contributors, this process will highlight potential complications before they become real problems.

If a program is conceptually difficult to explain, then there's likely a more elegant solution. Take time to simplify your mental models, you won't regret it.