Published on

Essential Software Development Tools For Work and Play For 2022

These are the apps and tools I cannot live without

Authors

Photo by Hal Gatewood on Unsplash

This post contains affiliate links. I make a small commission on purchases made after clicking my affiliate link, at no cost to you. Affiliate links will be marked as such.


Ok, ok, ok. Everybody makes these lists. They are everywhere. I get it. If you don’t want to read another one of these “Tools I use” posts, you’re welcome to click away now. I promise I won’t hold it against you.


Thank you for reading!

I find these lists valuable. It’s interesting to me to see the tools that other people use to do things. I’ve stumbled on awesome tools more than once by reading posts like this, someone might find value here.

What follows are lists of apps and tools I consider to be essential. One list for work, and another list for play.

Work Tools

I spend my day working as a Software Development Lead for a startup. Sometimes I write code, other times I spend times in meetings. I’m an engineer, and the tools below reflect that.

I won’t waste time covering the common tools, know that I use them and they are essential too: Slack, Dropbox, Postman.

Terminal + ohmyzsh

When I am developing, I spend a lot of my time in the terminal. I prefer to use the native mac terminal with ohmyzsh. I’ve tried iTerm and others in the past, but always find my way back to the native terminal.

I maintain my own dotfiles repo which includes a host of aliases, vim configs, and some other fun scripts. This makes moving computers a breeze. It also makes it easy to share settings between work and personal machines.

VSCode and WebStorm

I’ve used many editors throughout my career. From Vim to Notepad++ to SublimeText to Atom to IntelliJ and now, finally, VSCode and WebStorm.

VSCode is my go-to for most situations. I use my own theme, called ss-octopus and have spent years getting it setup exactly the way I like. Recently, though, I’m starting to use WebStorm more and more for large complex projects. It’s a little heavier than I’d like, but it does what I need slightly better than VSCode in some circumstances.

LICEcap

My work sometimes involves creating gifs of interactions. LICEcap is my favorite tool for this job. It is well traveled and battle tested. I’ve used this tool my entire career. Sure, there are other tools out there that do the same thing. I’ve found LICEcap to be the best.

Side note: LICEcap is made by a company called Cockos. While researching this article I learned that they are the makers of another app I use. This is an app for music production called Reaper. I love Reaper! Their stock just went up even more in my book!

DBeaver

I’m a UI developer so, with that in mind, I don’t always database but when I do I use DBeaver. This is another app I’ve been using for years. DBeaver supports most, if not all, of the popular dialects. It is well maintained and is frequently updated. It’s free and very easy to use.

Instatus

I wrote about how you can Have Slack Tell You When External Services Hiccup. I also use an app called Instatus to solve a similar problem. This is pretty handy, for the same reasons Slack notifications are handy. I can watch my own personal list of services. This list is a little different than the services I care about with my Slack notifications.

Have Slack Tell You When External Services Hiccup
_Use a single slash command and have Slack do all the work_nategeslin.medium.com

NPM Packages

JavaScript is my main language. There are a few packages I use on a daily basis. I would consider these to be essential, but these are also very specific to my own workflow(s). So your mileage may vary.

Also note, these are some of the only packages I install globally.

  • http-server — spin up a local server. This is super handy for serving test coverage. It’s also useful for other cases where need a small server on my machine.

The next two are packages I wrote. Again, these are pretty specific to my workflow, your mileage may vary.

  • checkmeout — small cli util that lists local git branches and provides a list to chose a branch to checkout. Basically git branch + git checkout.
  • gbrdm — small cli util that provides an interface for deleting multiple local git branches at the same time.

Notebook and Fineliners

Analog has a different look and feel than digital. I use digital notes for other things in my life. But, for work todos and notes I have circled back to regular old notebook and pen. Well, almost. There is a particular notebook that I use and a very particular sort of pen that I use.

Notebook:

Muji Recycle Paper Double-ring Dot Grid Notebook — A5, 70 sheets, with rubber strip (affiliate link)

Fineliners:

Taotree 24 Black Pens Fine Point Black Markers (affiliate link)

Other than that, just regular old pen and paper.


Photo by Elena Mozhvilo on Unsplash

Personal Tools

I have two toddlers at home (where I also work), so life comes at me fast and furious most days. This means that if I want to get things done, I need to have them planned and ready to work on when I have free time.

Many of the tools listed below simply help me stay organized.

Bear

For years I used Evernote. It worked great for a while but then it changed. They started making changes that, for me, just made it difficult to use. A few years ago, a colleague of mine suggested I use an app called Bear.

Bear is a masterfully design app. I can use markdown, there is a native mac and iOS app that syncs between devices, and I can use tags and stuff. It’s awesome of free flowing notes and high-level ideas.

Nirvana App

Nirvana is like a cross between Bear and a todo list. This was another app recommended by a colleague. With Nirvana, I can organize tasks on their own or as part of a project. I can give them due dates, time estimates, priority, and even tags.

It’s made setting up work for personal projects pretty awesome. This app comes in iOS and web app flavors for, again, synced notes across devices. Todo lists are everywhere, I know, but this is so much more! @nirvanahq has done such an amazing job creating a wonderful, easy to use app that works on mobile and desktop.

I’d seriously be lost without it!

Thunderbird

Thunderbird is yet another app I’ve been using for years. I don’t know about you, but I have a lot of different email accounts. I have some for websites I run, others for specific uses, etc.

Thunderbird makes it super easy to manage multiple email accounts all at once. I’d be pretty lost, and behind, without it.

Google Sheets

Google Sheets is pretty awesome. You already know this.

I learned how to program via Lotus 1, 2, 3 and then Microsoft Excel. I come from a family of accountants. Spreadsheets are sometimes a dinner table conversation topic.

I use spreadsheets to help organize ideas and even setup app ideas (which I’ll write about someday). It’s great having Google Sheets!

Hemmingway Editor

Hemmingway Editor is a recent addition to my app list. I’ve been writing more and more lately. Hemmingway is like having an editor go through your work and call out all the mistakes. It’s really pretty awesome and has definitely made me a better writer.

Memory Clean 3

Memory Clean is one of those utils that you don’t know you need until you don’t have it. I run several memory heavy apps throughout the day. Things like Chrome, Docker, or any other Electron app.

Memory clean will keep an eye on things for you. And can be configured to periodically clean up your memory allocations. It’s not foolproof, and won’t solve all your problems, but it will help you re-gain memory from time to time.

Daisy Disk

Occasionally, node_modules gets out of control. Other times I run low on disk space. Some times I just like to clean things up. When that happens, I reach for DaisyDisk.

DaisyDisk will scan your hard drive and, once it’s done, show a radial graph of disk usage. You can zoom in on large sections of usage and remove things right from DaisyDisk.

Conclusion

So many apps! Maybe some of these apps you’ve never heard of? Maybe you’ve had good experiences with these apps too?


References