Mental models are frameworks for thinking. They simplify complex things so you can reason through them. You use them to make good decisions without needing to know everything about a situation.
-- Julian Shapiro
In my opinion, mental models are like superpowers. Leverage them to your advantge in the right way and you excel in many aspects of your life. Period!
There are numerous mental models that you can apply imporove your life. However, there is just a subset of them that you can apply to software development. In fact employing such thinking models sets senior developers from juniors apart. Seniors have learned these by experience through out their career.
In a series of posts, I am introducing a few key mental models will make you a better developer. These are the mental models that I learned through years of developing software. Not only they helped me writer better code but also helped me with how to solve problems with code. I am sure they will help you as well.