Effective Mental Models for Code and Systems

Optimize for Understandability

Hierarchy of needs for code and systems

Identify all the different target audience

Self-documenting code is a myth

Comments are easier to parse than code

A Case for Better Composition of Layers

Each layer should encapsulate an “Error Kernel”

Do not omit details owing to “shared understanding”

Make implicit assumptions and dependencies explicit

Concrete is better than Abstract

Validation to Compare, Contrast and Recalibrate Mental Models

Conclusion

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store