What Running Taught Me About Persistence and Programming
I learned two lessons from running long distances that I've noticed apply to my perserverence and capability as a programmer.
Both of them can be summarized: The body lies.
Lesson One - The Body Lies #
When starting out as a runner, I would feel great for the first three minutes. As my feet pounded the pavement I had this sense that 'Yes! I can do this! I'm a RUNNER!'
By the fourth minute I'd be breathing too hard, with my chest pounding, and my legs ready to give up.
My strategy at this point was to stop running. Walk for a bit. Maybe walk home.
Eventually, I realised that the feeling in my body could actually be ignored. You can slow down a bit if you like, but you don't actually have to stop. When you run just beyond what is comfortable after the first few minutes and then keep going, your body just sort of says 'fine', and carries on. You hit a decent rhythm and sort of forget that you are not really a runner. Then eventually that goes away, too, and you can in fact run distances you'd never have dreamed possible.
Your body will react to discomfort - it's a natural safety mechanism. But for many of us that safety mechanism is too finely tuned, much like the alarm on the refrigerator door if you took a few too many seconds pouring your milk on your cereal in the morning.
When faced with a confusing piece of syntax as a beginning programmer, your brain will attempt to hijack your attention with memes (best case scenario), or negative self-talk (not so good scenario).
You can push through that though, and eventually you hit a decent rhythm and sort of forget you're not really a programmer. That, too, eventually goes away.
Moral of the story #
keep doing the thing you think you can't until you can.
Lesson Two - The Body Lies #
As is the way for all wannabe distance runners, eventually I wanted to run a marathon. 42km is significantly more challenging than the 10km I'd made my habit.
To prepare for this, I followed a training plan. It was simple enough: some speed work, some hills, and a long slow run at the weekend where I'd increase my distance incrementally.
Week by week I was following the golden rule of adding 10% extra distance to my mileage.
However, I'm an impatient lad. I knew I could run further than my plan had me running. I was at the fittest I'd ever been in my life. I was running for an hour non-stop and then finishing up feeling absolutely fine and carrying on with my day. Not even leg aches the next day.
So I quickly decided to just see how far I could run one Saturday morning:
It's a little more complicated than just deciding to run 20km...I'd previously run 17km shortly before, and 12km before that. I was pushing myself further faster than I was supposed to because my body wasn't complaining about it.
I knew what it felt like to suffer when running, because I remember being wheezy and tired. At this point I felt indestructible!
However, what I have since learned is that your cardio capacity improves much quicker than your muscle and bone strength.
Your heart and lungs will let you run 20km, sure, but if you haven't really done the work in your legs, you're headed for trouble.
My ankle gave out the following day. It took about two months to recover enough that I could run 3km again - and even then I was getting recurring issues for months afterwards.
I never made the marathon - going too hard too soon killed that goal.
I've been guilty of this same cavalier attitude with programming, too.
It's easy to get swept up in a problem and feel wide awake past midnight. The screen tricks your brain into thinking it's daytime, and you keep telling yourself you are not tired. The body lying to you again. So you keep going until 2am.
Do that for a few nights a week, like I used to, and you (and your family) are in for a bad time! My mood swings were awful, my motivation shot to pieces, and I was getting really sick and run down all the time.
As with distance running - it's better to decide up front what you know is a reasonable pace to work at and then stick to it no matter what you stupid body tells you at 11pm on a weeknight.
Moral of the story: #
don't keep doing the thing you think you can until you can't.
I hope you have found this paradox of persitence helpful.
- Previous: How to Restart Tinker
- Next: How to find a mentor