I wrote a blog post on tool mastery a few days ago, mostly in response to an egregious article named "You are not your tools"[0], but also to write down some of my recent thoughts on this topic[1].<p>I agree with the OP that internalizing a tool changes your brain for the better. Everyone knows that learning a new language (human language) expands your brain and improves your ability to learn <i>more</i> languages. Let's continue this example, just to make things clearer. Mastering foreign languages is not a cakewalk, despite scattered marketing claims that you can do it in a year or even three months. From the OP:<p>> Just having a passing familiarity with the tool doesn't empower you.<p>You can't learn Korean just by visiting Korea and waiting for osmosis to take effect. Even people who live in foreign countries for decades fail to learn the language if they don't put in the appropriate effort -- I've seen it happen. But "You are not your tools" makes the following dim-witted assertion:<p>> Spend your time listening and learning from everyone, whatever tools they use: most skills will transfer just fine.<p>That's exactly the opposite of what you should do. You will internalize nothing with this plan, nothing will "transfer" (if anything you will have interference[2]), and you will just end up like so many other mediocre programmers I see. Anyone who's learned a foreign language knows this -- you need skillful Practice and Concentration. Trying to learn two languages at once takes more than twice as much effort than if you focused on one, if you don't do it with great skill.<p>Quote from my blog post:<p>> There is a huge gap between the average programmer and the real hacker. On one side of the gap is the doe-eyed little boy who goes into every project clueless about how to start, searching for a relevant tutorial on Google while frantically asking questions on StackOverflow. On the other side is the man who plunges into the project with an air of mastery, controlling his environment with a fluid ease which is rare and somewhat dangerous – a man who’s already finishing the task by the time the boy has gotten his first response on StackOverflow. Which side of that gap do you want to be on all your life?<p>Now returning to the OP.<p>> What qualifies as a tool? Does critical reading qualify? How about writing well?<p>These absolutely qualify. These are fundamental tools -- mastering them will improve many other areas of your life. But you would not believe how few programmers take the time to improve these skills, or even care. Sometimes I get the feeling that the average programmer hasn't read a single book in his life (apart from maybe some programming or self-improvement books, which are generally poorly written and unimaginative). It shows.<p>> What are the tools that benefited you the most?<p>Emacs, without question. I took the time to learn it during a spell of happy unemployment as I was living abroad. This one decision has paid enormous dividends in my life, but only because I took the time to truly master this tool. It not only has made me more productive at pretty much everything I do on computers (which in itself is valuable -- the more prolific you are, the better you become), but it made me <i>smarter</i> and <i>more confident</i> on account of having mastered something. Men are supposed to be experts. Mastering something silences your inner critic and cues your brain in to your innate self-worth -- it's how male brains seem to function.<p>You can learn Vim instead, but please avoid IDEs. Easy-to-use, lowest-common-demoninator, "thoughtless" tools actually seem to be making people dumber. It's the path of least resistance versus the path of blood, sweat and tears -- and they go in opposite directions.<p>A question the OP should have asked, but didn't:<p>> How do you know when you've mastered a tool?<p>You will know. It changes the way you see the world. New possibilities arise, the horizon broadens, and you begin to see with lucidity how powerful you are and how far your potential truly goes.<p>As J. Peterson says,<p>> People create their worlds with the tools they have directly at hand. Faulty tools produce faulty results. Repeated use of the same faulty tools produces the same faulty results.<p>A quote from Kafka on the Shore:<p>> Pointless thinking is worse than no thinking at all.<p>[0]: <a href="https://codewithoutrules.com/2018/03/23/you-are-not-your-tools/" rel="nofollow">https://codewithoutrules.com/2018/03/23/you-are-not-your-too...</a>. These kinds of articles are not just idiotic, but harmful to society -- the attitude expressed here will make people worse at their jobs and at life, and we should speak out against this pernicious mindset.<p>[1]: I won't post my article here, as my blog can be found on my user page. I posted it on Reddit and received a hostile and, well, juvenile response. A lot of people took issue with the idea that certain tools are better than others (seems like Vim/Emacs are not liked there) and the idea of someone taking mastery seriously ("You must be fun at parties" was, I kid you not, an upvoted response). It's not just about mastering your tools, but mastering your environment by extension. It's about power -- the power to change our world -- for the better. Many people embody a mediocrity mindset and go through life without skill or strategy -- they unconsciously know their own inadequacy, and you can see this on their faces.<p>[2]: <a href="https://en.wikipedia.org/wiki/Interference_theory" rel="nofollow">https://en.wikipedia.org/wiki/Interference_theory</a>