Software Development & Running

I had the opportunity to give a quick talk at an internal company event in 2021 where we were asked to present a personal topic of our choice, and I chose to talk about running.

Why running, you ask? I’ve been running since I was in 8th grade, so by some measurements, I’m more qualified to talk about running than I am about software development!

The slides from the presentation are included below, but continue reading on to discover the parallels between training for a running goal and building a new product or feature.

Software Development & Running Slides

Running: (Almost) Anyone Can Do It

The great thing about running or walking is that almost anybody can do it regardless of their fitness level, so long as they have decent shoes and sweat-wicking attire. I know the word “running” can evoke a negative reaction from many folks, but how far and how fast one can run doesn’t matter; in fact, walking is a fantastic form of exercise, too. Many walkers and hikers participate in races; most running events have a walking option.

Successfully starting and maintaining a running ritual hinges on proper goals, planning, and training. With the right combination of all three, running can be fun and provide amazing physical and mental health benefits.

A photo of the author running in a race and giving a big thumbs-up!
Photo courtesy of runners.photos

Running Starts with a Goal or Purpose

A goal or purpose for an individual does not need to be complicated, and it can be unique to you. It can be as simple as:

  • “My friends are doing it and it’s fun”
  • “I want to get faster”
  • “I want to stay fit”
  • “I want to clear my mind and relieve stress”
  • “I want to push my body and find my limits”
  • “I want to run X distance”
  • “I want to summit the mountain”
  • “I want to win a race”

Your goal should be challenging, but not unobtainable for your skill level. Setting a concrete goal will keep you working towards a reward that should fuel your motivation when the training gets tough! However, less specific reasons for running or walking like just wanting to stay fit or clear your mind can be perfectly fine, too.

Then, You Plan

In my opinion, planning is the most important step of the process. If you begin by going too far or too fast, you’ll burn out quickly. Goals that don’t match your current fitness levels will just lead to frustration and giving up.

Generally, plans are created on a weekly schedule and are either focused on achieving a certain mileage for that week (with usually one long run or walk), or focused on time. Building strength and endurance is a gradual process, so it must be done slowly if you are aiming to increase your mileage from your baseline capabilities.

“Off” weeks or rest weeks are important, as well as rest days! You can’t go hard every single day and expect to see improvement without rest and recovery. Personally, I’m lucky to get in three to four good workouts a week (though many others can do five or six a week), and I’m okay with that.

A picture of lush, green mountains and a cloudy sky
A beautiful view from one of my recent training runs

Training & Adjusting

It’s also important to realize that plans will not always go according to, well, the plan. They don’t need to be set in stone, so don’t mentally beat yourself up over it if you miss a day or don’t quite hit your set plan for the week. Preparing for a major milestone like a race should be done enough weeks or months in advance such that a few minor hiccups don’t matter, and are expected. Remember your goal, but remember to enjoy the training, have fun, and listen to your body, too.

Major adjustments to your plan may be required for a number of reasons:

  • You overtrain/get injured
  • Your race gets rescheduled
  • Other priorities come up
  • A pandemic

Injuries and race cancellations are certainly not ideal! However, not listening to your doctor’s recommendations could lead to an even worse injury — it’s just not worth it. If it’s just a race cancellation that ruins your training plans, try finding another race close to the canceled race if possible; at the very least, you can continue training and adjust your plan to be ready for next time. More time to train is better than not training enough!

A group of runners celebrating summiting the top of a mountain, their hands raised in the air
We made it to the top!

Don’t Forget Your Support Network!

Many people prefer to run by themselves and have total control over their own success. Others prefer to run in smaller groups or larger teams. However, even those who run solo will occasionally rely on the support of others to be successful — whether it be your significant other or roommate, family, friends, a physical therapist, a coach, or other supporters.

There will be many days when you get stuck in a rut and don’t want to lace up your shoes to get outside and train: those are the days you rely on your support network the most! You need individuals to help push you to be a better runner, to lift your spirits after a disappointing race, or to celebrate your successes when you achieve your goals.

The author in front of a blow-up rainbow, celebrating the end of the Seattle Run & Walk with Pride race
A celebratory photo at the end of the 2021 Seattle Run & Walk with Pride

The Finish Line

To me, training to be a better runner is like software development (and project management in general, really). Software development can be done alone as a freelancer, or you may choose to work with others in a developer community or with coworkers. Breaking down a large project or problem to solve into smaller, achievable pieces over a reasonable period of time is often a key to success, as well as the ability and flexibility to adjust to unknown changes. Continuous improvement and continuous learning are also a part of the process. And lastly, but perhaps most importantly, stepping away from work once in a while to rest is crucial!

While I don’t expect you to go out and run a marathon tomorrow, I hope you now see that running isn’t quite so scary if you start small and gradually work towards a goal over time. That’s what we’re used to doing every day in our professional lives, right?

In all seriousness though, I know a post comparing running to software development is a bit of a stretch. Running is a large part of my life, as is my day job as a software developer; I just couldn’t help but try to merge them together!

— Robert

Post Reply