Fitness Mind Hacks Part 2: How Programming Helped Me Lose Weight and Become Healthy

Code Monkey want a better body. Code Monkey way too fat.

As I mentioned last week, it only took a few key changes to drastically change the way I approached and, more importantly, conquered my fitness goals.  These changes had nothing to do with learning about the the latest fitness and diet trends — I already knew all of those. The changes had nothing to do with joining a gym or buying fancy equipment — I had tried both. No, my problem was all mental, and mostly due to a lack of confidence and a lack of hope. I didn’t believe that I could tackle the monstrous project called “health” because I didn’t have the skills or experience.

Image courtesy of juco on Flickr

Well, all of that changed when I took a new approach to how I thought about fitness and diet and health. Small mental changes, little fitness mind hacks, that helped me relate my fitness journey to other aspects of my life that I was successful at. I would have to say the biggest of these mind-hacks was when I realized that I could treat my fitness related goals like I treat my software development projects.

It amazed me how closely aligned the processes I use every day when I write code or plan my software development project were to the process for losing weight and setting goals. I’ll admit it wasn’t a huge leap to make this correlation, it seems obvious in hindsight, but it was this minor mental mapping — software development to fitness — that kick started my weight loss and kept me delivering on my fitness goals.

Here is exactly how programming and software development helped me lose weight and meet my goals:

1. You need a good development environment

Image courtesy of John Wiseman on Flickr

As every programmer knows, you need a good development environment to get things done. Without the proper environment, you’ll often find yourself limited in your capability to move forward or spinning your wheels trying to get started because of too many options.

Finding the perfect environment is a can be a little bit of a task in itself.  Take the time to look at your options. The environment you choose should easily mold with your personal style, taste,  and experience.  Like choosing a software development environment, you don’t want limit yourself to the status-quo or what the “pros” say you should use when choosing your fitness development environment.

Explore, experiment, and like Goldilocks, find one that is “just right”.

Here is my mini guide for fitness development environments:

  • The minimalist environment (This is the style for all of you vi and gcc’ers): You don’t need a fancy gym membership or exercise equipment to get you where you need to go. You understand that you only need two things in this world to get into shape: you and gravity – and those things are always available.
  • The DIY environment (This is for the “best tool for the job” coders): You realize that there are some great tools that exist to help you meet your goals, so you buy a few weights and some resistance bands and you maybe even splurge on an exercise bike. But with this method, you are not limited or constrained on what you do. You build your own environment based around only the things you need.
  • The virtual environment (This is for you… virtual environmentalists?): Like the DIY environment, you have a hodge-podge of tools at your disposal, but you have an specific environment you are aiming for as a part of your end goals, so you really try to set up your training environment to match.   If you want to be a fighter, you enroll in a martial arts class where you learn critical skills you need or buy a punching bag to hang up in your garage. If you want to be a rock climber, you build find or a training wall.
  • The fully integrated environment (This is for you Eclipse and Visual Studio users): With this method, you commit to a place that offers the kitchen sink when it comes to fitness. I’m talking about a good, ol’ fashion, all-purpose gym.  You need weights – you got ‘em. You want aerobic classes – they offer those too.  You want tanning beds – most of them surprisingly have those as well. Even though you may have to pay a premium for it, you have just about everything you need in one nice, consolidated package.

For me, it was a combination of the all of these environments that got me where I needed to be. The fully integrated environment helped me figure out what was available and mold my training path. The DIY environment helped me supplement the areas that the fully integrated environment lacked. And the DIY environment allowed me to workout wherever I happened to be sitting or standing at the moment.  One, none, or all of these environments might work for you. Take time to try them all and see which gives you the best results.

2. Just get Started

Phot courtesy of ColtahMang on Flickr

