Coding a feature can feel like building an optical illusion—what looks obvious from one angle reveals layers of complexity from another. In this piece, I explore how metaphor helps me bridge that gap, communicate clearly with stakeholders, and stay grounded through technical chaos.
Coding a feature is like being commissioned to create a piece of anamorphic art.
WTF is anamorphic art, Grant?! Ya know—that street art that looks amazing, nuts, and confounding from one very specific perspective. From another angle? It’s just a chaotic mess.
Those mind-bending illusions—chalk drawings on sidewalks or painted shapes across buildings—that only make sense from one exact vantage point. From every other angle, they look broken, off, impossible.
But stand in the right spot… and everything clicks into place.
That’s what it feels like to translate stakeholder needs into technical action.
From one angle, a request sounds simple. From another, it’s tangled in architecture, edge cases, and legacy decisions.
Both perspectives are true. But the real work—the art—is finding the angle where we both see the same thing clearly.
To do that, I use metaphor. It’s like a mini-game I’m always playing: collecting, adjusting, and applying metaphors to map what’s in my head to what others need to understand.
They give me checkpoints—a way to return to clarity in the middle of context switching. But more than that, they’re tools for shared understanding.
A way to communicate complexity without drowning people in jargon—or flattening the nuance.
The key? Building rapport.
When I know what my teammates care about—what they geek out over, how they think—we can reach for metaphors that land.
When we hit a choke point, we stay aligned through the fog by using language that resonates. And after we push through, we check in and make sure we’re still on the same path.
One of the most underrated parts of team success?
Being unselfconscious in communication. Say the weird idea. Name the vague feeling. Be willing to lead with: “This might sound strange, but…”
That’s how we get on the same page. That’s how we build trust.
Self-deprecation is one of my favorite tools—it levels the playing field.
I don’t know everything. I never will.
But I’ll stay curious, keep learning, and stay humble while doing it.
‍