Published: July 28, 2019
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.
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.
Here are the mental models I feel that any developer should develop.
Design thinking has been used in recent years to tackle problems that centre around specific users who are using the solution daily.
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.
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
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.