The most important thing I have learned in software development is that, sometimes, you just have to get started. You can spend hours researching the “perfect” ab workout or developing a detailed 48-month fitness plan, and never move a muscle. The unfortunate thing is that there is no perfect plan. Like in software development, you can spend all your time trying to figure out the perfect framework, or the best libraries for the job, but sometimes the best way to figure it out is by diving straight in.

Start moving. Do anything. Run. Walk. Pop, lock it, drop it. It doesn’t matter – just do it.  If you need to refine you workout routine later, as you read about optimal methods for your specific goals, you can. But just get moving today.

3. Always be agile

Photo courtesy of Garrettc on Flickr

A while back, I wrote about how to Agile development practices applied to health and fitness. The concept of Agile Development comes with a host of methodologies that keep your development paths clean, quick, and versatile. Here are a few of those methods that I used to drop pounds.

  • Use short iterations for your goals: Of course you have a long term goal (40 pounds, run a marathon, etc.), but the best way to meet your long term goals is to set many short term goals that build up to your long term goal. The time frames should be short and and the goals attainable. For example: If you want to lose 50 pounds in 6 months, set a goal of 8-10 pounds a month and then forget about the big goal. Each month, put all of your focus on the short term goal. Sprint towards that goal as fast as you can.
  • Do daily scrumsEach morning, ask yourself the following questions: What have you done since yesterday? What are you planning to do today? Do you have any problems preventing you from accomplishing your goal?
  • Allow time for reflection: At the end of each sprint, take some time to reflect on the previous month. Did you meet your goal? If you didn’t, why not? Reassess your next month’s goals. Maybe something has changed – a new long term goal or a new long term deadline – that might change your short term goals.

There are so many support groups that have this model built in already. Use them. My favorite is the 28 day challenge on the Nerd Fitness message boards. Each month, you set 3 goals that you are pushed to meet within 28 days. Each day (or week, or never, your choice), you post your progress — what you did the day before, what you plan on doing the following day, how you feel, etc.  At the end of each challenge, you have a week to share and celebrate your results. If you didn’t meet your goal, there is a whole community of people ready to help you work through what you need to change and motivate you for the next challenge.

4. Use Design Patterns

Photo courtesy of Grant MacDonald

As in any field, there are problems common to all software development projects. For these problems, people have built general, reusable design patterns that can be adapted to your specific goals. Keeping a good working knowledge of some of the most common design patterns can save you time during your development. Instead of focusing on a secondary problem, you can just focus on the core business logic.

The same is true for fitness. If you have a specific goal in mind, chances are, someone has had that goal to and met it. If you are lucky, they wrote the method they used down and put it out into the public domain so you can just adapt their plan to you. You might know these as training plans. Here are a few of the fitness design patterns that I have used:

These patterns can give you a big head start towards meeting your goals, but don’t feel you have to follow these plans word for word. Remember we are all different. Use them as a guide, but you will know when it is time to start building your own custom pattern. Remember to write it down and maybe you will have your own pattern that will act as a guide for others.

A few more quick mind hacks

There are a dozen more little hacks I use, most of which are too small to give a deep discussion on, but I thought I would quicklymention a few of them.

  • Always refactor your code - You should frequently reassess your workout routines and try to remove inefficiencies and isolate the things that are working. We are all busy people, if you can get your workouts down to the most efficient components, then you will save time and get more results for your effort.
  • You’ll always benefit from better debug logging – Always keep a record of what you do. When you get to the end of your sprints, you might need to look back to remember what you have done. You need to write down all of your core stats (weight, mileage, pounds lifted, etc.) each day as well as your emotional and physical state. Did you lift more during the week you got more sleep?
  • Set up good regression tests – As you meet goals and set new goals, do forget you go back and test your overall fitness levels. If you successfully ran a 10k and set a then new goal to be a backup dancer for Usher, make sure you don’t lose your ability to run a 10k. At the end of every fitness sprint, you should pick a few things that will test your overall fitness ability. Use your old goals as your regression tests.

Conclusion

