While I'm sitting here in my expensive chair which was told to me were gonna help me with my neck and shoulder pains; it didn't. So don't go spend $2,000 on a chair because it's not gonna help.

I am trying everything to keep my body in shape, exercising to keep my pizza-body slim and just to feel well in general.

What I'd like to do is take a couple of seconds, maybe when the code compiles, to reach up, do a couple of X and feel good. But, what is this X?

When I sit there at work, what will everyone think when I stand up and start to hula hula because I want to exercise my basin?

I know a lot of programmers out there do have pain so let's come up with a little list together to help us all keep our joints feeling good.

Programming gives me joint pain, how do i avoid it without quitting programming?

+17  A: 

Consult a doctor.

George Stocker
He's saying that SO is not the right place to ask for medical advice.
Robert S.
Well, you said you're experiencing pain, and you went out and bought a $2000 chair but it didn't help. Did you ask your physician for suggestions? Did he prescribe anything? That's where @Gortok is coming from.
Robert S.
No, but it does depend. Make sure the pains you are feeling are not from another problem you have or something. I have degenerative spine disease, and I'm in pain EVERY day.. Some worse than others, and I go to pain management doctor to deal with it...
I see, then that might've been a better explenation of it. Even if you sit in chair for thousands of dollars, that doesnt help with everything else. Such as joints in the hands from mice, keyboard etc. I just want advice on the most common problem out there...
Filip Ekberg
Like today... The left side of my back, about the 5th or 6th rib, feels like a knife is stuck in there... THAT's not a lot of fun...
I'm offended that someone was offended.
An offensive tag can't be removed.
Filip Ekberg
+3  A: 

Walk whenever you can. get a mouse and a keyboard designed to reduce the pain standard versions may cause. Get out of the house on weekends. So what if its raining? Water just makes you wet. Go swimming, play football with friends. You cant have good health with a minute's exercise, whoever says so is a liar.MOVE!

EDIT: found a good example. http://bc.tech.coop/blog/images/keyboard.jpg a guy in my office is using it. I don't know if it helps with wrist pain, but it sure looks so :)

Oh, I hate keyboards with the space only on the right side. I'm left-handed and use my left thumb for space more than 90% of the time.
+11  A: 

At the very least, make sure you're trying to follow the Healthy Computing Guide.

Anthony Mastrean
Very nice, thank you so much!
Filip Ekberg
I like the Microsoft Natural Ergonomic 4000 keyboard and Logitech G5 laser mouse. They fit my hands and feel very comfortable. Most of my repetitive stress pain has disappeared by using them.
Anthony Mastrean
Yeah i got the Ergonimical 7000 kit, its neat :)
Filip Ekberg

I don't think doing anything during compilations is going to solve your problem. It certainly will help but are you getting any exercise any other times? Personally I run, snowboard, kayak and try (unsuccessfully) to keep up with a 3 year old puppy. I've logged several thousand hours sitting at a computer desk staring into a monitor and I've never had any serious pain come of it... even in a $50 chair.

Spencer Ruport
3 years old is still a puppy!
Spencer Ruport
depends on the breed of dog, but YES. My dog is 4, and just got out of his puppy stages.
+13  A: 

Get up and take a walk every hour. It re-invigorates the body and mind.

Jim Anderson
I usually go hide in the auditorium and catch some Z's ;)
Anthony Mastrean
Z's? whats that? :)
Filip Ekberg
Putting your brain on standby...I think. ;)
In the States, cartoon characters are shown with "zzz" above their heads to show they are sleeping.
Anthony Mastrean
@ajmastrean: I guess that can be re-invigorating as well if you can do it (probably no help as far as exercise/physical health though). PS: Hope your employer doesn't read SO.
Jim Anderson
+9  A: 

I chase my puppy around the house. It keeps us both sane.

I also like to squeeze a stress ball to keep my fingers warmed up and I take breaks and walk around. Walking is good for both thinking and physical exercise.

