Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been learning touch-typing for about two weeks now, and I'm really commited to mastering this skill.

Eventhough I'm doing ok with prose already, I'm struggling with programming syntax and even more with keybindings.

Those stray you away from the home row more than regular words, and aren't as easy to practice. So I often hunt and peck in order to just get it out, but when reverting to old habits like this, I find it hard to get back into the touch-typing mindframe quickly.

One little trick that has helped me so far when getting lost is to reposition every finger on its home row key, and mentally visualize the layout bias of the keyboard, ie the backslash kind of alignment of key columns. It's hard to describe though and probably a bit weird...

Hope you guys have better tips !


locked by World Engineer Oct 7 '13 at 21:44

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as off topic by Walter, gnat, Jarrod Roberson, Mark Trapp, ChrisF May 21 '12 at 20:21

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Is it ironic that you misspelled "syntax" in a question about touch-typing? – Paddyslacker Sep 16 '10 at 18:39
Typing of the Dead. Fun times. – Note to self - think of a name Sep 16 '10 at 20:08
My "finger"-tips. Hahaha. I apologize. – Casey Sep 18 '10 at 22:35

26 Answers 26

up vote 11 down vote accepted

I got a color coded keyboard diagram which showed which fingers were for which keys. I decided from then on, I would never use the wrong fingers on a key.

alt text

At first my typing speed dropped considerably, but I noticed that every project due date, my typing speed would improve dramatically. By the time I finished my programming course, I was typing faster than anybody I knew.

This image kind of sucks, the one I had was a lot better, but I couldn't find anything really good immediately.

You still have coloured keys? Guess the paint wore off the fingers quickly though. – user1249 Oct 17 '10 at 15:24

You could always go with the Das Keyboard Ultimate, which has blank keys:

You'll either get better at typing fast, or get really frustrated fast.

edit: To elaborate a bit more. I have actually tried this, accidentally, as I owned a keyboard with dark-grey lettering on dark-grey keys which were nearly invisible in practice. (Wasn't a Das or blank key model technically, but it was about the same.) It really does force you to get better at typing without looking at the keyboard, but it is also like acclimating yourself to an ice cold pool by jumping right in. It is not for the weak of heart...

@julien: put some electrical tape over each key? :) – Adam Lear Sep 16 '10 at 12:40
Incidentally it's a really good mechanical keyboard, which alone can improve your rate by 10 WPM. – Matt Olenik Sep 16 '10 at 21:24
Incidentally, if you get your hands on an old Model M (or equiv), the labelled key caps can be removed, leaving you with this (but with the added bonus that once you've mastered touch-typing, you can put the caps on the wrong keys, and mess with less skilled visitors...) – Shog9 Sep 16 '10 at 21:57

Don't look at the keyboard!

Just don't. As a programmer, who've been coding for several ages, you already can touch-type. You just don't even try actually doing it, and look at keyboard to enter text. As soon as you stop, you'll notice that you don't need any tricks.


For a lark I took a typing class in High School (many years ago now) and the class actually used something called a "typewriter" with actual paper rolled into them. :-) Who would have known that it would end up as one of the most important classes that I ever took. Seriously.

The one thing I remember from that class was just the endless repetition. Every class we would fill many pages with rows of letters and combinations of letters. It was maddening at the time but really did help. Once we went through the whole alphabet, we started with simple prose and worked up to transposing different types of documents.

I would keep at it. I would use some sample code as something to practice with. Find some code on the internet that looks interesting and instead of copy/paste (or downloading), type it all line by line.

This is the type of skill that really does well with lots of repetition.



That's really the best advice I can give. Touch typing eventually becomes such a muscle memory thing, that you don't have to think about it much at all. Just keep at it, and you'll get better over time.



Needing to be fast enough that I can hammer out a progress report 30 seconds before it is due, rather than wasting time I could be doing something actually useful with my time was a large motivator.

As an aside, I find that I don't really need to touch type when I'm writing code. The transfer of code from brain to screen isn't the biggest bottleneck for me.


When I was younger I spent a fair amount of time on MSN typing to friends. At some point I just realized I wasn't looking at the keyboard anymore and could type as fast as anyone. I hated learning to type "properly" in school, it was just too formal and made me think about it too much.

Really I think the best way to learn is just type a lot and the skill will show up eventually.

The biggest problem I have with typing that I still have to master is switching keyboards. I can't stand split keyboards as they mess with my style and I can't stand French keyboards as they have that stupid slash where the shift is supposed to be. (I live in Canada and my laptop has a french keyboard, which I didnt realize when I got it.)

Another method I've used is (I believe its called:) Blitz Writing.

Basicly its type a story as fast as possible, no stopping, no backspaces. That same method can also be used in programming but its a bit harder to translate. Its great for getting plans out quickly though


Try a kinesis contour keyboard. It's just awkward enough to do anything but touch type, but all the keys are better positioned so you wont have to stretch for those special characters.


Switch your keyboard layout to Dvorak, and don't keep a reference chart or re-mark the keys.

Within a week, I was touch-typing at 20WPM, and a couple weeks later, I was up past my hunt-and-peck 40WPM QWERTY speed, with fewer errors. The crucial part was having to guess-and-learn the layout. If I had had to do the same for QWERTY, I probably would touch-type.

But, if Dvorak is out of the question, just get a Das Ultimate or scrape your keys clean. :)


During my initial days I would chat in Yahoo and other chat providers. This drastically increased my speed as well as touch-type.


