Power Up Your Brain with Mental Models
Think of software design patterns but for your mind and thoughts.
We spent two hours with our leadership team discussing how to make our engineers unmotivated and unproductive. — Of course, we were interested in the opposite outcome, we care about our engineers. Exploring the inverted problem helps us identify what we should avoid. We applied the Inversion mental model.
Inversion is one of many mental models. These are mental tools, concepts, questions, approaches, and frameworks, each different from the other. However, their intended outcome is clear: mental models can help us make better decisions and find solutions to problems. I have found them useful in many aspects of my career, from engineering to leading teams.
This article serves as a starting point for those who wish to explore various mental models. I will update it, along with the Resources section.
Story
As software engineers, we know how to apply specific algorithms and design patterns to solve problems. We use various libraries and frameworks and study the documentation (hopefully up-to-date) to learn how to implement these tools.
When I transitioned from being an individual contributor to leading and then managing people, I missed having a ready-to-apply solution from the software engineering world. During my first encounter with mental models, I saw them as a solution to all my problems. I consumed everything I could find about mental models, including books, articles, and videos, and tried to apply them wherever possible.
Domains
As the popular saying goes, for someone with a hammer, everything looks like a nail. The larger our toolbox, the more problems we can solve with less effort using these tools. This applies to mental models, which I treat as tools for solving problems.
Mental models represent abstract thinking concepts, patterns, frameworks, or mental exercises to apply. Some originate from various domains such as mathematics or physics. By applying concepts from one domain to another, we gain new perspectives, which can help us find the right solution.
I share my lessons with you on how to apply these models in the context of software engineering and leading teams:
Thinking Concepts:
Circle of Competence: Why we should really know what we know.
First-principles: The real understanding might be just five questions away.
Hanlon’s Razor: Do not assume bad intentions. Listen and understand.
Inversion: What we should do to make our teams miserable.
Map is Not Territory: How to embrace the differences between the abstraction of reality and reality itself.
Occam’s Razor: Evaluate possibilities. Use the simplest one that works.
Second-order Thinking: How pausing and asking yourself — ”And then what?” — levels up your decision-making skill.
Mathematics & Statistics:
Correlation Does Not Imply Causation: Don't be fooled by good-looking charts.
Probabilistic Thinking: “We will deliver this project on time” — But what is the probability of it?
Regression Towards the Mean: Value a good track record over one-time success stories.
Physics:
Entropy: Save you and your teams from disorder.
Inertia: Waiting too long to make a decision is also a decision.
Systems Thinking
Systems Thinking is a domain where we try to identify all the elements working together and how they cooperate:
Bottlenecks: Confessions of a bottleneckman.
Diminishing Returns: You need to find a new way of doing things because the old way won’t work forever.
Emergence: When something is greater than the sum of its parts.
Margin of Safety: The deciding difference between success and failure.
Summary
Playing a video game and gaining power-ups provides new powers or skills for a limited time. Similarly, you can use power-ups to enhance your thinking in our game of life. I call these power-ups mental models.
Thanks for reading,
— Michał
Resources
Online:
My interest in mental models has been growing thanks to Farnam Street: their podcast The Knowledge Project, and their books.
Books: