7 Ways to be a healthier programmer

Developing software is an indoor job with no heavy lifting. How dangerous can it be? Actually, the long term dangers to your health are all too real. Humans have bodies evolved for running around the African savanna, not sitting motionless in front of a computer for hours at a time. I have heard several stories of developer careers cut short by RSI. Imagine if you couldn’t type any more, because it was too painful? Yes, it could happen to you. I started to write an article about ergonomics for developers. Then I realised I knew someone who was a lot more knowledgeable about it than me. Derek kindly agreed to write it instead.

It may seem hard to believe that working at your desk can cause you long term harm, but unfortunately the real toll of sitting in the same location and doing the same operations over and over again may not be felt until it is too late.  Here are some simple precautions you can take.

1. Setup your work environment to be ergonomic

Make sure that your whole working environment is set up correctly. This includes your monitor, keyboard, mouse, your desk height, your chair, and possibly a foot rest. Adjusting your seating position relative to your workstation layout encourages good posture. Do this on a regular basis, not just when the ergonomic assessment forms come around once a year. Setting up your chair correctly is probably the most important step and is covered in detail at healthycomputing.com.

2. Try using an ergonomic mouse and keyboard

There are a wide range of ergonomic mice available nowadays, and while some of them may look a little strange, you may be surprised how comfortable they are compared to conventional mice. The Evoluent VerticalMouse is ergonomic, easy to use and available in left and right hand variants. If you find an ergonomic keyboard inconvenient for programming, consider looking into one with a small key travel distance, like the keyboards on laptops where the keys only need to be depressed a small amount, as this reduces the finger movements and effort required.

3. Remember to look up from your monitor

Staring at your computer screen for long periods will lead to eye strain, tiredness, headaches and dry eyes. Every few minutes, look up from your monitor and focus on objects in the distance, either by looking out of the window or at the most distant end of the room. You can do this by using ScreenRest set to remind you at fixed time intervals. It is also worth adjusting your monitor screen to eliminate reflections from light sources behind and above you.

4. Sit up and stop slouching

Leaning forward, sinking down in your chair or resting you elbows on the desk places unnecessary pressure on your back. Poor posture, maintained over a period of time, leads to back pain and more serious back conditions. Make sure that you regularly correct your posture, sitting slightly reclined and supported in your chair with your shoulders relaxed.

5. Keep yourself hydrated

Don’t forget to keep up your fluid levels throughout the day. Even mild dehydration can leave you feeling lightheaded or bring on a headache. Often when you feel hungry it is actually that you’re thirsty, so don’t reach for the biscuits, get a glass of water first. Staying hydrated will help keep you clearheaded, more alert and help counter the dry environment around computers.

6. Take regular rest breaks

Get up and walk around regularly, taking a few minutes to relax. Try to avoid the temptation of carrying on with that feature that is “nearly finished”, or doggedly tracking down that bug that you’ve “almost fixed”. Taking a break will refresh you both physically and mentally. Also, use the break as a reminder to change the type of task you’re performing. If you use the keyboard and mouse extensively, you may want to use ScreenRest set to remind you based on the amount of usage. It can be surprising how much you use a computer continuously without realizing.

7. Look after yourself before it is too late

As a programmer your livelihood depends on you being able to use a computer. Pay attention to any discomfort, tension or pain you may feel while using the computer. Don’t think that computer-related conditions won’t happen to you and ignore those nagging pains until they become something more serious.

Do not underestimate how severe and uncomfortable repetitive strain injury pains can become and how long they will persist throughout the day and even into the night and will eventually impact leisure activities you enjoy doing. Once the damage has been done even the simplest of movements, not just using the computer, can be enough to trigger pain.  There are tools available, such as speech recognition software, to help with basic computer tasks such as emails and browsing basic websites, but it is of no use when controlling complex development IDEs.  Speech recognition can frustrating to control at the best of times and is impractical in an open plan office environment, due to the background noise.

Derek Pollard

Derek Pollard is the developer of ergonomics software ScreenRest, for the prevention and relief of eye strain and the management of RSI while using your computer.

<p style=”text-align:left;” class=”getsocial”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1003.png&#8221; /><a title=”Add to Facebook” href=”http://www.facebook.com/sharer.php?u=https://successfulsoftware.net/2008/10/26/7-ways-to-be-a-healthier-programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1013.png&#8221; alt=”Add to Facebook” /></a><a title=”Add to Digg” href=”http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1023.png&#8221; alt=”Add to Digg” /></a><a title=”Add to Del.icio.us” href=”http://del.icio.us/post?url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1033.png&#8221; alt=”Add to Del.icio.us” /></a><a title=”Add to Stumbleupon” href=”http://www.stumbleupon.com/submit?url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1043.png&#8221; alt=”Add to Stumbleupon” /></a><a title=”Add to Reddit” href=”http://reddit.com/submit?url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1053.png&#8221; alt=”Add to Reddit” /></a><a title=”Add to Blinklist” href=”http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Description=&amp;Url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;Title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1063.png&#8221; alt=”Add to Blinklist” /></a><a title=”Add to Twitter” href=”http://twitter.com/home/?status=7%20Ways%20to%20be%20a%20healthier%20programmer+%40+http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1073.png&#8221; alt=”Add to Twitter” /></a><a title=”Add to Technorati” href=”http://www.technorati.com/faves?add=https://successfulsoftware.net/2008/10/26/7-ways-to-be-a-healthier-programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1083.png&#8221; alt=”Add to Technorati” /></a><a title=”Add to Yahoo Buzz” href=”http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;headline=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1093.png&#8221; alt=”Add to Yahoo Buzz” /></a><a title=”Add to Newsvine” href=”http://www.newsvine.com/_wine/save?u=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;h=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1103.png&#8221; alt=”Add to Newsvine” /></a><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1113.png&#8221; /></p>

