During the summer of 2014, I participated in the Tour Divide bike race, a 2700 mile race starting in Banff, Alberta and finishing at the US/Mexican border in New Mexico. The route travels through the Rockies crossing the Continental Divide 27 times on a combination of trails, dirt roads, jeep roads, and pavement.
While a bike race may not seem like a place to learn about development, I realized a few ways in which the race helped me become a better developer after I returned home and had a chance to digest the experience.
1. Focus on the big goal, but don't get hung up on the daily tasks - During the ride, I set a mileage goal or final destination goal at the beginning of each day. Some days, the terrain, my legs, or the weather would not allow the goal to be reached. This led to frustration because I felt like my progress was not enough.
It's ok if each day doesn't go according to plan as long as you're making some progress. If you have a set goal for each day, it will lead to frustration. Some days, a tiny amount of progress is a complete success.
2. Do your own thing, at your own pace - Within 2700 miles, riders experience ups and downs that are different from other riders. It's not healthy to pace yourself based on how other riders are feeling or riding.
Don't get caught trying to keep up with others. Their situation is different and their skills are different. Keep moving forward with what you can do so that you don't get burned out.
3. Work on the most important tasks first - The Tour Divide forces a rider to wake up and start riding. That's the only way to make it to the finish. Sure, my preference would have been to make coffee and sit around a campfire, but that would not be racing.
Determine the most important tasks and work on those first. Even though that's usually not the fun task, it is the one that needs to be completed. The book "Eat That Frog" uses the same concept. For me, it simply took a 3 week bike race rather than a book for the idea to sink in.