We Are Typists First, Programmers Second

I would like to point out a slightly different point (sorry if it is obvious, perhaps…):

1st, I do not think that the pure typing speed is sooo terribly a difference (unless you are speaking of someone that codes one character per second or every 4 seconds!!!):

I always thought (and seen based on evidence from some projects) that in the medium-long term (in the 4 or 6 month of a project, I mean!) the big difference is made by the overall quality of code…
perhaps, I repeat, that’s obvious, but I think that a set of well made C++ classes, right architected, is more important than typing fast

(I admit that being all the other points the same, then typing speed brings some difference, though…)

ANYWAY… the thing that I wanted to say first, was another one:
I think that , MORE THAN BEING FAST AT TYPING, one more important thing (or, I dont know if actually you considered this also one aspect of speed typing!) is to be really proficient with your tools:

example:

I saw once a colleague of mine (that, btw, I respect a lot for his qualities as a designer generally speaking: he is brilliant, deep, good skilled and also really a nice guy to work with) that also was absolutely proficient in the usage of the EMACS editor:
this, I think, is a slightly more important difference than being fast at typing: he was actually really able to do all the imaginable things at an extremely high speed from inside of EMACS, and this for sure makes some difference in the amount of code that you are able to produce, compile, test and debug in the 8 (ehr… 10 or 12) working hours that you have available in a day!

Rgds,
Alex
p.s. sorry for the bad english!!

At least four times a day, I walk into a room having no idea
why I entered that room.

I … forgot what I was going to say.

Oh! The absent minded are just being present minded somewhere else.

Dvorak: 90 WPM, no errors

Okay, I’m embarassed by my score…so I won’t post it. I think I blame my MacBook Pro. As much as I love this laptop, it’s not the best for pure typing.

…someone please validate my statement…

I’ve been touch typing since I was eight.

118wpm, qwerty, no errors. Kinesis Advangate Pro keyboard. The Kinesis makes all the difference, been using it since 1991.

Okay, I’m alright. I redid the test from a comfortable typing position instead of my crappy desk at work.

Your speed was: 84wpm.

You made 1 mistake, your mistake is shown in bold text:

THIS book is the record of a struggle between two tempreaments, two consciences and almost two epochs. It ended, as was inevitable, in disruption. Of the two human beings here described, one was born to fly backward, the other could not help being carried forward. There came a time when neither spoke the same language as the other, or encompassed the same hopes, or was fortified by the same desires. But, at least, it is some consolation to the survivor, that neither, to the very last hour, ceased to respect the other, or to regard him with a sad indulgence.

I read this awhile back and very much agree with your sentiments here. One interesting difference between the usual typing games and what we do as programmers is that we use a lot more punctuation and digits (lots of stretching compared with prose typing). Anyway, I slapped together a programming typing game (mostly javascript) that, for now, just has some HTML snippets. Thought it might be interesting to some (plus I want some competition for my record times!). http://www.keypressr.com

While typing speed does matter unless you are undertaking mindlessly repetative programming it isn’t going to hamper you much at all. I admit i’m not the best typer, 90% of my keypresses are basically 2 finger typing. Although I have found that in uni much faster typists that myself have completed thing a lot slower than myself.

Also in my work, much of the time is spent thinking about what i’m trying to create, also a lot of the time I am using copy and paste to modify large sections.

The speed impacting you remembering something is a decent point, although I find whereas I can walk into a room and forget why I am there with programming I will always be able to recall what I was doing eventually. What I also find unusual is how much better my mind will work when leaving the computer, all to oftern i’m knocking my head against a wall attempting to get somthing working correctly and efficicently, I will walk away and come up with a completly different approach that is a lot better.

Hunt and peck method, 96wpm, one mistake (missed the period at the end of the last sentance).

Hunt and peck is all I’ve ever known and it works absolutely fine for me. I recently bought my first laptop and was shocked at how much quicker I can type with it, simply because the keys are squeezed much closer together than on a standard keyboard, and are also much shallower than normal keys, so lend themselves MUCH more to the hunt and peck method.

It has always amazed me that there are some professional software developers that cannot type. Especially so when those software developers have several years of experience under their belt. I cannot imagine what type of indifference it must have taken to have spent years typing without actually learning how to type. I, like you, am a modest typist, only coming in at 65 wpm… but I know where my home keys are, and know what those little dots on J and F are for :slight_smile:

@Graham Stewart

At the moment I generally use two fingers and a thumb on each hand to type while while staring at the keyboard. This actually works okay

