My Developer Workbench: Part One

by Andrew Smith 3 min read

Overview

Today I'd like to share my developer workbench and I'll cover the software I regularly use. In future blog posts, I will also demonstrate how I automated the installation and setup of these tools and provide additional details on extensions and plugins.

I have broken my software down into a couple of different lists. The "Essential" list contains software that I use regularly enough to simply always install and configure. These are the targets for my automation.

From there, I selectly will install and configure the software based on the technology stack in use. I am including some variations of them for future reference.

Remember, my development machine is running OSX.

Essential Software

SoftwarePaidDescription
1PasswordPaidPassword manager.
Alfred and PowerPackPaidOpen apps, perform actions, and other workflows with hotkeys.
Altair GraphQL ClientFreePostman-like client for GraphQL requests.
BackblazePaidContinuous backups with unlimited storage.
BetterSnapToolPaidCustomizable window manager with hotkey support.
BetterTouchToolPaidCustomize aspects of your mac's trackpad, touch-bar, and more.
ChromeFreePrimary web browser.
DashPaidSearch library documentation and more; with hotkeys support (Alfred).
DiscordFreeChat application for personal dev communities and the React community.
DockerFreeRunning containers.
FantasticalPaidA better calendar experience.
FirefoxFreeCross-browser testing.
git / GitHub CLIFreeCommand-line access to GitHub specific functionality.
GitX-devFreeI only use this for viewing Git history. I like it better than printing a color-coded tree to the terminal.
GrammarlyPaidWriting tool with spelling and grammar checks, as well as tone analysis.
Homebrew / CaskFreeEnables installing software from the command line.
iTerm 2FreeStand-alone terminal supporting different visual styles.
KeybaseFreeManage my GPG keys across machines.
KubectlFreeKubernetes management
nvmFreeManage multiple versions of Node.js; useful when different projects require different versions on Node.js.
Pliim ProPaidQuickly prep your machine before presenting; turn off notifications, hide desktop icons, etc.
Python 3FreeEnable compiling node-gyp packages and python development.
SlackFreeChat application.
SnagItPaidCapture screenshots or record your screen. Provides tooling to edit and markup images.
SpotifyPaidListen to music.
TodoistPaidTo do list. I have tried an untold number, but consistently come back to this one.
VS CodeFreePrimary editor.

Other

SoftwarePaidLanguageDescription
RiderPaidC#Primary IDE.
IntelliJPaidJavaPrimary IDE.
PyCharmPaidPythonPrimary IDE.
RubyMinePaidRubyPrimary IDE.