A very important "trick" in finding the flow in life is: do what you like most. Of course, you have to do things you don't like (and then you need different life hacks), but when you can do something you like, you'll find that you'll be more successful at it.
When it comes to blogging, I find that it helps to follow my instincts, to write about whatever I like to write about at the moment. I can think of a list of things that need blogging about, but I end up not writing about them because they don't light the fire inside me (anymore).
Start writing very soon
So, when I decided in January of this year to publish a blog post every week, this was the rule to be applied: whenever I felt the urge to write an article about something I thought was very interesting at the moment, I'd just do it. It turns out that this sometimes requires me to write on the train, in the plane, at night. But I'd still do it (or at least, I'd do it within a certain amount of time, like a maximum of one day after I had the idea). Otherwise, the idea would fade away, just like its importance.
Starting to write should be very easy
Besides starting to write about some idea early after its conception, another important trick is to make that "starting to write" step as easy as possible. It should be very easy to:
- Start working on a new blog post
- Modify an existing one
- Add code samples
- Publish it
(One thing that could improve in my own workflow is: it should be very easy to add images...)
For me, static site generator Sculpin, combined with an automated Docker setup, helps a lot with this rule. For an idea about the setup, check out Lucas van Lierop's open source blog.
Imagine your audience, but never let the imaginary audience judge you
When writing, it helps to imagine who will be reading it. I tend to mostly write with my direct co-workers as the audience in mind. I make sure to add links to reference material, in case the reader needs a refresher on a topic, or is just not familiar with it. It's always good to take a meta-perspective while writing, considering the places in the text where you may lose readers.
Although considering the audience while writing is a good idea, you should never give them a voice while writing. You shouldn't allow them to interrupt your good work and point out that
- somebody else has already written about it (and better),
- this is not very original,
- this is only interesting for 2 people,
- this contains so little information, it doesn't deserve to be called a blog post,
- and so on...
Leave the judging to the real people who'll eventually read your article. And even then, don't let yourself be disappointment by their comments. By the way, even when lots of people are reading your posts, they usually don't comment at all, in which case: don't worry about that either!
Besides judging, people may also provide you with good feedback. Since it's your blog, you're still allowed to ignore them, but you could of course decide to do something with it too.
Don't publish the first article immediately
In my experience, if you write one article and publish it immediately, you'll have another mountain to climb before you publish the second article. In other words: that second article won't come and you'll feel very bad about it too. So, my trick is to write two or more articles before starting to publish one. To see this queue of articles makes me feel like I'm in control and I don't have to worry about the next deadline anymore; I'll make it anyway, even if I don't write for two weeks in a row. This is also a great way to deal with holidays; I just write a few posts in advance, and publish them even when I'm not working.
Finding good topics
For me, a great source of topics are questions asked during workshop sessions, or conference/meetup talks. These questions are a clear sign that not everybody "just knows". For example, the discussion about "where to generate an ID" comes up often during workshops. In such a case, I provide a brief summary to the participants, but point to the article for more details. A similar source of interesting topics are conversations with colleagues.
Another source is programming work itself. Whenever I feel like I found a good solution for something, or even found a solution "template" or "pattern", I like to write about it to gather feedback. The "ORMless" article is a nice example of that.
Finally, sometimes I feel like blogging when I notice a discussion on Twitter about a topic I have an opinion on/experience with/etc.
With these rules, tips and tricks, it turned out that my goal to publish one blog post every week was quite achievable. It took me about 3 hours every week to keep up with the rhythm. I suspect that actually having such a rhythm is part of why it worked. I also realize that it's still a lot of time to invest, and that 3 hours a week is optimistic if you're starting out as a blogger. Which is why I'm not saying: "you can do it too". But I still believe that these suggestions might come in handy. Please let me know how it went...