Dana Robinson
As long as you don't hit a wall eh? ;)
Filip Ekberg
+1 for chasing puppies.
Cat for me, but yes, it does help. :)
We aren't allowed dogs at work so I chase imaginary puppies around the office. I explained this to management and I got my own private office with specially upholstered walls.
Martin Beckett
+7  A: 

I worked with a programmer a while back that had an interesting approach. He arranged his computer so he could raise his keyboard and would work standing up for a few hours each day. It was a little unsettling to see him do it sometimes, but he swore by it.

I just got a desk that lets me do this. I love it. It's great for getting the blood going and avoiding the after lunch doldrums.
Scottie T
Yeah i have a desk like that, but i dont really use it, it got these hydralic stuff making it 2 meters high, if i want, but the cables are too short :/ can't have the cake and eat it..?
Filip Ekberg
Where did you get the desk?
I do the same thing, though the ergonomics at my office aren't great, so I just have to stack a lot of books on my desk. Heh.
Greg D
Standing desks are pretty cool. My wife worked in the call center for a large clothing retailer, and half the desks (alternating) were sit/stand adjustable.
Adam Backstrom
+1  A: 

Potassium (bananas or supplements) is supposed to be good for joint health, but can also be a poison (it's used in the lethal injection).

Anthony Mastrean
I don't know but I would think you would have to eat a truckload of bananas to get enough potassium to kill you.
Loki Stormbringer
* Consult your physician
Anthony Mastrean
Bananas are super cheap and taste good, no reason not to buy a bunch whenever you're at the store.
Marc Charbonneau
I wonder when Banans will be considered the new "Emo-weapon of mass destruction". :) Bananas are good and they help your body in many ways.
Filip Ekberg
+1  A: 

I've found running for around 30 to 45 minutes can really help you feel refreshed and focused, even when you've been sitting and programming all day. If you're as out of shape as I was a couple years ago it's going to take a few weeks before you can run more than two miles, but the more you do it the easier it gets.

Marc Charbonneau
+3  A: 

If you work in a building with multiple floors, go for a walk while your compiling or once an hour. Taking the stairs will get your blood moving.

Also, if your chair seat is able to tilt forward (for 2k it better!) then towards the end of the day when you are more likely to slouch, tilt the seat forward. This puts your feet flat on the floor and forces you into better posture (don't do this all day as you will fatigue).

Hope this helps.

Loki Stormbringer
Thanks, i like the tilting and the walking part, will keep that in mind.. I usually do the other way around, start relaxing the chair..
Filip Ekberg
+2  A: 

My idea was to have a pedal powered generator under my desk, and you have to pedal to generate power for your monitor. :) I mean, LCD's only use what? 7-10 watts or so? (Probably more, now that I tink of it, but I think they only use like 2 amps..) That should be do-able.

The other option is to power your MP3 player by pedal power. This way, if you stop, or slow down, the tunes go away... And we all need our music...

But, an over-ride switch needs to be available, cause you can't pedal for 10 hours a day, every day... Or, maybe you could.. I dunno.

I like the LCD idea, but I can't stand tunes when I'm programming. Need clear thoughts.

Don't worry about exercising for a couple of seconds while your programming, that's not how to get/stay in shape or avoid pains.

Exercise at the end or the beginning of the day. Run/walk/lift weights. If the only time you have to exercise is in when your compiler is compiling, then, forgive me for saying this, your programming too much, your life is too one dimensional.

I am already exercising regularly but i want to avoid joint pains from sitting down to much.
Filip Ekberg
You cant have your cake and eat it too.
Except if he does C++. Than you can go play some chess during compilation.
Or if i did simula back in the days..
Filip Ekberg
+8  A: 

Take a yoga class -- I've had back and neck issues throughout the years and the best thing that I've done about it was taking yoga. If you don't want to take a yoga class, then try this at your desk.
everyday yoga

Steve Lazaridis
+1  A: 

The problem you most likely have is the way you are sitting. That being the case, you need to evaluate how your desk is layed out (in terms of how high you desk is compared to your chair etc.) and strengthen the correct muscles to adjust the way you sit. Excersise is key.

