5 Tools That Will 10X Any Software Engineer’s Focus and Productivity

These five tools used proficiently will improve your ability to focus and engineer software.

Software engineering is primarily a collaborative game played by humans in teams. But you still spend a lot of time writing, refactoring, deleting, and testing code. The more efficiently you can perform those tasks, the more time and energy you will have to play the game.

Git

It’s the first place your code encounters the code of others.

Most of the time you’ll be in a rhythm of branch-code-commit-push-PR. But occasionally strange things happen. A merge goes awry. A push is rejected. A commit from three days ago must be amended. Git proficiency transforms these moments from stressful to no big deal.

Your Company’s Native Command-Line Shell

It’s consistently the most productive place to get work done.

Graphical environments come and go. Design systems change. But the command line remains the same. If you’re on a Unix derivative, learn your available shell of choice. If you’re on Windows, understand PowerShell and CMD.exe. Command-line proficiency is the Swiss Army Knife of programming.

A Non-Shell Scripting Language

You’ll need to automate non-trivial things, and you’ll want a “real” language.

I don’t really care what you pick here, as long as it’s available to you. Python, JavaScript, TypeScript, Groovy, Ruby, and Kotlin are some of the obvious choices. Scripting proficiency transforms drudgery into delight.

Your IDE / Editor

You’ll spend more time here than anywhere else.

Whether you’re a Vim or IntelliJ fan, an Emacs or VSCode zealot, it doesn’t really matter. These tools can all do basically anything short of brewing a pour-over coffee. Study every feature, and commit the ones you find valuable to muscle memory.

Any Available Keyboard Shortcuts

Hunting and pointing and clicking is slow and interrupts your flow.

Like the accomplished pianist who can play beautifully complex music without glancing at their hands, an engineer with keyboard shortcuts at their fingertips can efficiently create elegant and simple code. The better you get, the more effortlessly ideas will flow from your brain into the machine.

If you become proficient with these tools, you’ll wonder how you ever worked without them.

Best of luck as you continue to differentiate yourself from the crowd!

Previous
Previous

Egoless Programming #1: Understand and Accept That You Will Make Mistakes

Next
Next

The Ten Timeless Commandments of Egoless Programming