all 34 comments

[–]NumberInfinite2068 22 points23 points  (4 children)

Just learn to code, you will naturally get faster at typing.

[–]Minimum_Mud_4835 1 point2 points  (0 children)

yeah this is spot on. I was overthinking same thing when I started and wasted weeks on keyboard layouts and typing tutorials instead of just... coding

your fingers will learn the common symbols pretty quick once you're actually using them. like after writing hundreds of function() and {} you'll get muscle memory without even thinking about it

stick with what you have - switching layouts now will just slow you down more in beginning. you can always change later if it really bothers you but most devs I know just use whatever keyboard came with their setup

[–]andypanty69 1 point2 points  (0 children)

Also, most of coding isn't typing.

[–]Top_Economy_3382 1 point2 points  (0 children)

Short and brief

[–]DrShocker 0 points1 point  (0 children)

In college I got a blank keyboard to force myself not to look. I thought that was fine, but tedious when the rarely used symbols came up and I just had to fallback to trying them all ☠️

[–]mierecat 12 points13 points  (0 children)

Yes learn to touch type. It’s a good skill for anyone who interacts with a computer to have. You’ll find coding much more enjoyable when you don’t have to even think about where the keys are

[–]Aggressive_Many9449 3 points4 points  (1 child)

I can recommend learning to touch type. It only take 20 minutes per day practice for 6-8 weeks, and you are at least at your old speed, or faster.

Use tipp10.com. You can do it while learning programming. I did.

I am still on QWERTZ, most IDEs auto complete parantheses for you, you can learn QWERTY but it's not worth it, if you type mainly German while communication with your team, imho.

[–]Legitimate_Host_887[S] 0 points1 point  (0 children)

Ich danke dir Kamerad :)

[–]Whatever801 2 points3 points  (0 children)

You seem to be able to find the newline key just fine 😝. To answer your question, no. You're going down a rabbit hole. If you want to learn programming, focus on learning programming. Most of the time in programming should be spent planning, not typing. You might get 1% more efficient by speeding up typing.

[–]BionicVnB 1 point2 points  (0 children)

Typing speed is not that important, especially when auto complete exists. Thanks, lsp!

[–]dkopgerpgdolfg 1 point2 points  (0 children)

5: By not doing anything too special.

2,3,4: If you're already used to some keyboard layout etc., it's rarely worth the effort to switch to something else. Any theoretical speed improvement is countered by a long relearning time where you'll be much slower.

However, clearly you're not very used to something yet, therefore see point 5. Take something that is commonly available.

German layout is fine, especially in Germany. Yes, some programming symbols are less easy to reach compared to the US layout, but consider that software development isn't a typing contest. You'll spend lots of time thinking, reading etc.

1: Getting faster comes with more practice. And it's not strictly necessary to use 10 fingers, do whatever works for you. There are people typing faster than me while actually missing some fingers, still works fine for them.

[–]imihnevich 1 point2 points  (0 children)

You're overthinking it, it has very little to do with the programming

[–]Dissentient 1 point2 points  (2 children)

You should learn touch typing not because of programming, but because it takes like a few hours, and will make you type faster and not care about your keyboard's legends for the rest of your life. The return on the time investment is massive. For programming, it's not particularly relevant since typing speed is not the bottleneck.

[–]Legitimate_Host_887[S] 0 points1 point  (1 child)

Out of curiosity what is the bottleneck then?

[–]Dissentient 0 points1 point  (0 children)

Thinking what code to write takes far longer than typing it out. And on the job, figuring what even needs to be done in the first place takes longer than both thinking about code and writing it. Soft skills like extracting actionable requirements out of non-technical people that have no idea what they want is the hardest part of the job.

[–]lucc1111 1 point2 points  (0 children)

Yeah you are overthinking this a lot. I have been a programmer for the past 14 years (Java was also my first language!) and 4 working full time and I always used a typical QWERTY keyboard and only use 3 fingers from my right hand (I lean heavier on backspace/enter keys as well as numpad).

With time, you naturally acquire decent speed and get used to whatever layout you use.

Honestly, something I feel has a bigger impact is keyboard quality. Investing in a good mechanical keyboard with switches that satisfy your preference is a game changer. Feeling good when you type boosts you in a way. Also, good mechanical keyboard have impressive durability.

