I’m quite serious about that statement. As programmers we tend to think coding is our life, and it might very well be a big part of it. It requires a certain mindset to truly become “one with the machine” and write more than basic HelloWorld applications.
Many of us tend to enjoy life indoors and even though we know about the importance of exercise, there’s this whole myth/bias around programmers that we never leave our computers. I know lots of other developers get out at least as often as me. Unfortunately I also know a whole lot in the other category, who thinks the myth is true and they need to drink Monster energy drinks and stay behind the screen for as long as possible, for as late as possible, without any kind of sleep at all.
I know this myself. When I was young and just started out, I become quite fat. I think I hit 88 kg around 12-13 years old, and I tell you this: That ain’t healthy by a long-shot. But I didn’t care, gym class were for football players and I’m going to be a millionaire by programming (I’m still a firm believer in this statement).
if($me->weight > 85) //Kg metric system
Later on in life, I began cutting my weight drastically after hitting (what amounts to) High School. I even managed to become running trainer for 1,5 year. I felt great. I couldn’t stand a week if I didn’t run at least 50 km. As you can probably guess, I got a permanent leg injury and those days were over. I promised myself to keep the weight at bay and managed that for only 9 months. I was back at 86 kg and were desperate for new ways to train. I liked swimming but couldn’t imagine doing it 4-5 times a week, as there’s simply too much distance to the nearest pool.
So I bought a bike. Or actually, my mom and dad bought me a bike. A cheap $400 Mountainbike with front suspension, Shimano Acera group (the cheapest you can get) and 29″ wheels. I was pretty doubtful but wanted to get at least some fresh air, so I began riding it.
I still remember my first few rides clearly. They were hard. God damn it! I hadn’t ridden a bicycle in over 3 years, and now began riding 3 km trips. Then 5 km. Then 10 km. Suddenly I took a big step and did 28 km. Before I knew it I passed 45 km and was glowing with confidence. It wasn’t more than 2 months before I was clocking 70 km every other day and 120 when I felt like it.
I felt great, and still do because I still bike that much. You are probably already familiar with why you should exercise, but let me say two things: Endorphins and adrenalin.
They are like your body’s natural drugs and they are even healthy. You can’t really OD on them, so as long as you keep training, you are forever high on this lovely cocktail. What is even better is that I haven’t been sick even once since I started biking. If I feel the sligthest sneeze coming up, it’s gone as soon as I’ve biked 50 km. It will clean your system up faster than you can type:
sudo rm -rf --no-preserve-root /
#Please don't execute the above... It will destroy your system.
But that’s not the only benefit. Studies have shown that your cognitive abilities improve tremendously when you exercise regularly, and I can clearly tell the difference when I get back home and open up my Macbook. It really helps those long debugging sessions. And if you are overdoing the exercising like me, and biking 1000 km/month, you are definitely going to see an improvement, as long as you eat enough to keep your body working.
Oh, regarding the food thing. I eat primarily healthy foods. But the best thing about exercising is the wildcard you get. If you burned 2000 kcal yesterday and are going to burn another 2000kcal in a few days, you can basically do the following:
SELECT * FROM fridge WHERE taste = 'tasty' AND kcal > 1000
Without getting the guilt from over-eating that day. (Just be warned, your weight will likely not see any change but your skin might if you are in your twenties like me – welcome back teenage pimples).
I think you get the idea. But I actually enjoy quite another aspect of biking that I didn’t experience while running: maintenance.
It’s every programmers worst nightmare… You’d think. At least not for me. Most people never service their bicycles. They just bike around all day and complain when it’s rusty. Most people can change a flat tire if they really try or at least pay somebody else to do it, but when is the last time you lubricated your ball bearings with this stuff?
Or refilled the hydraulic system in your hydraulic disk braking system? Fine tuned your rotors? Re-aligned your spokes? Lubricated every single link on your chain by hand after a thorough cleaning? Adjusted your gearing? Disassembled your entire bike to every last bolt, cleaned every single part, checked for damage, replaced bad cogs and re-assembled it entirely?
I think you get the point by now. It’s a little intimidating at first. When I got my first $400 bike I didn’t even know how the gears worked and were surprised to discover that most Mountainbikes use hydraulic braking systems containing a special anti-bacterial mineral oil.
So what’s the big deal? Isn’t this just frustrating? Nope, not at all. At least not for me, and hear me out on this. Most of my weeks go like this.
- Monday – Bike long distance (think 60 km)
- Tuesday – Repair the bike and sometimes take it for a small run.
- Wednesday – Bike long distance.
- Thursday – Repair day, most likely no little trip here.
- Friday – Bike ULTRA long distance (think 80-120 km this day)
- Saturday – Downhill and/or medium/long distance depending on mood.
- Sunday – Repairs and total rest.
See the flow? There’s always something you can do with your bike to make it better or fine tune it. Right now I should clean my chain and probably a lot more if I looked closely enough.
You only need to wipe of dirt from your bike as soon as you get home from a trip, to prevent rusting and such. Not fixing that rear derailleur or flat tire doesn’t hurt. It can wait. That’s the second thing I like about biking. I always have something to do if I get a hard problem while programming. If I can’t fix a bug after 30-40 minutes of trying, I will go down and have a look at my bike. I find it very relaxing to disengage from the whole digital world and focus on something purely mechanical. My code is on the screen, like this text, and I manipulate it with my keyboard. I can put a lot of thought and love into it, but I can never truly touch it.
My bike is a precise piece of machinery that my life depends on. I love performance optimizations and there are always these small things you can do on a bike. Disassembling and re-lubricating the ball bearings (even changing them often), fine tuning your derailleur system, lubricating your cogs and everything else along those lines. I’ve sometimes spent 4-5 hours Sunday sitting in our workshop, disassembling the cogs in my rear derailleur, adjusting my spokes and everything else that just pops up while working.
When I make a performance optimization in my code, the users and my customers will feel it. When I make an optimization on my bike I will feel it, and my hard work will pay off as an easier ride the next day, which will probably amount to higher speeds and longer distances.
While using this comparison I would like to take it one step further: If I leave a security hole in the software I write, the users and my customers will be the victims. If I don’t care enough for my drive-train or any other vital part of the bike, I will be the victim.
Especially when going downhill, which I do with one of my childhood friends, my life is on the line. I take good care of both Patricks and my bike, because I know the dangers involved if any part fails. The first time we went downhill I was a total bike newbie and my handlebar actually came lose from the front wheel because I hit a jump a little too hard, and the bolts wasn’t tight enough. I still have the 5 cm long scar on my left leg and occasional neck pain from the crash.
But even with the dangers involved, I wouldn’t trade it for anything in this world. It has helped me be a better, healthier person, as well as advancing my career by keeping me sharp on the job, and providing me with even bigger mental capacity to plow through those hard days.
I hope you fellow developers enjoyed my story and might consider start doing some exercise in your sparetime. It really pays off.
End note: The bike in the picture is a $1200 14kg MTB with some pretty descent components. My $400 bike(19.5 kg) is only for downhill as that takes the biggest punishment, and I was tired of bad jumps affecting my long distance biking. And to other bike enthusiast: No, I will never buy a racing bike. I enjoy jumping stuff and doing tricks, even on the road.