Being a programmer is sometimes also about enjoying optimizing things. Be it a code or daily processes, it makes life just a bit easier. With each optimization you can save a couple of minutes a day which you can then spend on something more enjoyable than repetitive or cumbersome tasks. And if you manage to save even 10 seconds a day, you can save one hour a year that you can then spend on doing something more pleasurable or useful.
This then translates into increased productivity on customer projects, where I can focus better on things that matter.
Here I’ll list 6 tools which I found very useful to achieve my daily optimizations (in no particular order). Hope you find them interesting and give them a try.
All of these tools are quite simplistic and don’t require any significant mind shift. I don’t like accommodating myself too much just for a specific tool and I believe it should be the other way around. Since in our company we are used to working with Mac, this post is focused only on tools for Mac. This, however, doesn’t mean that there is no Windows version or (even better) alternative.
This is THE productivity tool. At first I used it just for launching of application, then I abandoned it because I thought I can do the same with Spotlight without any third-party app.
I kept hearing good things about Alfred though. I came across a Youtube video about it and I was left intrigued. I gave it a shot, took the time to play with the workflows and since then I use it literally every day.
My main use case is still the launching of the apps, but in addition to that, the second most used action is opening a Github repo. It’s super useful if you have to work on many different repositories and switch multiple times a day.
Want to quickly check logs of a Heroku app? Open the dashboard? Check the CI status? Connect to a specific VPN? Or SSH? It’s all just a few keystrokes away.
I will not go too deep into it all the workflows, but I’ll just mention https://github.com/deanishe/alfred-workflow
It’s super useful for writing your own workflows and I used it to write a workflow which fetches pull requests assigned to me on Github.
Github pull request workflow for Alfred 3. Contribute to renuo/alfred-pr-workflow development by creating an account on…
Here’s a list of workflows I use:
2. Giphy Capture
Ever wanted to create quickly a GIF, but didn’t want to spend too much time with it?
It’s cool to visualize dynamic things where your message wouldn’t get through just by using screenshots.
In the latest MacOS Sierra, taking screenshots has gotten better. However, in my opinion, it’s nowhere near the simplicity of what you can do with Annotate.
I used this tool before MacOS Sierra came and I continued using it also afterwards. It makes annotations on screenshots so much easier. There are simple one-letter shortcuts to switch the tool between text, arrows, pen, overlay. You can easily copy the image and paste it whenever you need it (for me it’s usually Slack or Github).
It’s also easy to upload the picture to a cloud service, which I frankly don’t use.
BetterTouchTool is a powerful tool which I’ve been using since I got my first Macbook. Although it’s very powerful for many different reasons, the single reason I’m keeping it is because of the Windows-style window snapping feature.
This allows me to easily split and position any window intuitively on the screen in a way which makes my OCD very happy. No keyboard shortcuts needed, just a simple window drag. I can’t believe this isn’t integrated into MacOS… maybe one day.
5. Duet Display
This tool was developed by ex-Apple engineers and you can feel the nice integration. It is useful when you’re on the go and are used to working with multiple screens. Usually when developing, I tend to have half of the screen the IDE and the other half is the output / product. This is not so convenient on a single laptop screen, so whenever I’m doing something more time-consuming, it always feels good to have more screen space.
I have Send Anywhere installed on my laptop, PC and phone. When I for example want to test an app i’m currently working on and check how it behaves on my phone, exchanging the APK file with this tool is made very easy. It remembers the recent devices and I can easily pick the target where the file should go.
Previously I used to upload the file to Google Drive, then open it on the phone, download it. I ended up with a clutter from the files which I always forgot to delete.
This was my list of a couple of useful tools. If you can recommend me some other awesome tools, feel free to leave me a comment!