As a child growing up in the UK, a proverb that I would hear often was “A poor workman blames his tools”. The meaning behind this is that it is not the tools that make us good, it’s more to do with how we employ them.
As I have grown older I have come to realise that to some extent, I disagree with this proverb. While I agree that having the finest paint brushes won’t make me a substantial better artist, I believe that I can be more effective with a reasonable paint brush than one where the bristles are all old and bent out of shape.
The same goes for the applications I use as a software engineer, while they don’t turn me into a superstar coder in themselves, there are tools that make me more effective as an engineer and I thought I would share my 5 favourite with you.
5. Moom
The first application I wanted to share is Moom which significantly improves window management in MacOS. Moom achieves this by allowing you to quickly resize and snap windows to different parts of your screen.
The most common way in which I use Moom is to snap a window to each side of my screen, both with 50% width so I can see them side by side. Normally I will do this Visual Studio Code and Chrome so allow me to see what is happening in my browser while I make tweaks to my code in my editor.
For me, having a tool that manages my windows saves me loads of time manually resizing windows.
Get Moom at https://manytricks.com/moom/ where they have a free trial you can try out.
4. Expressions
As a JavaScript Engineer I don’t spend every day writing regular expressions however when I do need to write them I turn to Expressions to help me wrangle the right regex to solve my problem.
What I love about about Expressions is how clean its interface is, its as simple as a text box for your regular expression and another for the text you want to test it against. Beyond this it has built in reminders of the different things you can do in regex and allows you to save your regex for later in case you need to use them again. These are both in toggleable panels that are hidden by default.
You can get Expressions from its website https://www.apptorium.com/expressions
3. Gifox
The next application doesn’t help me code, it instead helps me improve how I can communicate with my colleagues. The application I am talking about it Gifox which is an application that allows you to record parts of your screen or whole windows and save it as a Gif.
Gifox lives in the Mac menu bar at the top of your screen and when you want to start a recording you can either click it or use a keyboard shortcuts. You then have the option to either record a window or a specific part of the screen.
The reason I love this application is it allows me to make short gifs that demonstrate something I want to show to a colleague. A particularly good example of this is for reporting visual bugs where you want to show the interaction that resulted in the issue you have discovered.
You can get it at https://gifox.io.
2. Path Finder
The next application I want to talk about is Path Finder by Cocoatech. Path Finder is an alternative for MacOS’s Finder application which provides many enhancements that are beneficial to software engineers.
Some of my favourite features of Path Finder are:
- Easy toggling of hidden files by a button you can add to the toolbar, super helpful so you can see those config files that start with a dot
- Side by side view for seeing two folders at once in one window
- Open current folder in terminal, great if I am wanting to jump into a coding project from the file system
You can get it at http://cocoatech.com
1. iTerm2
Beside my text editor and my browser, the third application I use most is my terminal. For years I simply used the built in Terminal application however a colleague convinced me to give iTerm2 a go and I have been a user ever since.
iTerm2 stands out from Terminal by offering some really powerful features that enables you to be much more effective.
- Split panes which allow you to work across multiple terminal sessions side by side, this can be particular useful if you are running commands against multiple servers at the same time and you want to keep an eye on them all at once
- Customisable tabs allow you to colour code your tabs so its easy to switch back to the one you need, with hotkeys allowing you to perform the switch without leaving your keyboard
- Automatic profile switching so you can have tabs configure themselves based on what you are running inside them
Get iTerm2 for free over on its website https://iterm2.com
Setting up iTerm is a blog post in itself, fortunately
has already written a great post on this already: