Life is relentless. Our days can be any variant of monotony, routine, adventure, the unexpected and everything in between. How we deal with change or maintain consistency is something we constantly must work on for the rest of our days, but there are ways to help manage it and bring out our best.
Whether it comes to health, code, career, human interaction, downtime or personal introspection, mental models help you to slow down, re-frame and make decisions grounded in good practice. Here are 52 mental models and concepts that have come to the rescue in my own lifetime and time again that may help you in your own time of need.
Edit: I've added a few more that have come up since the initial post.
An old adage. There is constant influence coming indirectly into our lives. This principle is a reminder to take the cards we are dealt to do the best we can and manage the stress and outcomes that come from those of which we cannot.
Avoid preparing for scale before it is required.
While what is defined as "clean code" can come from perspective, the general gist is to keep code in a manner that is maintainable by others.
Find 30 minutes throughout your day for exercise. This comes from an old Australian campaign, but it is a great minimum to stick by.
Whenever you are emotionally charged, use this concept of viewing your predicament in 3rd person to help consider the viewpoint outside of emotion.
The analogy here is about ensuring that your yard is nice and tidy but it speaks to the principle of taking pride in your own craft. This means that if you take short cuts and do not do things correctly, this will be reflected in your work.
We tend to be over-confident in a subject early in the piece without the tenure and experience to back it up. Use this to remind yourself when you are in a relatively new field for yourself to remain humble and seek complete information or advice.
Long deviations will tend back towards the average over time. Avoid outliers.
80% of the effects come from 20% of the causes. Use this knowledge to time-box yourself when required and focus on discovering the 20% of the causes.
We all tend to generalise and we all have a bias. Understand this at all times and be aware during interactions or approaching problems.
Do not be skewed by incomplete or missing information. Look to gather as much information as possible before drawing a conclusion.
Self-explanatory. If it is too good to be true, it probably is. Tread with educated caution on the matter.
In code, naming should come as no surprise to what it does. In life, you should follow this principle for things such as home layout and where to look for items and essentials.
We have a bias towards what is most important and most recent.
Avoid unnecessary complexity.
When simplifying, do not overreach and break things down further than is useful.
Know your priorities and work towards them. Working on something to avoid what is important is trivial.
This is also known as Parkinson's Law. Fill your time to become more effective (but beware of overwork!).
As denoted by Kahneman, actively use the "slow mode" of the brain when required and avoid emotional, reflexive responses.
When planning out work or journeys, use this distinction to break down the relationships between smaller, moving parts that make up the larger ecosystem.
This relates to defining the problem-solution space and the importance of re-framing. The USA came up with incredible ingenuity when it created a pen that could work in space, but those hours and cost were countered with Russia who opted to simply use a lead pencil. Spend time to look at the problem space in different ways to come up with pragmatic, creative solutions.
Self-explanatory. Make educated decisions where possible.
When starting anything out, ensure you have a clear idea about where you are going.
To dig deeper into the problem, ask the question why five times. The answers will uncover a deeper root cause. For example, production went down. Why? Because the screen continued to show a spinning wheel. Why? Because no message told the loading wheel to stop and give the user a message. Why? Because a failed XHR called was not handled correctly. Why? Because our decoder failed to decode the response. Why? Because we are using a legacy system with a known compatibility issue.
Ask the question multiple times will uncover more. Five is just a minimum.
When defining projects, be sure to define the differences between a functional requirement, a non-functional requirement and what is out of scope.
We tend to hear what we want to hear and see what we want to see. Avoid tunnel vision and bias in confirming our own theories.
As obvious as this may sound if you are emotionally charged do whatever it takes to delay massive decisions (work, moving, etc). While there are times where it is appropriate to make a decision as soon as possible, more often than not this emotional charge will paint your decision and lead you to make an irrational decision.
When it comes to projects, order things "into the jar first with the big rocks, then the pebbles, then the sand". The idea is to define the larger pieces and then work on clarifying the smaller pieces.
Whether you are in an interview, positioning an idea or actually selling a tangible product for money, be sure to be selling more than just the core idea/concept.
When making grand decisions, define what is stopping you instead of what you stand to gain.
Made famous by Jeff Bezos. What is likely to cause you the least regret when you turn 80?
Made famous by Steve Jobs. In the morning, ask yourself the question, "If I had to do what I am about to do today for the rest of my life, would I be happy?" If the answer for too many days in a row is no, then you know that something needs to change.
No one knows everything and even you and I are better than Einstein at something. Learn to that human nature is your strength.
Similar to "The Law of Diminishing Returns". Give a person a fish and you will feed them for a day. Teach a person to fish and you will feed them for the rest of their life.
Have you ever seen a dog buy dog food? Know your audience.
When dealing with detractors or unhappy customers, use this to humanise the conversation and disarm the situation.
If there is a message you want to get across, bring it up early and bring it up often.
"When you are tired of saying it, people are starting to hear it." - Jeff Weiner
Anything that can happen, will happen. Be prepared.
The simplest explanation with the least number of variables is likely the be the correct one.
Give the benefit of the doubt and assume the best of intentions. Anything malevolent that happens is more likely to be explained by neglect.
When pitching timelines, first work towards something with 90% confidence. When was William Shakespeare born? If you have no idea, start with a wide pitch (1900BC to 1900AD) and work backwards with reasoning.
When offered chances for a shortcut, choose against it. Resistance is a sign that you are on the right path.
Being able to teach others effectively on a topic is a sign that you have strong competence in that area.
You don't have time to do everything. Whenever possible, delegate the needless and mundane tasks elsewhere.
Design can give the illusion of freedom where you are in fact guiding their choice to be finite. Use this concept wisely and do not be a tool.
A simplified statement that great user experience comes from naturally intuitive operations. The same can be said for much that happens in your life.
Be sceptical of anything offered to you for free. There is always a cost.
This is a concept that is able remaining unpredictable to others, however, I find it a great principle to keep a little of that "unpredictability" in your own life with what you do. Try new things and always be exploring.
From Leil Lowndes book "How To Talk To Anyone", this concept is about holding your head high when you enter a room. It will make a remarkable difference in how others interpret you if you manage to keep your head held high.
Half the battle is showing up. Whether it is work, class or life: just get there.
Just ship the damn thing.
These are other models that have come up since the initial brainstorm that I refer to from time to time as well!
Taken from Mark Manson's "The Subtle Art Of Not Giving A F*ck", the feedback loop from hell refers to negative spirals that occur from negative re-enforcement and momentum.
Being able to acknowledge and understand when you are in it is the first step to working your way out.
Understand that opening up to learning more, expanding your horizons and becoming more wholesome is one of the most powerful ways to get the bigger picture.
Another mantra famously spoken by Steve Jobs. As you work toward your goals and reflect back on achievements, you will be able to connect the dots that lead you to where you are today.
This is an interesting one as it sounds as if it contradicts the idea of "it is not about the tools, it is about the person who uses the tools."
My math professor, on the other hand, would speak to the idea that you could use different methods to get towards the same answer, but there were times where one approach was a better choice based on the scenario. I use this a lot when thinking about code and tradeoffs. The more you open yourself up to learning about more approaches and programming paradigms, the better equipped you are to making the best decision when choosing the "tools" for the project.
These have been 52+ of the principles that I try to keep ingrained in my day and work towards upholding. They speak a lot to the character I strive to maintain.
Have you got other principles in your own life that have paid dividends? Feel free to share!
Image credit: Jared Rice