Scenic view of the Spanish hills overlooking the Bay of Biscay with a wooden fence and green vegetation in the foreground.
View of the Bay of Biscay on El Camino del Notre in Cantabria, Spain

From Code to Camino: A Software Engineer’s 530-Mile Journey

Doug Donohoe
ENGAGE

--

I’ve just retired and I’m on the trip of a lifetime, so why am I still spending brain cycles on software engineering? Old habits die hard, I suppose, but there are some striking similarities between my former profession and this seven-week hike.

Winding road through farm fields, with green hills in the distance.
Day 15, En route to Comillas from Santillana del Mar

El Camino de Santiago

My wife, Cindy, and I recently completed a 37-day, 530-mile walk across northern Spain known as El Camino del Norte, one of many routes to Santiago de Compostela. In English, this translates to “The Way of St. James,” commonly known as “The Way.”

Pilgrims have walked these caminos for over a thousand years for a multitude of reasons. The original purpose was to pay homage to the apostle St. James, who, according to Christian tradition, is buried at the cathedral in Santiago de Compostela. For us, it was a journey of exploration marking our recent retirement from the traditional working world.

We’d start early each morning, walking five to seven hours, averaging 14 miles a day. The path crosses diverse terrains: dirt, gravel, mud, rock, asphalt, concrete, and sandy beach trails through cities, towns, small villages, farms, and forests.

There is amazing coastal scenery of the Bay of Biscay, expansive views of rolling Spanish hills, and a plethora of cows, donkeys, horses, roosters, chickens, cats, and dogs along the way. Some days have long ascents followed by steep descents. Other days, the road is flat and winds through acres of farmland. Occasionally, we walk on narrow shoulders of regional routes, hopping from one side to the other to avoid blind curves.

All this walking for long periods allows the mind to wander, scrutinize the past, and wonder about the future. Ironically, even though I’m theoretically retired, one of the things I’ve been thinking about is the similarity between my career as a software engineer (and erstwhile software leader) and what it takes to successfully complete a walk of this magnitude. My mind kept ruminating on three themes.

The author sitting on a rock, with one boot off, next to a gravel road besides the sea.
Fixing a hot spot

Points of Pain

Among my guiding principles, my favorite is the philosophy of “Points of Pain.” In software engineering, numerous irritations and frustrations arise in any company. The build is too slow, a library needs to be refactored, the daily agile ceremonies are excruciating, and feature requirements are too vague. The list goes on (feel free to add your point of pain).

The “Points of Pain” philosophy dictates that you should not only address these issues promptly but also do the work yourself. Yes, you! Complaining is just lip service. A great engineer rolls up their sleeves and eradicates the pain themselves. You don’t need to ask for permission — just do it! Otherwise, issues fester, exacerbate technical debt, and gradually sap the team’s energy and morale.

On the Way, there is a parallel philosophy that’s more literal. When you feel a hot spot on your big toe, heel, or any part of your foot, you need to address it right away. This might mean stopping, taking off your shoes and socks, and applying moleskin. Waiting too long to fix the problem can lead to debilitating blisters. We’ve heard of pilgrims abandoning their journey due to these issues.

So, whether you’re building the next great software product or walking 16 miles to Bilbao, remember to tackle your points of pain as soon as possible.

The author, with a green backpack on, entering a long (former) train tunnel that has graffiti on the walls.
Entering Túnel de Vía Verde with all of my fears

You Aren’t Going To Need It (YAGNI)

Many pilgrims carry all their belongings from hostel to hostel (in Spanish, “albergue”). For some, this includes sleeping bags, extra shoes, or even tents. We chose an easier route, using Correos (the Spanish postal service), to ship a small carry-on bag from hotel to hotel, containing spare clothes, supplies, and other essentials like the MacBook Air I’m using to write this post. Still, we had a backpack to carry everything we might need during the day.

There’s a saying that resonates with me: “Your backpack is as heavy as your fears.” So, what was in my backpack each day? Snacks, water, rain jacket, rain pants, spare socks, sunglasses, Swiss army knife, money, passports — all pretty reasonable. Then there was duct tape (in case something rips), spare shoelaces (in case one breaks), extra contacts (in case one falls out), and a guidebook (in case the mobile phone dies). Still arguably reasonable. But then there were Velcro strips (in case I need to wrap a cord?), a carrot peeler (hey Spain, have you heard of peeled baby carrots?), toilet paper and a disposal Ziploc bag (you never know), and an Ace bandage (in case a knee or ankle gives out). Ok, maybe a bit paranoid.

The software engineer’s version of this over-packing is YAGNI, or “you aren’t going to need it.” It’s the advice that when designing software, you should be cautious about adding extra features or architectural components that aren’t immediately necessary. This can generate unnecessary technical debt. Knowing when to forgo a feature becomes easier with experience, but a good rule of thumb is to skip it if it’s not needed right now. Applying this same principle when packing your bag will lighten your load and make the miles easier.

The author with two hiking sticks, pausing for a rest on steep muddy trail.
So. Much. Mud.

Experience vs. Knowledge

There’s a stark difference between knowing a day’s journey on the Camino de Santiago will be 14 miles with 2,600 feet of elevation gain and actually experiencing the hike. A map might show you where you’ll be going and hint at the terrain, but it can’t convey the true essence of the journey.

On the trail, you may find yourself navigating a narrow, overgrown path, dodging prickly vines and stepping cautiously among countless baseball-sized rocks. Or you might encounter sticky mud, forcing you to hop from one side of the trail to the other in search of the least treacherous foothold. Imagine walking along a high ocean cliff, a warm sea breeze brushing your face, passing small herds of cows and sheep, or wandering through a quaint village, curious about the elevated grain storage huts known as hórreos. These are details a map or description can never fully capture.

Even photographs fall short in conveying the sensory experience of a good hike. They can’t capture the feel of the breeze, the sun peeking through clouds, the ache in your feet, the pounding of your heart on a steep incline, the thirst quenched by a cold sip of water, or the sounds of cowbells and rooster crows.

This disparity between knowledge and experience extends beyond hiking. In software development (or virtually any job), you might learn the basics in school, from blog posts, or (these days) even from ChatGPT. However, this knowledge only takes you so far. There are always gaps, nuances, and contexts that only experience can fill. This is why senior engineers are invaluable — they’ve developed the calluses from applying knowledge in real-world scenarios.

Whether embarking on a long hike or tackling a lengthy software project, research and gather facts to guide your way. But be prepared for the realities of the actual experience. Learn to enjoy it as it unfolds and adapt as you go.

Colorful graffiti of two hands pointing at the saying “Todos Los Caminos Son El Camino.”
Todos Los Caminos Son El Camino

All Roads are the Way

Walking El Camino del Norte was an absolutely amazing experience, and this post captures just a small fraction of it. Perhaps one of these insights will help you in some small way.

Midway through our walk, we saw graffiti art that read “todos los caminos son el camino,” meaning “all roads are the way.”

I interpret this to mean there are many paths to your destination — some easy, some hard — but eventually, you’ll get there. All you need to do is take the first step and start walking.

Just remember to mind your hot spots, keep your pack light, and savor the experience.

--

--

Doug Donohoe
ENGAGE

Seasoned, top-notch technology leader with deep hands-on skills. Polyglot programmer (Go, Scala, Java, Python, …)