I got a Microsoft Natural Keyboard. The curved shape makes it much harder to type using a hunt-and-peck technique; it's more comfortable to put your fingers on the home keys, although it's harder to type at first.

After using the natural keyboard regularly, my typing speed caught up with what it was before, and got quicker once I was actually touch typing. I use a standard keyboard now, but I never forgot how to touch type.


I'd suggest to print out a small version of the keyboard layout and tape it to the bottom border of your display. Instead of sneaking peaks at the keyboard, you can look at the posted layout and reset your fingers on the home row by feeling for the little bumps on the F and J keys. Your eyes won't move too far from what you had been typing, and you don't have to lift your fingers off the keyboard.

This worked really well for me when I converted to Dvorak, but it would work just as well for learning qwerty.


I think what did it for me was games that used the keyboard. I'm pretty sure I know where WASD are. G for Grenade and R for Reload are also pretty stuck in my fingers.


GNU Typist did it for me. And lots of discipline. Don't look at the keyboard! Cover your hands with a cloth. Just don't look, whatever happens.


In my experience the best way to learn programming symbols you don't use often is to pick a couple to concentrate on and add these symbols to your passwords. Force yourself to touch-type your password no matter how long it takes or even if you have to peek. Because most people enter many passwords per day you'll learn the symbols by necessity! When you've mastered those symbols, change your password to include a few others you want to work on. So you basically you get dual benefit, learning to type symbols and having stronger more swapped out passwords.



One major thing that I found was that I did a lot of typing with a laptop... Big Mistake, with the screen so close to the keyboard I could actually keep an eye on both at the same time and my WPM didn't improve.

Always use a desktop and position it out of view of the keyboard. Also I have a desk that has a slide out keyboard shelf, I slid this under my desk (there was plenty of manoeuvring space for my hands) so that I couldn't see the keys.

Also in the very beginning many people change from what is referred to as "fudge typing": looking and moving wrists all over the place straight to formal fixed wrist, no peeking. Wrong again, try fixed wrists with your index's on the F and J but also look, click the right keys with the right fingers.

Eventually you'll get used to just moving fingers and then you can go touch. For many people this will be obvious but others don't understand that if you don't keep your wrists and fingers in the same position the keyboard effectively moves beneath you.

Hey, I'm still learning but I can now type 70 WPM! :)


I don't know exactly how I learned, but it was probably from spending too much time talking about programming on IRC (see

I don't remember when I noticed, but it really became obvious that I could touch type when the letters started to fade off my keyboard and it didn't really bother me except sometimes when I was trying to use seldom-used key combos commands or type a password.


Learn Dvorak with 10 fingers, without moving the keys around you will not be looking at the keyboard. ;-)


Some people like to buy the unmarked keyboards, but I found they were a bit out of my price range. So I took an old keyboard that I wasn't using and spray-painted it gray so I couldn't see the letter labels.

Without being able to see what it key is, you are forced to memorize them quickly. After a few weeks, I could type touch type without any problems.

Instead of spray paint, try to find vinyl dye (also comes in a spray can, but a bit harder to find). It will give better/longer lasting results than paint. Beware some "vinyl dye" brands are not actually a real dye. – Abhi Beckert Mar 5 '13 at 4:55

I was a frustrated touch-typist when I first took typing classes. But one day I began mentally drawing lines between the keys to see what shapes certain words made. For example, the word "talent" makes a five-pointed star.

I did this a little bit at a time, all day long. After a couple of weeks doing this, my typing skills began to improve dramatically.


I learned touch typing in a course, and we used a rather low tech, but working approach. Take a sheet of paper (A4/Letter size), put masking tape (the paper kind) along one of the long sides such that most of the tape extends from the paper. Attach the paper to the top of the keyboard, such that the paper covers the keys. Put your hands below it and you will have to type blindly.


I've always been a fan of the Mavis Beacon software. You can pick up a copy pretty cheaply and it is the best out there as far as typing software goes. The free stuff you'll find on the web doesn't cut it (in my opinion).


Work at a callcentre

No, seriously. I did 3 years at a callcenter, with AS200 terminals and IBM Model M keyboards, now I can touchtype with the best of them (given I have a heavy keyboard. My WPM is maybe 40 on flimpy OEM keyboards)


Practice & peristance.

When we learned this back in highschool - the teacher taped a piece of construction paper over our keyboards... She was a LEARN or DIE kinda gal... so we learned.


Use less video games and mobile phones and play instruments like guitar and piano, this makes you comfortable over typing with middle to small (the last one) fingers.

Video game controllers only let you use thumb and the second finger.


This answer is probably more for those with physical handicaps:

I cannot move the proximal phalanx of my middle, ring, and pinky fingers independently of one another (rendering my ring and pinky fingers useless for typing), so the standard touch-typing technique is quite impossible for me. Hitting keys like tab, semicolon, shift, enter, control, etc. require moving my entire hand away from the home keys.

The key to touch-typing with such limited motion in my fingers, I found, was to stop thinking about it and just type (and here's the key word) comfortably. The human brain is a remarkable thing, and will eventually make the connections between commonly used sequences of keys, even if you're not using the finger approved for that key in the touch-typing manual. It is that feature of the brain that provides the touch-typist with their speed, and that is only learned by doing.

Oh, and give yourself permission to make mistakes.


Not the answer you're looking for? Browse other questions tagged or ask your own question.