Should I Have a Blog?
Yes.
Or did you expect a different answer? You came to a blog to read an article on whether you should have a blog. Did you really think, even for a split second, the answer would be, "No, you shouldn't. And thinking about it, I'm closing my blog too. Sayōnara!"
Blogs are great. They have many benefits. But they are time-consuming if you want to write regularly. And there are other ways of producing great content.
Some time ago, there was a discussion about blogging on Hacker News, and most comments suggested that having a blog is a good idea. Ok, I know, those were not very objective arguments. The top comments came from long-time bloggers. They shared many benefits of having a blog, like getting better at writing, landing new jobs or meeting like-minded people. And they could describe all those benefits with beautiful, well-versed words because they got better at writing thanks to blogging. I wasn't expecting a top comment to say, "No, I don't have a blog, and my life is much better thanks to that". On the other hand, a comment from someone who doesn't have a blog is also not objective. How do they know how their life would change if they had one?
Here is my take.
Yes. If you can, and you want to - start a blog.
You will get better at writing
When I was migrating from my old blog stack to a new one , I had to go through all my blog posts and fix shortcodes and other small details. And looking at my blog posts from 2019 made me cringe when I saw so many obvious errors. Probably, when I look back at this post in 2027 when moving to yet another blogging setup, I will also be embarrassed.
I definitely got better at writing from the simple practice. I've read books on how to write better, like the classic The Elements of Style, but not much knowledge stuck with me. Definitely not enough so that while writing, I could remember that, "Ahh, here I should change this form as the book recommends on page 87". No, just like with anything else in life, you will get better by the simple act of regular practice. And this will positively impact your work, especially if you work remotely and the majority of your communication is in writing.
You will learn that you are wrong
You will learn that you are wrong. From strangers on the internet. Commenting on your articles. Seriously, try writing something incorrect on Reddit or Hacker News, and someone will almost certainly point out the shortcomings of your article.
This can be discouraging. Nothing is worse than getting negative feedback on something you spent a lot of time researching, editing ten times, etc.
Some people might simply misunderstand you. And some are trolls, downvoting your articles or posting stupid comments. There is little you can do about this. Some authors deal with that by not reading comments. For the same reason, I initially decided not to include a comments section on my blog - I prefer to spend my time writing useful articles instead of arguing with strangers on the internet. But after a while, I added a comments section, and it wasn't too bad. Most of the time, I got valuable feedback or nice words of encouragement. I still got a few comments that didn't make any sense, but there were fewer of those than I had expected (and they didn't pass the moderation I had in place back then).
When moving my blog to a new platform, I decided to switch to giscus, which stores comments on GitHub. It requires readers to log in before they can post a comment, which might be a bit inconvenient, but it's a good way to filter out the vast majority of trolls. I also have a contact form where people can contact me if they don't want to post a comment publicly, and I sometimes receive an email from a reader.
You might get some leads
My blog was never the best source of job leads. Initially, I tried much harder to position myself as a Python consultant. I had more links shouting "Hey, hire me!" here and there (including a small, sticky ad on the side of each blog post that was always in the view). I ran with this setup for over a year, and during that time, only one client contacted me.
Then, my network of connections on LinkedIn started growing. I specialized in a niche Python commercial framework, and I realized that I don't necessarily need to look for jobs through my blog. So, with great relief, I could limit the amount of advertisements.
Using the blog for finding clients didn't work for me, but I don't think I was doing it right. My marketing wasn't aggressive enough. I didn't offer free e-books to people signing up for my newsletter. I didn't add their emails to a sales funnel or spam them with webinars about all the cool things I could do for them. But the thing is - I didn't want to do aggressive marketing. I wanted to write about Python, and I knew that my blog would be read by other programmers who don't care if I can help them build a document management tool or a risk management platform, or be their next team leader (but if you do - hey, hire me!).
Your audience will probably be other programmers, not people hiring programmers. So don't expect to have someone offer you a job because of a fantastic article on type hints that you wrote. Yes, it can happen, but don't count on being flooded with job offers. You would need a completely different type of blog than mine to target managers.
If you really want your blog to be a source of work or an additional income for you, I think you have two choices:
- Have a niche. If you write about a niche topic and establish expertise through your articles, you might get contacted by clients looking for experts in your field. Of course, as long as you manage to position your blog above all the paid advertisements, and your potential clients can actually find your blog.
- Go all in into advertisement and focus on making your blog a source of income. Analyze your traffic, target advertisements towards your readers, consistently post on social networks, and grow your network as much as possible. Maybe even fill your blog with ads. You will probably lose a lot of initial readers who discovered your blog because of your unique ideas. But with plenty of marketing, it starts to be more of a numbers game. For every genuinely interested reader you lose, you gain five others that subscribe mostly because you get in front of them in so many other places.
I don't treat my blog as work or as a source of income. I'm cross-posting my articles on Medium, and that was bringing a few bucks every month as part of their Partner Program. I'm writing was because in August, Medium slashed the payoffs for most of the writers on their platform, and now I'm down from around $40/month to less than $10/month. But I was always treating Medium as a way of reaching more readers (unlike all the poor folks who were making a living from writing on Medium and now need to find a new job).
I completely messed up in terms of maximizing my financial gains. I've joined Medium's Partner Program only after my articles about CLI tools and Mac apps gained hundreds of thousands of reads on Medium, and I've probably left a few thousand $ on the table by not getting paid for those reads.
I'm sure people who found different ways to monetize their blogs can give you different advice. But remember that money is not always the best thing your blog can do for you.
Writing takes time
Writing the first draft of your article is only part of the work. You need to at least edit and proofread it. And if you're a perfectionist like me, you could easily spend days rewriting and polishing a single article. If you want to reach more readers, you also need to prepare social media posts, make some social images, write a newsletter, etc.
I usually write in bursts, mostly between contracts. I launched my blog in 2019 when I started freelancing. But most of my articles were written either when I took half a year off to work on my Python course or during a one-month-long break last year. When working full-time, I don't have too much spare capacity for blogging. I often start some drafts when an idea strikes me, but I have little time to edit and publish them. Some of the drafts take literally years to write. I just keep adding random ideas and new paragraphs until I have enough content to sit down and turn that into an article.
I have a family that I need to want to [edited by his wife] spend time with after work. So, after eight hours of work, I don't have time to sit down and write articles. Sometimes, I might have a free evening or weekend that I can spend sitting at my computer, but I also have other responsibilities. I have a side project that requires a small amount of support, I need to do accounting for my company, etc. Blogging doesn't bring money, so it has lower priority.
Now, I'm trying to get some time back by having someone proofread and edit my articles for clarity. And indeed, I save time by not having to rerun my articles through Grammarly, but I also spend time discussing unclear sentences. Still, in the long run, it's a great idea to have someone read your articles (be it a friend or a professional who does that for money). You will be surprised how many sentences that sound perfectly clear in your head are completely confusing to someone else!
Your audience might grow. Eventually
If you decide to start a blog, don't be discouraged that initially, only a few people read it. Actually, be prepared that your audience will be small for a very long time. Is it ok for you? Or does blogging only make sense for you if you can get in front of thousands of people on day one?
If you want to reach a larger audience, try blogging on some of the existing platforms like Medium or Substack. It's much easier to reach a wider audience there than on your own website under your own domain.
However, the main problem with those blogging platforms is that you give up all the control over your content and your audience. Let's say you've built a large audience on Medium, and one day, you wake up to see that your account was banned and all your articles were deleted. All the hard work you did for years is gone. And those readers you looked after so carefully and always answered their comments can no longer be reached. Sounds painful? That's why I prefer to have my own blog, even though on Medium (where I only post articles when I remember to do so), I have 3x more "followers" than I have subscribers in my newsletter. For me, Medium is just an addition to my blog.
In case you're wondering how many people read a blog like mine - here's how my audience grew in the first three years of my blog:
I was lucky that some of my articles got hundreds of views from Hacker News or Reddit at the very beginning of my blog. And even with that, on an average day, I had less than ten visitors. Maybe a few more because those statistics don't include people with ad blockers that block the Google Analytics tracking code.
And that's how the statistics look since I replaced Google Analytics with umami.js:
On average, I now get 8000 page views per month. If I don't write regularly, that number goes down (see the March-June period when I was making conference talks and didn't publish anything). If I publish new pieces and have time to get them in front of more people through my social networks, that number goes up (see July when I published new articles). The total number of readers might be a bit higher since I try to respect people's privacy and don't track visitors with the Do Not Track
setting enabled.
My main takeaway here is that the number of views and readers should not be the main motivation for writing. It's a very fleeting motivation.
What about YouTube or podcasts?
I don't know. I don't have a YouTube channel or a podcast. I love podcasts, and for a few years now, I've listened more than I've read. I've been a guest on a couple of them, and it was fun. If I had someone I enjoy talking with, I wouldn't mind hosting a podcast, but I can't think of a subject I could talk about for hundreds of episodes. There are already several Python-related podcasts, so this niche feels saturated. On the other hand, the niche for "beginner-friendly tech podcasts" feels even more saturated, yet some time ago, I listened to the ladybug podcast, and I was surprised by how many interesting topics they were constantly coming up with.
Some people are interested in starting a YouTube channel because it seems easier to monetize it compared to a blog. Even if that's true, the same advice applies to blogging - podcasting only for money is a bad business.
Conclusions
You can look at blogging as any other side project - it will make you better at specific things. Just like building React apps makes you a better React developer, writing makes you a better writer. You can treat it as a way to practice a particular skill set and think, "I need to get better at communicating clearly in writing".
But, as with most side projects, it's better if you do this because you're genuinely interested in blogging, and you want to write (even if no one will read it).