The book The Pragmatic Programmer was an introduction to life as a programmer. As I’ve gone through my career, there are still lessons in this book that go back to. Specifically, the section on Power Editing (Chapter 3, item 16) says:
We’ve talked before about tools being an extension of your hand. Well, this applies to editors more than any other software tool. You need to be able to manipulate text as effortlessly as possible, because text is the basic raw material of programming.
– pp. 82 in my edition
Let’s go one further and say that in this day and age when we read on the internet and send text messages all day, the text is the primary raw material of our lives. Being literate is one of the most essential skills in the world today. So is using a computer, even if it is just a phone.
This passage refers to the art of creating and editing text in an editor for a programmer, but the notion of knowing your tools extends to every job. I am unable to think of a job where tools aren’t a part of it, whether it is your power tools in construction, your pens as a writer, your knives as a chef, or even your boat as a sailor. Some jobs require more than one set of tools.
It is one thing to be able to use a tool, and it is a different thing to master its use. As tools get more complicated, the work to master them also grows. For example, a hammer is relatively simple to use, but a jackhammer is far more complex.
Mastering your tools is part of learning your craft. Throughout my career, I’ve used many different development tools. I’ve used IDEs, text editors, terminals, and even other operating systems. Each of these is a tool. Investing energy to become a power user in each of these tools is possible.
This brings me to where I am today. The tool stack I’m using today is different from what I was using two years ago, which is very different from what I was using five years ago, which is incredibly different from what I used at the beginning of my career.
Most tools have evolved, but some are no longer maintained. Many tools receive updates or new features. Each change may lead to additional time needed to master your tools.
The point of this is that you should set aside time in your life to continue learning and growing your ability to use your tools. That is the state I find myself in. When it came to XCode, I could split and move between windows like crazy when I was writing Objective-C Code for RelateIQ or Salesforce. My skills are a little rusty, and most code is written in Swift, not Objective-C (so no headers). I also spend much less time in XCode than Visual Studio Code or Obsidian.
I will discuss how to use and grow in these tools here. Today, let me talk about my favorite command, which I use more than any other command: Command + Shift + J. In XCode, this reveals the current working file in the explorer on the left. Obsidian and VS Code have file browsers on the right, and I have configured the same shortcut to show the current file on the left. I use this shortcut more than ten times daily, and I’m glad I’ve committed to putting it into my tools.
As a side note, if you haven’t yet checked out Gluino, do so. It’s a good tool to begin learning how to use.