Launch the Rocket
Or, how I learned to stop worrying and launch the rocket.
I’ve played a lot of Factorio. I never really understood “spaghetti” bases. People would post affectionately about how messy their bases were on Reddit. Their screenshots showed randomly tangled belts. I didn’t understand these factories because my factories never looked like that. I always tried to arrange my belts thoughtfully. Even spacing in the main bus. Consistent right angles. Unsurprisingly, I’d never launched the rocket before.
Launching the rocket in Factorio requires solving the game’s logistical challenges. They’re not particularly complex, the underlying gameplay loop is relatively simple. Extract raw materials from the planet, transport them to a location to be processed, refine the product an arbitrary number of times until they coalesce into a rocket.
The primary difficulty, I find, is getting over whatever anxiety you brought to the table. If you struggle with numbers, and are vaguely aware that poorly optimised belts will choke your factory, then the fear of calculating inputs can make tackling the next layer feel like staring into the abyss.
Or, like me, you can’t stomach the thought of randomly connecting two automators with a belt hack-job. What if I’m shooting myself in the foot by putting that belt there? I don’t want to spend the hours relaying everything. If I just think harder about it now, I’m sure I can find an elegant solution. From first principles.
Sounds familiar. The parallels between programming and Factorio are well documented. Most programmers that I’ve met have also played it. It’s gamified constructive problem solving. Launching the rocket means you’ve solved the problem.
So if I can’t launch the rocket, what does that say about me?
I get a little bit further each time I start a new game. Normally I reach a point where the manual labour of rebuilding my factory is too daunting to continue and I start again, after a short break. Or I get overwhelmed by biters, but that isn’t relevant to our story. Sometimes I restart because I just can’t visualise the solution. I’m too ambitious. I’d need thousands and thousands of belts. I get impatient and start deconstructing portions now so that the layout is cleaner, easier to reason about.
This is a pattern of avoiding the problem. Not all problems, just the less interesting ones. Like launching the rocket. When I decide the tear down and shift my green circuit module five spaces to the left, it isn’t pursuit of solving the main object of the game. I’m doing it because it’s satisfying to have everything in order. And that order changes! Then, I see some new layout optimisation or trick on Reddit and that becomes the goal.
When you’re writing software, whether for yourself or for a business, you’re in a similar situation. What’s your goal? Producing value for the business? Getting your solo project launched? Feeling proud about your code? Early in my career I had a little too much freedom, so I could spend hours and hours rewriting big chunks of my code to make it more orderly, more elegant. I’d introduce bugs then spend my evenings and weekends fixing them before anyone noticed. I thought I was obsessed with quality, but actually I was just chasing the creator’s high. I never really stopped to wonder what I was hired for.
As a writer, I’ve always struggled writing. That is, actual words on the page. But I have no problem writing lists. Big, sprawling schematics. Worldbuilding. Note-taking. Matter-of-fact descriptions of things that “I’ll synthesise into something impressive later”. Then, when the actual writing started: agonising over word choice. Sentences so overladen they almost split in two. I stopped writing entirely when I could barely finish a sentence.
In life, in programming, in writing, and in Factorio, losing sight of your goals is usually why you don’t achieve them.
Realising this was a big deal for me. I wasn’t launching the rocket because it was never really my goal in the first place. I wanted to have fun arranging belts and memorising automator layouts, not launch the rocket. As a programmer, I wanted to write clean, elegant, artistic code, not build a mature and tested product to actually be used by anyone. I wanted to explore my made up worlds until I’d exhausted my creativity, not write stories. I wanted the easy stuff, not the hard stuff.
Actually, I did want the hard stuff. But I was avoiding it.
So one day I decided to start a new game of Factorio. I laid down some spaghetti, and I launched that rocket.

Becoming aware of this behaviour has helped me tremendously. I still give in, especially when tired, but in the long term I’m able to spend more time pursuing goals that have eluded me for literal decades. I’m vaguely aware of the psychology of procrastination and avoidance now. Claude has even given me a helpful reading list, after reviewing this blog post.