How To Adopt Developer Mental Models - Reading Time: 3 Mins


When I was listening to "The Knowledge Project" podcast on mental models.

The show host was talking about how he started to explore the mental model to make better decisions.

Instead of making decisions by gut instinct through hoping and praying if it is successful.

Below is what I think it might be the type of mental model a developer might need to focus on to be a better developer.

What is Mental Models?

undraw solution mindset 34bi

Mental models allow a person to make decisions based on multiple perspectives on how to tackle a problem.

Say to save a forest, different specialists provide severals solution to tackle a problem.

So that it could achieve a single objective which is to save a forest.

From the perspective of a forest ranger, lumber, environmentalist, forest firefighter or a wildlife biologist.

I find that as developers instead of chasing the latest technology, tools or best practices.

We should focus on developing these mental models to help us to understand and create software that could solve problems.

To also convince people of the validity of a solution by using multiple mental models.

Types of Mental Models

Here are the mental models I feel that any developer should develop.

Design Thinking

undraw experience design eq3j Design thinking has been used in recent years to tackle problems that centre around specific users who are using the solution daily.

It could be in the form of design sprints for a creative solution or the lean startup for anyone to trial test ideas to build their own startups.

Understanding it could help a developer to formulate better and creative solutions catered specifically for a type of user through collaboration with other specialists on common ground.

Systems Thinking

undraw process e90d

This was introduced to me by a fellow mentor during a mentoring session previously on the importance of system thinking.

It is to allow problem-solving of complex systems by focusing on small parts of a highly complex system.

You learn it so that risk can be controlled and mitigated before it turns into an overall failure of the entire system.

To understand system thinking you can look at The Toyota Way: 14 Management Principles from the World's Greatest Manufacturer or The DevOps Handbook


undraw business shop qw5t I recommend heavily to devote their time and effort to learn it.

To influence the decision-making process by painting a story to the eyes of the person who adopts it.

From the person who makes the purchase decisions to the actual users of your software.

I find that without being able to understand it well, time, effort and resources are wasted in building software.

This might allow anyone to adopt your software to help them solve a problem that they are facing.

Learning about it by reading books like On Writing Well: The Classic Guide to Writing Nonfiction, encouraging habit-forming for additive software The Power of Habit: Why We Do What We Do in Life and Business, persuasion research like the book Pre-Suasion: A Revolutionary Way to Influence and Persuade


By arming yourself with these 3 mental models.

It helps you to become an effective and better developer who could operate as either an independent contributor or as part of the management.

I have been studying these mental models so that it could allow me to be a better developer.