If you do it already, I would consult a personal trainer (event just once will help) and explain what is happening and ask what excersises you can do to strengthen the necessary muscles.

This is going to sound really weird, but I do a combination of Aikido and Ballroom dance, and that pretty much cleared up all my problems with joint pain.

+1  A: 

If you're not embarrassed by it, listen to some music that gets you so hyped up that you can't help but "chair dance". =)

Seriously, I find myself moving my legs and banging my head quite a bit when I'm listening to some good music. It helps with the circulation at least.

+3  A: 

Learn keyboard shortcuts. Especially activate 'search as you type' in firefox :)

I have a feeling that he knows the short-cuts, but this is a good suggestion for anyone... A mouse has a purpose, but when you start to LIVE by it, is when you start having issues.
+1 because of LarryF's comment. Do as much as possible with only the keyboard. IMHO, the mouse is the cause of a lot more pain (I think there have been studies that prove this, but I can't be bothered to look).
+1  A: 

A friend of mine with chronic hand/wrist pain would wear a hand/wrist brace overnight. He suggests not wearing one while active, as you will actually be struggling against it and continuing to hurt yourself.

Anthony Mastrean
+2  A: 

Sometimes you just can't help throwing all the advice down the drain, and stick your eyes on the screen when you are debugging or doing something immersive. After the initial ergonomic setup (keyboard, monitor, mouse etc), I do the following things that I think, help me.

  • Use Vi (or emacs). As long as only my fingers are moving and not reaching out frequently to the mouse, I don't have strain. Or if I'm using mouse, I dont tend to use shortcuts.. just use the input device exclusively.
  • Another non-conventional thing I do is take a washroom break.. sometimes I just don't want to freak out my colleagues by standing up, move about and rotate my head. I do that in the washroom.. or while walking to the water cooler or walking to another colleague's cube.
Sridhar Iyer
+1  A: 

Consult an orthopedic rehabilitation center that specializes in the hands. I broke a finger and, for rehab, the orthopedic surgeon sent me to some girls that worked only on hands. They should be able to survey your situation and provide exercises that can be done at your desk (resistance, strength, and motion training were all included in my rehab).

Anthony Mastrean
+1  A: 

Right next to my desk is my treadmill. It is amazing how much it clears my thoughts and tensions. I load my iPod with podcasts to last me however long I want to be on there, so I don't have to look at a clock. Follow it with a couple hundred sit-ups and the day is good.

+1  A: 

Work standing up.

I have a desk that can raise up to a standing position. Whenever I feel tired, working standing up for a while refreshes me. I know it sounds kind of counterintuitive, but it works.

Mark Harrison

A simple solution. . .get a "kettlebell", and do basic exercises, especially swings, presses, snatches.

they all very good for strengthening neck, upper back, and core while helping maintain flexibility and you can keep one next to your desk.

Beyond that, make real exercise a part of your day. . .not something you do while compiling. Get away from the computer for 90 minutes, and lift, run, skate, bike, whatever.


I agree with all the great suggestions for proper ergonomics at your workstation and taking regular breaks. I would add the additional suggestion to make sure to STRETCH during those breaks. I have had problems with tendonitis in my wrists for years and have found that making sure to stretch my arms and hands makes a huge difference.

I would specifically recommend a great product called Wrist Wand which has been very effective for me.

I think this is a really important issue for programmers. Thanks for the question.


For wrist pain, a PowerBall can be a cure by strengthening your forearms and thus the wrists. It's a nice toy to have around anyway.


Stretching comes to mind as one thought. Another is to consider moving the focus of your vision off the monitor and on to something else as a way of giving your eyes a break from the LCD or CRT you use. Possibly letting out a grunt or sigh could help.

We all have various idiosyncratic behaviours that may or may not be noticed by others.

Consider what is the configuration you work in and try small changes here and there, e.g. how is your chair set up, how is your desk in terms of keyboard, mouse, monitors and other peripherals laid out. If the changes help, keep them, if they hurt change back, if there isn't a change then maybe test things out.

JB King
+10  A: 