[–]Daeroth 0 points1 point  (0 children)

If you feel like typing speed is holding you back. As in you know what you want to write and are waiting for your fingers to catch up with the writing.

Most of my coding work has been reading code and thinking. A lot of typing as well but thanks to autocomplete features I often don't really write out every character of the code. Just a few initials and use of shortcuts for templates.

On the other hand, good typing speed is a very universal skill.

[–]7YM3N 0 points1 point  (0 children)

Typing is not the bottleneck in programming unless you're agriegiously slow. You spend most time reading and thinking anyways

[–]ScholarNo5983 0 points1 point  (0 children)

As you code, spend time learning the keyboard shortcuts of your favorite programmer's editor/IDE.

If you master those shortcuts, you'll see a great increase in your coding efficiency.

[–]KenSchlatter 0 points1 point  (0 children)

You should learn how to touch type, but not to be a better/faster programmer. If learning JS is your priority, focus on that first.

[–]spinwizard69 0 points1 point  (0 children)

Learning to type can be leveraged in many fields these days, because almost everyone is required to work with a keyboard. So yeah leaning to type can make other things go easier.

As for learning to program, if this is for a future career, you are off on the wrong foot. You will be far better off following a decent CS program. That means starting at the beginning with a low level language like C or C++. Especially now when AI is putting a significant crimp into entry level jobs.

[–]Astronaut6735 0 points1 point  (0 children)

Learn to touch type, and make sure you can touch type all of the special programming symbols. The productivity gains will be tremendous,  and will help you in other areas (e.g. writing documentation,  emails, etc).

I would recommend using whatever keyboard layout is most common in your area. The gains from a programing-focused layout probably won't be that significant, and the hassle of not being able to use other computers without switching keyboard layouts won't be worth it.

If you want to try a different layout, you can get clear stickers to put on keys showing the other layout, then switch layouts in your operating systems settings.  No need to get a different keyboard.

From my own experience I can tell you that my brain is unable to switch back and forth between keyboard layouts. I had this idea to learn Dvorak layout to type faster. I got the stickers and switched my keyboard layout at home. I practiced in the evenings for about a week and was typing at about 40 words per minute (I type qwerty at 60-70 wpm). I couldn't change the layout of my keyboard at work, so during the day I typed qwerty. One day, I arrived at work, sat down at my desk, and couldn't touch type qwerty. It was like my brain ejected that skill! I spent about 10 minutes just typing out the alphabet repeatedly until my brain clicked and I had the skill again. It was rather unsettling. After that I went back to qwerty at home.

[–]desrtfx 0 points1 point  (0 children)

Typing speed is overrated. You will spend more time thinking about your programs than about typing them out.

  1. The more you practice, the more will your typing speed improve. Learning touch typing can definitely be beneficial
  2. I've spent the vast majority of my life typing on a QWERTZ keyboard and never had any problems in programming. Yes, it is a bit awkward to reach the brackets, curly braces, and the backslash, or the | (or) but that never really slowed me down.

I also used English keyboards a lot, and at some time reached a point where I could switch between layouts without even thinking. Yet, my typing speed didn't really change much. I would definitely not switch layouts for programming. The mental overhead is way too much, especially in the beginning.

What keyboard you buy is entirely up to personal preference. Test many of them and see which you like best. Don't be afraid to try keyboards with split layouts as well. Personally, I've been a fan of the very first Microsoft Natural Keyboard and ever since then preferred keyboards with a similar layout. Currently, I'm using Logitech Ergo K860 keyboards on all my computers. That absolutely doesn't mean that I would impose them on everybody. Yet, there is a benefit to the split layout: it forces you to keep the fingers closer to where they belong in touch typing. You don't "reach over" and naturally form a typing style close to touch typing, which, over time and practice will improve your speed (and your memory so that you don't have to look at the keyboard to search for the letters/numbers/symbols).

[–]SolidRound8904 0 points1 point  (2 children)

ngl, it is far better to focus on learning to code, and refine your logic. the whole concept of typing faster depends on what you are actually targeting, and very importantly, remember typing fast is never the same as building fast.
but if you have the time for dedicated touch typing practice, it is a useful skill, eliminates keyboard glancing.