25 thoughts on “7 Ways to be a healthier programmer

  1. Torley

    Thanks for sharing this! Beyond taking breaks, some stretching and even dancing to music you enjoy helps provide variation and a workout.

    Placing your keyboard just above your lap continues to be quite rare in my observation, especially looking at how the majority of props and showrooms (e.g., Ikea and OfficeMax) are setup. Wish they had more ergonomic examples! I experienced soreness putting my keyboard too high, so now, it’s lowered.

  2. James F

    You need to regularly get exercise too, away from computers (unless they are used for timers!). And even the easiest exercises (like walking) will give huge dividends, especially for programmers – stress reducer, reduce weight, increase flexibility, increasing energy (for those long nights in front of a debugger). Your body and mind will thank you. 30 minutes a day, as many days a week as possible (start slowly though).

  3. Marcus

    I highly recommend the piece of software called workrave. It pops up a supersweet thing forcing you to take microbreaks, and longer breaks.. complete with stretching exercises. Has saved my wrists for sure!

    Also excellent article!

  4. Paul

    Get out side.

    I have a Vitamin D definceny that has caused osteoporosis.

    Get some sunlight when possible.

  5. Joe

    The ‘wave’ designed keyboards and trackball work well for posture, speed and reflexes which benefits overall comfort along with a full length chair. This may give the impression of minimum effort, especially in an office, but actually increases physical productivity and mental activity related to the actually project as there is less stress on the abnormal movement of muscles. Long outdoor walks are very refreshing also.

  6. Kit Plummer

    I had read about “standing” workstations in the blogosphere and due to some back pain decided to give it a shot. I bought a desk (that cost too much) that has an electrical crank – allowing the desk to easily go from sitting to standing height.

    At first I could only stand for about an hour at a time before my feet and knees started to ache. As soon as I began to integrate a brief walk-away regularly I found that I could go for about a half day standing non-stop. I now alternate between sitting and standing every couple of hours and my back feels great.

    If, like me, you’re on a Mac – this is a great timer:


  7. Ray

    Earlier this year, I developed wrist tendonitis after moving some furniture. I’d say the 2 previous years I spent of all day and into the late night coding sessions for my startup and having stopped going to the gym led to the problem. It was painful to use the computer for about 3 months.

    I got back to the gym this summer, lifted weights and got my strength back. Now my arms/hands/wrists don’t feel like they’re on fire during and after a long coding session.

    In addition to the tips in the article, I think anyone who frequently uses a computer NEEDS to have some sort of exercise regimen, whether lifting weights, running, yoga, or whatever. You’re only as strong as your weakest link.

  8. Robert Stehwien

    I’ll one up the standing workstation – walk while working. I setup the following workstation:

    There are a few people doing the treadmill workstation and some good medical studies – enough that Steelcase made a Walkstation for office workers.

    I’m able to program just fine somewhere between 1 mph and 1.8 mph without effecting my performance. If anything it keeps me more alert and focused; no caffeine needed for two weeks.

  9. Pingback: Calyx blog » A healthier programmer

  10. leanandgreen

    You have made great points.

    I’d add to watch what you eat and drink as you sit there all day. I’m a software developer and my well-being improved when I substituted raw organic apples and walnuts for the typical vending machine fare. Many of us are stress eaters and it makes sense. A high priority problem or deadline appears, the adrenalin kicks in and next thing you know – your body wants calories! I go ahead and eat but I make sure my office is stocked with healthy choices.

  11. Pingback: 7 Ways to be a healthier web developer/programmer « UK Web Developer’s Blog

  12. S

    My experience is that each of these has helped:

    1. If working at home, it doesn’t mean you have to work all the time, odd hours, etc. Switch off and take a rest, sleep enough, etc.

    2. If working at home, make sure you get out the house every day for a little bit.

    3. Take breaks

    4. Exercise

  13. Vasudev Ram

    Very good and useful post – thanks, Andy and Derek.

    One other tip: speaking of the savannah, I read somewhere that human beings have evolved such that it is less of a strain if we mostly look horizontally or at some angle downwards, and not look upwards for too long. That seems to make sense, since our ancestors were supposed to be hunter-gatherers, who would mostly have used their eyes that way. So having a chair which is high enough that you don’t have to look upwards at the screen of your monitor, may be of help.

    – Vasudev

  14. Pingback: Jak być zdrowym programistą | Blog Polishwords

  15. Pingback: Effectize

  16. Alex

    I didn’t try the fancy mouse that you referenced in your post, I tried Microsoft Mouse 6000 (which is look alike) instead. That was most horrible experience I’ve ever had. I’m a big fan of their IntelliMouse Explorer 4.0, and 6000 is a step in a wrong direction: my wrists were really hurt! So I back to IntelliMouse Explorer 4.0 and would never try something else.

  17. Pingback: Interesting Reading… – The Blogs at HowStuffWorks

  18. Steve

    I use posture minder to help me improve how I sit – it also has knock-on effects on how I use my keyboard/mouse. I don’t use the break reminder features, but it has them in, and a little drinks tool that encourages me to drink more water during the day.

    All in all I find it a really good package and my sciatica has been in abeyance ever since i started using it

Comments are closed.