Video version of the post:
There are two approaches to learn and adopt best practices: 1. the hammer mindset and 2. the toolbox mindset.
The Hammer mindset goes like this: "when you have a hammer, everything looks like a nail”.
This mindset not only leads to over-engineering, but it also leads to engineers becoming salves of the "best practices". I certainly made the mistake of over-engineering in the past.
The second way of thinking is the toolbox mindset: instead of feeling obligated to make use of all the best practices we come across, we should treat each of them as a tool, and the journey of becoming a better engineer is the journey of adding and mastering different tools to our toolboxes. For each tool, besides learning about what it is and how to use it, what's even more important is to know when and when not to use it.
Psychologist Abraham Maslow is one of the first to point out the hammer mindset. In his book Toward a Psychology of Being, he mentioned it as a common form of confirmation bias: "I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.
Notice the keywords here are "the only tool". A good way to avoid the hammer mindset is by adding more tools to our engineering toolbox.
Do not fear.
The last thing I want to mention is don't be afraid. I want to argue that some amount of over-engineering is inevitable in one's journey to become a better engineer. Sometimes the best way to know where the line is is by crossing the line and remember how it feels.
So when you acquire a new shiny tool, don't try to use it everywhere, but don't get so timid that you don't use it at all.
When your best judgment tells you a potential use case of it, go ahead can try it out. Don't be afraid of making mistakes.
You either learn to fail or fail to learn.
So, go ahead, learn and adopt new tools, don't be afraid to try it out, and get ready to learn from your experience to know where the line is. I think that’s essentially the journey of becoming a better engineer
I find this mindset is also applicable to life advice as well.
The world is full of different kinds of advice for every aspect of life ranging from what to eat to how to find your life callings. While lots of these suggestions are coming from a genuine place and can be good for us, it's easy to get lost and overwhelmed.
After coming across the toolbox mindset, whenever I learn about a piece of advice, I try to remember to ask myself who is this for, is this applicable to me right now? If so, I might give it a try. If not, I will add it to my life toolbox and save it for later.