From Code to Clarity: How Programming Leveled up my Writing
It may seem counterintuitive, but one of the best ways to level up your writing is with a detour into coding. This is how I did it.
When I was in primary school, I wrote a story about a young boy and his friend who sailed the seven seas to find a pirate’s buried treasure. I also wrote a story about a monkey named George (who, I should add, was not at all curious) who slipped on a banana peel and gained amazing powers.
Dubious moral messages about how putting yourself in harm's way pays off, there’s one thing about me that’s plainly obvious. I’ve been a storyteller since I learned how to string a sentence together. From those humble beginnings through to a rocky middle involving awkward fanfiction, purple prose, and deep character explorations from someone barely old enough to have character of his own, I’ve emerged a more confident, more skilled, and more experienced writer. And while there were a number of factors that helped build me into the competent writer-ly sort that I am today, one recent addition to the so-called toolbelt was surprising in how much of an impact it made.
Like learning a new language
Programming has always intrigued me, but mastery, or even basic competency, remained frustratingly out of reach for much of my life. I’d tried Codecademy, I’d tried OpenX, Coursera, Udemy, all online learning avenues you could possibly think of, but at some point the material just got too advanced for me to follow. It also didn’t help that I never had a clear vision for why I wanted to learn to code. Sure, no one ever needs a reason for learning a new skill apart from a superficial interest, but it does help. What was my goal? What did I want to get out of it?
Then, one night while playing a computer game that I both liked and found maddeningly frustrating(the game is Wartales, in case you're interested), I realised: I wanted to make this game, but better.
Like a light switch, everything changed. I came across Harvard’s free CS50 online course and blitzed through it, returning to the absolute basics and learning how computers think before learning how they communicate. As I learned, I tinkered with Godot, a fantastic beginner-friendly toolkit for game creation, and devoured Youtube tutorials by the hours. I was soon in the thick of it, mucking about with signals and if statements, and finally managed to pull together a working prototype of a crafting system, something I wanted to implement in my future game one day.
I’ve never been diagnosed with ADHD, and I’m completely sure I don’t have it. What I do have, however, is this annoying tendency to hobby-hop. It happened with the ukulele, it happened with learning French, and sure as anything it happened with programming. Prototype finished, I laid my tools down and moved on to writing a novel.
Similarities, not differences
In my defence, I’d already started this novel ages ago, and I really wanted to finish it. Sigh. Yes, it’s true, I went back to my on again, off again fling, The Unfinished Manuscript. The story I’d been toiling on for years. The one that’s never quite finished, the one that I keep needing to tweak and tinker.
You know. That one.
This time, though, felt different. This time, I approached my story from a new perspective. I took it apart, chunk by chunk, paragraph by paragraph, and laid bare its base components. I then, with copious amounts of help from The Snowflake Method of Designing Your Novel, put it all back together, step by step.
I started with a single sentence, summarizing my story.
Then I expanded that sentence to a paragraph.
Then I expanded each sentence of that paragraph to its own sentence.

Anyone familiar with programming would likely recognise this as a very basic, rudimentary way of building a program. You start with some pseudocode, which is just very condensed but readable text that explains the steps your program needs to take to complete its task. Then you expand it out, moving from abstract descriptions to step-by-step detail. Then, once it’s mapped out, you start writing it all in code.
Not everyone programs like this. And not everyone builds a story like this, either.
But it’s hard to deny the effectiveness of this writing approach. In weeks I’d moved from something ephemeral, nebulous, and abstract, to something real. With real characters, believable motives, and inciting incidents that result in these characters changing in meaningful ways.
I had a story. Well, the bones of it at least. But it was something, and it was utterly delightful to see it take shape.
What I learned
Programming is hard. Writing is also hard. Lots of things are - in fact, some of the best things are. But creativity comes in many, many forms, and spans the entirety of the human condition. If there’s one thing I hope you take from this, it’s that a creative endeavour - any creative endeavour - is always worthwhile, and creativity is the most transferable skill you could learn. And yes, yes it is a skill, one that needs practicing.
Which is what I’m going to do right now. Until next time, thanks for reading.
Resources that might interest you:
Harvard CS50 - Introduction to Computer Science
A free educational course that introduces you to the basics of computer science, starting from binary, or how computers communicate with 1s and 0s, making a pitstop in the land of C and Python, then ending with HTML and Javascript.
Godot Engine - Free open source 2D and 3D game engine
A free toolbox anyone can use to make video games. Very beginner-friendly, it uses its own Python-based language called GDscript to enable someone to build the game of their dreams.
The ultimate introduction to Godot 4 - YouTube
Part 1 of a 2-part, 14-hour long free (that's right, FREE) YouTube tutorial that covers absolutely everything you need to make a top-down shooter game in Godot 4. Highly recommended.
How to write a novel using the Snowflake Method - Advanced Fiction Writing
The blog post that reignited my passion in this particular writing project. A detailed, step by step framework for writing a novel that progressively expands upon the previous step, enabling you to tackle larger and larger components of your story by relying on your output from the previous step.
Wartales - Steam
The video game that kickstarted my passion for learning how to code. You play as a mercenary band roaming an open world, earning coin by collecting bounties, plundering ruins, and completing missions.