How To Adopt Developer Mental Models
Tags: career, productivity, beginners, discuss
Published: 2019-07-28 16:03:10

---
title: How To Adopt Developer Mental Models 
published: true
description: How to develop mental models to become a better developer
tags: career, productivity, beginners, discuss
canonical_url: https://www.maxongzb.com/how-to-adopt-developer-mental-models-reading-time-3-mins/
---
![Photo by Kalen Emsley on Unsplash](https://thepracticaldev.s3.amazonaws.com/i/7jpy5jkpo8vednsjxbt7.jpg)

# Introduction
When I was listening to ["The Knowledge Project"][1] 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?
![What is Mental Models](https://thepracticaldev.s3.amazonaws.com/i/93fvw6to2mjb2nmezz0n.png)
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
![Design Thinking](https://thepracticaldev.s3.amazonaws.com/i/eu8xba2eftt8wqf0sf2q.png)
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][2] for a creative solution or the [lean startup][3] 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
![Systems Thinking](https://thepracticaldev.s3.amazonaws.com/i/rf4b6yte5t330a4wwgfn.png)
This was introduced to me by a fellow mentor during a mentoring session previously on the importance of [system thinking][4].

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][5] or [The DevOps Handbook][6]

## Persuasion

![Persuation](https://thepracticaldev.s3.amazonaws.com/i/wfhrqgfss0jzd1ok3x85.png)
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][7], encouraging habit-forming for additive software [The Power of Habit: Why We Do What We Do in Life and Business][8], persuasion research like the book [Pre-Suasion: A Revolutionary Way to Influence and Persuade ][9]


# Conclusion
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.


If you like my article, please **sign up** for Max [Adventurer's Newsletter](http://eepurl.com/dOUoUb) for awesome content I stumble across weekly in **Python**, **Startup** and **Web Development**.

You can also **follow** me to get the **latest** update of my article on **Dev** 

This post was originally posted on Max's blog at [How To Adopt Developer Mental Models - Reading Time: 3 Mins](https://www.maxongzb.com/how-to-adopt-developer-mental-models-reading-time-3-mins/) and [Photo by Kalen Emsley on Unsplash](https://unsplash.com/photos/UqyHjOgYxYY)

# References
* [The Knowledge Project Podcast][1]
* [Design Sprints][2]
* [The Lean Startup][3]
*  [System Thinking][4]
* [The Toyota Way: 14 Management Principles from the World's Greatest Manufacturer][5]
* [The DevOps Handbook][6]
* [On Writing Well: The Classic Guide to Writing Nonfiction][7]
* [The Power of Habit: Why We Do What We Do in Life and Business][8]
* [Pre-Suasion: A Revolutionary Way to Influence and Persuade ][9]


[1]: https://fs.blog/the-knowledge-project/
[2]: https://www.gv.com/sprint/
[3]: http://theleanstartup.com/principles
[4]: https://www.oreilly.com/ideas/the-critical-role-of-systems-thinking-in-software-development
[5]: https://www.amazon.com/Toyota-Way-Management-Principles-Manufacturer/dp/0071392319
[6]: https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-Organizations/dp/1942788002
[7]: https://www.amazon.com/Writing-Well-Classic-Guide-Nonfiction/dp/0060891548
[8]: https://www.amazon.com/Power-Habit-What-Life-Business/dp/081298160X
[9]: https://www.amazon.com/gp/product/1501109804/ref=dbs_a_def_rwt_bibl_vppi_i1