I keep pressing ctrl+space until copilotGPT reads my mind and writes down precisely what my brilliant mind envisions, sometimes it lasts for hours, sometimes days, years.. but in the end, it's always worth it.
Also an underrated way of improving: learning a US layout. I’m from Germany, we use a QWERTZ ISO Lay-out with our lovely special chars ÖÄÜ. Since they take space, commonly used symbols in programming like (){}[] are all on a shift layer on the num row. This sucks ass for programming as it’s extremely inconvenient and unergonomic. Switching my keyboard layout to an US one was easily one of the biggest quality of life improvements I had last year (and if you have a QMK keyboard you can stop customize beloved ÖÄÜ chars to be reasonably easy to reach).
I use US-Intl with dead keys removed, so I still have äüö ready (and some other things like €). It's so much better than Ctrl-Alt-7 every time I want to open a bracket
same for *Spanish,* I recommend the *US International layout with dead keys,* using this one you can type tildes áéíóú and ñ with alt-gr + vowels/n I also recommend changing the language to english because some programs change their shortcuts acording to it, but for this *PLEASE USE ANY OTHER ENGLISH THAN THE US ONE, THAT SHIT USES mm/dd/yyyy FORMAT AND IMPERIAL MEASURES!!*
I just did this a couple of days ago and already loving it. Coming from a Finnish layout. I just stopped mid-code thinking I can't take these keybindings anymore. Switching with Windows key + space (switching keyboard layout) to get my öä when needed.
one thing i noticed when doing screenshares or pairprogramming is: if you think speed does not matter, you have not witnessed a slow typer that on top of it uses his mouse and not a single shortcut other than copy pasta. a great exercise in patience, let me tell you. try it. it might change your mind..
Yeah, I totally understand that pain. And the opposite is amazing, one day a co-worker was blown away watching me using Vim and flying around editing text without touching the mouse. VIM for life..❤
Agreed on everything except the monkeytype take, I think monkeytype boosts your speed by a lot because the words are easy to type and as soon as you spend some time on it they start getting ingrained in your muscle memory, making your results even faster. This means that even if you don't fully know and understand the layout in your heart you can get a really good score by typing easy words.
agreed, i have 160 on monkeytype 60second but still can’t touch type special characters, the best practice for programming would probably be practicing special characters on monkeytype along with quotes. The 200 word list is more of an ego boost than anything (although majority of words inside sentences are within the 200 word list)
Monkeytype doesn't boost your speed by a lot, *because* it only contains the 500 or so most frequent words in the language. If you want to get faster, it's probably better to chat online or use typeracer with quotes from books that also include numbers and punctuation. If you're only good at typing the easier words, or you only play shorter modes such as 10 word or 15 seconds, you'll lose a lot of speed on more difficult words and when you need to type for a little longer
Is there a type testing site that tests typing text that resembles a programming language? Lots of parenthesis, camel or snake case var names, colons, etc could really help
You can, in fact, think faster than 100 words per minute. According to what I found on google, the average talking speed is 150-200 words per minute! Stenotypes (used in court to write down everything people say) can effortlessly reach speeds of up to 300 words per minute because a keyboard user won't keep up with the speech or will get tired very fast
I used to type around 90wpm, but then I had a repetitive stress injury. Couldn't touch the keyboard, couldn't even hold a spoon in my hand for long enough to eat properly. The doctor said I won't be able to get back to programming ever again. I have partially recovered since then, and I've been typing daily for a couple of months. I'm much slower than I've used to be, and it annoyed me a lot at first, but I've learned to work differently. I'm feeling like I can get stuff done in a decent amount of time, even though I'm not a blazingly fast typist. I'd say not to stress about your typing speed, and always pay attention to ergonomics.
read my comment I left today, you simply need a different keyboard (cherry MX red silent). I also had the same problem, all fingers felt like broken, I had to use my middle finger to use the left mouse button because the index finger hurt so much). Now I do typing tests all day long without a problem.
as a fast typer i sometimes think of a word, type the word in.... but then i look back at at and see THAT I WROTE THE WRONG WORD also sometimes my finger presses the button a bit too weakly so i end up typing stuff lik ths
One thing touch typing helps for is it frees up brain power for thinking about code. It's not important to type super fast but it is so useful to type *effortlessly* at a decent speed.
Sometime last year I was still looking at the keyboard when I typed. I decided to started practicing proper typing techniques for the very same reasons you mentioned in the video and I've improved from 30+ words per minute to 50+ words per minute. I don't practice as much as I should so I haven't been improving quickly but it makes such a huge difference in focus not having to constantly be distracted to look at the keyboard.
'i'm an okay typer - i get around 150wpm' --- such a crazy flex. Also, none of the best programmers I know are 'one finger types' other than engineers over 70 who started on punch cards or some shit
Good point , I am by no means fast. Appoximately a 60wpm guy. I figure out so much by getting it on the machine. I think I know what it will do, but there is always something that I learn through getting the original idea coded.
Interesting. I’m a mechanical engineer with a focus on design, but I also explore ideas with my hands, my sketch my thoughts in 3D design software because I’m fast enough to iterate on what I want and I’m not hindered by the software. Just an interesting parallel
The average typing speed is around 40wpm. 60wpm is statistically pretty fast. Idk where he got statistically moderate is 60wpm. I think there is a point where typing speed doesn't matter. In my opinion for programming if you are above that 40wpm I think you should be fine and I haven't seen a huge quality difference in the programmers who type considerably faster than that and who are in the 50wpm category. But it is your job so I think you should be slightly above average when typing.
I'm about 80wpm doing prose (the quote option on monkeytype) and about 50wpm writing code with symbols and numbers. In code that's about as fast as I can go while making sure that what I'm getting down accurately represents my idea anyway.
@@darukutsu Not sure where you came up with that number. Touch typing is pretty much the default nowadays and the average is around 40wpm. Idk where you came up with a default of 50-60.
@@_stevek i mean everyone in my touchtyping class (around 30 people) were around 50-60. And some of them weren't even computerphils. Just some accountancy guys.
I think it is more about knowing key shortcuts to navigate rather than just typing raw text from your brain. Reaching for the mouse is a way bigger time and focus killer in most cases.
If you're not a vim motions person, learn Home, End, Ctrl+Left/Right arrows (and holding shift key while doing so to select) - it will change your life.
true. also alt or ctrl alt depending on the IDE + arrow up or down will move the line of code up or down, handy if you are the type of person that copies a code block and paste somewhere else just to move it.
I'm not quite in the programming, but Network Engineering and design and what You said about typing fast is totally true. To me this is the most important skill that I've ever picked up. Writing documentation, responding to shit emails, responding on slack, it all just adds up. Same thing in console, it's just invaluable. Typing fast with the least amount of errors is king.
As someone that suffers from severe RSI, I cannot type on a laptop for more than an hour. OpenAPI Whisperer has changed my typing life. All emails and Slack messages are dictated now. Use the Whisper C++ client. It's excellent and it's offline. But Theo is absolutely right about mechanical keyboards. They take more actuation force and after a few years your muscles in your arms become very sore and overused. I'm now using a CharaChorder, which is like having joysticks under my fingers and it's helping a lot with the damage mechanical keyboards have done. But the learning curve is like Emacs learning curve, but it's change or die for me with my programming career.
Those things you talk about only matter when you write pedestrian code. If you are working on databases, operating systems, compilers, it doesn't matter even if you are below 80. Most problems are so difficult that you are sitting and thinking most of the time than typing.
I was going to say, I don't feel like I relate to much of this, though admittedly I am only around 60wpm and could probably appreciate a speed increase in non-work contexts. I work in database design and most of my time is spent plumbing the problem mentally. I do figure out issues with my ideas while writing code skeletons, so it is good to have that sort of active hands-on thinking process, but I could never in a million years spend half an hour on 500 lines of code and compare multiple ideas like this guy, diving in with manic energy doesn't do anything. It kinda feels like the advice here is "think faster," which, yeah I'll keep that in mind, lol.
respect to @ThePrimeTimeagen for not being ass suck and @t3dotgg for being a true elitist in his respected field. This is what a healthy debate looks like gentleman. 🙏
Typing fast to get testable code out faster is worth a lot to me. While a lot of the coding process is just thinking and planning, the faster I can get runnable code, the faster I can see if I'm approaching things correctly. There is absolutely no downside to being able to type fast as long as you're not just making a bunch of mistakes while doing so.
I started learning to touch type around 2 years ago, I learnt it by first making sure that my fingers were in the right place while typing looking down at the keyboard and once I felt comfortable with that, I forced myself to type while only looking at the screen no matter what I was doing. Because I talked a lot on discord I got a lot of practice typing, and because of this even without focused typing practice I've gotten pretty good at typing. On a side note being able to touch type is a godsend if you're trying to copy written notes into digital because you don't even need to think about typing and you just need to focus on the written notes without looking at the screen at all.
If its typing long emails or essays, etc. I feel like the biggest hurdle is spelling mistakes. Also, after watching you I tried out the ALT TAB keybind to switch between programs and had much more enjoyment coding with one monitor instead of using two. Two monitors is nice but neck gets swore way to fast and I still use a PDF or online docs for keywords/ examples while fiddling with things. Or re-typing parts of code that was decompiled to see individual chunks
You could try splitting a single monitor if two monitors is too much for you. Use a tiled window manager on Linux, or e.g. fancy zones on Windows (part of power toys). Honestly though, 2+ monitors make coding much easier. If you have to move your head too much maybe you're sitting too close, or you could try switching one to vertical. Also, if you didn't know, the convention is that alt bindings do windows and ctrl bindings do tabs, so e.g. alt+tab and alt+shift+tab switch windows, while ctrl+tab and ctrl+shift+tab switch tabs within one window.
You didn't know about alt tab? Not making fun of you, I'm just impressed. It's probably the 2nd most common shortcut on a PC next to Ctrl C and Ctrl V for copy paste
I don’t get it been using switch between app since I was 12 or something And still see the benefits of multi-screen setup Use Alt Tab can also change apps to other screen as well
I was touch typing for a long time, but started getting more serious to not use the mouse and this just changed a lot. VIM and shortcuts for window management and such really changed a lot for me. I feel much less friction when coding now, it's incredible.
Another thing that people don't mention about typing speed, is that reading text and translating is not what your used to while typing. I notice that I type in general much faster from my thoughts than from reading text.
My biggest problem with typing tests is trying to read what I’m supposed to type while typing. When I am coding it’s like double the speed because I know what I want. For me, (I hate reading) my brain just constantly has to go from read-type-read-type and that moment of transition just kills me.
This video inspired me to put black electrical tape on my keys so that I STOP LOOKING AT THEM. I _can_ touch type in theory but I still look out of habit (because I never really learned properly) and it really keeps me from improving. I'm at a BLAZINGLY SLOW speed of 30 WPM after coding professionally for 5 years (and even longer as a hobby)... It's time to improve.
@@JustSomeAussie1 for me it's not really sad, just mildly annoying that I've built some bad habits. but luckily it's something that's relatively easy to fix. I've only been at this for like 8 hours so far today and I already feel my brain shifting modes.
Just be aware, that contrary to popular belief one's ability to type is very individual. People who are doing good just tend to be more vocal. Here's my example. I started training regularly when i was at 35 WPM. In a couple of months of half-arsed training, 15 min per day, sometimes skipping whole weeks, I was sitting comfortably at 45 WPM full of enthusiasm and myself. And that's when i hit my personal wall. Next two months I had no progress, while increasing the intensity of training. I end up spending half an hour every day, no skipping. Getting to 50 WPM took about 10 months. Now, another year later I just started reaching 60 WPM on good days. Add to that that I spend the rest of the day in front of computer coding and shitposting relentlessly. So don't be discouraged by possible subpar results. If you put time in it, the improvement will follow. It just might be really not as great as >100 WPM gang would make you believe.
Most of programming is thinking, planning, discussing, code moving/navigating/reading/revising. Typing speed is definitely not the bottleneck in that whole process, and I agree for people over 80ish, you are most definitely fine
Whenever i watch people type fast, i witness someone fucking up words and sentences over and over then fix, and fix and fix and fix. Then they get the three words they were trying to type. Overall it takes longer lol. I have witnessed this guy do the same thing in his videos when he writes code lol.
Hey mister PrimeTime guy, I notice you are using your mouse to change the speed in youtube videos. I want you to know there is a shortcut for that, its shift + , and shift + . have a speedy day
In order to type fast you also have to type correctly. If you restart your test until you have a good one the result is meaningless. Also by default Monkeytype only uses the most common English words without upper case letters or symbols. It's not very representative of real text or code.
As a slow thinker, I kind of disagree here a bit. Not saying typing speed doesn't matter at all. Thing is, people just work differently. For somebody that thinks really fast, he might feel handicapped by his typing speed more than somebody that is a slow thinker. The thing is, with what I struggled in school the most is getting my stuff (like exams) done in time. I had good grades. But I had to adopt to my personal handicaps. I rarely had time to double check my test answers, or have a second try at one of the answers. I learned to have to nail my results first try to improve my grades. Thinking faster isn't really an option if you naturally think slow, because you are out of your comfort zone and just produce garbage at that point. Honestly, my pet peeve when I watch somebody type is if they just start typing and erase the same line 3 times to change it, like in fever dream. How was this faster than typing it correctly the first time? We have a saying in my country that can be applied to typing, too. It goes like: "If you don't use your brain, you have to use your feet." Because you have to walk twice to the store if you forgot half of the things you needed to buy, for example. Can be applied to your hands, too. 😏
pretty well said here, I think the idea is that you should manage to reach a potential speed where you're capable of typing so it doesn't handicap you. I'm at just about 100WPM when I try and it's pretty much pointless to me to ever go faster, there's a few advantages you get outside of coding that are really useful - - stuff like docstrings don't require nearly as much thinking - you already wrote the code, you know what it does, you just have to explain it, - typing faster just makes everything else you do with typing faster - sounds pretty obvious but stuff like browsing docs, searching stuff, and so on. Those are short things but the benefits add up, less time spent working, happy me, - It's insanely useful during meetings, or anything like reports or stuff like that - you can talk to a client and write down their ramblings directly as they're saying them, atleast usually I can as long as they're not eminem or something, in which case I'd need to clarify anyway. - it's much better for interviews as well, you can demonstrate code faster and write down stuff for them faster, it might impress your interviewer 🤷♀ It's definitely not a requirement, but I'd say it's a skill that has no detriments, considering how much time we spend infront of the keyboard anyway.
There was a course in college that was a graduate seminar for writing philosophical papers and it had a reputation for being brutal. The professor would rip everyone’s papers to shreds and people had to write many revisions before getting it accepted. That professor said he knew only one person in the world who could write a final draft diet time through. So probably it’s the same with coding. Maybe 10 people ever can code first time through a solution.
I think you're both missing the point. Optimizing anything but your bottlenecks is a waste of effort, as you'll just pile up at the bottleneck or have idle time after it. If you know your typing is your bottleneck, improve it, otherwise, don't bother, instead, focus on being able to produce a more continuous stream of programming thoughts, study your language, data structures, design patterns, etc, so you don't have to pause to think, or optimize your build workflow so you aren't sitting waiting for your terminal prompt to come back.
I can type really fast with normal typing. I just got into coding and man I'm having trouble with typos... I found a definitely helps if I just slow down a bit and double check that there's no typos as I'm typing it which is different from how I would type a regular paper just bang it all out and let autocorrect take care of the few mistakes.
The slower I type the longer I have to hold ideas in my head, the longer I hold ideas in my head the more I lose my train of thought, then I have to try to remember my idea or resolve the same thing again. So yeah to me getting ideas out of my head so that I can move my brain forward instead of going in circles is the most important thing.
I agree with everything you said about good penmanship. My writing still sucks though 😆 I did several years of calligraphy and it just didn't help. I had a teacher who would say my writing was the sketching of a map of hell (can't translate it exactly).
Typing speed doesn't matter. It doesn't speed up all that meetings and those DevOps pipelines that need several minutes to run tests and deploy for a simple hello world project. Then you have to change a single config option because (of course) the examples from the official docs don't work. Run again. NoneType doesn't have method xyz. Oh, internal errors in the tools. Change config. Run again. Pipeline runs into timeout. Run again. Gotta love modern development and all those productivity tools. On a more serious note, fast typing makes many things outside of programming much easier as well. Writing emails, chat messages, notes in meetings, reports, whitepapers, rants on TH-cam and so on.
My opinion is that depending on the task you have to implement. A bug where you have to look around code and error states and bounce between the ui and the debugger is a task that typing fast makes no difference. Now a feature where you implement something new and you have to create a lot of code that works as a shell for the idea you implement may be more affected. It probably depends on the nature of what you write and how verbose it is. I found out that in my work I have enough time implement features that it doesn't matter.
If you can type 300 lines of code in a short amount of time that is defined by your typing speed, your problem is not difficult and it's not worth the time of very good devs.
I was getting wrist and arm pain when writing (software engineer for decades, writing for hours each and every day --- like... a lot...)... BIGGEST THING I CAN SAY IS: wrist pads, both for keyboard and mouse. Wrist pain and numbness went away and never came back - and that was like a decade ago now. Not a doctor, but that worked 100% for me. Also on the subject - get a good mattress too... really shell out for a great one. Easily best money you can spend.
The thing about Dvorak is that as soon as you have to use a qwerty keyboard again it's like you're a beginner again
ปีที่แล้ว
I think somewhere in between the quotes and the top 50 english words on Monkeytype is where the real speed is. The time you save not doing proper punctuation more or less adds up to about the same time i waste from writing nonsensical sentences. As for the "thinking most of the time" thing. I definitely spend a lot of time thinking while not typing. But right after that comes a ton of typing with very little thinking. I don't think my average typing speed over a day is particularly high, but when you get into the zone, typing fast just makes it much easier to stay on track. And then it also feels nice.
When typing is a pain, you will avoid iteration. You will be afraid to break things. And you will learn much more less because you will feel constant background foggy frustration on every step you make. Touch typing will make you to love taking notes, research, surf the internet, refactor, move code around, flex on others, try this, try that... it is 100000% the very very very first skill you should learn before making any progress in real programming. Most ironic thing is, that I can't name the Colemak layout off of my head, but I can type on it. :D I really need to think, which key is which when I do look at my blank key caps keyboard.
I never learned to touch type and reckon I could type at ~35 wpm with 5 fingers while staring at the keyboard. Constantly looking up and down and figuring out how to type what I want has started to really hamper my train of thought. I started training a month ago, and now I can touch type at ~60 wpm. Coding is now a much smoother and satisfying experience. The goal is 100 wpm. P.S. Have you heard of the corne/crkbd? It's a 42 key, open-source, split ergo keyboard I'll be building this week.
i am not very fast, like 80-90 in monketype. but i am now more accurate and i write around my thought speed. it really makes a big difference because now very common tasks take very little time. even stuff like googling something, texting or writing a report for a homework. especially those straight typing tasks. it's painful when you always have to look at the keyboard. now i can almost shut my mind off and go wild on the keeb, get it done in little time. it sounds trivial and many people don't care to learn it for a month or so, but the value is huge.
OK; Yes. Typing speed matters. But fo you agree with Theo that there is a point beyond which it no longer matters? I mean I assume theoretically yes, a billion words per minutes probably isn't helpful cause the mind can keep up, but an achievable upper bound? Theo claims 80 is the point where improvement no longer matters that much. Do you agree with that? 90? 100? 140? Is there a point where you are basically satisfied and feel the bottleneck is solidly enough elsewhere to where it's not worth trying to improve it any further? I have very bad eyesight so my bottleneck when doing the online tests is changing which parts of the text I am reading. I read code a lot faster than that because I can adjust my editor fully and the flow of code is more predictable so where you lay your eyes and such is faster to navigate. But the difference between going from thought to text vs. reading and writing what I'm reading is pretty big to me. But on an online test I just took now I reached 70WPM. And every line break I had to pause completely because the page I used moved the text around on line breaks and I was never sure if it wanted me to hit space or enter at the end of lines so I imagine I'm somewhere in 80+ if it's from thought to text instead of reading->text.
When i'm casually writing code then yes.. I will be responding to chats etc. But when i'm _programming_ I am 100% focussed on that and I will take no distractions what-so-ever. There can be music or a video in the background but usually it might aswell be white noise because i'm so focussed on just the code. In that case, the typing speed only matters up to a point; exactly what he says.
Learning to touch type was a great skill to learn. I'm currently learning to touch type in colemak dh to at least 50 WPM within a few months. If I can't then I'll just go back to qwerty and continue to type as fast as I was.
When people say they spend time thinking what they mean *isn't* necessarily that they stop typing the code while thinking through things in a very theoretical way for a long time. It's that when they code they have lots of small pauses so they can't type at blazing speed.
I started to learn to touch type just a few months ago even though I've been a programmer for years. It was very hard, my wpm was barely 30 and i made mistakes a lot. Now i can comfortably touch type at 70 wpm and It feels so liberating seeing what you type on your screen, especially If you are from another country and you have to constantly switch keyboard layouts, now I Instantly see that I type on a wrong layout and correct that. Also If you are learning and make a typo I advice to erase the whole word and type It again, this way you develop muscle memory for the whole word you are trying to type
When typing fast is important to me is when I have a design in my head and I need to get it into code before I start forgetting details. Once its in code then I can actually evaluate the design to see of its good.
Monkeytype is a horrible representation of typing because of the lack of capital letters and punctuation characters. If anything it's an overestimate of speed, especially for people who practise on it a lot because there's a fixed vocabulary which you will obviously get accustomed to over time, and then lack of capitals and symbols like punctuation means you'll be slower in real life typing. Anecdote: I've got a buddy who practises monkeytype daily and gets around 100wpm, but on typeracer he rarely gets over 70 lol
I felt the same transitioning from traditional to ergosplit keeb (qwerty) First day - "I CANT THINK I CAN'T BE CREATIVE AAAAHHH" 4th day - Ok i'm back at 69wpm but i still can't think Week - Ok we're getting there Two weeks - It's time to switch to blanks Month - wait, keyboards can be in ONE PIECE as well???
Used to be at 140-160 depending on the run in highschool/early college but now ten years later cause of hand issues down to 66 really feel the difference mentally blehh
Currently 24 years old and able to type upwards of 150 wpm, maintaining that speed for while begins to hurt my hands so I need to force myself to take my time and go 90-100 wpm.
4-finger typed on QWERTY w/ no homerow structure AT ALL and was typing at ~160wpm. Learnt Colemak, 10 fingers, homerow structured. Was stuck at 10 wpm for a couple of days, then rose to 50 wpm, then 90wpm, then got back to 160wpm, then hit 200wpm. When I attempted to code on Colemak, same story. All of this to say that anyone who thinks typing speed doesn't matter, should try and switch their keyboard layout and feel the struggle until they return to their previous wpm. If you can feel frustrated, slow, and inadequate at your 50wpm, 100wpm, and 130wpm, imagine how inadequate your current wpm would be compared to 200wpm.
I had QD Kinesis Ergo around 1999, 2000 or so. It was really good when it continued to work. The modern ones are really nice and I'm considering one to work along side my ergodox. (what can I say, I'm always a grass is greener person)
What i don't get with this is the idea that you don't naturally get better by simply typing? Are there people between 80-120 words per minutes that have deliberately worked on training up your typing speed? Isn't this just natural progression by simply typing in your daily life?
Typing fast is meaningless without high accuracy. One thing that helped me with high accuracy is to delete the whole word and retype it rather than just correcting the mistake in the word
Back in secondary school, when we learnt touch typing, we had a whole book full of those monkeytype challenges and spent 2 hours per week in a school year doing this, for learning how to touch-type they are actually pretty good, but - as you said - it won't do much for your typing speed in a real situation. I get a constant 150wpm at monkeytype as well, but I don't think it does much for real situations, with monkeytype you are just constantly training the same words over and over, you are not writing sentences neither are you writing down your thoughts on some matter you are discussing. If you want to type fast, you have to get fast at translating your thoughts to your hands (digitally or with pen and paper).
Switching from ISO-DE to ANSI-US with blank keycaps improved my coding speed by alot. Now I'm about to swap to a corne split keyboard and another layout (maybe Dvorak). Not looking forward to the frustrations in the first weeks 😅
I'm not going to argue that typing fast isn't beneficial but I've seen John Carmack type (although a long time ago, no idea how blazingly fast he is these days) and he's probably not beating any records so.. as long as you learn to think like Johnny, I think you're safe :) gl.
how could anyone possibly code while looking at their keyboard? I can't even imagine it. And another baffling thing, if you code a lot, how can you not touch type? After a month you should be able to do it. Do these people not even attempt to memorize where the keys are?
Sure, typing at 20 wpm is good enough, but typing at 40 is twice as good and not even difficult. Choosing to hunt and peck with 2 fingers instead of touch typing with 10 is like choosing an old gutenberg printing press over a modern printer. They can both print a book, but a modern printer will do it automatically, quickly, and effortlessly. Practice 15-30 mins a day for two weeks, and you can type automatically, quickly, and effortlessly for life. It's so worth it.
Even if it wouldn't make much of a difference, learning to type decently fast is only a small time commitment for a skill you'll use for the rest of your life.
I typed fast from playing MUDs. I would crawl a town with memorized sequences to find the perfect NPC to fight. You had to type fast to be able to cast spells, flee, various actions and conversations. Everyone was fast there. I think my peak wpm score was around 120 but if I had a mavis program, it would show top speed around 160 for short stretches. It all depends on the ease of the words on qwerty. I know a dvorak users are always going to be faster. I agree with the premise of learning curve for long term efficiency. Do I do that? I'm halfway there. I think being a fast "spotter", visually finding things and recalling where things are and fast searching is just as useful. Walking others who don't do this is paaaaainnnnfulll.
I usual use typeracer to train my typing speed,I could type 70wpm at typeracer and 80 at monkeytype, I feel typeracer reflect my typing speed more in the real world
I'm one of those that can explore ideas in my brain, without a screen and keyboard. Mostly happens in SQL and through thousands of iterations in a dream. Does happen when awake but not quite as often.
Except for the penmanship, I agree at all with you both. I would add that there's an energy loss in everything that a programmer does on his activity, that takes its toll on the long run. Typing slow, having to look to keyboard will lead to much more loss of energy than it looks. 1) There's an effort to find the keys. 2) Interrupts the flow of thoughts, which is stressful. 3) All of this leads to downgrade in productivity. 4) Health issues since, who is that way slow, uses to has a bad hands posture over the keyboard. However, I don't think 1 needs to be expressively fast. Just enough to not look to keyboard, and having the right hands posture over it, it's enough for a successful productivity in software and other areas.
It is what I do, I create multiple code results and remove the ones that are worse so in the end I only get the best code that I can think of. And if you have no inspiration how to write the code, by starting to type you get more inspiration and better results.
Great, now I have to improve my typing speed AND penmanship. I always was the kid who held the pen differently than everyone else, and my letters look like Comic Sans if Comic Sans were screaming for help.
The original video is talking about diminishing returns though, there's a big difference between a peck typer and someone typing 70+ wpm which most people can attain easily. Going above that may take significant effort which in most cases isn't worth it
Latency is a killer more so than raw typing speed.. 40-60 wpm is prob plenty. I develop primarily in Linux VMs from a Windows host via VirtualBox, and have for many years. VSCode has been good enough for this however Rider, which I've been using lately, just can't really handle it even with 16 cores assigned; 8 cores is right out. I suspect it's the lack of hardware acceleration for the graphics. In any case, the latency is enough of a big deal I'll prob start working native Linux dev in day-to-day.
Hi Prime, I agree with you its important skills, however it doesnt mean you are a better programmer. I type 60 WPM and I dont actually code that fast. I rethink my ideas and stop a lot to think about a solution.
I have never been able to get beyond what would look like "hunt and peck" to a casual observer but it's muscle memory and I can type very fast. I learn heavily on my first two fingers and thumb on each hand. Muscle memory and being able to not look at your hands and being able to correct your errors without looking down matter a whole lot more than any particular way you type. However your fingers get the keyboard memorized is less important than them having the keyboard memorized.
For me I’ve never had issue typing to keep up with my thoughts. I’ve never measure myself but I’d be surprised if we’re above average in typing. Usually between code snippets, templates, autocomplete and copilot I’m not typing a whole lot all at once anyways. Just as a curiosity how good are the LSPs being used in VIM, maybe if they’re not quite as good as some of the other tools. I’m mostly in visual studio and vscode. (C# with a sprinkling of angular when I have a bad day) Usually autocomplete up two characters in. I used to be over the opinion that I could type faster than the autocomplete, but one thing I’ve subconsciously picked up is that if autocomplete fails, it’s usually an early indicator something is wrong with your code.
I recently spent some time trying to use VS Code over a slow SSH connection. I could still type as fast as I wanted to, but feedback was very laggy. It significantly reduced my productivity. I ended up having to clone the project and run VS Code locally instead. (I know vim would've been better over SSH but I'm not a vim power user yet, and I was making changes in many files)
I agree it doesn't really matter to be able to type faster than you can think, but I frequently get bogged down with my ~140 wpm when I'm developing quickly and I start to lose track of things in my head because I'm developing in my head faster than I can type. Copilot has helped a bit, but if I could type ~180-200 wpm it would help for those rare instances where I can just develop 90% of the time copilot makes me fast enough though, but I'm also stupid and slow.
I achieved 405 WPM once, but it probably does not count. I wrote a small script that webscraped the site to get the correct words and controlled the keyboard to input them😂
People always connect typing fast to programming a complex piece of software and mention that you can't solve the problem as fast as you can type anyway. I can type quite fast and a lot faster than most of my colleagues. Yes it isn't that big of an advantage in creating some complicated program BUT there is a lot of boilerplate too. And another thing for me is tracking down bugs. I'm working on a pretty database and state heavy application. So finding a bug might involve writing 20-30+ pretty easy SQL queries. There is no thinking really but a lot of typing. Combine that with a lil bit of knowledge in terms of regex, using multi line editing and proper key bindings, snippets and templates in your IDE/editor and you get a day and night difference.
I felt that frustration of going fast, then slow, then fast again, when I learnt touch typing with 9 fingers. It's not like I was crazy fast, I was peaking at like 80wpm with 3 fingers, and making a shit ton of mistakes. But the fact that I had to re learn entirely how to type was so hard. It took me like a month to get back to 80 and that was actually painful. I could not even go back to my previous technique when I needed to do something quick, cuz I actually forgot how to type with 3 fingers pretty quickly so I remember being like stuck at 40wpm and couldn't do anything about it.
Typing is for suckers, I stare down the compiler until it produces the binary I want.
👌
i just randomize binary until it matches what i want
Chad move
I keep pressing ctrl+space until copilotGPT reads my mind and writes down precisely what my brilliant mind envisions, sometimes it lasts for hours, sometimes days, years.. but in the end, it's always worth it.
@@davititchanturia I normally brute force it and use all by products
Also an underrated way of improving: learning a US layout.
I’m from Germany, we use a QWERTZ ISO Lay-out with our lovely special chars ÖÄÜ. Since they take space, commonly used symbols in programming like (){}[] are all on a shift layer on the num row. This sucks ass for programming as it’s extremely inconvenient and unergonomic. Switching my keyboard layout to an US one was easily one of the biggest quality of life improvements I had last year (and if you have a QMK keyboard you can stop customize beloved ÖÄÜ chars to be reasonably easy to reach).
same for the italian layout
I use US-Intl with dead keys removed, so I still have äüö ready (and some other things like €). It's so much better than Ctrl-Alt-7 every time I want to open a bracket
same for *Spanish,* I recommend the *US International layout with dead keys,* using this one you can type tildes áéíóú and ñ with alt-gr + vowels/n
I also recommend changing the language to english because some programs change their shortcuts acording to it, but for this *PLEASE USE ANY OTHER ENGLISH THAN THE US ONE, THAT SHIT USES mm/dd/yyyy FORMAT AND IMPERIAL MEASURES!!*
I just did this a couple of days ago and already loving it. Coming from a Finnish layout. I just stopped mid-code thinking I can't take these keybindings anymore. Switching with Windows key + space (switching keyboard layout) to get my öä when needed.
azerty is actively fighting against you when programming
one thing i noticed when doing screenshares or pairprogramming is: if you think speed does not matter, you have not witnessed a slow typer that on top of it uses his mouse and not a single shortcut other than copy pasta. a great exercise in patience, let me tell you. try it. it might change your mind..
There are few things more painful than watching someone slowly selecting pieces of text with their mouse.
@@dhillaz Had a colleague once who looked at his keyboard while typing with just his index fingers
@@casperes0912lol
Yeah, I totally understand that pain. And the opposite is amazing, one day a co-worker was blown away watching me using Vim and flying around editing text without touching the mouse. VIM for life..❤
lmao. I feel you 🙌
Agreed on everything except the monkeytype take, I think monkeytype boosts your speed by a lot because the words are easy to type and as soon as you spend some time on it they start getting ingrained in your muscle memory, making your results even faster. This means that even if you don't fully know and understand the layout in your heart you can get a really good score by typing easy words.
agreed, i have 160 on monkeytype 60second but still can’t touch type special characters, the best practice for programming would probably be practicing special characters on monkeytype along with quotes. The 200 word list is more of an ego boost than anything (although majority of words inside sentences are within the 200 word list)
Monkeytype doesn't boost your speed by a lot, *because* it only contains the 500 or so most frequent words in the language. If you want to get faster, it's probably better to chat online or use typeracer with quotes from books that also include numbers and punctuation. If you're only good at typing the easier words, or you only play shorter modes such as 10 word or 15 seconds, you'll lose a lot of speed on more difficult words and when you need to type for a little longer
You can make it more difficult by changing the "language" to English 5k or 10k and get more complicated words
Is there a type testing site that tests typing text that resembles a programming language? Lots of parenthesis, camel or snake case var names, colons, etc could really help
@@tbqhwyf by boosts your speed a lot, the OP means that your WPM on monkeytype is inflated compared to your actual WPM in the real world.
You can, in fact, think faster than 100 words per minute. According to what I found on google, the average talking speed is 150-200 words per minute! Stenotypes (used in court to write down everything people say) can effortlessly reach speeds of up to 300 words per minute because a keyboard user won't keep up with the speech or will get tired very fast
Exactly!
nvim stenotype plugin when???
I used to type around 90wpm, but then I had a repetitive stress injury. Couldn't touch the keyboard, couldn't even hold a spoon in my hand for long enough to eat properly. The doctor said I won't be able to get back to programming ever again. I have partially recovered since then, and I've been typing daily for a couple of months. I'm much slower than I've used to be, and it annoyed me a lot at first, but I've learned to work differently. I'm feeling like I can get stuff done in a decent amount of time, even though I'm not a blazingly fast typist. I'd say not to stress about your typing speed, and always pay attention to ergonomics.
Ergonomics and longevity over speed, typing fast is beneficial but not worth destroying your hands over
Get an ergonomic keyboard. First it is terrible to type on them but then it becomes better than on a regular keyboard.
@@banatibor83 I'm using a Cloud9 ErgoTKL!
@@banatibor83 u understand that an ergonomic keyboard is not a medicine not magic write
It’s still bad
Less worse doesn’t mean good
read my comment I left today, you simply need a different keyboard (cherry MX red silent). I also had the same problem, all fingers felt like broken, I had to use my middle finger to use the left mouse button because the index finger hurt so much). Now I do typing tests all day long without a problem.
Typing fast is part of the whole "fail faster" thing
as a fast typer i sometimes think of a word, type the word in.... but then i look back at at and see THAT I WROTE THE WRONG WORD
also sometimes my finger presses the button a bit too weakly so i end up typing stuff lik ths
One thing touch typing helps for is it frees up brain power for thinking about code. It's not important to type super fast but it is so useful to type *effortlessly* at a decent speed.
Sometime last year I was still looking at the keyboard when I typed. I decided to started practicing proper typing techniques for the very same reasons you mentioned in the video and I've improved from 30+ words per minute to 50+ words per minute. I don't practice as much as I should so I haven't been improving quickly but it makes such a huge difference in focus not having to constantly be distracted to look at the keyboard.
50 to 70 is what I had
'i'm an okay typer - i get around 150wpm' --- such a crazy flex. Also, none of the best programmers I know are 'one finger types' other than engineers over 70 who started on punch cards or some shit
Good point , I am by no means fast. Appoximately a 60wpm guy. I figure out so much by getting it on the machine. I think I know what it will do, but there is always something that I learn through getting the original idea coded.
Interesting. I’m a mechanical engineer with a focus on design, but I also explore ideas with my hands, my sketch my thoughts in 3D design software because I’m fast enough to iterate on what I want and I’m not hindered by the software. Just an interesting parallel
The average typing speed is around 40wpm. 60wpm is statistically pretty fast. Idk where he got statistically moderate is 60wpm. I think there is a point where typing speed doesn't matter. In my opinion for programming if you are above that 40wpm I think you should be fine and I haven't seen a huge quality difference in the programmers who type considerably faster than that and who are in the 50wpm category. But it is your job so I think you should be slightly above average when typing.
Think thats the differenc between "average popluation wide" and "Average person who works using a computer"
I'm about 80wpm doing prose (the quote option on monkeytype) and about 50wpm writing code with symbols and numbers.
In code that's about as fast as I can go while making sure that what I'm getting down accurately represents my idea anyway.
Touchtyping will make your default 50-60. Everything else (looking at keyboard...) is not considered typing.
@@darukutsu Not sure where you came up with that number. Touch typing is pretty much the default nowadays and the average is around 40wpm. Idk where you came up with a default of 50-60.
@@_stevek i mean everyone in my touchtyping class (around 30 people) were around 50-60. And some of them weren't even computerphils. Just some accountancy guys.
I think it is more about knowing key shortcuts to navigate rather than just typing raw text from your brain.
Reaching for the mouse is a way bigger time and focus killer in most cases.
If you're not a vim motions person, learn Home, End, Ctrl+Left/Right arrows (and holding shift key while doing so to select) - it will change your life.
true. also alt or ctrl alt depending on the IDE + arrow up or down will move the line of code up or down, handy if you are the type of person that copies a code block and paste somewhere else just to move it.
basic shit
I'm not quite in the programming, but Network Engineering and design and what You said about typing fast is totally true. To me this is the most important skill that I've ever picked up. Writing documentation, responding to shit emails, responding on slack, it all just adds up. Same thing in console, it's just invaluable. Typing fast with the least amount of errors is king.
As someone that suffers from severe RSI, I cannot type on a laptop for more than an hour. OpenAPI Whisperer has changed my typing life. All emails and Slack messages are dictated now. Use the Whisper C++ client. It's excellent and it's offline. But Theo is absolutely right about mechanical keyboards. They take more actuation force and after a few years your muscles in your arms become very sore and overused. I'm now using a CharaChorder, which is like having joysticks under my fingers and it's helping a lot with the damage mechanical keyboards have done. But the learning curve is like Emacs learning curve, but it's change or die for me with my programming career.
Those things you talk about only matter when you write pedestrian code. If you are working on databases, operating systems, compilers, it doesn't matter even if you are below 80. Most problems are so difficult that you are sitting and thinking most of the time than typing.
I was going to say, I don't feel like I relate to much of this, though admittedly I am only around 60wpm and could probably appreciate a speed increase in non-work contexts. I work in database design and most of my time is spent plumbing the problem mentally. I do figure out issues with my ideas while writing code skeletons, so it is good to have that sort of active hands-on thinking process, but I could never in a million years spend half an hour on 500 lines of code and compare multiple ideas like this guy, diving in with manic energy doesn't do anything. It kinda feels like the advice here is "think faster," which, yeah I'll keep that in mind, lol.
respect to @ThePrimeTimeagen for not being ass suck and @t3dotgg for being a true elitist in his respected field. This is what a healthy debate looks like gentleman. 🙏
Typing fast to get testable code out faster is worth a lot to me. While a lot of the coding process is just thinking and planning, the faster I can get runnable code, the faster I can see if I'm approaching things correctly. There is absolutely no downside to being able to type fast as long as you're not just making a bunch of mistakes while doing so.
I started learning to touch type around 2 years ago, I learnt it by first making sure that my fingers were in the right place while typing looking down at the keyboard and once I felt comfortable with that, I forced myself to type while only looking at the screen no matter what I was doing. Because I talked a lot on discord I got a lot of practice typing, and because of this even without focused typing practice I've gotten pretty good at typing. On a side note being able to touch type is a godsend if you're trying to copy written notes into digital because you don't even need to think about typing and you just need to focus on the written notes without looking at the screen at all.
You can take a pic
But hey how did you practice it ??
Prime's face at 2:22 as theo talks about his macbook looks like someone trying to hold their laugh at a funeral
If its typing long emails or essays, etc. I feel like the biggest hurdle is spelling mistakes. Also, after watching you I tried out the ALT TAB keybind to switch between programs and had much more enjoyment coding with one monitor instead of using two. Two monitors is nice but neck gets swore way to fast and I still use a PDF or online docs for keywords/ examples while fiddling with things. Or re-typing parts of code that was decompiled to see individual chunks
You could try splitting a single monitor if two monitors is too much for you. Use a tiled window manager on Linux, or e.g. fancy zones on Windows (part of power toys).
Honestly though, 2+ monitors make coding much easier. If you have to move your head too much maybe you're sitting too close, or you could try switching one to vertical.
Also, if you didn't know, the convention is that alt bindings do windows and ctrl bindings do tabs, so e.g. alt+tab and alt+shift+tab switch windows, while ctrl+tab and ctrl+shift+tab switch tabs within one window.
You didn't know about alt tab? Not making fun of you, I'm just impressed. It's probably the 2nd most common shortcut on a PC next to Ctrl C and Ctrl V for copy paste
I don’t get it been using switch between app since I was 12 or something
And still see the benefits of multi-screen setup
Use Alt Tab can also change apps to other screen as well
I was touch typing for a long time, but started getting more serious to not use the mouse and this just changed a lot.
VIM and shortcuts for window management and such really changed a lot for me. I feel much less friction when coding now, it's incredible.
Another thing that people don't mention about typing speed, is that reading text and translating is not what your used to while typing. I notice that I type in general much faster from my thoughts than from reading text.
My biggest problem with typing tests is trying to read what I’m supposed to type while typing. When I am coding it’s like double the speed because I know what I want.
For me, (I hate reading) my brain just constantly has to go from read-type-read-type and that moment of transition just kills me.
I think using monkeytype solves the issue
This video inspired me to put black electrical tape on my keys so that I STOP LOOKING AT THEM. I _can_ touch type in theory but I still look out of habit (because I never really learned properly) and it really keeps me from improving. I'm at a BLAZINGLY SLOW speed of 30 WPM after coding professionally for 5 years (and even longer as a hobby)... It's time to improve.
that's really sad
@@JustSomeAussie1 for me it's not really sad, just mildly annoying that I've built some bad habits. but luckily it's something that's relatively easy to fix. I've only been at this for like 8 hours so far today and I already feel my brain shifting modes.
Just be aware, that contrary to popular belief one's ability to type is very individual. People who are doing good just tend to be more vocal. Here's my example.
I started training regularly when i was at 35 WPM. In a couple of months of half-arsed training, 15 min per day, sometimes skipping whole weeks, I was sitting comfortably at 45 WPM full of enthusiasm and myself. And that's when i hit my personal wall. Next two months I had no progress, while increasing the intensity of training. I end up spending half an hour every day, no skipping. Getting to 50 WPM took about 10 months. Now, another year later I just started reaching 60 WPM on good days. Add to that that I spend the rest of the day in front of computer coding and shitposting relentlessly.
So don't be discouraged by possible subpar results. If you put time in it, the improvement will follow. It just might be really not as great as >100 WPM gang would make you believe.
I think what was said was anything above 80-90 is faster than you can think, so diminishing returns beyond this threshold.
Most of programming is thinking, planning, discussing, code moving/navigating/reading/revising. Typing speed is definitely not the bottleneck in that whole process, and I agree for people over 80ish, you are most definitely fine
Whenever i watch people type fast, i witness someone fucking up words and sentences over and over then fix, and fix and fix and fix. Then they get the three words they were trying to type. Overall it takes longer lol. I have witnessed this guy do the same thing in his videos when he writes code lol.
Hey mister PrimeTime guy, I notice you are using your mouse to change the speed in youtube videos. I want you to know there is a shortcut for that, its shift + , and shift + . have a speedy day
yeah, i know, i just don't do it very much so i forget it exists :)
In order to type fast you also have to type correctly. If you restart your test until you have a good one the result is meaningless.
Also by default Monkeytype only uses the most common English words without upper case letters or symbols. It's not very representative of real text or code.
As a slow thinker, I kind of disagree here a bit. Not saying typing speed doesn't matter at all. Thing is, people just work differently. For somebody that thinks really fast, he might feel handicapped by his typing speed more than somebody that is a slow thinker.
The thing is, with what I struggled in school the most is getting my stuff (like exams) done in time. I had good grades. But I had to adopt to my personal handicaps. I rarely had time to double check my test answers, or have a second try at one of the answers. I learned to have to nail my results first try to improve my grades. Thinking faster isn't really an option if you naturally think slow, because you are out of your comfort zone and just produce garbage at that point.
Honestly, my pet peeve when I watch somebody type is if they just start typing and erase the same line 3 times to change it, like in fever dream. How was this faster than typing it correctly the first time?
We have a saying in my country that can be applied to typing, too. It goes like: "If you don't use your brain, you have to use your feet." Because you have to walk twice to the store if you forgot half of the things you needed to buy, for example. Can be applied to your hands, too. 😏
pretty well said here, I think the idea is that you should manage to reach a potential speed where you're capable of typing so it doesn't handicap you. I'm at just about 100WPM when I try and it's pretty much pointless to me to ever go faster, there's a few advantages you get outside of coding that are really useful -
- stuff like docstrings don't require nearly as much thinking - you already wrote the code, you know what it does, you just have to explain it,
- typing faster just makes everything else you do with typing faster - sounds pretty obvious but stuff like browsing docs, searching stuff, and so on. Those are short things but the benefits add up, less time spent working, happy me,
- It's insanely useful during meetings, or anything like reports or stuff like that - you can talk to a client and write down their ramblings directly as they're saying them, atleast usually I can as long as they're not eminem or something, in which case I'd need to clarify anyway.
- it's much better for interviews as well, you can demonstrate code faster and write down stuff for them faster, it might impress your interviewer 🤷♀
It's definitely not a requirement, but I'd say it's a skill that has no detriments, considering how much time we spend infront of the keyboard anyway.
There was a course in college that was a graduate seminar for writing philosophical papers and it had a reputation for being brutal. The professor would rip everyone’s papers to shreds and people had to write many revisions before getting it accepted. That professor said he knew only one person in the world who could write a final draft diet time through. So probably it’s the same with coding. Maybe 10 people ever can code first time through a solution.
Typing wihout looking is what's important, and it's much more important than typing fast.
I think you're both missing the point. Optimizing anything but your bottlenecks is a waste of effort, as you'll just pile up at the bottleneck or have idle time after it. If you know your typing is your bottleneck, improve it, otherwise, don't bother, instead, focus on being able to produce a more continuous stream of programming thoughts, study your language, data structures, design patterns, etc, so you don't have to pause to think, or optimize your build workflow so you aren't sitting waiting for your terminal prompt to come back.
When Prime shouts he literally sounds exactly like Charlie from Always sunny
I can type really fast with normal typing. I just got into coding and man I'm having trouble with typos... I found a definitely helps if I just slow down a bit and double check that there's no typos as I'm typing it which is different from how I would type a regular paper just bang it all out and let autocorrect take care of the few mistakes.
The slower I type the longer I have to hold ideas in my head, the longer I hold ideas in my head the more I lose my train of thought, then I have to try to remember my idea or resolve the same thing again. So yeah to me getting ideas out of my head so that I can move my brain forward instead of going in circles is the most important thing.
I agree with everything you said about good penmanship.
My writing still sucks though 😆 I did several years of calligraphy and it just didn't help. I had a teacher who would say my writing was the sketching of a map of hell (can't translate it exactly).
Typing speed doesn't matter. It doesn't speed up all that meetings and those DevOps pipelines that need several minutes to run tests and deploy for a simple hello world project. Then you have to change a single config option because (of course) the examples from the official docs don't work. Run again. NoneType doesn't have method xyz. Oh, internal errors in the tools. Change config. Run again. Pipeline runs into timeout. Run again. Gotta love modern development and all those productivity tools.
On a more serious note, fast typing makes many things outside of programming much easier as well. Writing emails, chat messages, notes in meetings, reports, whitepapers, rants on TH-cam and so on.
My opinion is that depending on the task you have to implement. A bug where you have to look around code and error states and bounce between the ui and the debugger is a task that typing fast makes no difference. Now a feature where you implement something new and you have to create a lot of code that works as a shell for the idea you implement may be more affected. It probably depends on the nature of what you write and how verbose it is. I found out that in my work I have enough time implement features that it doesn't matter.
If you can type 300 lines of code in a short amount of time that is defined by your typing speed, your problem is not difficult and it's not worth the time of very good devs.
I was getting wrist and arm pain when writing (software engineer for decades, writing for hours each and every day --- like... a lot...)... BIGGEST THING I CAN SAY IS: wrist pads, both for keyboard and mouse. Wrist pain and numbness went away and never came back - and that was like a decade ago now. Not a doctor, but that worked 100% for me.
Also on the subject - get a good mattress too... really shell out for a great one. Easily best money you can spend.
Typing slow is about as useful as having a big bushy moustache - i.e. not at all! 🙂
The thing about Dvorak is that as soon as you have to use a qwerty keyboard again it's like you're a beginner again
I think somewhere in between the quotes and the top 50 english words on Monkeytype is where the real speed is. The time you save not doing proper punctuation more or less adds up to about the same time i waste from writing nonsensical sentences.
As for the "thinking most of the time" thing. I definitely spend a lot of time thinking while not typing. But right after that comes a ton of typing with very little thinking. I don't think my average typing speed over a day is particularly high, but when you get into the zone, typing fast just makes it much easier to stay on track. And then it also feels nice.
When typing is a pain, you will avoid iteration. You will be afraid to break things. And you will learn much more less because you will feel constant background foggy frustration on every step you make. Touch typing will make you to love taking notes, research, surf the internet, refactor, move code around, flex on others, try this, try that... it is 100000% the very very very first skill you should learn before making any progress in real programming.
Most ironic thing is, that I can't name the Colemak layout off of my head, but I can type on it. :D I really need to think, which key is which when I do look at my blank key caps keyboard.
I looked for this kind of comment for like last 8 to 10 mins. You are absolutely correct
I never learned to touch type and reckon I could type at ~35 wpm with 5 fingers while staring at the keyboard. Constantly looking up and down and figuring out how to type what I want has started to really hamper my train of thought. I started training a month ago, and now I can touch type at ~60 wpm. Coding is now a much smoother and satisfying experience. The goal is 100 wpm.
P.S. Have you heard of the corne/crkbd? It's a 42 key, open-source, split ergo keyboard I'll be building this week.
good job, keep it up)
If you didn't have to worry about RSI pain, would you have made the jump to Dvorak? Are you faster now seven years later?
Anyone who think it doesn't matter, try typing into a high latency terminal and you'll see what slow does to your thought process.
ikr... now i can't even use graphical programs like text editors, word processors, note taking apps, which drives me nuts...
I paused this video to install a typing tutor program. Thank you for reminding me that I can and should improve at typing.
i am not very fast, like 80-90 in monketype. but i am now more accurate and i write around my thought speed. it really makes a big difference because now very common tasks take very little time. even stuff like googling something, texting or writing a report for a homework. especially those straight typing tasks. it's painful when you always have to look at the keyboard. now i can almost shut my mind off and go wild on the keeb, get it done in little time. it sounds trivial and many people don't care to learn it for a month or so, but the value is huge.
80-90 is very fast, btw. programmers have a skewed view of what is and isn't fast for typing speed, lol.
80-90 is great. You don't need to be at 150wpm 😂.
OK; Yes. Typing speed matters. But fo you agree with Theo that there is a point beyond which it no longer matters? I mean I assume theoretically yes, a billion words per minutes probably isn't helpful cause the mind can keep up, but an achievable upper bound? Theo claims 80 is the point where improvement no longer matters that much. Do you agree with that? 90? 100? 140? Is there a point where you are basically satisfied and feel the bottleneck is solidly enough elsewhere to where it's not worth trying to improve it any further? I have very bad eyesight so my bottleneck when doing the online tests is changing which parts of the text I am reading. I read code a lot faster than that because I can adjust my editor fully and the flow of code is more predictable so where you lay your eyes and such is faster to navigate. But the difference between going from thought to text vs. reading and writing what I'm reading is pretty big to me. But on an online test I just took now I reached 70WPM. And every line break I had to pause completely because the page I used moved the text around on line breaks and I was never sure if it wanted me to hit space or enter at the end of lines so I imagine I'm somewhere in 80+ if it's from thought to text instead of reading->text.
When i'm casually writing code then yes.. I will be responding to chats etc. But when i'm _programming_ I am 100% focussed on that and I will take no distractions what-so-ever. There can be music or a video in the background but usually it might aswell be white noise because i'm so focussed on just the code. In that case, the typing speed only matters up to a point; exactly what he says.
Learning to touch type was a great skill to learn. I'm currently learning to touch type in colemak dh to at least 50 WPM within a few months. If I can't then I'll just go back to qwerty and continue to type as fast as I was.
Watching you increase the speed just so the video would end and you could talk was hilarious 🤣🤣
Thinking better and focusing on keyboard shortcut knowledge before typing fast is a major plus
When people say they spend time thinking what they mean *isn't* necessarily that they stop typing the code while thinking through things in a very theoretical way for a long time.
It's that when they code they have lots of small pauses so they can't type at blazing speed.
I started to learn to touch type just a few months ago even though I've been a programmer for years. It was very hard, my wpm was barely 30 and i made mistakes a lot. Now i can comfortably touch type at 70 wpm and It feels so liberating seeing what you type on your screen, especially If you are from another country and you have to constantly switch keyboard layouts, now I Instantly see that I type on a wrong layout and correct that. Also If you are learning and make a typo I advice to erase the whole word and type It again, this way you develop muscle memory for the whole word you are trying to type
When typing fast is important to me is when I have a design in my head and I need to get it into code before I start forgetting details. Once its in code then I can actually evaluate the design to see of its good.
Monkeytype is a horrible representation of typing because of the lack of capital letters and punctuation characters.
If anything it's an overestimate of speed, especially for people who practise on it a lot because there's a fixed vocabulary which you will obviously get accustomed to over time, and then lack of capitals and symbols like punctuation means you'll be slower in real life typing.
Anecdote: I've got a buddy who practises monkeytype daily and gets around 100wpm, but on typeracer he rarely gets over 70 lol
The key to typing is to press the keys in the *exact* same order as how the words are spelled
I felt the same transitioning from traditional to ergosplit keeb (qwerty)
First day - "I CANT THINK I CAN'T BE CREATIVE AAAAHHH"
4th day - Ok i'm back at 69wpm but i still can't think
Week - Ok we're getting there
Two weeks - It's time to switch to blanks
Month - wait, keyboards can be in ONE PIECE as well???
Used to be at 140-160 depending on the run in highschool/early college but now ten years later cause of hand issues down to 66 really feel the difference mentally blehh
Currently 24 years old and able to type upwards of 150 wpm, maintaining that speed for while begins to hurt my hands so I need to force myself to take my time and go 90-100 wpm.
4-finger typed on QWERTY w/ no homerow structure AT ALL and was typing at ~160wpm. Learnt Colemak, 10 fingers, homerow structured. Was stuck at 10 wpm for a couple of days, then rose to 50 wpm, then 90wpm, then got back to 160wpm, then hit 200wpm. When I attempted to code on Colemak, same story. All of this to say that anyone who thinks typing speed doesn't matter, should try and switch their keyboard layout and feel the struggle until they return to their previous wpm. If you can feel frustrated, slow, and inadequate at your 50wpm, 100wpm, and 130wpm, imagine how inadequate your current wpm would be compared to 200wpm.
I had QD Kinesis Ergo around 1999, 2000 or so. It was really good when it continued to work. The modern ones are really nice and I'm considering one to work along side my ergodox. (what can I say, I'm always a grass is greener person)
In twenty years people will be like "what, you don't write everything using Wingdings?"
What i don't get with this is the idea that you don't naturally get better by simply typing? Are there people between 80-120 words per minutes that have deliberately worked on training up your typing speed? Isn't this just natural progression by simply typing in your daily life?
I got up to 120wpm just over time.
Typing fast is meaningless without high accuracy. One thing that helped me with high accuracy is to delete the whole word and retype it rather than just correcting the mistake in the word
Back in secondary school, when we learnt touch typing, we had a whole book full of those monkeytype challenges and spent 2 hours per week in a school year doing this, for learning how to touch-type they are actually pretty good, but - as you said - it won't do much for your typing speed in a real situation.
I get a constant 150wpm at monkeytype as well, but I don't think it does much for real situations, with monkeytype you are just constantly training the same words over and over, you are not writing sentences neither are you writing down your thoughts on some matter you are discussing. If you want to type fast, you have to get fast at translating your thoughts to your hands (digitally or with pen and paper).
When Jippity5 comes out, it will have neural interface support. RIP typing.
Hopefully I can afford to employ you by the time my wrists give out
Switching from ISO-DE to ANSI-US with blank keycaps improved my coding speed by alot.
Now I'm about to swap to a corne split keyboard and another layout (maybe Dvorak).
Not looking forward to the frustrations in the first weeks 😅
Noobs use one keyboard. I use 5 keyboards. One for each limb. My typing speed is above 1000.
Lol we're you around for the Apple IIc?
I'm not going to argue that typing fast isn't beneficial but I've seen John Carmack type (although a long time ago, no idea how blazingly fast he is these days) and he's probably not beating any records so.. as long as you learn to think like Johnny, I think you're safe :) gl.
how could anyone possibly code while looking at their keyboard? I can't even imagine it. And another baffling thing, if you code a lot, how can you not touch type? After a month you should be able to do it. Do these people not even attempt to memorize where the keys are?
As someone that reached 80 WPM a few weeks ago, is kind funny seeing it be considered the minimal speed acceptable XD
2 fingers and a thumb, 20-25 wpm, and watching the keyboard while typing is good enough for doing the job. been doing it for 15 years now !
Sure, typing at 20 wpm is good enough, but typing at 40 is twice as good and not even difficult. Choosing to hunt and peck with 2 fingers instead of touch typing with 10 is like choosing an old gutenberg printing press over a modern printer. They can both print a book, but a modern printer will do it automatically, quickly, and effortlessly. Practice 15-30 mins a day for two weeks, and you can type automatically, quickly, and effortlessly for life. It's so worth it.
@@GooseTower ok, I will do it 20 min a day for a month and let you know my progress. thank you .
@@key7644 how's typing going?
Even if it wouldn't make much of a difference, learning to type decently fast is only a small time commitment for a skill you'll use for the rest of your life.
I typed fast from playing MUDs. I would crawl a town with memorized sequences to find the perfect NPC to fight. You had to type fast to be able to cast spells, flee, various actions and conversations. Everyone was fast there. I think my peak wpm score was around 120 but if I had a mavis program, it would show top speed around 160 for short stretches. It all depends on the ease of the words on qwerty. I know a dvorak users are always going to be faster.
I agree with the premise of learning curve for long term efficiency. Do I do that? I'm halfway there. I think being a fast "spotter", visually finding things and recalling where things are and fast searching is just as useful. Walking others who don't do this is paaaaainnnnfulll.
I usual use typeracer to train my typing speed,I could type 70wpm at typeracer and 80 at monkeytype, I feel typeracer reflect my typing speed more in the real world
I'm one of those that can explore ideas in my brain, without a screen and keyboard.
Mostly happens in SQL and through thousands of iterations in a dream.
Does happen when awake but not quite as often.
Except for the penmanship, I agree at all with you both. I would add that there's an energy loss in everything that a programmer does on his activity, that takes its toll on the long run. Typing slow, having to look to keyboard will lead to much more loss of energy than it looks. 1) There's an effort to find the keys. 2) Interrupts the flow of thoughts, which is stressful. 3) All of this leads to downgrade in productivity. 4) Health issues since, who is that way slow, uses to has a bad hands posture over the keyboard.
However, I don't think 1 needs to be expressively fast. Just enough to not look to keyboard, and having the right hands posture over it, it's enough for a successful productivity in software and other areas.
The disagreement is to what extent does typing speed matter.
It is what I do, I create multiple code results and remove the ones that are worse so in the end I only get the best code that I can think of.
And if you have no inspiration how to write the code, by starting to type you get more inspiration and better results.
Great, now I have to improve my typing speed AND penmanship. I always was the kid who held the pen differently than everyone else, and my letters look like Comic Sans if Comic Sans were screaming for help.
The original video is talking about diminishing returns though, there's a big difference between a peck typer and someone typing 70+ wpm which most people can attain easily. Going above that may take significant effort which in most cases isn't worth it
Latency is a killer more so than raw typing speed.. 40-60 wpm is prob plenty. I develop primarily in Linux VMs from a Windows host via VirtualBox, and have for many years. VSCode has been good enough for this however Rider, which I've been using lately, just can't really handle it even with 16 cores assigned; 8 cores is right out. I suspect it's the lack of hardware acceleration for the graphics. In any case, the latency is enough of a big deal I'll prob start working native Linux dev in day-to-day.
Hi Prime, I agree with you its important skills, however it doesnt mean you are a better programmer. I type 60 WPM and I dont actually code that fast. I rethink my ideas and stop a lot to think about a solution.
I have never been able to get beyond what would look like "hunt and peck" to a casual observer but it's muscle memory and I can type very fast. I learn heavily on my first two fingers and thumb on each hand.
Muscle memory and being able to not look at your hands and being able to correct your errors without looking down matter a whole lot more than any particular way you type. However your fingers get the keyboard memorized is less important than them having the keyboard memorized.
For me I’ve never had issue typing to keep up with my thoughts. I’ve never measure myself but I’d be surprised if we’re above average in typing. Usually between code snippets, templates, autocomplete and copilot I’m not typing a whole lot all at once anyways.
Just as a curiosity how good are the LSPs being used in VIM, maybe if they’re not quite as good as some of the other tools. I’m mostly in visual studio and vscode. (C# with a sprinkling of angular when I have a bad day)
Usually autocomplete up two characters in. I used to be over the opinion that I could type faster than the autocomplete, but one thing I’ve subconsciously picked up is that if autocomplete fails, it’s usually an early indicator something is wrong with your code.
I recently spent some time trying to use VS Code over a slow SSH connection. I could still type as fast as I wanted to, but feedback was very laggy. It significantly reduced my productivity. I ended up having to clone the project and run VS Code locally instead.
(I know vim would've been better over SSH but I'm not a vim power user yet, and I was making changes in many files)
I agree it doesn't really matter to be able to type faster than you can think, but I frequently get bogged down with my ~140 wpm when I'm developing quickly and I start to lose track of things in my head because I'm developing in my head faster than I can type. Copilot has helped a bit, but if I could type ~180-200 wpm it would help for those rare instances where I can just develop
90% of the time copilot makes me fast enough though, but I'm also stupid and slow.
Is it worth it to try Dvorak?
I achieved 405 WPM once, but it probably does not count. I wrote a small script that webscraped the site to get the correct words and controlled the keyboard to input them😂
People always connect typing fast to programming a complex piece of software and mention that you can't solve the problem as fast as you can type anyway. I can type quite fast and a lot faster than most of my colleagues. Yes it isn't that big of an advantage in creating some complicated program BUT there is a lot of boilerplate too. And another thing for me is tracking down bugs. I'm working on a pretty database and state heavy application. So finding a bug might involve writing 20-30+ pretty easy SQL queries. There is no thinking really but a lot of typing. Combine that with a lil bit of knowledge in terms of regex, using multi line editing and proper key bindings, snippets and templates in your IDE/editor and you get a day and night difference.
I felt that frustration of going fast, then slow, then fast again, when I learnt touch typing with 9 fingers. It's not like I was crazy fast, I was peaking at like 80wpm with 3 fingers, and making a shit ton of mistakes. But the fact that I had to re learn entirely how to type was so hard. It took me like a month to get back to 80 and that was actually painful. I could not even go back to my previous technique when I needed to do something quick, cuz I actually forgot how to type with 3 fingers pretty quickly so I remember being like stuck at 40wpm and couldn't do anything about it.
I mapped holding Z to CTRL and X to ALT. Absolutely changed my life 😂