The Way Forward is Backward

Eric Cecchi
Eric Cecchi
January 15, 20244 min read

In software engineering, there’s a spectrum we all find ourselves on: pragmatism vs. idealism. Each of us has a natural tendency toward one or the other, and that orientation might shift over the course of our career. Even in a single day, we might ping-pong along this spectrum based on the challenges we’re facing. And let’s be real—knowing when to lean pragmatic or idealistic is often viewed as a sign of an experienced engineer. Just to be clear, though, not every decision is a binary choice between the two. Often, the best way forward is to grab a little of both, like putting training wheels on a rocket—practical enough to get us moving, but still aimed at breaking gravity.

The North Star

Vision is critical to successful product development. And you can’t have a vision without visuals. A vision is literally something you see, after all.

A good vision isn’t fuzzy around the edges or mysterious; it’s got 20/20 clarity about what could be. Sure, it starts in the realm of imagination, but it doesn’t leave anything to chance. It lays things out as clear as day: “This is where we’re headed.” It’s our North Star.

Now, envisioning the future product isn’t just a job for the product managers and designers. The product isn’t built out of pitch decks, requirements documents, or a Figma board—it’s built with code. A clear technical vision is just as crucial as a gorgeous mockup that gets everyone hyped for the next big feature.

And what’s a technical vision without visuals? A great diagram is worth a thousand lines of code. But a truly effective vision doesn’t stop there. It includes technical write-ups, pros and cons tables for different approaches, and yes, even code snippets to hint at what the final solution might look like—enough to help us all see the same picture. Both the product and technical visions give us a North Star. They set the target, but they don’t provide the map. There are many paths that can lead us north, but there’s only one Golden Path.

The Golden Path

If the North Star is the idyllic vision, then the Golden Path is the dream engineering solution. It’s the map of the perfect route: the ideal patterns, the perfect tech stack, and the exact way our systems—and our teams—should communicate. It’s our answer to, “If we could start fresh, how would we build this today?” It’s unburdened by tech debt, by weird existing patterns, or by my regrettable suggestion that we build the frontend with Angular.js.

Why do this? Isn’t laying out an idealistic vision and solution just setting us up for the disappointment that it will never be realized?

Maybe, especially if you are earlier in your career and not yet tarnished by your every attempt at a perfect solution failing to last more than a sprint before being torn to pieces by the unforgiving fangs of the free market. But the point of the North Star and the Golden Path isn’t to set us up for disappointment, but to point us in the right direction. It’s to give us direction. It’s about knowing which way to go, even if it’s a long and winding journey to get there.

The Right Direction

Software development is iterations all the way down. There’s no magic wand to get us from zero to perfect—if you wait around hoping that the perfect solution will just appear, the pragmatic engineers on your team will already be halfway there, squinting at something that kind of looks like the North Star if you tilt your head just right.

Iteration should always move us forward in the direction of the North Star and pull us toward the Golden Path. However, where we’re starting is usually too far from ideal to be confident in the next step we take. Odds are we’ll take a bunch of stutter steps only vaguely in the direction we want to go. So, instead of stumbling forward, it’s often easier to walk backward—from the ideal, back to where we are now—to find our first step.

The North Star—the vision—and the Golden Path—the perfect solution—give us the foundation we need to find the Right Direction—the pragmatic next steps grounded in the reality of where we stand and striding toward the potential of where we want to be.