Blog · 3 min read ·
Touch typing for programmers: symbols, numbers and the keys prose never uses
Code is full of brackets, semicolons and underscores that ordinary typing practice never trains. Here is why programmers plateau, and how to practise the top row and the right pinky.

Programmers type a lot and most of them type well, right up to the edge of the alphabet. Then they slow down. The keys that code depends on — brackets, braces, semicolons, underscores, the number row — are the ones ordinary prose hardly uses, so ordinary practice never trains them.
Where the time goes
Watch a programmer type a line of code and the pauses are all in the same places: the reach up to ( and ), the hunt for { and }, the pinky stretch to ; and ', the moment before _ while the hand works out whether Shift is involved. Each one is a fraction of a second. Over a day of coding they add up to minutes, and they break the flow that makes typing feel like thinking.
The right pinky's territory
Almost every symbol a programmer needs sits under the right pinky: p, ;, ', [, ], \, -, =, and with Shift, :, ", {, }, |, _, +. It is the weakest finger given the largest territory. Two habits help:
- Anchor the index finger on J while the pinky reaches. If the whole hand drifts right, the return to the home row is a guess.
- Shift with the left pinky for any symbol on the right side. Same-hand shifting is what makes
{and"slow.
The number row
Numbers are one row further than the top letter row, so every finger reaches two rows up. The assignment does not change: 4 and 5 belong to the left index, 6 and 7 to the right, and the pinkies take 1 and 0. The mistake is finding numbers by eye. Count up from the home key under the same finger.
Practising what code uses
Prose practice will not fix this, because prose does not contain the keys. You need drills built from them:
- Isolate the symbol row. Drill
()[]{}and;:'"on their own until the reaches are certain, at 95% accuracy before speed. - Type real code. Not to learn the language; to hit the keys in the sequences code puts them in.
);,};,->,=>,!=,::are pairs with their own rhythm. - Practise the numbers as strings. Phone numbers, dates, hex colours — anything that keeps the fingers on the row long enough to learn it.
- Learn your editor's shortcuts. Every reach for the mouse is slower than any keystroke.
Layouts and editors
Some programmers switch to layouts that move symbols closer, or remap Caps Lock to Control, or use a programmable keyboard with a symbol layer under the thumb. These help, and they are personal. The larger gain is available to everyone: learn the symbol row on the layout you have, with fixed finger assignments, and stop looking down for the brackets.
Common questions
Why do programmers type slower on code than on prose?
Because code uses brackets, braces, semicolons, underscores and numbers, which ordinary typing practice almost never contains. The reaches for those keys never become automatic.
Which finger types the semicolon?
The right pinky, which sits on it in the home row. The same finger owns p, the quote, the brackets, backslash, hyphen and equals.
How do I get faster at typing symbols?
Drill the symbol keys on their own until you can hit them at 95% accuracy without looking, then type real code so the common sequences become reaches rather than decisions.
Keycap