Given that I write a blog, it should come as no surprise to you that I read blogs as well. There’s about twenty that I read regularly – not daily, but a steady rotation through the list ensures that I see each one at least twice a week. The blogs range from the very techy to simply enjoyable writing.
There’s quite a lot of turnover in that list. One single very interesting post may be enough to get a blog onto the list. Then I keep checking the blog for a few weeks to see what else they come up with. If a month goes past without any posts of value, they’re thrown out, no matter how good that first post was. There’s enough cross-linking among good tech blogs to make sure that I don’t miss anything really astounding.
The blog that I’ve been reading the longest is Jeff Atwood’s Coding Horror. I have read every single post since at least the beginning of 2005 (when I started doing .NET development). With other blogs, I might skip what they wrote while I was out on vacation, but not with Coding Horror.
What makes it so good? Interesting content is the primary factor. Most of it is about “.NET and human factors”, as the blog byline says, or about general software development issues. He makes me think of things in a new light, or think of things that I hadn’t even stopped to consider before. While I don’t always agree with his views, he is clearly a man who thinks, and there aren’t too many of them out there! The issues he writes about are so general that most would be relevant or useful even if I worked with COBOL. At the same time, the range of topics is wide enough that he doesn’t get boring or repeat himself. I haven’t found any other blog or magazine out there that is so consistently interesting.
Which brings to mind another important component: consistency. He posts regularly, and consistently about a single topic. There are no posts about his vacation, or photos from his latest night out, and no long gaps – bad habits that ruin many other programming blogs. A programming blog should be about programming; private life belongs elsewhere. Few readers are likely to be interested in both. (I don’t follow this rule myself, but on the other hand I never aspired to a large audience for this blog.)
There is also consistence of quality, both in content and in presentation. Jeff’s blog is not the kind that gets the whole blogosphere’s attention for a few days, only to be forgotten after that. Instead there is a steady flow of interesting, thought-provoking, enlightening, well-written commentary.
Finally, his blog is a pleasure to read because it looks good. It is clean, clear and easy on the eyes. Compare, for example, the CodeBetter blogs: large and noisy header, blinking ads, colourful links, a gazillion reminders to “Share this post: Email it! | bookmark it! | digg it! | reddit!| kick it!”, and a side bar longer than my arm.
If I had a tech blog, I would be really proud and satisfied if I could make it as good as Jeff’s.