2018/11 - Why you should build your own (technical) blog instead of using existing blog hosting solutions

Hi folks,

Today I thought I'd give my two cents on whether software developers should create their own blog/website, or use an existing solution (If they are so inclined to blog in the first place). I decided to develop this blog myself and host it with Digital Ocean, but your mileage may vary depeding on your motivations/desires for creating a blog.

So why should you bother creating your own blogsite if you want to blog? The existing solutions we have are good enough to do whatever someone could want, and in many cases far superior to anything a lone developer could build. Indeed some very famous technologists use these solutions, such as Steve Yegge (That's one link per name by the way) and they'd be right to do so. Some people I've known in my career have done so as well, and it worked out fine for them. So why would to decide to NOT do this? Well one reason for me is that I honestly just couldn't keep blogging with a pre-built solution. Trust me on this one. I really tried to care. It just wasn't my own baby, so it didn't feel like it was mine and no amount of already-existing functionality was going to change that. I just didn't want to blog using some big, boring thing that I thought I didn't have complete control over. I also didn't like thinking that I was sealing myself into someone elses marketplace ("You can have backup functionality for $XXX!" - Some money hungry provider) so that compounded the issue.

After figuring out that it wasn't just the provider that put me off, I set off to build my own blog (After another year in college of course). The first commit was February 4th 2017 and the first post was March 12th of that same year, but I was also working on Rotten Alive at the time, so the actual conception-to-release time for this blog was about a month. It looked pretty bad in retrospect, because I wasn't focusing enough on what it would look like on mobile, and eventually managed to make the useability even worse by adding an extra (but ultimately pointless) post category page. Once I'd remembered what I'd learned from my User Centered Design and Human Computer Interactions classes at WIT, I resolved to make the website as simple as possible, which is what it looks like now:


It does just about everything I want it to do now, from backups (although they are manual) to letting me use image (This was more painful than it should have been really. I need to make a guide on how I used ImageMagick for this at some point). But most importantly, it's ALL MINE!

Problems I've encountered: 



Sure it's a bit of a pain in the butt sometimes. But I can't help feeling nostalgic when I comb over the old commits and see the message "Please for ***** sake work this time". And of course despite all this, I can't stem what I think is a sense of pride over what I've made. Even if it's not pride, the sensation gives me energy and motivation to continue working on projects that are important to me (Such as my Android games, blogging, or learning whatever it is I'm learning at a particular time. Right now it's more computer science and Java/Spring.) For me, such motivation and energy (Motinergy? Enertivation?) can only be found elsewhere in running or completing a long project. And that kind of currency is priceless to me. Which is why I have started running during work! (It works. Seriously, give it a shot.)

I could have saved an awful lot of time by just using an existing blog provider, but since my past efforts have failed, I doubt I would have gotten far. I'd say that if you can blog with a provider, then go for it. You'll save time and money and can figure out a less time-intensive method of becoming more experienced with technology (Or just spend your saved time and money on Pluralsight. I disliked it for a long time, but am starting to come around). But if you're like me and think of using someone elses solution as the "the lazy route", then I'm sorry. Enjoy the month of after-work pain! 

Whichever route you decide to go, good luck with it,