5 ms·
> There is another fundamental that is ignored by a lot of computer users. I think everyone who spends a lot of time behind a computer should learn how to touc
by sparks1970 5y ago
> There is another fundamental that is ignored by a lot of computer users. I think everyone who spends a lot of time
behind a computer should learn how to touch type, since typing is still the main way of interacting with your computer.
I sort of agree, but anyone typing out code at 120WPM isn't programming, they're writing. Programming is an intellectual activity, not a physical one so learning to touch type is worthwhile but might only gain you a few minutes a day of productivity over someone doing 40WPM in a home-grown hunt-and-peck style of typing?
- edem 5y agoI don't agree. Touch typing is not about the speed. It is about letting you keep your eyes on the screen while you're typing. It enhances your "headspace" so much, that you don't have to micro-context-switch all the time between the keyboard and the screen.
- geewee 5y agoI've seen this argument before and I don't think I agree. Surely there's a lot of times when I program that are heavy into thinking, but there's also a lot of mechanical work. Refactoring? Typing speed will help you. Going to try out a new approach? Typing speed will help you to see whether it's true or not. Everything else being equal, typing speed will help you try out stuff faster.
- rob74 5y agoYeah... even if you don't have to type fast, not needing to look at the keyboard when you type will at least help you to concentrate on what's on your screen and stay in the "flow".
- have_faith 5y agoAll else being equal sure typing faster is only going to make you more productive but a slower typer who is better at solving complex problems is always going to be more valuable than a fast typer who is not as good. I don’t think I’ve ever encountered a programmer that was too slow to simply be productive and valuable to a business which makes it questionable advice for anyone to follow.
- marcos100 5y agoIt's about touch typing only. If you start changing other variables, the comparison doesn't make sense anymore (to the discussion). Of course your senior engineer that wrote the thing will be more productive than your intern that writes 1000 WPM.
- stepbeek 5y agoThis is a false dichotomy. Being a great problem-solver doesn't disqualify one from being a fast typist.
- hyperpallium2 5y agoOptimizing an outer loop also will help.
- catlikesshrimp 5y agoI think that hunting for the correct key is distracting. I am pretty sure that people who didn't learn to type properly have to switch their whole mind frame from the content into the typing, back and forth. Some people even speak outloud, or at least move their lips according to, whatever they are typing.
- FroshKiller 5y agoI'm a developer who is also a pretty fast typist, and I have to say that's not my experience. I wouldn't want to hunt and peck, but my sense is that higher than, like, 40 GWAM probably yields diminishing returns. Language might make a difference there. Writing C# with a QWERTY keyboard, you still have to interrupt a normal typing flow for your parentheses, braces, etc. I suppose it's helpful if you're writing long comments, but for the most part, I rarely hit sustained bursts of my peak typing speed when writing code.
- sumtechguy 5y agoAlso typing fast does not mean writing fast. Think about the speed tests you took. You probably kind of zoned out and just bashed it out. But when actually writing/coding you stop and think about it a bit. I used to hit 70-80. But now I maybe manage around 20-40, probably less. Because I have to think at the same time and can not just 'zone out' and copy. Knowing the keys is a massive help though. With coding it is more 'i know an interface that does something'. Ok start using this object oh yeah wait it is a pointer not a local so different call syntax, oh and then the call I need is inside that object but that is local to that object, oh wait lets go read the docs this thing has 4 params and that 3rd one is always a bit tricky... No way you are hitting 40+wpm unless you just happen to use only calls you use all the time and have memorized all of the params that go into them and have the code basically already written in your head.
- UglyToad 5y agoI'd go a step further. In my experience writing C# I don't really need to type. Like I'll just sit on CTRL + Space and the arrow keys most of the time. To be controversial, a language that rewards typing speed seems to me like a failure of tooling, why am I manipulating text like a caveman (ok.. ok.. Mesopotamian) rather than with the symbols that the language actually deals with.
- kragen 5y agoI put my parentheses on the [] keys: http://canonical.org/~kragen/setting-up-keyboard http://canonical.org/~kragen/setting-up-keyboard It helps a lot with most programming languages. Snippets for if, while, and for can also help with the {}.
- Koshkin 5y agoWay too many times I have seen fast typers who would spend as much time adding text as immediately deleting it after that and typing something else in its place, over and over. (Maybe that’s the way they think, I don’t know.)
- geewee 5y agoIt is for me - sometimes trying out/typing out a solution is the fastest way for me to get a feel for if it'd actually work in practice.
- Aeolun 5y agoI don’t know, when the thought about how to structure something is in my head, I want to type it out as fast as possible. My brain isn’t ideally suited to keeping complex constructs at the top of my thoughts for a long time.
- marcos100 5y agoYou touch type not to break a world record. You touch type because you can write without thinking about the keyboard, just like you don't think when using or arms or legs, and it's faster to correct an error that you made. Imagine that you want to correct a block of code or a whole paragraph. If you don't touch type, maybe you will think twice before rewriting it.
- TheMonarchist 5y agoI don't mind being slow early on when I'm doing something new, because I know that I will get muscle memory for things I repeat a lot and become faster. I also use an editor that supports mapping keys (currently vim). Besides, only Java can make any programming task I/O bound ;p
- tsm 5y agoIt's not about clock time, it's about reducing the latency (and friction) between thinking about code and having it written. I might think for a couple minutes and then come up with ten lines of code, and once they're in my head I want them in my editor now before I lose track of them.
- jve 5y agoDo someone really needs to learn touch typing? It comes naturally when you are using computer daily.
- Toutouxc 5y agoWhat comes naturally when using a computer daily is usually bad touch typing, i.e. not having to look at your fingers, but typing with only four or maybe six of them using weird, possibly unhealthy, techniques.
- jaynetics 5y agofor me it was unhealthy, and hard to fix. i developed a pretty fast way of typing naturally, using 7 or 8 fingers. unfortunately it caused wrist strain. i could not use split ergonomic keyboards because some keys where "mapped" to the wrong hand for that. i also could not simply learn "proper" touch typing on a qwert layout because my typing habit was too strong. in the end i learned touch typing on dvorak to fix my wrist issue. maybe after 10 years i'll have unlearned qwert typing enough to go back? (not sure i would, i do prefer dvorak, it just feels silly to type at snail speed on others ppls keyboards).
- jve 5y agoYoure right. Im probably lucky to not experience any wrist strain. Regarding speed - it didnt prevent to be TOP1 at university in typing contest :)
- magicalhippo 5y agoI can't stand those supposedly ergonomic keyboards that have been chopped in half, and I didn't understand why anyone would want one until I recalled people learned touch typing. My naturally acquired typing style involves me holding my hands hands in just about the same angle as those "ergonomic" keyboards, but just using a regular keyboard. Fingers rest on LShift, A, W, D, and K, O, P, Ø with both thumbs on Space. Should be noted that's on a "105-key" Nordic keyboard with US layout when not writing Norwegian, so the Ø becomes '. For me this has worked quite fine for over 20 years. I haven't bothered measuring my typing speed because it's never the limiting factor.
- 300bps 5y agoCouldn’t disagree more. Any activity on a computer is aided by reducing the friction involved in getting what is in your brain into the computer and from the computer back into your brain. Sure, you can program with punch cards and no display. People did it for years. But having three monitors and a quality keyboard that you’ve mastered will be much more efficient.
- test001only 5y agoI started with hunt-peck style typing and can now type without looking at the keyboard because of muscle memory. As you mentioned, typing has never seemed like a productivity impediment to me since I don't think I ever had to type at 120WPM when programming.
- pjc50 5y agoProgramming is a uniquely bad fit for formal touch typing because we type a lot of symbols that don't fit on the home rows. I'm typing this comment without looking at the keyboard, but I'm not "touch typing" because my hands aren't kept on the home row. Need to use the arrow keys? Outside the touch typing range. Mouse? Outside touch typing. Function keys? Numpad? Touchbar (blech)? I have never felt limited by typing speed. Informal touch typing is good enough. Quite often it's the computer or network that can't keep up, anyway.
- phire 5y ago40WPM is fine, and far beyond actual hunt and peck. But I have encountered one IT professional (not a programmer) who despite being in the industry for 20+ years, could only manage about 15WPM, if that. His style seemed to include legitimate hunting for the next key, and only two fingers. At that speed it was starting to become problematic: It was painfully slow to watch him do anything or help him with a problem. Not an absolute deal breaker, as long as such a person is good at their job and is efficient with what they type (taking advantage of copy/pasting or scripting), it's workable.
- stepbeek 5y agoDoes documentation factor into this? If I can touch-type at 120WPM, then I can churn out a great deal more documentation per unit time than another engineer that can only type at 40WPM. It's less burdensome for me to document well, to write expositional documents and to communicate regularly than my colleague that needs to budget their typing more carefully. While I might not be bottlenecked when working on a tricky piece of code at 40WPM, I'll likely be bottlenecked elsewhere often.
- mmkhd 5y agoTyping fast is useful but not necessarily enhancing productivity all that much. Even writing documentation is more about thinking than typing fast. Documentation must be concise and understandable.
- lbayes 5y agoThere's also an argument here about having (and signalling) respect for one's peers, craft and tools. The keyboard is a tool. To me, it feels disrespectful for a person to expect these high wages when they don't even make the moderate effort involved in learning to use this tool efficiently. In my experience, this usually signals that a person isn't actually interested in continuously improving, feels overly entitled and they tend to be a nightmare to work with. Most places I've worked require substantial pair programming or at least working through problems together on a regular basis. If you can't type, you're going to waste a lot of people's time and they may be too polite to say anything, but it's frustrating for everyone around you. A carpenter who claims to be experienced, but can't work a hammer efficiently would be ridiculed on a job site. I'm not proposing we ridicule anyone, but being unwilling to type and claiming to be competent at a job that requires an enormous amount of typing does have a ridiculous look (to me). Of course, I have worked with people working through a variety of disabilities, including dyslexia that make touch typing basically impossible. I'm not talking about them here. I'm talking about people who just refuse to make the effort for whatever reason. It's a bad look. PSA for newer players: Regardless of how you may feel about this subject, failing to demonstrate at least moderate typing skill in an interview is often a hard pass unless there's some explanation requiring an ADA accomodation.
- throwaway6734 5y agoTyping should be a very small amount of time of a developer's job even when pair programming. >A carpenter who claims to be experienced, but can't work a hammer efficiently would be ridiculed on a job site. It's just not remotely the same. How quickly and accurately a carpenter can hammer has a large impact on the quality and speed of the work, while typing should never be the bottleneck for a developer
- KaiserPro 5y ago> The keyboard is a tool. Yes, but one of many. > If you can't type, you're going to waste a lot of people's time and they may be too polite to say anything, but it's frustrating for everyone around you. I don't think in my career I have ever been alerted to anyone's typing speed being slow. Yes, I've heard endless noise about "the perfect keyboard" and the ins and outs of spring types and junk. But I've never noticed the output of someone because they type slowly. And to be honest, I really couldn't care. Can they code? can they keep to a deadline? are they nice to work with? if the answer to all three is yes, then I couldn't give a shit about how they type. > but can't work a hammer efficiently would be ridiculed on a job site. Only if they need to use a hammer effectively though. If they are laying veneer, carving, using a screwdriver like a sensible person, then a hammer is only rarely needed. This all smacks of gatekeeping to me.
- Koshkin 5y agoOne of the best and extremely productive programmers I have known had cerebral palsy. He typed slowly, with one finger, while holding the right hand steady with the left.
- dccoolgai 5y agoYeah, someone who doesn't care about consistency but can type 120WPM is just going to break your DB faster.
- tzs 5y agoWhat about writing that in ancillary to the actual entry of code into the computer? In the modern workplace there is often quite a bit of communication via a text chat system. A chat where everyone types at 120 WPM is about as fast as the low end of normal conversation speed (120-150 WPM). A chat with several people only doing 40 WPM is much less pleasant. Email doesn't have the quick back and forth of chat, so slow typing usually won't be directly noticeable to your colleagues, but it can take up a lot of your time. Someone else already mentioned documentation.
- kragen 5y agoCertainly you can be a highly productive programmer if you only hunt and peck, but it's a real handicap; you have to do a lot more of your programming in your head and a lot less in the computer. (Though 40wpm is unheard of, you might get 30.) I think the best analogue is blindness: it dramatically reduces the bandwidth of the information channel from the computer to you, but there are highly productive blind programmers. Hunt-and-peck programmers are in a similar situation.