Master thy tools

I recall, early in my career, being in a pair programming session with my colleagues and constantly receiving feedback about the IDE shortcuts I should be using. I used to despise that advice, since I interpreted it as being a manifestation of programming OCD behaviour. I only ended up understanding the true lesson behind their suggestions much later.

As a programmer, my development environment is the mechanism through which I deliver value. It helps me translate ideas into working software. Therefore, having a more efficient development environment can be compared to having a bigger leverage. It helps me do more with less, it helps me amplify the reach, quality, and impact of my work. Improving my developing environment is akin to working with a hammer that gets better over time.

Improving my development environment involves taking the time to understand the tools that I use, learning the text editor’s shortcuts, automating repetitive tasks, understandings my quirks when programming and accommodating the environment to them.

As with most things,the hardest part is discipline. It takes discipline to stop what you are doing so you can investigate how to automate a task. It takes discipline to learn or create a shortcut for an operation you do countless times a day. It takes discipline to notice your own behaviours so you can support them. The best occasion to improve your development environment is usually right now – it is not like you don’t spend dozens of hours using it per week.

During this summer I started using Vim and tracking my environment across machines using a dotfiles repository. There are a lot of things that I like in Vim, but the one I most admire is the way Vim users care about their development environment. Vim has taught me that there is value in learning about the tools that I use. Vim has taught me that I should act as a constant gardener of the way they work. I use Vim, but the same approach can be employed in any other text editor or tool you use. A development environment is a big and important investment, don’t allow it to be a simple coincidence.

Master thy tools.

Seven habits of effective text editing is great literature on this topic.