As a software engineer, it’s crucial how quick you can translate your thoughts into machine-readable code. Nowadays, it’s obvious that we’re using a keyboard and some pointer (mouse or touchpad) as inputs for a computer. However, new ways are approaching (like voice typing, etc.), but I’d focus on the keyboard right now.

Why keyboard only?

The answer is super easy: it’s a time loss to use the mouse. You need to move your hand away from the keyboard, clicking on some objects, which takes a lot of your precious time.

Improve your typing speed and accuracy

When I started software development I used Hungarian keyboard layout, moreover, I typed in my own way. It was ok for chatting with my friends, but as soon as I wanted to use it as a professional it quickly became a bottleneck:

  • I made numerous typing errors -> time loss
  • I wasn’t aware of the location of special characters, which we need a lot when writing code

Learn to type better

To overcome the issues above I started learning professional 10 fingers typing with UK English layout. (which is actually only 9…)

The English layout has way better positions for the special characters, which, and step by step my typing errors became marginal.

I used EdClub’s Typing Jungle for learning, but I’m pretty sure, that there are a bunch of services available for you online.

The key to success is practising

I had to do it regularly to build the muscle memory and to become a truly usable skill for me. I did it for 30 minutes each workday, after lunch: while my stomach was processing food I exchanged watching YouTube videos for typing lessons.

It took me 7 months to finish the Typing Jungle. In the end, I was around 60 WPM (Word Per Minute) and had almost no typing errors.

Mission complete!

Key repeat speed as a gamechanger

I learned a trick from a colleague: he suggested increasing the speed of repeating keys (when you press and hold a key) and decrease the start delay.

This helped me during navigating in a file: once I press and hold a navigation button it scrolls the lines way quicker.

I’d highly encourage you to try it, as I mentioned: it was a game-changer for me.

  • Ubuntu: Settings -> Universal Access -> Repeat Keys
  • Mac: System Preferences -> Keyboard -> Key Repeat & Delay Until Repeat sliders

Custom keyboard layout

It bothered me, that my right pinky stays on a character which I barely use: the semicolon;

So I started investigating how to put something usable there, and I found out: it’s easy to create custom keyboard layouts for myself.

I exchanged the colon with the semicolon, so now my right pinky’s default keystroke is a colon, which is more suitable for my needs.

Further reading:

Vim

If you want to improve your keyboard skills and tempo I’d suggest learning Vim. I’m using it everywhere, and it’s the best text editor for keyboard focusing people, in my opinion.

But that’s a broad topic I’d cover in a separate post.

Vimium - another must-have tool

Vimium is a browser extension based on Vim keystrokes, which helps me to switch off my mouse and focus only on the keyboard.

The real benefit is that I don’t need to click on items on the screen with the mouse, as I can do it directly from the keyboard. And many others are included, like copy the actual tab’s URL, and reopening the last closed tab with just one key.

It is available for Chrome and Firefox too.