Tools I Work With

Bryan Lott published on
3 min, 508 words

Yay for interesting writing prompts. Here’s a quick list of the tools I use on a daily basis to get my job as a software engineer done:

  • Slack: pretty much required for asynchronous communication. Email is reserved primarily for more “formal” communication over “getting shit done”.
  • iTerm2: terminal emulator, nothing much to say here but it’s far and away the best on OSX, to the point where I can ignore it. I love tools that get enough out of my way that I can ignore that they are even a thing!
  • Fish: friendly interactive shell. For now, my shell of choice over bash and zsh. It works better out of the box but unfortunately isn’t bash-compatible. I waffle between fish and zsh on a regular basis but have been sticking with fish for close to a year now. Probably means it’s time to go back to zsh and oh-my-zsh
  • Spacemacs (with vim bindings via evil-mode): definitely a powerful editor/ide/etc. Has the most fully-functional Scala integration outside of intelliJ (which I won’t use on principal). The spacemacs configuration lends itself to discoverability as well as a pretty low-friction setup (for non-emacs users like myself). The vim bindings are the best modal editing I’ve found and are in most editors so I’m able to turn them on and just “get to work” faster. I’m definitely not a vim wizard by any stretch but I do find the editing capabilities much better than any other key bindings I’ve found yet.
  • Visual Studio Code: for when spacemacs freaks out and won’t work or if I’m writing Rust (spacemacs rust stuff… kinda-sorta works well enough if you’re familiar with the language, which I’m really not). Also, if I just need a change of pace.
  • Chrome: for the longest time I used Chrome for password management so it was my default, but I’m considering moving to Firefox now that I’m using 1password as my password manager on all my devices.
  • nvAlt: notational velocity. I have it bound to cmd+` and love its ability to pop up and pop away, support for markdown, and the ability to sync (or not) with various platforms based on where you save its files. The stupid-fast-searching is well worth taking a look at.
  • Insomnia: a postman clone that, IMO, is cleaner and more intuitive. Plus, I just like being different.
  • GitKraken: hands down the best GUI Git interface. Integrates well with both Github and Gitlab, very performant. Multi-platform. For me, it removed the fear when doing a rebase because I knew exactly what I was doing when and where. I do, however, tend to use spacemacs git integration layer for simple commits.

That pretty much wraps it up for tools. Those are the primary ones I use in my day-to-day writing Scala and Rust. Of course, it’ll probably change over the next few months as I get bored pretty easily and when a new shiny comes along, I can’t resist giving it a try!