Thanks for the reply. I think there is little to no correlation, but like the opposite opinion, I've no proof other than the anecdotal: the best hackers I've known didn't care about these things.
Other bizarre opinions I've read from Atwood and his followers: that you should be an excellent typist (this is also related to owning a mechanical keyboard). No. Just no. Typing speed is not the bottleneck when writing software. The bottleneck is my brain. I've never seen a project fail because people typed too slowly.
I do think there's a "CrossFit" mentality among the typer-coders who swear by mechanicals and end up with wrist braces - a kind of "more is more" approach that drives them to write lots of code, put in lots of hours, memorize innumerable details, and min-max their output in Taylorist fashion. It's optimizing for reps, versus mobility, stability, flexibility.
I have let my WPM drop a fair bit over time. I'm still relatively young yet, but I see no reason to go fast when I realize that most of the typing amounts to disposable bullshit. It's better to spend time thinking and developing thought patterns, and then just type a little bit to jog your mind and clarify. I allow myself to write some cheap code, but the point of that is to sketch, and the sketch should be light and quick, for the same reason that artists will say to favor long, confident strokes instead of chicken-scratch markings.
My main gripe here is that as time has gone on, and I've racked up the RSI's, is that the brain-to-text latency has gone up notably.
This scares the shit out of me. I'm not in the older subset of programmers (<30 atm), and this has gotten to the point where the latency actually affects my workflow.
> Typing speed is not the bottleneck when writing software. The bottleneck is my brain.
I agree except with a caveat: the mechanical action of typing, formatting, refactoring, fixing typos and missing semicolons, and moving code around actually distracts the brain from the higher level task at hand. And when the brain is already the bottleneck, I don't want to make it worse by wasting brain cycles on mechanical drudgery.
As one might expect, I feel far more productive when I'm using languages and tools that require me to type less and refactor & re-edit code less. I think the language would matter less if I could just wish code onto the screen. Until then, learning to touch type (with as few errors as possible! not necessarily as fast as possible) and use editor features to make it more effortless is the next best thing.
It’s the opposite for me, having fewer monitors makes it harder to find a window. I have to go through alt-tabbing slowly to get to the one I’m after.
With three monitors, I know exactly where my windows are. If I have more than three windows that’s annoying, but I keep the extra ones on the middle monitor to simplify things.
I think the Python ethos applies directly to typing speed: "code is more often read than written".
I agree, if speed of your typing is your bottleneck in getting code written, perhaps you should be coding smarter not harder.
I think there is some wisdom that you should try to be a "good" typist, in that better typing skills reduce the risk of injury (RSI), but that's self-care/ergonomics, and while still very important, there are plenty of good software developers that hunt-and-pecked their way to an early retirement (and/or multiple carpal tunnel surgeries).
I've had a phase of getting mechanical keyboards, but I always found myself typing slower on them. The added travel time, even on the "low profile" mech keyboards was making me type slower. I am back to scissor switch and I couldn't be happier. Although I prefer the low profile keyboards in general. One of my favourite keyboards is the butterfly Macbook keyboard, but I know it has mixed opinions.
Typing speed is not the bottleneck when writing software. The bottleneck is my brain.
I see typing like the ability to do mental arithmetic: being able to do it well isn't the thing that's directly valuable, but it removes distraction from the activity that is valuable, and that ends up making it valuable as well.
Another way to look at it: the faster you think, the faster you need to type in order for it not to become the bottleneck (during the times where you're actually implementing an algorithm as opposed to designing it). Of course, that's not just a function of raw typing skill, but also of the tools you use and the verbosity of your programming language. (An amusing corollary of this is that for society at large, it's useful to have great hackers who are bad typists: they will be tempted to develop better tools from which the good typists can also benefit!)
I've never known a great developer who did hunt-and-peck typing though. I do know great developers who have their own typing system. They simply never bothered to learn the "proper" way to do ten finger typing, and that's fine (unless those typing systems are worse for RSI, which was the case for me personally).
I understand what you're saying, but that's simply not my experience (either with myself or observing others).
Note Atwood claims you must be an excellent typist, training yourself to become one. I find this fetishization of a mechanical skill bizarre. I'm not advocating clumsily struggling with the keyboard like an elderly person, but past the point of "I'm a decent typist", I find that's enough.
I find there's no correlation between the problem-solving ability needed to be a great software developer and being a fast typist of the sort Atwood et al advocate.
I file this under "weird things some programmers believe without evidence" ;)
Yeah, I think we agree on the excellent typist point. It needs to be fast enough, but I suspect what happens is that pretty much everybody using a computer sufficiently to become a great developer reaches "fast enough" naturally through implicit practice.
I agree, but would say that in real life most of the people I know who like mechanical keyboards like them for hand strain reasons. They find them more comfortable to work with. While the code written is the same on both, that things like 4k monitors (eye strain) and mechanical keyboards (hand strain) are better for the long term health of the programmer. I've not gotten on the 4K train, but do like having my keyboard for that reason.
Multiple monitors though is purely personal preference I think. While having the documentation on another screen is something I personally find useful, if anything it probably makes me lazier about trying to remember things.
I think it's valuable to be able to type effortlessly without having to think about it too hard. Typing is a distraction that takes brain power away from the important things.
Typing speed is probably not the bottleneck but I found that since I started touch typing I get a lot less headaches because I don't have to look up and down all the time.
Other bizarre opinions I've read from Atwood and his followers: that you should be an excellent typist (this is also related to owning a mechanical keyboard). No. Just no. Typing speed is not the bottleneck when writing software. The bottleneck is my brain. I've never seen a project fail because people typed too slowly.