Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. Join them; it only takes a minute:

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 try to learn how to type fast and have managed to learn a lot. I am quite good at typing english text now. I do a lot of programmation though and if QWERTY seems fitted for english text, it doesn't seem fitted to type Ruby, Python, Javascript, Command Line or C++... I have read plenty of articles and if I respect their guidelines/tips, I am using a lot my right pinky specially to type []{}|\;:'"/?=+ enter delete.

As you can see this symbols are the ones which are the most used when you are programming and we are using only one weak finger to reach them. Am I learning wrong? Is there is a way to be more productive? (I don't really want to switch to DVORAK) Have you some experiences/tips to share regarding this issue?

Orginal Post :

share|improve this question
Using your pinky seems really awkward for [] and {} especially. Try middle and index. (That's what I use for all of the right-hand symbols, actually, but I've got small hands.) – Ryan O'Hara Sep 2 '12 at 1:48
I didn't understand why we need type fast in programming. Programming need more caution in typing syntax. I prefer type slow but have clean and right code than speed typing but in the end result bug because of wrong syntax and spend more time to fix it. – GusDeCooL Sep 19 '12 at 15:19

I just did a little experiment and typed the following without looking at the keyboard:

  • a=a++ - used my middle finger for the = and +
  • a[0] - used my third finger for the [ and 0. used my fourth finger for the ]
  • a?a:b - used my fourth finger for the ? and my pinky for the :

There's no right or wrong to this. It's just what I do. And I do touch type code without looking at the keyboard. As you can see my finger "home position" drifts as a type. But keyboards have it so the "f" and "j" keys feel different and you can get back to them without looking.

I didn't start out deciding to touch type though. I started out looking at the the keyboard and trying to type code faster. Then over time, I stopped looking at the keyboard. I didn't even know I could do it until a teammate told me. She came by to ask a question. I turned my head around completely to say just a minute while finishing typing what I was working on.

share|improve this answer

I can suggest two tips:

  1. Use all ten fingers.
  2. Use both hands when possible. E.g. to type :, press Shift with your left hand and ; with your right hand. The same goes for Alt, Ctrl, etc.
share|improve this answer
Out of curiosity, do you use both your thumbs, and do you use thumbs for anything more than the space bar? – eflat Sep 4 '12 at 21:55
Space bar mostly. But I on my qwerty layout @ [ ] { } are available through Alt, I press it with the thumb as well. Alt+Tab with thumb. Furthermore I use Emacs… ;-) – bjacquet Sep 9 '12 at 9:52

I suspect code-assist might actually be your friend here - the advantage of programming languages is tha as they are described by a grammar - the editor can help you out a lot more - we're very much in the 'write code v. generate code' area here - what editor are you using? (and I can then expand this answer - you're getting quite a stackoverflowy answer here, partly because I suspect that's what you were looking for with your orginal post....)

share|improve this answer
I have to agree. I don't know if choosing your touch-typing layout based on {}'s, ()'s etc is such a good idea. Get an editor to help you if that. Or just change language (I've said goodbye to brackets and parens with Coffeescript) – Vic Goldfeld Sep 11 '12 at 10:26

My typing speed improved considerably when switched to mechanical keyboard. These have many advantages over majority of "classic" rubber-dome keyboards:

  • Keys need not to be fully depressed - this speeds up typing.
  • Keycaps are usually smaller, allowing for fast touch-typing.
  • Variety of switches - linear, tactile, clicky. Some switches are very soft and your pinky finger will be a Hercules for them ;-)
  • It is easy to replace/reorder keycaps, so you can switch easily to DVORAK or COLEMAK and have the keycaps labeled properly.

I am currently owning Filco Majestouch 2 with Cherry MX Blue switches, which are tactile, clicky and easy to press.

share|improve this answer

It shouldn't really matter if you're using your "weak finger". I'm using my "weak finger" for apostrophes and semicolons, and it doesn't slow me down at all.

I do programming too and I find that the slowest to type are [] and {}. Not really in typing them but also aligning.

What you should probably do is get a tool that automatically closes those square/curly bracket. I highly recommend Sublime Text 2. Sublime is designed to be very intuitive for programming.

If you're a hardcore Notepad++ user or want to stick with your own software, you should really look into autoclosing brackets.

share|improve this answer

I tried to learn to type with 10 fingers. But after reading a german article a few years ago, I stoped.

The author suggested to just type blind. You know where the keys are. Just try to type them. Now I type without problems. To speed things up you can try DasKeyboard Ultimate :)

share|improve this answer

If you want to look at a more drastic solution, you might consider using Plover. That is software that will allow you to use stenography* for typing, and allows 200+ WPM speeds. Essentially think of typing using chords to enter whole words or phrases instead of typing out each letter. Apparently the main programmer uses it for his programming of it. At the base, there is a "dictionary" translating from these chords to the output, and that dictionary can be customized. That would allow you to create chords for the common punctuation patterns you deal with.

(Caveat: I haven't done this; it's merely on my todo list.)

  • Stenography is the method court reporters use for taking real-time transcriptions. Steganography is the cryptography stuff.
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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