Just for sake of discussion, what about:

  • Transcribing some information from a piece of paper onto your PC?

  • Taking a note on your PC on something another person is talking to you about, while still maintaining eye contact with that person?

  • Catching typing mistakes by seeing them on-screen (for those mistakes that you don’t catch by feel)?

All of these scenarios require your eyes to be somewhere other than on your keyboard.

Typing is not the most important tool for an excellent programmer - your brain is.

Spend more time thinking, designing, drawing diagrams, explaining you design to others BEFORE you start coding. Apply Occam’s razor and make you design simpler and simpler. Spend even more time when designing APIs. Even better, get the people who are going to use the API design the API to make it easy for them to code to. Use a pencil and paper, and whiteboards. Avoid going straight to the keyboard.

If you program this way, you’ll have less code to write (less typing), it will have less bugs(less typing to fix and much less time spent debugging), and will be easier to maintain (again less typing for the next guy).

This discussion is a lot like the who’s the faster guitar player discussions out there. Who cares? The real question is is it musical or not?

This is my result:

Your speed was: 52wpm.

You made 8 mistakes…

I disagree pretty much entirely with this post. Yes, a coder needs to be able to type accurately. But quickly? Not really - while coding, I rarely type at anything near what I’m actually capable of. Because my job is to think, not to type - with the right tools to minimise the amount that must be typed, I actually spend relatively little time doing so.

I must admit, I totally agree with Tetha on this. It took me longer to read the text from the screen than it did to type it back in! I scored 31 wpm, but I can program faster than most of the developers that I know. Where they are quoting over 100 days for a piece of work, I’m quoting 30 or 40. This has nothing to do with typing speed, but my ability to look at a problem and come up with a viable solution quickly.

@Jeff, I do agree with you to a certain extent that being able to type faster does help with my profession, but not when I’m typing code in to a code editor. This would help more when typing up design specs, etc. I have found myself dictating to my girlfriend when I have a big document to write, as she can touch type properly, but I’d never dictate code to her, I’d be quicker doing that myself! So while she can touch type, she certainly can’t type code, even from dictation! So, …typists first, and programmers second., definitely not.

Being a contractor, I get paid by the hour, so I’ll be going back to the hunt-and-peck method soon, though!!!

Charlie

Programming is just typing in the same way baking is just throwing stuff in the oven. Raw speed has very little to do with productivity.

Also, a broken clock could be right any number of times in a day if we consider relativistic effects and different types of breakage (operating at high speed, etc.).

I’ve noticed that even among non-programmers, hunt-and-peck typists often have limited awareness of what’s actually on the screen. I think that fumbling around on the keyboard while trying to accomplish a task on the computer is like fumbling around with a cell phone while trying to drive. You can do it, but you’re working at less than half of your mental capacity and are liable to make some dangerous mistakes, or at least omit some important details.

I personally know programmers that think that 30-40 wpm is perfectly acceptable because they spend most of their time thinking anyway. I’ve always found that to be a self-defeating argument. If thinking is our core competency and typing is just unavoidable overhead, then it’s EVEN MORE important to minimize that overhead, whether that means automating it with tools or just training ourselves to do it faster.

Think of it as trying to converse in a foreign language without total fluency. You can probably figure out how to ask where the bathroom is, maybe even ask for directions, but you’re not going to have much success with a philosophical discussion.

Also, keyboards are not ergonomic, go read about the history of qwerty, azerty. They where made to slow down typing because writing machine couldn’t handle the secretary typing speed!

That’s a myth. There’s not a single grain of truth to that claim. Kind of ironic how people will feel that they destroyed the post with a comment full of typographical errors and general misinformation.

Well, if Wikipedia says so, it must be true. You might want to actually check the references in that article, though.

http://www.reason.com/news/show/29944.html

The number of places the qwerty myth is referenced is mind-boggling. There’s never been a shred of evidence to support it. It sounds plausible, but a lot of historical fiction sounds plausible.

I’m just a learner, but I feel so much more productive now that I’ve learned to type fairly quickly. While typing speed shouldn’t seem like the limiting factor for programming productivity (you surely spend far more time thinking and reading existing code than you do typing), it’s truly remarkable what improving your typing speed and accuracy will do for your productivity. The faster you can type, the more easily your thoughts flow when you iare/i writing. The more accurately you can type, the less time you spend on frustrating tasks like correcting yourself. The ideal is to think of a line, and write it, all in one rapid action, so that your hands become a direct conduit from your brain to the screen without you having to think about how the symbols got there. When you are waiting for your hands, you are stalling your brain. At best it’s like being in a busy waiting loop, and at worst you can even lose your train of thought.