Applying good software development practices to my fitness life really helped me feel like I had control over my destiny. I knew all of these processes worked. They have taken me from a white screen to a complex application many times before. Thinking about my fitness goals as just another software project gave me the confidence in myself to complete it. I hope this will help some of you too.

I’m interested in what my fellow software developers think.

  • What processes in your daily life as a code monkey have you applied to your fitness life?
  • What processes can you apply?

Let me know!

Fitness Mind Hacks Part 1: An Introduction

I think by now, we all know the general dirt on how to get into shape. The critical fitness and nutrition information is everywhere we turn: The Biggest Loser, the fitness magazine rack at the bookstore, the buddy at work that tells you all about the latest fitness blogs and podcasts while doing awkward hammie stretches at your desk (that’s actually me, well except for the stretches… they’re not awkward!). However, even with the abundance of information and awareness regarding healthy living, there are still a lot of good people out there who can’t seem to find a way put down the Kit-Kats and pick up a dumbbell.

I was that person.

I knew how to workout. I knew how to eat right. But knowledge was only half of the battle. What was holding me back was my mind… my will.

I wasn’t good at working out. I felt like I didn’t relate to the fitness community. And for a long time, I never fully grasped the fact that I, nerdy ol’ George, could be anything other than what I was: overweight and lazy.  Proper fitness was so foreign to me (which is sad that this was the case), that it seemed like something I could never attain; probably because I had tried and failed.

My logical mind knew I needed to shape up, but my emotional side couldn’t kick my ass into gear.

But all of this emotional incompetency changed for me when did one simple thing: I started relating my fitness journey to things in my life that I was good at. I started flooding my head with these little correlations to areas of my life that I was succeeding. I tricked my emotional mind to believing that change was possible. I was reprogramming my brain to take away those silly, irrational barriers that were preventing me from getting where I wanted to be. This “mind-hacking” concept is not new and is used in many other areas other than fitness, but it is what started the positive change in my fitness journey.

So what exactly am I talking about?

The idea is to relate your fitness goals to something you know, something you are passionate about, or something that is so pervasive that you can instantly relate to it.

For example, I love playing MMOs – Lord of the Rings Online, World of Warcraft, etc. – games that are all about starting at level one, and building up you character to the ultimate warrior through slow and methodical steps. Well, mentally, there is no difference in the process leveling a character up from 1 to 60 in those games and dropping 1 to 60 pounds in real life. You start on a journey, and you diligently work at it. You make mistakes, you learn, you grow (as a person, which hopefully corresponds to a shrinking waist). Eventually you reach your goal, and then the real game can begin.

I could level characters all day in game, why couldn’t I level up myself? The answer, was: I COULD! And I did.

What I plan to do over a few upcoming posts and podcasts is really dive into the fitness “mind hacks” that helped me clear away my mental barriers. The first of which will be a topic dear to my heart: software development and how it changed the way I view fitness.

In the meantime (does anyone hear that Spacehog bass-line?), here are some fantastic recent articles from some of my favorite bloggers that I would classify as fitness “mind hacks”

See you soon!

Awkwardly Fat

Photo courtesy of dotbenjamin

Photo courtesy of dotbenjamin

Losing weight is a mental challenge.  I think that goes without saying.  There are a lot of things to overcome mentally not only initially, but in progress, and I’ll go ahead and assume at finish as well (I’m not there yet so I don’t know this one for sure.  I’ll let you know when I get there.).  Initially we must overcome our old habits and make motion towards change.  Once we’ve established good habits, then we’re done right?  Objects in motion stay in motion; so they say.

All of this babble from me is really just a precursor to what I’m feeling now.  I thought that once I got going in the right direction that was it.  Obviously I have to keep on keeping on, but once the foundation was laid, I had the assumption that it would be easy for me.  I would start getting thinner and that would keep me motivated.  If the scale was moving the right direction then I would remain happy.

Read the rest of this entry »