Blogging is easy to start but hard to maintain so you need to make sure you’re clear on why you’re doing it, and how to make it both enjoyable and worthwhile. That’s why I’ve put this post together, as a reference for myself and hopefully someone else.
Most of the things I’ve learned about blogging are from either John Sonmez (he has a great blogging email course and he’s a massive advocate of programmer blogging) or the Pragmatic Programmers book Technical Blogging. I highly recommend checking out both.
Why are you blogging?
Learning by teaching
I’m blogging primarily so that I can learn. If you want to really learn something you should teach it, something I’ve realised myself over time and seen repeated by experts regularly.
Planning to write a public blog post about a subject is an incentive to make you understand it to such a degree that you can write about it without sounding like an idiot.
These blog posts also act as notes on a particular topic, helping me organise my thoughts, and will be there for me in future. They make my notes more formal, and invite corrections from commenters.
Learning to write
Another reason I’m writing is to improve, particularly with my technical writing. Even if I’m not proud of any of my blog posts, I will be proud of the fact that I spent time expressing my own opinions rather than consuming someone else’s via yet another article/video/podcast elsewhere.
Communicating with like minded people
Plenty of blogs are there to either stake a claim within a niche or just start a dialogue with people within it. This is vitally important if the niche is only just emerging, and if you want to help it develop and become an authority within it.
Be consistent but also realistic
Setting a regular blogging schedule is an incentive to have something to write about, and this is in turn an incentive to build up knowledge on topics. This can only be a good thing.
I find technical posts more time consuming than other posts, as they need more background research and fact checking, so I alternate between technical and non-technical when posting to give me the best chance of hitting a posting schedule.
Consistency beats quality (because quality will come over time)
Of course it is better to just put content out there consistently, as it will help your writing evolve, and help find the niche that inspires your best writing.
If only one in every five posts is any good it’s not a problem, because I still have a good post. Each of the five posts should be considered part of the journey to that one good post. And it’s also beneficial from an SEO perspective.
Don’t give in to resistance
John Sonmez’s book Soft Skills for Programmers led me to the book The War of Art which is about the subject of procrastination, something you will know about if you’ve ever tried to write about anything. It’s a great book on our own internal resistance to creative endeavours, and emphasises that the key is to understand that there will constantly be points in which you will want to stop writing, and it’s essential to carry on.
Find a word processor that you love to use
I’m writing this post using iA Writer. It is very enjoyable to use. I’m a great believer that if something is fun you will be inclined to do it. Every extra sentence I write in Writer is fun. I paid £8 for it and it’s worth every penny as it means I actually write.
When I used to edit posts in Emacs it wasn’t nice as Writer, and crucially it wasn’t mobile. As with the WordPress mobile app, your editor should allow you to write both on a mobile app and a desktop app, or you just aren’t going to capture the thoughts you have when away from your desk.
Keep the writing simple
There is an excellent short blog post by Dilbert creator Scott Adams entitled The Day You Became A Better Writer. In it he talks about a one day business writing course he attended and his it taught him to keep his writing simple. The advice is short and sweet, and should be referred to often.
Just use WordPress
On the technical side of things, be sure to use WordPress as your blogging platform. Seriously. As with many programmers I’ve spent a lot of time with static blog engines in the past and they just can’t compete with what WordPress has to offer.
With static engines, I will spend way too much time tweaking and not enough time actually writing content. I used to think I was so smart and efficient with my static site that I’d edit in Emacs, commit to Git, and push to GitHub pages but literally all I was doing was tweaking the layout.
Programmers feel that if they’re not hacking together their own static engine and layout then they’ll be seen as failures, but if you’re not getting traffic because you’re not writing consistently enough or your content isn’t optimised (both due to reasons I’ll elaborate on below) then your publishing process is irrelevant.
It’s all about the SEO
If you don’t use the excellent SEO plugins available for WordPress either you’ve spent a lot of time developing SEO skills (or want to develop them) and can apply them to your own site, or you just don’t care about SEO.
If you don’t care about it then you’re going to miss out on so much traffic, and should be questioning why you’re blogging in the first place.
It now has an awesome mobile app
You can’t argue with the WP mobile app. I don’t need to be at a computer to post, or publish, or organise my blog. This is an enormous advantage over a static site.
You may argue that services like Medium and Ghost have their own apps that are also very well developed, but I am only interested in platforms that allow me to self host. If I’m going to invest time in content I don’t want to have to migrate it at short notice a few years down the line (anyone remember Posterous?) And I know Ghost allows self-hosting, I’m just making a point! 😀
Nowadays swiping the keyboard on my phone is actually better than typing on the keyboard on my computer. I can of course write a post up in a note taking app and then import it into WordPress later, but why not just write it directly?
Principles of my blogging
So in summary I’d say my blogging principles are now:
- Teaching others in order to teach myself
- Making it fun in order to stay consistent
- Using WordPress to give me great SEO out of the box
- Keeping the writing simple and not giving in to resistance