The Art in Code: Why I Write Software Like I Write Novels
October 22, 2025

The Art in Code: Why I Write Software Like I Write Novels

Back to Blogs

After decades of writing code, I’ve stopped thinking of myself as just a software engineer. What I really do is tell stories—sometimes through words, sometimes through logic. Whether it’s a novel or a new application, the process feels eerily the same: facing a blank page, staring down chaos, and shaping it into something that makes sense.

I’ve spent years switching between two creative worlds—the world of fiction, where imagination drives everything, and the world of software, where structure and precision rule. Most people see them as opposites. One lives in abstraction and metaphor; the other in syntax and systems. But to me, they’re two expressions of the same impulse: creation.


Structure as Story

Every software project begins like a novel does—with an idea that refuses to leave you alone. You start sketching shapes in your mind, trying to understand what this thing wants to be. Eventually, you lay down the scaffolding—a plot outline, an architecture, a framework—something to hold your thoughts while you explore.

In fiction, I build worlds and characters. In software, I build domains and models. Both are acts of translation—turning a messy concept into structure. Every function, every class, every interface has its role in the story. They’re characters in a cast, and their interactions drive the plot. When I refactor code, I’m not just optimizing logic; I’m editing for clarity and flow.

I chase the same feeling in both places: the elegance that emerges when complexity folds into simplicity without losing depth. In prose, that’s a sentence that carries weight with no wasted words. In code, it’s an algorithm that feels inevitable—so clear that you can’t imagine it any other way.


Emotion in Logic

People rarely talk about the emotional side of programming, but it’s real. There’s frustration, doubt, obsession, joy—the same emotional rollercoaster any writer knows. That bug that won’t die? It’s the stubborn chapter that refuses to land. That late-night breakthrough where the architecture finally clicks? It’s the moment a plot twist locks perfectly into place.

When I’m deep in code, time disappears. I’m no longer typing instructions for a machine—I’m composing something. There’s rhythm in indentation, pacing in loops, cadence in naming. A good codebase reads like good prose: deliberate, consistent, and alive with intent.

This isn’t about “poetic programming.” It’s about craftsmanship—the quiet discipline of caring how things fit together, even when no one’s watching. That care shows up in both worlds. Readers may not see the edits that make a story breathe. Users may never know the refactors that make using an app seem effortless. But they feel it.


The Creative Spark

Creation always carries the same signature moment—when something you’ve built finally breathes on its own. It might be a character who starts talking back, a test suite that passes end-to-end, or a new feature that suddenly feels alive in your hands. You look at it and think: Yes. That’s it.

That spark is addictive. It’s what keeps artists, engineers, and modelers alike up at 2 a.m., tinkering long after the rational part of the brain says “enough.” Because the work isn’t just execution; it’s exploration. You’re discovering something that didn’t exist yesterday and may not exist tomorrow unless you make it real.


Craft as a Common Language

Over time I’ve stopped drawing lines between my creative pursuits. Writing novels, crafting models, architecting systems—they’re all the same conversation with reality. Each medium just speaks a different dialect. The writer works in language, the engineer in logic, the modeler in form. But all of us are trying to express understanding through creation.

So when I open my IDE, it doesn’t feel that different from opening a manuscript. I’m still chasing rhythm, coherence, meaning. I’m still trying to make something that feels right—not just works.


Closing Reflection

Software is one of the youngest creative mediums we have, but it’s no less expressive than music or literature. It demands rigor, empathy, and imagination. It invites us to build not just tools, but experiences—systems that think, move, and respond. That’s art.

Whether it’s a line of dialogue or a function signature, I’m always searching for the same thing: resonance. The sense that I’ve built something that doesn’t just work, but belongs. That’s the quiet joy at the heart of creation—in code, in story, in life.