I have spoken in the past about the difference maker. The thing that allows some athletes to rise to a level beyond Painothers. They have training techniques that their rivals don’t have. There is something else though. They also have the ability to better deal with pain. In sports we often see examples of this. Hockey players “playing through the pain”, triathlon athletes “toughing it out“, and ultra marathon runners “running through the pain“.

Top athletes deal with pain better. Their training strengthens them physically and mentally. They also don’t fear the pain.

“It’s not that I love putting my mind and my body into that place. But it’s one of the most transformational places to be mentally and physically. I like to say that adversity breeds transformation. It’s a lot like life. So when I’m out on the race course having a really tough time – that’s usually when the breakthroughs happen.”~Scott Jurek

Adversity breeds transformation. If we don’t push ourselves, we won’t improve. If you believe in continuous improvement then you should be pushing yourself regularly. If you don’t put yourself out there, you’re not creating the opportunity to get better.

Pain is known and obvious to us in our daily life. It affects our behaviour everyday. Does the same thing occur in software development? Absolutely. Decisions are made on a daily basis around the pain involved in writing software. We try to minimize the pain that our software will cause us and our customers.

Daniel M. Berry has a written an interesting paper entitled The Inevitable Pain of Software Development, Including of Extreme Programming, Caused by Requirements Volatility. In it he describes the pain involved in various processes including waterfall, requirements engineering and extreme programming.

I do agree with him that this pain exists. This is a situation where software development can learn from sports. We need to not fear the pain but train ourselves to get familiar with dealing with it. A great example is to not back down on writing tests or refactoring when it gets hard but to gear down and keep doing it. If the tests are hard maybe it’s time to refactor our code so they are easier to write.

We need to stick to our plans and do our best to deal with the pain, tomorrow will be better if we can push ourselves today.

2 thoughts on “Pain

  1. Great post Brian. Get out of the comfort zone!

    I am a pro cycling fan (road and specifically grand tour events). There are many, many great quotes about how it is basically a pain and suffering fest. Found this one as an example, (from

    “To be a cyclist is to be a student of pain….at cycling’s core lies pain, hard and bitter as the pit inside a juicy peach. It doesn’t matter if you’re sprinting for an Olympic medal, a town sign, a trailhead, or the rest stop with the homemade brownies. If you never confront pain, you’re missing the essence of the sport. Without pain, there’s no adversity. Without adversity, no challenge. Without challenge, no improvement. No improvement, no sense of accomplishment and no deep-down joy. Might as well be playing Tiddly-Winks.”
    Scott Martin

    • Thanks for comment Phil. We need to force our bodies to adapt if we want to improve. No pain, no gain is probably the most famous saying. It’s important to know when the body is hurting, and when the body is just complaining.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s