So you've had the idea to create a blog about software development, or perhaps are just wondering how to get started.
I've brought together my experiences into this article to help you get going quickly, what traps to avoid, and what should be your first priority.
Why You Should Start A Blog
Here are a couple of reasons why I recommend you should start your own blog.
Personal Development
A blog allows you to get your thoughts down in writing. This helps you to not only retain information but to further research the topic you are writing about.
Don't be disheartened if nobody reads it, for you are your own biggest fan. I have reviewed my past articles to remind myself of how I've tackled similar issues in the past.
Building a Portfolio
Applying for a new role and worried you don't have much to show? Your blog can back you up. It shows potential employers a glimpse into your mindset and that you're committed to developing your skillset.
Monetisation
Depending on your traffic, target audience, and a load of other fun variables. You can look into ways to monetise your blog. I've not had much personal success with ads, so I mostly don't bother with them. But affiliates have proven to be rather successful for me.
Building a Brand
This was one of my reasons for blogging. I didn't have much success with my SaaS projects due to various reasons, so I decided I would work on building a personal brand to help push traffic to them.
Should You Code Your Own Blog?
Do you want to create a blog, or do you actually want to write content? As software or web developers, we thrive on the technical side of things and it's so easy to lose track of our initial purpose. We may soon find out that writing content isn't half as fun as writing code, so it's important to get your mindset straight.
Here's a little personal story. At the time of writing this, I've been blogging for a year. It wasn't my first attempt at it either. Every other attempt before this I wanted to use my skills to create my own blog.
I would boot up a new Laravel project... start looking up examples of blogs I liked and pull ideas from them. Sprinkled in some multitenancy so that I could fire up multiple blogs with ease...
Then I lost interest for a new shiny idea. Resulting in my blog never getting anywhere.
I'd repeat this again the next time I had the spark. Fire up a new project from scratch and use my skills as a web developer to create something unique.
Then I lost interest again.
Do you want to create a blog, or do you actually want to write content?
This is the ultimate question you have to ask yourself. If your first instinct is to start coding. It was dead before it began. Yes, it'll be a load of fun and get those developer muscles dancing. But you're backing yourself into a corner for reasons I'll get into later.
Start Writing Content First
Find somewhere to start writing while the neurons are excited. You do not need to write your own blog from scratch as step one. Take an existing platform out there, set up an account, and start writing.
The whole idea of this is to get you up and running and not fall into the traps that we, as developers, are susceptible to. I'm not telling you to rule out coding your own blog, but I am suggesting you get started writing first.
A lot of developers throw up at the mere mention of WordPress, but you know what? It's damn brilliant at letting you focus on what matters: writing content. So it's okay to use an existing solution out there as a vehicle for getting your ideas off the ground.
This is the challenge I set myself up with when I started my current blog. There would be no code. No tinkering with servers. Find something that already works and use that.
That's how I settled on using Ghost. I signed up for managed hosting which freed me up so I could focus on writing content.
If you're set on making your own blog from scratch, then that's completely fine. I'll cover this in detail further down. What to avoid and what to focus on etc.
What Blogging Platform to Use?
Going down the path of content first, you now need somewhere to write and to share your ramblings with the world.
WordPress
Loved by many. Despised by many. And here I am suggesting you - a developer, use it.
I come from the viewpoint that you should be using it as a blog. Not to start hacking it into something it shouldn't do. WordPress is a brilliant tool for blogging and deserves credit for this.
You can self-host your own WordPress blog or you can find a managed service out there. Since I find WordPress websites a pain to maintain, with the constant need for updates due to security vulnerabilities and whatnot. I would suggest managed hosting and letting somebody else deal with that headache.
WordPress has a thriving community offering plenty of support, plugins, and themes. Giving you the flexibility to give your blog that professional touch once the time calls for it.
Ghost
A contender to WordPress, written in Node.js and also open-source. There are managed services available or you can look at self-hosting.
Given it's not as popular as WordPress, you won't find as many options when it comes to themes or plugins. However, the Ghost team push out regular updates while focusing on security and performance.
However, I much prefer the writing experience that comes with Ghost, and I have the ability to set up webhooks or custom integrations if the need comes.
The downside is you depend heavily on the Ghost team for features and they can be a bit behind current trends or go in another direction entirely. For example, if you're looking for an editor with built-in AI support, you're out of luck.
However, I find it reliable and does the job I need it for. I run my blog off a self-hosted Ghost install with a theme I purchased from Bright Themes - worth every penny!
HashNode
If Ghost was ticking a few boxes, Hashnode may be the one that swoons you over.
An editing experience similar to Ghost, with AI tools baked in. A community of like-minded developers to share your posts and engage with.
The big downside is that there's no self-hosted option. It's either using Hashnode's interface and whatever they allow, or a hybrid of your own code and hitting their GraphQL API to extract your content.
Might not be everyone's cup of tea, but it's a great starting point.
Your Own!
One minute I'm saying not to do this, and the next I'm saying to do this. What's the big idea?
I'm writing this for the people who don't care about the above advice and want to make something of their own. For prestige, or for the challenge.
So here are my thoughts on this, what to do, what not to do. The trick is you can always develop this in small bites but at the same time, it's all on you.
- Focus on what features you need. Don't add nonsense like multitenancy because you think you need it.
- Haven't started writing yet? Don't bother with pagination or filtering, categories and the lark. You can develop these as you need them or when your mood fancies - just only after you've launched your MVP, right?
- Find the right editor, to name a few: Want to go block-based, editor.js. Markdown? EasyMDE. Or a traditional rich-text editor? Tiny.
- Depending on your ecosystem, there might be a load of tools to simplify your requirements. Filament is one such option for Laravel projects and you can have a blog admin set up within the hour.
Where to Self-Host?
By using services such as Digital Ocean, or Hetzner. You can get introductory offers to help you get setup and running at no cost for a limited time.
Get $200 in credit with Digital Ocean by using the below link:
Or €20 in credit with Hetzner using the link below: