Go face bears

MP 40: Some kinds of life experience help keep programming challenges in perspective.

I was climbing a mountain recently, and keeping an eye out for bears. I live in southeast Alaska, and our forests and mountains have the highest density of brown bears in the world. I’ve done most of my hiking alone, so I’ve seen about 50 bears in my life. Seeing a bear outside of a zoo, with no one else around, is a truly wild experience.

I ended up thinking once again about how much more grounded the rest of my life, including my life as a programmer, is for having spent time with bears. Every close encounter with a bear is a potentially dangerous situation, but also a unique experience that puts you firmly in the present moment.

Journal open with a pen and some writing, on a mountain ridge.
A nice place to write a reflection about life in the mountains.

I’ve seen about 20 bears up close, at distances of 10 to 30 feet. Every bear except one has run away as soon as they became aware I was there. It’s an odd experience to see such a large and powerful animal run away from you as fast as it can.

Foot in running shoe next to fresh bear print on a boardwalk.
Bear prints are much different than bear tracks. Seeing a bear print means a bear was there not long ago at all.

In case you don’t know, the way to stay safe around bears is fairly well established. Bears sit at the top of the food chain, so they’re not used to other creatures standing their ground. When you see a bear, stand tall, look as big as you can, and speak loudly and clearly. Don’t try to be threatening or challenging, just make your presence large. Slowly back away when you have the chance, and most importantly, never run. If you run you look like every other animal that’s scared of bears.

Use bear spray at close range if you have it. If a brown bear makes contact with you, curl up and play dead. When you curl up, wrap your hands around the back of your neck. (If a black bear makes contact, fight back any way you can.)

I’ve mentally rehearsed these steps thousands of times. By now, I know my instincts well. Despite all my rehearsals and experience, I instinctively start to take one running step whenever I see a bear at close range. Then my training kicks in, and I plant myself firmly and follow the appropriate steps. One time I surprised a bear at close range and it didn’t run away; I was on a bike that time, and because I didn’t speed up at all it just let me go by with a loud huff.

Every bear encounter has felt unique; these rules apply generally, but each encounter was with an individual bear, and they have been the wildest and most raw experiences of my life.

Brown bear with two cubs next to a river, facing camera.
These bears were just far enough away to comfortably take a picture. For the closer encounters, there’s no time for taking pictures.

How has this made me a better programmer? When you’ve stood your ground with bears most technical “crises” feel significantly less stressful. Every time a colleague has been stressed about a pressing issue, I’ve asked myself if anyone could die from the problem we’re dealing with. If not, my stress level drops noticeably. There’s some part of me that recognizes “at least I’m not facing a bear right now.”

There are plenty of technical situations that need to be solved with urgency, and can have significant impacts on other people if they’re not resolved in a timely manner. But recognizing when things are not life or death helps me find the calmness and focus needed to sort through difficult issues under pressure.

Footprint path worn into a mountain ridge by bears.
Bears have been climbing these mountains longer than we have. Walking next to these paths sure helps put “pressing” software bugs in perspective.

I don’t recommend everyone go out and find some bears to stand your ground with. There aren’t too many places you can do that, and it’s not for everyone. But I have found for a long time that people who’ve gone out into the physical world and faced real risk in appropriate ways are a little more calm, and a little more focused when facing difficult technical situations. I think this is one of the reasons so many programmers seem to enjoy climbing. It’s a completely off-screen activity that gives you an entirely fresh and grounded perspective when you find yourself facing the next technical crisis.

Don’t actually go face bears, but maybe try to find something that will help you keep perspective when the proverbial s**t hits the fan, if you don’t already have something like that in your life.