In no particular order, listed below are the tools I use on a daily basis to write code and be productive. If you have strong opinions about why X should replace Y on this list, leave them in the comments because I am always looking to make my workflow faster and more efficient.
Terminal Tools
iTerm2 (v3)
Highly customizable compared to Terminal. I get a lot of mileage out of the natural text navigation configuration (holding option/alt to move between word breaks)
Homebrew
My package manager of choice. I use brew bundle
quite a bit to ensure that my Dev Env dependencies can be easily migrated to a new machine if anything happens to my current one.
Tmux
From their site:
tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.
If you can get past the size of the config file (psst. feel free to use mine), this tool is a must. If you've ever accidentally closed a terminal window where you needed something that was on it, you'll benefit from learning how to use Tmux.
Non-Terminal Tools
I had to group things by functionality because there are some acknowledgements that need to be made. I'll mark the one I use, but know that I have at least tried the others.
Text Editor
I am a Sublime Text convert after seeing how easily extensible VS Code is.
Easy Mode:
Hard Mode:
Window Manager
While I only use Spectacle, there is a huge honorable mention due to koekeishiya, the dev behind ChunkWM. He is a legend in terms of writing window managers.
Easy Mode:
Hard Mode:
Note-Taking
I cannot recommend Notion enough. Their feature set blows most everything out of the water. Just check out their product page and see for yourself.
Misc Productivity
Alfred
This Spotlight Replacement (and a whole lot more) is the core of my productivity. Alfred is highly extensible and worth the price for the text snippet functionality alone.
Bartender
With everything having a menu bar icon, Bartender helps clean up the noise and only bring things to your attention on your terms.
Dash
From the site:
Dash is an API Documentation Browser and Code Snippet Manager. Dash stores snippets of code and instantly searches offline documentation sets for 200+ APIs, 100+ cheat sheets and more. You can even generate your own docsets or request docsets to be included.
Solid tool for offline documentation (and integrates with Alfred).
Tools ≠ Practice
The TL;DR of any post like this is that tools do not equal development practice. This toolset has been built out of necessity; spending time refining my workflow to make it more efficient. If you use a different set of tools that works for you, great. The environment tools you use do not make you a better or worse developer.
+1 for Notion. It was a game changer for me in how I organize my thoughts, plan for house projects, whiteboard apps, etc etc etc.