At the end of an average eight-hour workday, the fingers have walked
16 miles over the keys and have expended energy equal to the lifting
of 1 1/4 tons. -
And that’s just for a piddly eight hour workday! What about developers
who go home and write more code for fun?
Around three years ago I wrote a post titled The Real Pain of Software
in which I talked about my experience with Repetitive Stress Injury
(RSI). Because of the pain of typing at that time, I never really got
around to writing part 2 until now.
So why am I bringing up this subject after all these years? Yesterday, I
was reminded again about just how important developers need to take
ergonomics in their daily work life.
As I wrote in that post, years ago, I suffered from a lot of pain when
writing code. I started going to Physical and Occupational therapy which
During that time I went out and bought the best
chair I could find, despite the
high cost. (Note that the best chair for me might not be the best chair
for you due to differences in body types. Jeff
Atwood mentions theSteel
his favorite in a post that highlights the importance of a good chair to
a developer’s productivity.)
Along with the chair, I bought a good keyboard, a keyboard tray with an
articulating arm, and a trackball and made sure it was configured in a
way that was comfortable for me and ergonomically sound.
And over time, I got better. In fact, I got much better.
At that point I vowed to never to skimp on the tools I needed as a
developer. As Jeff points out in his Programmer’s Bill of
It’s unbelievable to me that a company would pay a developer
$60-$100k in salary, yet cripple him or her with terrible working
conditions and crusty hand-me-down hardware. This makes no business
sense whatsoever. And yet I see it all the time. It’s shocking how
many companies still don’t provide software developers with the
essential things they need to succeed.
I realized that not every company will follow through on this reasonable
advice, so I took it upon myself to make sure I have what I need
In the past several years, I’ve worked alot more from home due to my
open source contributions. In the past two years, I worked full time
from home. I made sure that I had the best quality setup for me
possible. Better than any other employer ever provided. To the items I
mentioned before, I added two very bright and sharp LCD monitors which
reduce eye strain. This setup is finely tuned for me and the way I work.
Which brings me back to yesterday. It was my first day of work at my
new company and naturally, the
workstation has not had the opportunity to be configured by me, through
no fault of my employer. My requests for a new keyboard, trackball, and
keyboard tray were all approved. I plan to bring in my own chair because
I have two Neutral Posture chairs at home. I don’t screw around with my
equipment any more.
Unfortunately, after just one day I am having trouble sleeping due to
pain in my hand and back.Shoot, I need to get up in three hours!
Yeah, I know what you are thinking. What a freaking wuss!
But no amount of macho posturing changes the fact that some people, for
better or worse, are more prone to these type of injuries than others.
I wish I could remember his name, but there’s a very famous software
developer world renowned who cannot type for himself. He has others type
for him. I’m sure someone will remind me.
What my Occupational therapist taught me is that my recovery is based on
a delicate balance. Upsetting that balance can bring back a lot of pain.
In my case, I will never fully be free from pain while working. But
through therapy, I learned techniques to reduce the pain as well as deal
with it better.
fortune would have it, this was around the time I received a private
office, so it was less of a spectacle when I would get on the floor with
a foam roller and do my stretches every couple of hours.
The pain had gotten so bad, there were days I could barely type a line
of code, instead finding ways to be productive without coding. I started
to wonder about my future, or lack thereof, as a software developer.
My recovery allowed me to not only work through a normal day
productively, but actually start putting in extra coding effort in the
evenings as I started to contribute to RSS Bandit and eventually start
I became even more productive than before, working day and night at the
computer. A stark contrast to when I could barely type a single method
of code. I could never have started Subtext if it weren’t for the
therapy. For that, I am eternally grateful to the occupational/physical
therapists at UCLA medical center.
So if you experience a lot of pain while developing, don’t be a hero. Be
smart about it and seek information and help. The pain could be the
thing holding you back from your potential.