Every developer should know how to touch type.
Touch typing is typing without looking at the keys.
It's much faster than typing and looking at the keys for two main reasons.
1. You will spot mistakes sooner as you immediately see them when they occur.
2. You don't lose time finding your place on the screen as you do when your focus is constantly changing back and for the between the screen and keyboard.
The good news is, you can probably already do it, you just need to trust yourself. If you currently use all of you fingers
This will take practice. Don't worry if you make lots of mistakes early on, you will get there in the end and it will be worth it. Your typing will be much much faster. Plus correcting your mistakes without looking at the keyboard provides an extra sense of achievement.
This is not about telling you that you should be specifically forcing yourself to learn to use specific fingers for specific keys, but about doing it without looking. If you don't use a specific system, you will soon learn which keys arm naturally easier for you to press with each finger.
Touch typing is about learning not to think about the unimportant and unnecessary, so you can focus on what is more important. Focus on what is on screen, not how to get it there.
There is an argument from developers that touch typing only helps when typing large amounts of text and not when typing structured code. This isn't true. While touch typing traditionally focuses on alphabetic characters and not the numerous operators, brackets and other characters that are needed when writing code it can make typing anything faster. If you can push the button without having to look at the keyboard each time, you can type faster, regardless of what you are typing.
There are also other ways of typing faster, or even faster, such as using a keyboard layout designed for this purpose, like the Dvorak keyboard layout. There are also other layouts which allow for faster typing.
If you're not confident to try this by yourself and want extra help there are a number of tools and training aids to help.
Search for what works best for you. Here are some of the more popular aids available from Amazon:
Aids for learning touch typing (Associate link)
What do you think?
Is this something every developer should know? Have you say in the comments.
Know a developer who should read this?