Affirmations for bloggers

Monday, June 10, 2024

Every software engineer can have a great blog, if they want to. Many of us start blogs, but most of those blogs lie abandoned or sporadically updated. It's okay if you start blogging and figure out it's not really for you. But there are also some common issues that block people who want to write a blog for fun or to improve as a writer1.

I ran into a lot of blockers as I tried to write my blog from 2015 through 2022. In the fall of 2022, I started my batch at the Recurse Center. I committed myself to a blog post a week, which forced me to confront and work through my barriers to blog writing and publishing. You can push through them, too. I still run into them, but I've developed ways to push through them—I even ran into them writing this very post. Here's what I've seen and what I've learned.

I can't wait to read your next post.

The affirmations

Here are the things I've seen and learned. Each of these will be expanded in its own section.

You have things to write about.

This is the one I hear the most, and what plagued me for a long time. There's this feeling that what you do isn't interesting and there's nothing to write about. The thing is, it's really hard to see what you're doing that's interesting when you are in your own head. Others can see that your writing is interesting more easily than you can!

Here are a few prompts that you can write from. Each of these makes for a good post and can be a good way to get moving.

  • What's something you learned recently? When you had to learn something, someone else will, too. Go ahead and synthesize that information into one post so that you and others can refer to it in the future.
  • What's a thing you've done? For any given thing you've worked on or achieved, you can write about why you were doing it, how you did it, and what you learned.
  • Did you have any conversations/debates recently? Some of my favorite and most successful posts have come out of conversations/debates I've had about software engineering topics. I write them both to share my perspective and to figure out what my perspective is. Also because having a deep conversation about something means it's interesting to more than one person, and a good indication it's interesting to many more!
  • What did you do this week? A post summarizing some progress on projects from the week (or other unit of time) is a nice way to get into the rhythm of posting. Along the way, think about if there is any part of it that you could dig into and expand into a full post on its own.
  • What do you wonder about? Take a question you've wanted an answer to and try to figure it out, then write up what you discovered!

Your perspective matters

Another thing I hear sometimes is that people don't think it matters what they say. Maybe you're "just" a line engineer at a small company. Maybe you're "just" an entry level engineer. Your perspective matters, no matter who you are and where you are right now.

You don't have to be a well-known person to have an important perspective. Each well-known person started as an unknown. But that's not the big point. The big point is that each of us has an important perspective. Each of us has unique experiences in life and has something to contribute.

You are good enough

There is no skill bar for entry to blogging. And yet, often, I hear people (including myself) saying that they can't write about a topic yet because they aren't an expert in it yet, they just got started. That is, respectfully, total nonsense.

You don't have to be an expert to write about something. You likely will write about it in a more accessible way because you're not an expert! There is value in both. Experts can add a lot of depth, but typically don't remember what it felt like to be a beginner. Beginners may not have the depth yet, but they have just gone through learning something fresh, so they know what would have helped them understand it better.

No matter what your skill level on the topic at hand, and at writing, you are allowed to write about it.

Posts don't have to be novel

There's this pervasive belief or doubt that blog posts have to be unique, and that it's not worth as much—or anything—if other people have covered it before. I'm not sure where this comes from, but I hear it a lot. And I ran into it while writing this post, in myself, too2.

The thing is, it's perfectly okay to post again about things other people have covered. It's your blog, you write about whatever you want to write about. Writing about something that's well covered can still help you improve your writing, expose more people to some ideas and information, and build up your reputation for expertise in an area.

Also, it will be unique unless you totally plagiarize the content3. Putting it into your own words will change the explanation in subtle or significant ways. One of the biggest lessons from my tutoring job is that there are nearly infinite ways to explain concepts and even subtle changes can be the difference between "huh?" and that lightbulb moment. When you write your own take, you might cause the lightbulb moment for someone else.

People will read it

Having no audience held me back for a long time. It felt very empty to write something that I thought no one else would read. Writing for me is about both communication and thinking, and a blog in particular is written to be read. What's the point, if no one will read it?

This is a solvable problem. You probably won't get thousands of readers overnight, but as long as you get a few, it will grow over time.

In the early days of my blog, I got a few readers by sending my posts to friends and submitting them to link aggregators. I stopped doing the latter because it was just self-promotion, but it's okay as long as you balance it with other contributions to that space. When I joined RC, I added my RSS feed to the shared RSS reader. This immediately grew my audience from about 3 readers per post to... 10!

Once you're about at that point, 10 readers per post, you will start to gain more over time. Sometimes your posts will get shared, and then some of those new readers will subscribe by RSS or email (you should have those options), and before you know it you have thousands of readers per post4.

