Hackernoon logoEssential Productivity Tips Every Software Developer Should Know by@sco

Essential Productivity Tips Every Software Developer Should Know

Scott Fitsimones Hacker Noon profile picture

@scoScott Fitsimones

Building with django, python, react, elixir, and render.

As I was doing engineering interviews last week, I was surprised many devs didn't know about a few life-changing commands I've picked up over the years. I started writing down some essentials and shared them in a popular reddit post. Now, I'm publishing this more thorough version for Hackernoon.

My philosophy is that a few minutes saved every day add up over time and lead to meaningful productivity gains. In this article I'll share my essential workflow tips, tools, and extensions. I'm not suggesting memorizing manuals or lists of commands. Quite the opposite: I've tried hundreds of workflow tools and my goal is to distill the vast array of productivity tools and key commands into the most critical ones.

Essential Key Commands

Note: For Windows, replace command with CTRL.

CMD - L : Did you know that instead of clicking on the URL bar in Chrome Brave, or Safari, you can just type command - L? This saves a ton of time, especially when combined with Jumprope commands (see below), because you don't need your mouse to open webpages anymore. (Use Alt-D on Windows.)

SHIFT - CTL - CMD - 4 : Takes a screenshot directly to your clipboard. This one really impresses people when they wonder how you pasted the screenshot in the doc or Slack without digging through files.

SHIFT - CMD - T : Reopen last closed tab. If you accidentally close a tab, this one is a lifesaver.

CTRL - R : Search through your terminal history recursively.

CTRL - A : Go to the beginning of text box (works in terminal, notes, etc). I remember this by thinking put the cursor "at the beginning." This one is super useful for editing typos in terminal and saves you from holding down the left arrow key.

CTRL - E : Go to the end of a text box (works in terminal, notes, any app)

Essential Tools and Utilities

Jumprope : The Chrome extension Jumprope brings terminal command functionality to your Google Chrome search bar and allows you to set up aliases and shortcuts to search websites or open frequently visited pages. Some examples of built in commands that work right when you add the extension:

gd resume β†’ search your resume in google drive
m1 - open your personal gmail
m2 β†’ open your work gmail
c1 β†’ open Google calendar

You can also add custom commands. At my startup, AirGarage, we set up commands like

prs
to open outstanding pull requests and
zm
to open the company zoom. We also use it to search the Django Admin database for resources by setting up custom commands like
profile 
tim.turner@gmail.com
(pulls up Tim's profile in our Django Admin).

I also use it to search my email and Google Drive. A GIF is worth 1000 words:

Alfred : I recommend Alfred for a single reason - extended clipboard history. I can't imagine not having clipboard history, it's something that once you start using, you can't go back to the days of a single clipboard item. This is the only item on the list that costs money, but it pays off. (I'm not affiliated in any way).

Best of all it supports rich image copy and paste, you can search through your history (much like with CTRL-R terminal history search), and you can customize how far back you want to save.

Autojump : Sticking with the theme of jumping, autojump is a teleporter for your terminal. Gone are the days of

cd
-ing and
ls
-ing. No more trying to remember where a directory is. Autojump remembers the directories you visit most and weights them based on frequency. Then, you can simply type
j fib
and it will open your fibonacci-puzzles repo.

Right after installing it, you still have to visit your directories the old way using

cd
to train autojump where to look. Then you can use the
j
command to start opening them instantly after it has indexed your most common directories.

Tmux : If you live in your terminal like me, you'll need tmux to organize your windows. tmux allows you to easily split, move, resize, and create new windows and tabs. Best of all, it works on any linux-based server so its super portable (unlike the built in terminal or iTerm2 tab system).

To get started with tmux on OS X, run

brew install tmux
and start with this
guide
. Tmux has the steepest learning curve of any of the tools mentioned in this article, but learning the basics like pane-splitting can go along way. For example, in my most common setup, I always have 4 windows open with the local repo I am working on, the project running on a server, a python interpreter, the server I am deploying to visible. When you want to focuz on a tab, you can use the z command to "zoom" into that tab and get something done.

Conclusion

I hope you found this useful and picked up some new tips and tools for your workflow. I'm not claiming this is an exhaustive list, but these are the productivity tools I can't live without.

I think some of the biggest gains come from combining tools, for example, whipping up several tmux windows and using autojump to quickly change directories. Or using CMD - L and then typing a jumprope command like

prs
to open your outstanding pull requests.

If you think I missed anything major, get in touch on Twitter.

Scott Fitsimones Hacker Noon profile picture
by Scott Fitsimones @sco. Building with django, python, react, elixir, and render.Read my stories

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.