I doubt the 2-3 minute excercises and such quick fixes listed here will be any cure at all.

The ultimate solution to "no-pain" coding, IMO, is simply weight lifting! Neck and shoulder pains while coding is most likely a posture problem but also it emphasises the fact that your muscles are so weak that they can't even put up to basic repetitive movements like you do while coding. And weight lifting nails both problems!

I'm sure you've your reasons not to spend time lifting weights dumb and it sounds like an overkill but really, is that the fact? I couldn't disagree more. This is our very own hardware we talk about, for God's sake! :) Spending 1-2 hours 3 days a week is nothing compared to what you get in return (and I won't be listing the benefits of strength training as it's too obvious).

So the question is how to get started and how to stay motivated. And here I suggest taking the problem as seriously as a software problem. Well..

  • Read about it. Get a book! Learn the basics of your body just as you did while learning how to code. This book, The Book of Muscle, is great for a starter.

  • Don't take route of the average guy joining a gym, learning some moves from the instructor, some advice heard from around and doing them for the rest of his life. That's like copy-paste programming, that won't get you too far that way. You need to know the basics, ie. which muscles involve in which movements, etc.. Once you get the basics, you'll like it more! Just as programming is more fun once you know what's going behind the scenes.

To my experience, once you leave 3 months behind you won't be looking back and indeed you'll most likely be looking forward to improve your workouts and breaking your own records.

ps. Besides if you somehow get your body to the shape on the cover of that book linked, I assume all that hard work will pay off generously :)

Even though I meet a lot of people who say they don't need muscles, they are wrong! I've had back problems for a long time and one of the most important ways of getting rid of it is hitting the gym. To counter back problems it can be a good idea to focus on the back and abs muscles as these are the core of your body and are supporting it.
+1: I've had much less back pain since I started going to a personal trainer and doing some weights (and cardio, etc.). That said: if the pain's chronic, see a doctor first.
Roger Lipscombe
Regular workouts are certainly a good idea, but your theory about lack of strength causing muscle pain while working is just plain wrong. Neck and shoulder pain result from placing the body in a fixed posture for long periods of time; particularly when that posture is placing undue strain on the neck and other parts of the body. Another large factor is the tendency to hold tension in the shoulders without realizing you're doing it.
The way to reduce the pains induced by long hours of computer work is to ensure the most ergonomic posture (this is VITAL), take regular breaks, become aware of how and where in your body you're holding unnecessary tension, try to stop doing it, and learn to do stretches which alleviate that tension.
+2  A: 

Not very practical in a large open plan office, but when I have pain from sitting down at work and want to do some programing at home during the weekend on my own projects, I move the chair out of the way and sit on a gim ball (also called Swiss ball). Then you must have good posture or you will fall over! It is also improves your core strengh while you are sitting writing code.

You can buy them for 10 USD which is a lot less than your expensive chair!

I would agree with everyone who has suggested yoga as out of office exercises. It will give you a few hints for some simple things you can do at your desk and make you much stronger in all areas of your body which will help with the area you have pain in.

Some suggestions for shoulder and neck exercises you can do while sitting down:

  1. Put one arm up in the air and the other down by your side. Bend both arms at the elbow and try to link your hands behind your back (one elbow will be pointing up and one pointing down). If you can link hands gently stretch by pulling the two elbows away from each other
  2. Looking forward lean your head to one side. Place the hand of the arm you are leaning towards on the top ear and let the weight of it gently stretch your neck.
  3. Role your head though its full range of moment. I.e. drop your chin to your chest then role your chin towards your right shoulder then look up at the ceiling; then dip your chin toward your left shoulder and then back toward your chest. Repeat a few times... then go back the other way.
  4. Lift up your shoulders towards your ears (like an angry cat!) pull them back and then down steeling your shoulders down your back; repeat. Then go the other way.

At home you could try to do a downward facing dog to stretch out and strengthen your shoulders. Start with your hands and knees on the floor. Then tuck under your toes and push back with your hands so your bum goes up in the air. Your body makes an inverted V shape. Try to reach your heels down to the ground (editor's note - don't do this if your hamstrings or calves are already painfully stretched) and gently try to move your shoulders onto the back. Spread your fingers and press the palms down on the ground.

