A Runner Paying the Price for Too Many Nights of Coding

47 km down the race is where I decided to give up. Or rather where my body urged me to do so. Just 23km short of the finish line of the Scott XTrail du Grand Ballon, an ultra trail I wanted to run last Sunday to prepare my upcoming CryptoRun challenge. This was a tough call.

It was a tough call in the midst of the Vosges mountainsIt was a tough call in the midst of the Vosges mountains

My sleep-deprived body couldn’t handle the sudden effort, nor was I sufficiently trained — busy as I was sacrificing track & field sessions for debugging ones. I paid the price for too many nights of coding. During the last kilometres of this little ordeal, I reflected deeply about the delicate balance between my two addictions to make better decisions and avoid having to forcibly give up in the future. Hopefully this will help others in the same situation.

Coder’s Flow and Runner’s High

Running and coding can both be literally addictive. Coding is all about problem-solving and learning, activities producing dopamine, a cherished neurotransmitter also released when eating good food or having sex. Running is known to release floods of endorphins, hormones inducing a state of euphoria.

Coders know about dopamine and have coined a word to describe this peculiar moment where all mental pieces suddenly seem to fit together and the hormones start flooding: it is the state of Flow. It typically takes about 15–30mins of uninterrupted concentration on your code to get there. And once you’re there, O! what a joy it is. The Flow feels like building an intellectual masterpiece. You hold in memory all macro and micro details of your software architecture, fully aware of the exquisitely complex interactions between hundreds of lines of code. Imagine a cathedral builder able to simultaneously visualise the main thrust lines of his building and the tiniest stained glass details. That’s what the Flow feels like, and this extremely rewarding state is clearly addictive. No wonder I sometimes wake up at night with my brains running full blast, replicating the Flow in my dreams.

Runners are even blunter about the chemical nature of the joy procured by their passion: they refer to it as the Runner’s High. Indeed, the endorphins released by long-distance / high-intensity runs belong to the family of opioids (think heroin, morphine and the likes). Endorphins relieve pain and induce a delicious state of euphoria. My best Runner’s Highs were far more intense than any highs caused by, well, exogenous substances. There was this marathon ending in the middle of Brussels with a memorable sprint coming out of nowhere after 41km. These kids bringing tears of joy to my eyes after a 65km race in the Ardennes, just by cheering “Allez monsieur, bravo!” (with them was a lovely lady, probably amplifying my emotional reaction). The tears (or was it snow?) streaming down my face when I speed-climbed a particularly harsh col in the Mont-Blanc range and discovered the magnificent landscape on the other side. And my fastest 1000m ever that got me feeling like I was literally flying. Like a dog that tasted blood, a runner that once felt the High will be crazing for the next opportunity.

An unfair balancing act

What to do when you love both the Flow and the High? I think the fight is painfully biased towards the Coders’ Flow. I’ve experienced countless times this situation where I planned to go running, but did not want to stop coding before solving this thorny bug or experimenting with that new Javascript library. And there evaporated my running session.

The fight is biased because there are too many excuses not to go running: it’s cold out there, my legs hurt, I don’t have my preferred gear with me, I’ll be better off sleeping instead of waking up earlier for a morning jog. Whereas if like me you do code for a living, you’ll never feel guilty of working longer hours and it’s always easy to do so — just sit longer in front of your computer and hey, you know what, let’s order a pizza so we make this a coding night. So much for the healthy eating habits that could make you a better runner.

The fight is biased because coding provides instant gratification whereas it sometimes takes hours to reach the Runners’ High, and weeks to see your max running speed increases. In coding, you can already progress tremendously over the course of a week-end (that’s the hackaton model), but in running, you need weeks of training to progress (in coding, we’d say a series of sprints, excuse the bad pun).

But the most shocking bias in my opinion is how these two disciplines interact. I know that running makes me a better coder. Why? Because the elapsing of long distances alone in my head helps me structure my thoughts, craft new plans, imagine crazy ventures, and retrospect on my latest learnings. My girlfriend is used to seeing me come back home after a long run, announcing I just invented some new sick tech idea.

Coding on the other hand does not make me a better runner. My best Flows occur late at night (when I should be reloading my body’s batteries), while eating junk food that will only make me slower. The fight is definitely biased, and it’s a challenge to sustain good running performance when you’re addicted to coding.

CryptoRun is my humble attempt at reconciling both addictions

Aware of this antagonism since long, I made sure to put my energy in a project that would reconcile coding and running. Enters CryptoRun, a charity run powered by the Blockchain. The idea is simple: we are raising crypto-money for BeCode, a non-profit providing tech education for all. In exchange, I will be running 60km around Brussels in one go. The trick is that my GPS will be connected to a smart contract — a special kind of application running on the Blockchain. The smart contract will ensure that the funds only get released if I manage to accomplish the 60km challenge. Find all details here.

I love this idea because I need both to code hard (that is, develop and test the smart contract) and train hard (because if I fail in running 60km, all other efforts will be vain). Plus it gives me the chance to meet a whole lot of extremely friendly people, from BeCode and the Blockchain ecosystem in general.

Last Sunday showed that I invested too much time in coding and not enough in running. The good news is that the coding part is now over (the smart contract will go live this week, so that the fundraising can start), and I will be able to sleep more and train gently until the 20th of May, the date of the challenge. I am confident I will succeed.

Epilogue: at the end of the day, community is the best experience

Overall this experience of giving up has been eye-opening for me, and I thank my body for this primitive call for humility. But most of all, it’s been a pleasure to share the pre- and post-race moments with a wonderful bunch of folks. Among them is a particularly inspiring duo: Michaël and Tom will be running across Belgium over the course of a week — their incredible Duo For A Run challenge is worth discovering.

At the end of the day, the best thing whether you’re a coder or a runner is always the community that shares your passion. And I think this is worth all the Flows and Highs. Thanks for reading!

Cheers, Thomas

I’m the guy in the training pants, of courseI’m the guy in the training pants, of course