Ingemark

Why touch-typing is good for programmers

Why touch-typing is good for programmers

Wikipedia defines touch-typing as typing without using the sense of sight to find the keys. I always thought touch-typing was cool and therefore it just had to be good but it took me a while to figure out what the main benefit of touch-typing was.

If touch-typing makes you type faster, it will most likely not make you code substantially faster. The argument that programmers spend much more time thinking than typing applies here successfully.

Touch-typing is not about making fewer typing errors either. Making fewer typing errors comes with practice, regardless of whether you look at the keyboard or the screen as you type.

For programmers, the main benefit of touch-typing comes from being able to spot typing errors as soon as they occur. If I see a typing error as soon as it comes out, I immediately know what to fix and this fixing requires no mental effort whatsoever. If I let a typing error produce effects, and I have to analyze these effects and trace them back to a typing error, this takes much more time and effort. In extreme cases, I might spend hours before finding the cause in a typing error.

For example, suppose that I’m in the Linux command line and I make a typing error but I continue to write the rest of the command and arguments without noticing the error. When I press ‘Enter’, the system will not tell me “Error: you made a typing error”. At best, it will say “Unknown command” or “Unknown option”, but oftentimes it will produce some totally unexpected output or error which will make me lose time and focus on what I’ve been doing in the first place. This is aligned with a well-known thesis that bugs found early in the development process are much cheaper to fix than bugs found in production.

Oh, and note that the definition of touch-typing does not say anything about which finger you use to press any particular key. This is largely irrelevant. You might be using the standard “eight-fingers on home row” scheme or a custom scheme which you consider to be written in your genes, but as long as you spot typos as soon as they occur, rest assured you’re reaping the benefits of touch-typing.

AssertJ – fluent assertions for Java
Continuous Delivery and Code Quality

Related posts

Interconnect past and the future – monolith with microservice in mind

Interconnect past and the future – monolith with microservice in mind

Alen Bašić 07.01.2021.
Improved Java microservice logging with MDC

Improved Java microservice logging with MDC

Hrvoje Kopinč 22.12.2020.
Continuous Delivery and Code Quality

Continuous Delivery and Code Quality

Josip Gracin 18.12.2018.

By Clicking on Accept, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. For more details, please review our Privacy Policy.

Accept all Deny all