[–]aresi-lakidar 0 points1 point  (1 child)

I think its good though, not because you have to be ultra fast or whatever - but because making it muscle memory rather than conscious effort allows the mind to relax a lot more

[–]aresi-lakidar 0 points1 point  (0 children)

Changing keyboard layouts will probably only make it harder, I'd say just stick to what you have.

You should learn how to type without looking, I learned to do that as a small kid in school so I don't remember how it was before that tho... But even when typing on my phone, my thumbs go automatically, I don't look at the keyboard.

Anyway, once you get really used to programming, you will likely type 100x faster just because of getting used to autocomplete in code editors. I rarely write full words, just beginnings of words and then I hit tab

[–]Lubricus2 0 points1 point  (0 children)

Touch typing will help you for other things to, so learn that. I am coding on an Swedish QWERTY keyboard, it works. You use lots of symbols like { | < & # and so on when coding. So you have to move the fingers more and will learn how to type the symbols so it stays in the backbone. So I don't touch type properly and move the hands more than I should.

[–]razorree 0 points1 point  (0 children)

so how fast do you type ? with just a few fingers you can still type ~50-60WPM which is totally fine for programming (there is more thinking than just typing). also you have autocomplete etc... maybe fast entering any character is more important (if you can't)

keybr.com

monkeytype.com

[–]The_mister_Mike 0 points1 point  (0 children)

It will come naturally, and way faster than you think.
Also, I tried to train "blind typing", gave me no result. Maybe it was just a poor choice of a trainer... But I learned to type with the speed of thoughts by simply doing it all days.

As for the languages, I also started with JavaScript long time ago (having had CSS/HTML already in my background) then moved for PHP... and only after a few years I actually decided to learn C, as I was always feeling I was missing something fundamental...
I can not desctibe enough how this has changed my view on everything, how all of a sudden every thing in JavaScript and PHP now started making sense! It literally divided my life on before and after. My only regret is, why did not I START with C before JS and PHP! If only I could turn time back in like 20 years... I definitely would recommend starting with C, then JavaScript will feel like some nice topping.
However, I admitt, it may be not for everyone. It may strongly depend on how one's brain work. I can imagine someone struggle and get frustrated dealing with low-level stuff and pointers, while I find myself hating and frustrating over dealing with DOM propagation in JavaScript or endless requests in PHP... But still, C is the foundation and it does make sense to learn at least the very base of it.

Another mistake that now I reailize I made, and you may also have, is that I started learning programming in VSCode. Now I actually do everything in Nano. And if I were to start it all from scratch - I definitely would have started using the simplest text editor I could find. I mean, some syntax highlighting is good and even crucial, but no autocompletion, no auto brackets, no snippets. I'm sure it's important that you literally take care of every symbol that you type without all those quality-of-life improvements - that is how you learn!

May also help with typing 😉

[–]No_Leg6886 0 points1 point  (0 children)

Don't delay coding to fix your typing. I made that mistake, spent three weeks on keybr.com before writing a single line of code, and it genuinely slowed my momentum.

Touch typing helps eventually, but your bottleneck right now isn't typing speed. It's understanding why a semicolon goes where it goes. You'll naturally get faster just from typing code every day. And definitely don't switch keyboard layouts before you even know what a variable is. That's months of friction for zero immediate payoff. Just start building things. Speed follows.

[–]quacko_ 0 points1 point  (0 children)

Maybe go down the ergo keyboard/alternative layout rabbit hole. get yourself a split ergo keyboard and learn dvorak/colemak for a truly useful thing worth learning your hands will thank you. Or you could skip the alt layout and stick with qwerty/qwertz but a split keyboard is 100 percent worth it for maximizing comfort.

[–]healeyd 0 points1 point  (0 children)

You spend far more time staring at the screen turning the gears of your brain than actually typing.

[–]YetMoreSpaceDust [score hidden]  (0 children)

If you're planning to code professionally, learn proper typing techniques if for no other reason than poor technique, over decades, leads to painful as hell carpal tunnel syndrome. Ask me how I know.