I get freaked out enough seeing devs that can't touch type. Now you're telling me there's a large number that also don't know the copy/paste shortcuts!?
I get freaked out enough seeing devs that can't touch type. Now you're telling me there's a large number that also don't know the copy/paste shortcuts!?
I tend to use win+space, which instead toggles the input method you're using, as opposed to toggling how the pinyin input method interprets your input. But I had to learn about this secret special functionality of shift, because (some time ago; I don't know if it's still true) after switching your input method with world of warcraft running, the chat UI in the game would become nonresponsive.
After all, who ever heard of wanting to switch between different languages while using a chat interface?
I recall thinking shift was an insane default but it did explain why she used CAPS LOCK to capitalize single characters.
(Though I've also seen one complain that he was used to lowercase and couldn't read text in all caps. Strategies must differ.)
Do you get freaked out the same way seeing professional drivers that don't race? I've never related the speed of typing to the quality of coding (maybe to the quantity, but not a reason for being freaked out).
In any domain where typing is the dominant activity, it would make sense to invest the small effort it takes to learn to touch type, and to learn basic keyboard shortcuts. You don’t have to reach 120 words per minute for the investment to pay off.
I used to be a one or two finger typist. Eventually, I took a touch typing class. For a long while it seemed like a waste of time. I could already type with one or two fingers at 40 words per minute. However, as I became proficient with touch typing, and as my touch typing speed approached my hunt and peck speed I started to realize what a powerful technique it was. I no longer needed to look at the keyboard, and my thoughts more easily flowed into the computer. This was a qualitative difference, not just about speed.
To continue the driving metaphor, IMO a driver who has had some basic driver education, and achieved some basic level of familiarity with the machine, will be a better driver, even if they never go faster than 40 miles an hour.
> as my touch typing speed approached my hunt and peck speed I started to realize what a powerful technique it was. I no longer needed to look at the keyboard
There's no connection between these things. I use two (sometimes three) fingers per hand. Do I need to look at the keyboard? Of course not.
I don't need to look at the keyboard because, when I would sneak downstairs to use the computer at night, I didn't want to turn on the lights.
Hey, that's me :)
Out of curiosity, why is this a yardstick for SW developers? I assumed the more valuable skill of the profession would be critical thinking and problem solving skills, not finger dexterity on pressing buttons without looking. That's why I didn't become a secretary or court stenographer.
I mean, a lot of doctors can't hand write for shit, but is that in anyway relevant to being a good doctor?
What about SW devs with handicaps or mobility issues?
Touch typing feels like a pretty niche hill to die on.
Plus, writing code is not the only kind of typing that I expect a developer to do. Even if I could accept that typing speed is not important for writing code, it's certainly important for writing documentation, good commit messages, communication with team mates and stakeholders, etc.
In other words, the only thing I think about is what to write, not how I do it.
There is no way back. Relaxed posture, no UI elements stealing my focus unnoticed, parallelism (partially): continually "big-picturing" text; speaking with people while typing. The rhythm of this motoric skill and his quite specific form of memory alone, strangely decoupled from and coupled to the other mental processes at the same time, the interplay is simply marvelous.
I move my hands around as I type, too. I learned piano before typing, and it’s weird to me to try and keep them in one place. I type as fast as I’d ever want or need to, though, so I couldn’t care less if it’s not “proper”. I’d still say you and I both touch type.
It’s an invaluable skill not just for developers, but for anyone whose job requires frequent typing.
I wouldn't link it to competency as a dev.
Our main output is typed code.
Yes, our most valuable skill is critical thinking. So I don’t want to waste time and thought on wondering where the “f” key is. If I’m thinking about typing, I’m not thinking about the problem.
Pretty sure my main output (at least by volume) is text files detailing things such as requirements, implementation strategies, and algorithmic tradeoffs.
Unless you are thinking slower than you are typing, you should invest in learning a basic and very easy skill
Programming isn't bottlenecked by how fast you can enter or type text, it is about focusing and thinking and then solving a problem. In other words, being able to enter text faster does not imply also being able to solve a problem faster.
I would even say that on the contrary, taking longer and reflecting on what you are typing more may perhaps result in a better quality solution of the problem being solved.
It is sort of nice to turning your laptop screen red and dim, and code on a dark porch at night (OLED screen required to get real darkness). Just you, the vim, and some fireflies. Your eyes will adjust to the darkness, and maybe you’ll see some animals that you don’t normally see.
"I can touch type" == "I spend enough time writing things on the computer every day that I have invested in the fluidity and comfort of my own hands" == "I'm enough of a nerd to actually be good at my job".
But it's also worth it from an ergonomics standpoint. I learned to touch type over the space of a few weeks of practice, meant years ago, and it's the reason I can use a split ortho keyboard today, which is much nicer on my wrists than the alternatives. I can also keep a notebook between the two keyboard halves which is much nicer to scribble on than having it to the side somewhere.
That's exactly why I don't touch type.
Forcing my hands in the optimal "home-row" positioning for touch typing gives me wrist pain. Moving my hands towards my most comfortable position disables the ability to touch type.
>It's a signaling mechanism more than anything, as you can see from the other responses here.
Firstly, what if that type of signaling is flawed and might even be discriminatory if applied to screening people for an actual job, especially that SW devs conder themselves highly liberal and open minded to diversity.
Secondly, I also can't fathom how keeping my eyes focused on one screen continuously for long periods is healthy for them versus exercising them having to occasionally refocus towards the keyboard and back.
Thirdly, even if I would touch type, my job needs me to take my eyes of the "IDE screen" occasionally to look at other things like datasheets, PCBs, notes, etc. Then the amount of distractions in the office far outpace any supposed efficiency gains from not having to take my eyes off the screen, so there's no benefit to it anyway as the job has many other bottlenecks.
Reading the comments on this thread, makes me feel like I'm watching that scene from American Psycho where they're all in their bubble flaunting and judging each others' business card designs when they're all the same design. Glad I don't work with such judgmental individuals who scrutinize such pointless details like the way you type, as if their way is the only right way. Must be a nightmare.
>"I'm enough of a nerd to actually be good at my job".
Well then, I guess I'm lucky to be good at my engineering job without the way I type being an issue.
I chose to reply to you while addressing the rest of the comments since yours distills them, so it makes sense to reply to all in one comment than to each individually. Apologies for the misunderstanding.
The nice thing about touch type is to not think about typing. One quick glance to position your hands on the home row (there’s helper on F and J), and then whatever you want to write just flow out. While I use two thumbs to type this on mobile, I’m mostly using my peripheral vision. Typing on a real keyboard is better as I have better feedback and can use all my fingers.
It’s only one reason: No need to think about typing, it’s all muscle memory.
Also signals are heuristics and thus important because it's impossible to evaluate everything from first principles every time.
Touch typing means not looking at the keyboard while typing, not not-thinking about typing.
>What did you think it meant?
What do YOU think it means?
Can't you not touch type while still not thinking about typing?
Am I the only human capable of doing an activity while not thinking about it?
What if I told you that touch typing means you could do that while you are typing.
In my college, if you couldn't type 40 WPM, you didn't graduate.
When I was 29, I got very bad RSI in my right wrist, and re-evaluated my whole computing life as a result: switched to dvorak, removed the mouse/touchpad in favor of keyboard-centric tools, and swapped to a trackball when the pointer was needed. I also learned to touch type.
Of all the changes I made, I think the one with the most lasting value was touch typing. I didn't want to learn it, but I just bit the bullet, and I'm glad I did. It makes doing everything else on the computer very fluid and comfortable. It sounds like the touch typing position doesn't work for you, but the core point is that being able to effortlessly interface with the machine while your eyes can do something else is empowering.
I bothered writing this because I spent decades both before and after learning to touch type, so I feel I have some perspective on how they compare.
If instead you need to navigate somewhere you don't exactly know the location of, scanning and clicking is faster.
Then again, if you happen to know the exact location, going there by command is much faster
I'll take good keyboard controls for pretty much anything else though.
Search is better especially with code. I used emacs and vim more than other editors, so I got use to their navigation shortcut. And on macOS, the trackpad is nice and convenient. But I still prefer search and paging shortcuts when I need to scroll.
Skipping forward 3 words on the line, for example, could be ctrl+right ×3.
I can do that faster than I can move my hand from the keyboard to the mouse, let alone drag it around.