I’m new to programming. Total programming hours is only ~4 hours, but I’m stoked for this journey!
There’s a factor that has me worried and is, quite frankly, bumming me out as well. My forearms and nerves in my arms experience painful sensations after typing for a short period. Some days are worse than others; I’m still trying to understand the causes for the symptoms (posture, ergonomics, hardware, stress, nutrition, sleep, stretching, physical exercise, temperature environment).
I’m excited to try out this journey and have fun, but I fear my goals may be unrealistic given my arms conditions. Nonetheless, I remain in good spirits and see this as a sign that I should pursue careers that don’t involve sitting and typing in front of screens for hours, such as sales, writing (it’s less typing? and I write via pen and paper often), photography/videography, bartending, etc.
Talk to me. Who else has concerns with the the longevity and performance of their arms?
PS - also looking to create a study/accountability group. ideally here in nyc!
My muscles are painful too after a short period of typing. And I’ve been looking for solutions.
One that really helped me is an arm rest:
It helps me to sit straight and to relax my shoulders because I don’t have to keep my arms up while using these.
Keeping my shoulders low also helps. And I use a back support to make sure I sit straight up. When I lean to one side the pain in my hands and arms starts quicker and is worse.
I try to use voice control on my computer when possible. And I’m always on the lookout for ways to avoid typing/cursor use.
But it’s still a problem for me to work for longer hours. That’s not going to keep me from building websites though.
I had a bad bout with bad hand pain several years ago. I even visited a hand specialist, who I grew to dislike. But I won’t go into that. Anyway, some of the things I did to cut down on the hand pain may help with forearm pain, too. Basically I was told I was dealing with tendinitis, or overuse. So now I am more careful to take breaks. If I decide to take a longer break, I find some related reading to do so I am still accomplishing something but not using my hands. That or I watch bits of training videos. I also swap hands for mousing. And I got a keyboard with very low impact scissor keys that require very little effort to type. And even though I miss Linux dearly, I stay mostly on Windows because there are a ton of Windows keyboard macros that work across different programs. You can move windows, jump around browsers, and even navigate workspaces without moving the mouse. Mousing hurts me if I do it continuously with no breaks for hours on end. In the same spirit of minimizing mousing, I got a Chrome extension called vimium that lets you navigate links on a web page by macros so you can browse the net with just the keyboard. Windows has voice commands, visual studio had a voice command plugin, and I believe there is a voice command plugin for emacs. But I never went the voice route so I can’t help there. Once I found out there are no bona fide voice solutions for actual coding (there are a few videos on youtube that claim they have solved voice coding, but nothing definitive) I gave up on that. One more thing - lots of editors have the option of keyboard navigation, so that is something to explore. Visual Studio has a bazillion macros, and they are totally customizable. But I only use a handful of those. I’m pretty sure Visual Studio Code does, too.
When I first started to learn to code in earnest, I suffered pretty badly from RSI, especially in my forearms and shoulders. One night I woke up in the middle of the night and both my arms were completely numb from the shoulders down. It took about 30 minutes to recover fully. I’ve also suffered eyestrain and tension headaches.
So make no mistake. Coding can be seriously bad for your health, and you need to pay it serious attention.
Ergonomics is very important, and you should invest some money to get your work space set up correctly.
Just as important though is your attitude. Be wary of gonzo coding - working for long hours without a break. Also be aware that coding can be addictive and that it can make you lose awareness of your physical needs. And be aware of other addictions (normally caffeine) that make the problem worse.
Above all, its important to slow down and write code in a relaxed fashion, not furiously scrunched up over the keyboard.
The good news, I think, is that it does get better with time. Now that I work as a developer professionally, I code in a much more relaxed and thoughtful way. Think more, write less. Write better.
Relaxing activities in your spare time can also help a great deal. I find yoga and swimming to be the best therapy.
When I started I was having fingers and elbow pain. I thought that the solution
was try to write less, so I learned to use Vim and changed my workflow.
Before vim, I was typing every word when taking notes.
After vim, I copy/paste the information and then I edit the notes. Vim is a
modal editor, so I can apply commands to the text and avoid to do the manual work. I reduced my keystrokes on a 90%. The finger pain decreased, but not go away.
Later I started to use a mechanical keyboard and a trackball, the elbow and finger pain vanished. But then, I began to feel shoulder pain (!).
What happened was that I was keeping my hand all the time in my keyboard,
so the pectoral muscle shortened (I should have bought a split keyboard). So now, every morning I do light calisthenics and stretch.
If you have too much pain, maybe you can try coding by voice:
In user interface design, a mode is a distinct setting within a computer program or any physical machine interface, in which the same user input will produce perceived results different to those that it would in other settings. The best-known modal interface components are probably the Caps lock and Insert keys on the standard computer keyboard, both of which put the user’s typing into a different mode after being pressed, then return it to the regular mode after being re-pressed.
 Mastering the Vim Language
Chris Toomey talks about mastering the Vim language. Vim’s core is the amazing command mappings and text objects that allow for countless combinations to define precise edits. Learn how to master the built-in commands, motions, and text objects, and even how to extend the Vim language for even more power!
“think more, write less.” I use to believe in brute forcing my way through all my keyboard work, whether it be for writing, marketing, or coding. Now I’m taking a step back, being more relaxed, and exercising more thoughtfulness in my writing in an effort to be efficient. Thanks for the recommendation.
This is the Chrome Plugin that lets you surf web pages through keyboard macros Vimium
Vim is an old editor that only uses keystrokes to navigate. You may be initially confounded by the way you swap out your keys for navigation and text input. But you can do everything with keystrokes and if you get over the learning curve it is super powerful (Or I’m told that, I only use it for small files and never learned power user stuff)
I use Visual Studio mostly, but I also have VS Code and Notepad++ for speed upon opening a file.