A Break From the Norm

I usually post about code, but today I want to post about tooling and process. There are a few things that greatly aide my productivity that I would like to share. In no particular order, here are things I think can save you somewhere on the order of hours per day in productivity, not to mention your sanity.

1. Make notes for yourself

Every day before I leave I spend 30 seconds writing myself a couple notes about where I left off and what I have on my mind. I use Google Keep to take notes, but to each their own. These notes are wonderful the next morning as I can pick up right where I left off, and even refer to them throughout the day to remember the small things that might otherwise slip through the cracks.

2. Create shortcuts

Allow yourself to do things faster. I create endless shortcuts. Here are just a few of them

  • I have browser bookmarks for all the services and sites I need to use daily, with shortened names so that more fit on the bookmark bar.
  • I use LastPass to manage passwords. I log in once in the morning and never have to worry about remembering credentials for the rest of the day.
  • I have TONS of aliases. Check out my .zshrc, my .gitconfig, or my .vimrc.
  • I use BetterTouchTool to set up keyboard shortcuts for moving windows to different monitors, minimizing, maximizing, snapping, etc. You can find my config here.
  • I have trackpad gestures to close tabs, switch tabs, switch windows, switch desktops, etc (included in above BTT config).
3. Be proactive

Investing time up front will save time in the long run. Shitty build process that requires you to alt-tab and restart a script just to test your change? Invest a day or two or three now to automate process. I promise you that you will save a ton of time and sanity in the long run.

4. Get good at context switching

Inevitably we will all have to context switch. Things come up, prod deploys explode in your face, people need help with something. I segment my work very methodically. If I context switch to some other issue, I minimize my browser window with all my current tabs, minimize my terminal, and any other related windows. I then open new windows to deal with the new issue. This way I can easily pick up exactly where I left off on my previous task with zero effort. The amount of time I see my coworkers wasting searching through their 100 open tabs for that one they needed from 4 hours ago can be painful sometimes.

5. Speak up

At the end of the day, the reason you have a manager or someone you report to is to make sure you are getting the resources you need to do your job, and that the company is getting the most they can out of you as an employee. If there is a process, formality, or meeting you think is wasting your time or others' time, bring it up with someone. I’ll bet you a nickel you won’t meet much resistance if you make helpful suggestions about how to improve processes on your team (don’t just complain with no suggestions for improvements).