To get your initial readers, you can do something like what I did and put it somewhere a few people will see it. This may be appropriate in a work Slack instance (mine is in #dev-random, and folks saw my RC posts while I was on my sabbatical!), in a software engineering Discord, or other communities that you're in within the bounds of their guidelines. Eventually, someone will read a post and share it elsewhere. Then that happens again, and again, and it all compounds.

Mistakes are okay!

One thing I was very afraid of when I started this blog was publishing something that was wrong. I stuck to things that were more opinion-oriented so that I could hide behind that if someone disagreed, and I stayed away from more concrete technical posts.

But it's okay to get things wrong. Besides, everything about software engineering changes, and your post could become wrong eventually. What matters isn't getting things right or wrong, but how you respond when you find out. As long as you are gracious with finding out and then go correct any misinformation, then you're all good. Every mistake that you correct means you learned something, which is wonderful.

It's also okay to make spelling and grammatical errors. I have a friend (hi, Mary!) who consistently finds spelling mistakes in my posts, to the point where I joke that I leave them there to find out when she reads the post from when she tells me. In a recent post, I had a typo in a heading which no one told me about until 9 days after it was published and over 17k people had read it.

And you know what? It's fine, because clearly the post still resonated with people and made sense. It really doesn't matter. (But still, please tell me if you find one so I can go fix it.)

It's okay to ask for things.

Early on, another thing that held me back was not wanting to ask people to do things. I wanted people to share my posts, but it didn't happen very often. At some point, I did an experiment and put a footer that invites people to share the post if they liked it. Almost immediately, people started doing that.

Someone pointed out to me that sharing your content and asking people to share it isn't something self-serving, entirely. It's good content and it's helping other people find it if it gets shared.

So if there are things you want from your readers, like sharing or subscribing or feedback? Just ask them for it, and you might be pleasantly surprised by what you get5.

Another thing here is that other people want to help. If you want some feedback on a draft of a blog post or you want advice on tackling something, you can reach out to people and just ask! Worst case, they say no, but people do want to help and will if they can. My email is below, if you ever want to take me up on this.

You can get started quickly.

A common trap I see people fall into is working on their blogging software, instead of working on their blog. I started to go into this hole myself once, but pulled out of it for now. But I've seen a lot of people get stuck on setting up a really nice and fancy system, often turning into writing their own fully-featured static site generator.

If you do that and you want to do that, that's great, go for it. But if your main goal is to write, then you can get started faster than that by using something off the shelf. I use Zola and I hear good things about Hugo, two solid options for static sites. There are so many out there, so you can pick one and just go. You can migrate eventually if you do want to build your own later!

You can write on a schedule!

And you should write on a schedule, I think. When I was only writing when inspiration struck, you know what didn't happen? Inspiration seemed to always just be out of reach, and excuses for not writing my posts piled up.

If you establish a schedule, you will reap a lot of benefits. You'll practice a lot, you'll improve, and you'll find your creativity and idea output go up.

I have so much more to say about this specifically... and thankfully, past me did as well, and she already wrote about this in "Scheduling visits from the muse". That post talks a lot more about my personal experience with setting a fixed schedule.

The main thing I'd recommend here is to pick a cadence you think is sustainable and then commit to it for a certain time period. I started out committed to one post a week during my 12 week batch at RC. When that was done, I committed to one post every two weeks for 6 months after. I ended up continuing weekly posts, because I found the momentum, but I was less stressed since I didn't have to. This should be happy, not stressful, so focus on finding what feels comfortable.

That's a lot! If you've gotten here, then I think you're probably pretty interested in blogging. Thanks for reading this far, and please do let me know when your next post is up, whether you're new to it or an old hand.

You can do it :)

Thank you to Emily Vomacka and Erika Rowland for feedback on a draft of this post.


Writing is one of the most important skills for a software engineer to hone. It's less directly obvious than, say, programming, but being able to communicate your ideas clearly in written form is necessary for being a great engineer. I wouldn't be a principal engineer without my strong writing, and I've run into many people whose careers are actively held back by poor writing. If you don't enjoy writing right now: don't fret, you can learn to enjoy it, or at least tolerate it. As with many things, getting better at it helps improve enjoyment of it.


Once I realized that these barriers were stopping me from writing this post, I had to laugh. And realizing the barriers helped get this done, along with using the affirmations themselves to remind me of all this truth here!


I recommend not using generative AI for your writing for a lot of reasons, and this is high among them. If you write a blog post using an LLM, you're likely laundering other people's work, and I do deduct uniqueness points here. -10 points.


For me, it took about 9 months of weekly posts to go from my initial set of readers to consistently over 10k page views a month, and then about another year to go from 10k to 20k page views a month. I'm talking about floors, because along the way there were some posts that did wildly well and made those months look really good, but I care more about what happens when I don't make a viral post.


One pleasant surprise for me of this blog has been receiving nice emails from readers. I do my best to respond to every single one (I've been slow on some lately, but I will get to it eventually), and people are so nice in emails. It's so warm and fuzzy. So I try to reach out to people whose content I enjoy, too, to say as much.

If this post was enjoyable or useful for you, please share it! If you have comments, questions, or feedback, you can email my personal email. To get new posts and support my work, subscribe to the newsletter. There is also an RSS feed.

Want to become a better programmer? Join the Recurse Center!
Want to hire great programmers? Hire via Recurse Center!