A software developer these days is almost certain to engage in some kind of activity to maintain their fitness. Well, I may be stretching things a little :), but there are certainly more than a few developers who exercise pretty regularly; fitness is the “in” thing to do after all. I however found that many developers are either doing the “wrong” kind of exercise or focusing too much on some muscle groups to the neglect of others.

Every profession puts different kinds of stress on different parts of the body, this means that some exercise is very beneficial in some occupations while being almost harmful in others. Here, I will attempt to give some pointers on the types of exercises and muscle groups it would be best to focus on if you’re a software developer (or indeed any other IT professional).

Focus On The Core

For the uninitiated, by “core”, I mean your stomach, or more precisely, your stomach (abs), side (obliques) and lower back muscles. Your core muscles are arguably the most important muscles in the body. As software developers we sit at the computer all day, this puts a lot of strain on our lower back muscles, especially when we slouch (I know that I can slouch even on ergonomic chairs :)). This puts us at high risk of damaging our lower back in some way, so it certainly behoves us to strengthen our lower back muscles. However – with core muscles – balance is key. If you work your lower back, you need to pay equal attention to the abs and obliques. An imbalance in your core muscles puts you in very high risk of injury and since the core supports your whole body, it can make you a very unhappy developer. And by unhappy, I mean you’ll be in some possibly significant pain.

So, how do you work your core muscles? Well, despite what TV would have you believe, the machines of the AB* variety (e.g. ab roller, ab doer etc.) are not necessarily better than plain old crunches and leg raises. In fact I have found them to be worse in many situations. Not to mention the fact that you need the machine with you if you want to use it, where as for crunches and leg raises all you need is an even surface (floor, bench etc.). So I favour crunches and leg raises for your abs and obliques. For lower back, try doing some back extensions, they are surprisingly hard and also surprisingly effective. If you don’t know what back extensions are, then Google is your friend :). Oh, alright, it looks like this:

Back extension

No matter which exercise you do to strengthen your core muscles, make sure you do it regularly. As a developer who sits at the computer all day, the worst thing you can do for yourself is ignore these muscles. Do not ignore your core!

Engage Many Muscle Groups At Once

We are all busy people and only have so much time to devote to our exercise program. It is therefore surprising how much time people spend doing exercises that engage at most one muscle group (wrist curls anyone?), while ignoring exercises that can potentially work almost your whole body.

There are two exercises that should be part of just about every work-out you do, I am talking about chin-ups and push-ups. Yes, I know that these are very hard and you usually can’t instantly crank out ten reps like you can with a light dumbbell, which is precisely why most people ignore these great exercises. I would however recommend that you give these a good try and don’t give up. You will slowly find yourself doing better and better and the benefits are tremendous.

Push-ups focus on your chest but will also work your arms, back, abs and to a lesser extent your legs. Chin-ups not only give your whole body a good stretch, but will work your arms, shoulders, latissimus dorsi :), abs, and are also good for your spine. But wait – there is still more – these exercises are great for building lean, strong muscle mass (i.e. you’ll be much stronger without looking bulky).

Your time is valuable, there are games to be played, books to be read, code to be written (that is, complained about how badly it was written in the first place and then re-written to be better :)). So, do yourself a favour and use the exercises that give you the most bang for your buck.

Stretch Or Else

One of the most accurate definitions of old age that I’ve heard has to do with your muscles loosing flexibility and suppleness. I wholeheartedly buy into this theory. Work on your flexibility, if you have time to do only one exercise, make sure it is a stretch. This is not just advice for software developers; this is good advice for everyone.

Always stretch, your arms legs and torso before a work-out (and preferably after as well). And don’t just do those half-hearted stretches to “loosen up”. Push your muscles a little bit, but within reason, you can injure yourself even while stretching. Your aim should be to become a little bit more flexible every week, there is no such thing as too much flexibility. I am not going to go into the kind of stretches you should be doing, there is plenty of info around. My job is to remind you of the importance of stretching. If you can’t touch the ground with your fingertips while standing up, no matter how old you are, you’re not flexible enough (touching it with your palms would be even better).

If you subscribe to this theory you will find that as you get older you will be able to easily maintain your lifestyle no matter what you love doing and you will feel good while doing it. Ignore this advice and you will feel old by the time you’re 40 if not before!

The Good Cardio

Aerobic exercise is a tricky one. As developers we spend the vast majority of our time sitting down. Therefore all of us are aware that we should be doing some kind of cardio activity to balance this out, it is simply common sense. Many people join some sort of local sporting team which is great, have fun with your friends while getting a cardio work out. However, team sports can be prone to injury especially if everyone is very competitive (injury is not good for your body no matter how minor). The other problem is that you usually can’t maintain your heart rate at a consistent level when playing a team sport and this is the whole point of a cardio workout.

Running is therefore the perennial favourite to get a good quick aerobic workout. I agree that it is an exercise that makes you feel like you’re accomplishing something, but a word of warning. Running is terrible for your joints, it is very high impact and your bones and joints take the brunt of it. You probably won’t notice it while you’re young, but there is a very good chance that you will pay a high price for it when you get older.

Therefore I favour either walking or cycling as a cardio workout. Both of these are nowhere near as high impact as running, they can still burn some decent calories, especially cycling. They will still give your legs a nice workout (which is a good side benefit). There are other kinds of cardio exercises, but I do recommend doing one that uses primarily your legs, such as the ones I mentioned. This is so that your legs get a workout along with the aerobic exercises you are doing for your body.

“Executive” Summary

Most of the things I talked about above don’t need to be done at the gym (although they certainly can be). With a bit of ingenuity you can do most of these exercises anywhere (e.g. any likely tree branch is your chin-up bar). So, to recap, I am going to keep this short and sweet:

Stretch, Walk/Cycle, Chin-ups, Push-ups, Crunches, Leg raises, Stretch

Then rinse and repeat. It is in your hands from here on in. All your bases are belong to you!