RSI and steps to mitigate it

One day when I was 19, after years of bad posture, long hours hunched over a laptop and heavy gaming, it finally hit me. My hands cramped up, I had shooting pains and tingling in the tips of my fingers on my right hand, and a near total loss of grip strength. I'd been ignoring smaller symptoms for a long time, but at that exact moment, 4 hours into a click-heavy game of Diablo III, I knew I'd done something. After seeing a doctor I was diagnosed with tendonitis, and told not to use my computer for several weeks. As someone who spends 10 hours of their day on average at a computer, this was pretty difficult to accept. I initially ignored the advice, and tried to continue as normal, but pretty reliably within minutes of using my computer I'd be getting those same shooting pains and nerve tingling, and the severity was increasing - it would get to the point where I couldn't use my hands properly (like when they're really cold or when they're numb from being slept on) until I stopped, and the sensation returned.

I came to the realisation that I couldn't ignore it, and that I had to actually make some changes to the way I did things. I've tried a bunch of things to help - from anti-inflammatory pills, to anti-inflamatory gels, to software timers to limit computer interaction and lock me out every 20 mins, and an absolute myriad of ergonomic equipment and devices. None of them were a magic bullet, but through the combination of steps below I've managed to minimise the problem.

Change up your keyboard

This was the first major change I made. I felt if I was ever going to have a job in software post-PhD this was a change I'd need to make. After doing my research I finally settled on the Kinesis Advantage 2. It's not cheap, at over £300. But it's worth it. It looks pretty terrible, with a design straight out of 1991, but there's a reason that they haven't had to change the design. People still buy it because it really works. Kinesis have perfected the ergonomics of keyboards, and this is what it looks like. For a mechanical keyboard enthusiast though, it feels a bit drab. The switches are Cherry MX Browns, which are perfectly suitable, but the keycaps are fairly mediocre. Get a keyboard with low activation force switches, like MX Browns or MX Reds, your fingers will thank you.

Change up your mouse

Standard mice cause tension in the forearm as a result of ulnar pronation (where the bones in your forearm cross over, putting tension on your wrists). Vertical mice address this issue (the Evoluent 3 and 4 are what I use). They feel more natural to use, and are well worth the investment - switching to a vertical makes repeated clicking considerably more tolerable.

Re-learn how to type

I spent several months learning Colemak last year, though at some point my habits slipped and I reverted to using QWERTY. The thinking behind Colemak is that it's a layout that's optimised to minimise how much you move your hands when you type. One of the main reasons I couldn't make the switch properly was that the iPhone keyboard doesn't support Colemak, and working across different machines at work the layouts are all standard, which made it difficult to enforce the switchover. Colemak felt better, but I couldn't stick with it.

Limit your computer time

This is another obvious one that makes a major difference, though it's somewhat difficult to stick to - I use a Pomodoro timer to limit the amount of work I do in a given session and try and stick to it religiously. I work in 20 minute blocks with 5 minute breaks in between, which seems to work for me at least. It can be difficult to reconcile having to break every 20 minutes with sustained periods of focus however, and during crunch times it's very tempting to switch the timers off, so having the correct computer equipment in place is critical.

Invest in an ergonomic chair and good monitor stands

This is another big one - having a proper ergonomic chair, at the right height for your body, the correct desk height, and monitors at the correct height for your natural eye line is really critical for mitigating RSI. This paired with the keyboard change has made perhaps the biggest difference to my RSI, over anything else I've tried. Don't get a gaming chair - get a proper ergonomic chair from a reputable company like Steelcase, Posturite, or Herman Miller. I've gone through several over the years, and have settled on a Steelcase Please V2. It's not particularly comfortable, or particularly cheap, but it's certainly ergonomic. Buy refurbished, not new - companies buy these chairs for their offices in bulk, and when they inevitably go bust they sell them to 3rd party resellers like 2ndhnd who reupholster them, so you can pick one up like new for around £250, saving you over £500.

Diversify your input methods

For a while, I found myself using a mouse on each hand. I then switched to a mouse on one side and a trackball on the other. You look ridiculous in both scenarios, but it helps by allowing you to spread out the activity across both your hands. I moved away from that practice eventually, and now use a Magic Trackpad 2 mounted in the middle of my Kinesis Advantage 2, along with an Evoluent 4 vertical mouse on my right, which for me gets the balance just right.

Learn Vim

No, seriously. For a lot of the programs you'll use as a software developer, there'll be vim bindings. There's definitely a learning curve, but the fact that vim is an inherently compositional language, crucially one that utilises the full extent of the keyboard, means that you'll be repeating key patterns less and clicking the mouse less, helping minimise the 'Repetitive' aspect of Repetitive Strain Injury. Plus it makes you a more productive developer and purifies your soul.

Pick up strength training

Lastly, I've found over the part couple of years that lifting weights does something to help reduce the pain. Whether the exercise improves your breathing, or increases blood flow to the hands plays a part, or whether it dampens muscular inflammation, it's not exactly clear, but many people with RSI have reported similar outcomes.

In conclusion

I'm 26 now, and after years of trial and error, I've figured out what works for me. If you're got as far as this, you're probably a developer or frequent computer user with early RSI symptoms, even just the initial pains. Please take them seriously and don't ignore them. No one thing magically cures it, but through establishing good habits you can absolutely mitigate the problem to the point of being a non-issue. Everyone's optimal setup will be highly personal, and through years of optimising my setup and experimenting with my working habits, I've managed to get to a place where I can still work as a developer and do my PhD without it interfering significantly with my routine - hopefully some of the above will work for you too.