My best ideas often show up when I’m away from my desk.

Freeing my mind and allowing it to wander tends to spark all kinds of random lateral connections, that may not otherwise occur when I’m trying to bully it into submission.

Yesterday I was running along the seafront here in Istanbul, while pondering on the progress I’d made with my 5K training. I’ve had a love/hate relationship with running for years. I love it because it’s the simplest way to exercise. It’s good for cognitive function and has a host of other benefits.

But running also makes me restless and bored. I never really got beyond doing twenty minute light jogs, interspersed with side pain and moments of absolute tedium. Over Christmas I went running with a friend in DC, only to find that I was out of practice and could barely keep up.

This year I chose a different approach. I’d build up my running capacity slowly and gradually. I followed an old podcast from the NHS, Couch to 5k. I’d tried it before, in 2012 in Doha, and made some good progress. But I’d given up too soon. This time, I planned to complete the full nine weeks.

The programme starts new runners off small, building up stamina by combining periods of walking with short runs. As the weeks pass by, the walking gets less frequent and the runs get longer. By the end of week 6, you should be able to run for 25 minutes non-stop. The programme encourages you to pace yourself, rather than getting ambitious too early on. It also focuses on developing the correct breathing, which cured my side pain.

Anyway, it’s working. I’m now running with greater ease than ever before. I no longer get bored and my mind wanders happily as my feet pound the pavement. Taking it step by step is a great way to make progress in many things. I think it’s an approach that applies equally well to coding.

When I first started coding I wanted to learn everything at once. This approach is futile. Most people who try it will give up pretty soon. It’s a game that requires a long-term outlook. There’s no instant gratification and anyone that tries to tell you otherwise is wrong.

Over the last few weeks I’ve been studying an hour of Ruby every day. It’s not much, but I now feel that the concepts are finally starting to gel. That’s when I know I’ve made actual progress.

Perserverance and small gains are what matter most. Just like running, keep going, taking little steps every day. You’ll get there in the end.