Programming tradecraft

“Tradecraft” carries a connotation of high-stakes skullduggery, usually by semi-psychopathic agents of various governments, usually up to no damn good at all.

But what a great word, tradecraft.

In programming, tradecraft could be used to refer to all those critical skills enabling productivity. In particular:

  1. Mastering your editor and editing environment. This could be Vim, Sublime Text, Emacs, Visual Studio, doesn't matter. What matters is being able to communicate with the computer without thinking about the communication.
  2. Mastering your build system. Make, Rake, SCons, Visual Studio, doesn't matter, learn the ins and outs.
  3. Master your version control system. Again, which VCS matters less than understanding version control principles and integrating version control into the daily workflow.
  4. Mastering the APIs and language features allowing you to "trade" in your craft.

All these tools are irrelevant to Computer Science.

Mastery of all is critical to mastering programming tradecraft.

Initially, it doesn’t really matter which set of tools are learned, so long as mastery is pursued. It’s the mindset that matters most.