Thorsten Ball on Technical Blogging

3 months ago 3

Following up on Writing for Developers: Blogs That Get Read and writethat.blog, we’re sharing the perspectives of expert tech bloggers: why they write, how they tackle writing challenges, and their lessons learned.

This month, we interviewed Thorsten Ball, developer and author of Writing An Interpreter In Go and Writing A Compiler In Go. He’s been blogging explorations and reflections on the craft of programming since 2012. His writing stems from his love of what he calls "recreational programming," where he digs deep into various topics to get a better understanding of what we really do when we program.

I published my first blog post on thorstenball.com in 2012. It's this one about implementing autocompletion using Redis. I don't know exactly why I started the blog, but, looking back, I think the main motivation was to share something I was proud of. It was a cool bit of code, it took me a bit to figure out, I learned a lot in the process, and I wanted to share the excitement.

At that time, I was also a junior software developer, having recently finished my first internship, trying to switch from studying philosophy into being an engineer and, I think, there was also a bit of "my blog can be a CV" aspect to it.

Back then, a friend had told me: you don't need a degree to get a job as a software engineer, all you need to do is to show that you can do the job, because, trust me, he said, there's a lot of people who have degrees but can't do the job.

I figured that having a blog with which I can share what I learned, what I did, well, that's a way to show that I can do the job. Now, I don't think a lot of recruiters have read my blog, but I still believe there's something to it: you're sharing with the world what you do, what you learned, how you think — that's a good thing in and of itself, and even if someone only takes a brief look at your blog before they interview you, I think that can help.

But, I also have to admit that I've been writing on the internet in one form or another, since the early 2000s, when I was a teenager. I had personal websites and blogs since I was 14 years old. I shared tutorials on web forums. There's just something in me that makes me want to share stuff on the internet.

Nowadays I mostly write my newsletter, Register Spill, which I see as a different form of blogging, and for that newsletter, I have a few reasons:

  • I enjoy the writing. Well, okay, I enjoy having written. But, in general: I'm proud of writing something that's good.

  • I've enjoyed tweeting a lot, but in the past few years the social media landscape has become so fractured that I decided to create a place of my own, a place where people can subscribe and follow me, where I can potentially take their emails and send them newsletters even if the platform decides to shut down.

  • Writing is thinking. I like sitting down and ordering my thinking in order to write something. The feelings of "I want to write something" and "I want to really think through this topic and share it" are similar for me.

The biggest surprise is probably that, over the years, readers have sent me very personal, very thoughtful emails about how a certain bit of writing has influenced and, believe it or not, helped them.

I mean, sure, yes, when you write and put something on the Internet, you hope that it resonates with someone and chances are — the internet is big — that it will: someone somewhere might think like you on this topic. But, still, it's a surprise when you receive an email in which someone tells you how you influenced them and possibly changed the trajectory of their career, because they rethought their work after reading something you put out.

I'm proud of quite a few more, but these come to mind.

This recent post was really hard for me to write: There's Beauty in AI

I struggled with it because AI was and still is such a divisive topic that I wanted to do right by. I wanted to share how I changed my views, how I don't hold extreme views about it, I wanted to add nuance and a little whisper to all the screaming, I also wanted to share a view of looking at it that creates fascination and delight, even if programming is undergoing changes thanks to AI and some parts of programming that we love might get lost with it. Maybe my hopes and expectations for a single post were too high?

What happened was that the words just wouldn't flow. So I kept tweaking drafts of it, over weeks and weeks, continuously finding myself in real-life conversations in which I wanted to say the things I want to put in the blog post... getting very impatient with myself. "Uggh, I wish I had a URL I can share here"

After many weeks of drafting and rewriting and saying "I really gotta write this one post" to too many people, I woke up at 5am in San Francisco one day, jetlagged, and essentially took all the drafts I had, deleted them, then rewrote the thing from scratch and hit "Publish".

What has helped me the most:

  • Setting time limits. I started Register Spill with the idea of using 60min every Sunday to write. Whatever gets written in those 60min gets published. It helped me get over a lot of "but..." in my head.

  • Fixed schedule. I never wrote on a fixed schedule and started Register Spill partly in order to see whether I could. Now I know three things. (1) I can, (2) it can be stressful, (3) it helps to get stuff out.

  • Keeping drafts on my phone helps. I use Apple Notes and whenever I have an idea for a post, I jot it down, ignoring all spelling, punctuation, and so on. Then, over the course of a day, multiple days, weeks, I keep tweaking that note. On my phone, or on my computer. (I tweaked this very Q&A on my phone for multiple days before now sitting down, in front of my computer, to finish it).

Anything goes. You can make your blog your own thing. Every post has a single paragraph? Go for it. Every post is super long and you only publish every two months? Sweet, do it.

Don't worry about "someone else already wrote about it". The Internet's a big place and not every bit of writing resonates with everyone. Think of it like this: how many different explanations on the same topic did you have to read until it "clicked"? Depending on the topic, it can be a lot. Because every teacher, every writer — they all have different lives, different point of views, different ways of thinking about things, different metaphors they use, different phrases. And some of it resonates with some people but not with others. You can be another unique combination of experience and point of view and skill and put something out there that resonates with someone.

Send it. Don't be a perfectionist.

Write about things you know. Don't pretend to be someone you're not. It's bad writing and people can sniff it out.

Cool it with the memes and AI-generated images.

I really like Craig Mod's writing, in the different newsletters he has.

Michael Stapelberg has a unique, classic, lovely blog that I enjoy.

matklad is always good.

Simon Willison, of course.

The wonderful Derek Sivers.

***

Stay tuned for more tech blogger spotlights mixed in with the monthly writethat.blog updates.

Read Entire Article