We grew up together.
Even before pencil and paper, before laptops, and definitely before homework, we were already spinning tales to my younger sister about her Disney Stitch plush toy and the imaginary adventures he had while we were asleep.
I remember the time Stitch died from an alien attack we just made up. He died a hero, protecting us two little kids from the aliens during an escape. My sister and I both cried – a true sorrow generated from a fictional plot. That moment remains vivid in my mind.
That's when you conquered me.
We went on to write fantasy novels in middle school, casting my best friends as characters in our stories. That was our best time together. Then, in high school, unfortunately, I – we won a novel competition.
We won $60 for our 30,000-word novel.
At that moment, someone put a price tag on you, and everything changed. I realized that you weren't a productive business partner. Probably never going to be one.
You were a leisure.
And I… was too smart to not do Computer Science.
Our breakup was silent.
I didn’t even say goodbye.
I just stopped seeing you one day.
But admittedly, programming has been hella fun. So, I even stopped thinking about you.
15 years flew by. Hey, you’d be proud – I married one of the characters from our novels: Alice, the middle school classmate who we included in our story with a different name, just so she wouldn’t notice. Programming and this software engineering career have given us a stable and happy life.
I miss you, Writing, but I don’t regret leaving you.
Then one day, while debugging a particularly frustrating piece of code, I had a strange realization. An epiphany, really.
As I traced through the function calls, followed the data transformations, and pieced together the story of why our production system was failing, I felt that familiar excitement you used to give me when plotting a story.
5 years into my software engineering career, I finally understood this: It’s you.
Programming is you. Both are about creating something from nothing. Both challenge me to build worlds with internally consistent rules. Both demand revision after revision until the flow is just right.
When I refactor code, I'm really just editing.
When I write project specs, I'm world-building.
When I name variables, I'm developing characters.
And the same evil cursor blinks at me whenever I start a new file in my VS Code workspace – just like it did when we would begin a new story in Microsoft Word.
I’m so happy, realizing that you never actually left me.
You simply augmented yourself, and changed your shape to fit what I needed.
Every day now, we write two different types of stories: one in code that machines can understand, and one in words that humans can resonate. One pays the bills, and the other feeds the soul. But they're not as different as I once thought.
You’re the best business partner, actually.
To the 15-year-old Kevin who wanted to be a writer: Don’t be sad or guilty about the path you took. We never really strayed from the path. We just learned that stories can be told in many languages, some of which happen to run on computers.
And to writing: Thank you.
The cursor is still blinking on my Google Doc, right next to my VS Code window. This time, I'm ready to make both of them move. No more guilt from having an affair with programming.
I think I’m fine now, finally.
Great essay, Kevin. I found it through a meandering subtack notes this morning. Great minimalist style ala WOP. I was just listening to David's How I Write Podcast and the episode with Culture Critic is all about Minimalism and Maximalism in contemporary writing. I think you would like it.
Also, I am writing an essay about how similar writing is to my other creative art, mosaic. Who would have thought that a random essay discovered by accident would make me connect code and mosaic!
Also, I see why this is your favorite piece. It would be mine too if I had written it. : )