+2  A: 

I had joint pain for years and finally started switching my mouse to my left hand. Took a couple of days to get used to it but I've never had the wrist pains since.

Sometimes when I'm coding for hours straight and my left wrist starts nagging I switch to my right temporarily and the pain goes away.

Hope this technique can help someone, it sure helped me!

Mark Kadlec

Last year after having some back trouble, I went through physical therapy. My therapist said that our bodies weren't meant to sit for long periods (who knew?).

My physical therapist suggested that I get up and walk not every hour, but every 30 minutes. Taking the stairs and parking at the end of the parking lot helps as well.

Nothing beats good old-fashioned exercise, but when you're at work, do whatever you can to stay mobile.

I suppose you could always get a stand-up desk and a treadmill.

+1  A: 

I like getting up for a walk regularly. At our office serveral razor scooters are now available. Cruising around on a razor is a nice bit of stress relief. Even for an old man like me who didn't do this as a kid.


This seems to help...although it also seems a bit excessive at times...(at least if you're a programmer and don't like to get up from your task very often.



I hate MS, and I basically want them to die, BUT: Get a Microsoft Natural Keyboard!

These are the "broken" or "angled" keyboards where the left and the right parts of the keyboards are angled towards each other, with some space in between. This makes the hands not having to do this awkward angle vs. the underarms.

I've been through several iterations of them, some of them are not that fantastic. The current keyboard is a "Microsoft (r) Natural (r) Ergonomic Keyboard 4000 v1.0" (!!), and it is very, very good.

Use the front-lifting device of it so that your hands get in the 100% natural resting position (On my keyboard, when I just hold my hands out in front of me and lay them down on the keyboard, I don't need to adjust any joints!).

Get a mouse that does not skid one single pixel, ever (laser mouses are good - ball mouses are evil. Remember to clean the camera and diodes once in a while). "Invest" in a cordless mouse (cordless keyboard is no use if you're at your desk, but cordless mouse makes much sense, as the cord doesn't get in the way, and doesn't move the mouse because of its springiness). Get a proper mousing surface with a gelly wrist rest (I've got an old "3M Precise Mousing Surface", but I haven't seen them around lately. It doesn't work fantastic with my laser mouse either, actually: I have a normal mouse mat on top of it! But it has this silicone pad for the wrist, and is made of rigid plastic, not some flimsy BS).

Seriously, if you have hand problems, like you feel an itch, or unpleasant feeling, on the top of your hands (the "lifter tendons") after a while of typing, or wrist problems - I'd totally invest the couple of dollars in the gear suggested here! It helped me 100%, and it might help you. (I can't use a normal keyboard for more than half an hour before I want to throw it in the wall and get an ice bucket for my hands). (Some say this also helps for the rest of their arms and shoulders - but I haven't had any problems here, so I don't know..)

+1  A: 

Get away from the keyboard and do something else for 15 minutes every 45 minutes. Yes, that means no coding in that time, and if your employer gives you any lip about it, get a different employer. You can't work efficiently if you wreck your mind and body.

Working out during compiler breaks won't help you. To really exercise your muscles, you have to warm them up properly, which just is not possible in such a short period. As a rule of thumb, anything < 15 minutes is either not giving you real exercise, or exercising cold muscles.

My recommendation:

Find a recreational sport you like (and that exercises the whole body), and exercise it three times a week.

It doesn't matter much if it's working out in the Gym, swimming, basketball, badmington or whatever, as long as it is fun so you continue doing it.

Make sure you keep in shape. I've had a displaced lumbago a couple of months ago, and I can tell you it is not funny in the least. Neither the condition nor the treatment.


A real solution would involve a healthy lifestyle. Take martial arts classes and join a gym for starters.

Once you have a more balanced lifestyle, you will get the benefits of your fine chair.

I do train Kung Fu :) and go to the gym 4 times per week! \o/
Filip Ekberg