You should probably blog
If you work in a technical field, especially software development, and don’t have a blog yet, I highly recommend starting a blog today.
Writing a blog helps you build your personal brand. Who would you rather hire, with all things being equal – someone you haven’t heard of beyond the CV/resume in front of you, or the author of a well-known and widely shared blog? There’s no question.
It also helps you improve your written communication, and forces you to write in a way that your audience can understand. You can also take your blog post and convert it into a talk at a meetup or at a conference, raising your profile even further.
Everyone knows something worthy of a blog post
What if you feel that “everyone already knows this”, or that you don’t know something enough to blog about it, or “everything worth talking about is already written in a different blog”?
If you feel that way, there’s a 100% chance that you’re wrong.
Sometime last year I wrote a really badly written rant about PDF forms, and I thought nobody cared about it but me. Who the heck cares about something so incredibly dull?
Turns out it’s now the single blog post that brings the most traffic to my blog, and it was even listed as a reference in a book about PDF manipulation in Python. It’s also linked from the author’s blog post.
Just think about how fast the software ecosystem changes. There’s always new software to write about. If not, people run into problems with legacy software too – those are also worth blogging about.
Even if your topic is already well-covered by many others, it’s still worth writing about from your perspective.
Many developers like to write blog posts assuming that readers are at their level of knowledge in the narrow field, and as such their writing contains highly technical jargon that newcomers to the topic who are otherwise intelligent have trouble reading.
In fact, programmers really love to introduce useless jargon into the lexicon that serve no purpose apart from making themselves appear smart and feel smart. There are tons of examples of this, like “syntactic sugar”, “better semantics”, “Liskov substitution principle”, and “referential transparency”.
Almost all of these phrases can be described with more accessible and appropriate language. “Syntactic sugar” really just means “nicer syntax”. “Better semantics” really just means “it’s clearer what this code does, mechanically”. “Liskov substitution principle” just means “in good code, I can pass in any object of the same type or a subtype, and it will still work”. I’m not going to explain “referential transparency” because someone who likes Haskell is inevitably going to email me to nitpick/”correct me” on some inconsequential detail. Protip: you might want to avoid writing about topics from communities where people behave like this.
I mean, I love sounding smart as much as anyone, but the purpose of your writing (and any form of communication) is to be understood. If you’re not understood, then you have failed.
For someone who is just one step behind you, your perspective is invaluable, and you are best positioned to explain something you’ve just managed to understand.
Tips to get started
Host your blog yourself
Don’t rely on a different platform, there is an almost 100% chance that it will either (a) change for the worse (like Medium), or (b) die completely (like Posterous). Don’t do it, or if you must, make sure it’s portable.
Hosting it yourself also gives you the benefit of your own domain and branding.
Tools to use
Some people obsess over the choice of tools to use in blogging.
Don’t do that. Nobody will read your blog because of fancy JavaScript tooling. People read your content, so focus on content.
If you don’t know what to choose, I’m going to give you only two options to choose from:
1) Wordpress
The most popular blogging software in the world (and it’s not limited to blogging). Simple to get started and use, has a plugin for almost everything you want. Easy to buy and download themes (e.g from Themeforest)
Some people are inevitably going to say, “ew PHP”. Ignore these people. You’re hosting a blog, not internet banking.
Have you heard of Basecamp, who also created the massively popular web framework Ruby on Rails? They didn’t build their blog in Ruby on Rails, use any Ruby tools, or use any tools people consider “cool” – they moved to Wordpress from Medium in 2019.
If you get a lot more traffic, or just get tired of hosting your own blog, consider paying for someone to host it for you. Services like WPEngine can do exactly that for $35 a month. If that’s expensive, consider the fact that it’s less than your phone bill for something that is so essential to your personal brand. I don’t get paid for affiliate links, it’s just a recommendation.
2) Jekyll
This is what I’d personally recommend if you have more development chops. Jekyll is a static site generator, one of the older ones.
I know there are lots of other static site generators, like Hugo, Pelican, Vuepress, Gatsby, Nuxt, etc. My recommendation to you is to stick with Jekyll.
Jekyll has been around for ages, with a very large community. It has virtually any plugin you want, and the documentation is great.
You can also host it on GitHub pages for free, and you get a blog with the address username.github.io.
Or even better, buy your own domain and either point it to GitHub pages or host it on Netlify (for free). By the way, this is how this blog is hosted.
Summary
- You should blog
- If you think you have nothing worthy to blog about, you’re 100% wrong.
- Choose either Wordpress or Jekyll. Focus on content, not tooling.