Coding faster without typing faster

Words-per-minute text (wpm) typing speed is probably the first thing that comes to mind when we think about how a Jedi Master would code, but writing code is much more than just typing words. Most programming languages have their syntax based on symbols that require a bunch of Ctrl, Alt and Shift key presses that most mortals never thought possible.

“person using silver laptop computer on desk” by John Schnobrich on Unsplash

When we write code, we are not typing constantly. We think a bit, turn that into code in our head, type it, then review what we wrote and move onto the next piece of code. The faster and more accurately we type, the faster we get back to thinking again. For a weak typist (we should be able to relate as we were all weak typists at some point in our lives), typing is quite distracting.

When a developer has reached the typing Nirvana, typing is no longer interrupting the thinking process, so typing speed does matter.

You might argue that typing faster will lead to more mistakes being made. Probably true, but a fast typist is usually also quick to fix them. And with experience, also tends to do less typing mistakes. We don’t type slowly because we want to, usually we type as fast as we can.

If you look around your office, you might also realize that the majority of the people considered good developers are also fast typists. There are exceptions, but typing speed is commonly a sign of coding experience. It’s an unconscious side effect. The longer you have spent coding, the faster you type. The faster you type, the faster you are allowed to execute your ideas and gain experience from them. Successful or not.

But typing speed is not everything when it comes to being a fast coder…

Navigation typing speed is the key!

The skill to, without thinking about it, navigate through your environment: IDE shortcuts, copy/paste, navigate through text/code using shortcuts and web browser shortcuts. A developer that can instinctively use these sorts of environment navigation skills is able to maintain a chain of thought on the real task. I couldn’t really find any hard data to back up this statement, but experience tells me that environment navigation skills and work productivity are highly correlated.

I once had a colleague that, unfortunately, had no mobility in his right arm. But he pretty much knew all the shortcuts there was to know and put us all to shame because of how fast he could navigate through his environment.

Of course, the tools you use depend on the technologies you also work on, but not everyone uses the same tools, even when working on the same technology.

These skills don’t just apply to developers and related roles. A role that relies heavily on Excel spreadsheets manipulation will greatly benefit from learning its shortcuts.

Free hint: Did you know that, on a browser, you can click on a link with the scroll button and it will open that link on a new tab? This means no more right click on the link and select “Open link in new tab”.

How can you become a pro?

I’ve seen people using the oddest tools (i.e. Total Commander or Vim) and wonder why any sane person would use such a thing… well, these people are usually pros using it. They are faster than most of us using any other tool for the same effect.

Whatever you use, make sure you are a pro using it. Spend some time learning all the handy shortcuts, even avoid using your mouse if you can, to force yourself to get used to them. Still, don’t accommodate to whatever shortcuts you are given by the tools you use. If there’s an action that you do repeatedly, automate it. Customize your IDE shortcuts, write macros, scripts or whatever. Turn that action into a button or a combination of keys.

Conclusion

It can be argued that typing speed and navigation skills are not important for someone to become a good developer, but it surely doesn’t hurt. One thing that I think we can all agree on is that the faster you can translate your thoughts into actions, the higher your productivity.

Still, don’t judge a developer by the typing speed. Stephen Hawking, one of the most brilliant minds of our recent history, had most of his motor control destroyed by ALS. For years his only interface with a computer was through a camera that detected blinks and later through detection of twitches on his cheek. At his lowest “typing” speed, he could only write approximately 1–2 words per minute. Yet, he still managed to write close to 20 books and 200 publications.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
André Gravato

André Gravato

Software developer and new dad living with a rare disease.