Programming Tools of the Trade


This is an opinionated introduction to programming tools of the trade, written as much to remind myself of what I should be learning and relearning as to help others. There are lots of other ways to do things and I’ll try to reference those as I move through – but the emphasis is on using one of the most popular toolsets.

Version Control

Git is one of the most popular distributed version control systems (DVCS) available. In itself, it is consists of command-line applications.

You’ll likely utilize GitHub for hosting at least some of your code repositories, in which case you may want to use GitHub Desktop for a GUI based interface rather than using the CLI.

One reason I suggest GitHub Desktop over other Git GUI clients is the brief interactive tutorial it offers on first launch. I highly recommend stepping through this (5 mins.) and then reading GitHub Flow (5 mins.) which explains how the workflow for GitHub operates.

You’ll definitely want to understand how to create a branch, add commits, open a pull request, discuss/review code, deploy, and merge (aka, what the above GitHub Flow article covers).

Note that while GitHub is closely related to Git, they are not one and the same. Ideally you should learn how to use the Git CLI as well.

Alternative Git Software

Alternative Git Repository Hosting

Resources to Learn Git