How and why I write blogposts
July 1st 2012, the first day after completing my internship at Optis, and graduating. A month after, I would start a next chapter in life, working. During my internship, I learned to work with a lot of cool technologies, and I was keen on learning more. But how was I going to make sure I wouldn't forget these cool things I learned?
Then it struck me, I could break down the things I encountered in smaller, readable bits and document those. That would allow me to look back at those articles if I would encounter the same problem again. There are many ways I could document those though. I could write a Q&A database (like Stack Overflow), a wiki, a blog, … .
At that time, I just finished my paper for school. That means I was looking for a different way of writing things. In my case, that meant I was hoping to be more creative, and to put emotions into it. For that reason, I thought having a blog was the solution that would fit the most. And thus, g00glen00b.be was a fact.
One of the cool things I noticed while blogging, is that it allowed me to connect with similarly minded developers as myself. The amount of feedback and suggestions I get, allow me to keep learning, and stay motivated. This is the reason why I eventually decided to write articles in English, rather than using Dutch.
It also meant that the reasons I blog evolved from "writing down what I learned" to "learning from what I wrote down". And just like all cool things, they are infinite loops, as you can see in this cool chart I made:
Well, with all the feedback I get, I think the future is looking good. However, if you have any suggestions, things I should check out, or things I didn't do properly, you should tell me! You can find me on Twitter, Keybase, e-mail, use telepathy or anything that works. Because as I said, this allows me to learn new things too!
Enough about my reasons to blog, how do I do this? Well, usually, it starts with a technology. In January, when most people think about their New Year's intentions, I think about the technologies I want to learn that year. Usually, I even write a "year in review" blogpost, and write down this list. Last year, my list contained Kafka, Prometheus, Spring boot admin, Spring batch, Solr, Progressive Webapps, Vue, Jest, TAPE, GraphQL and machine learning. Of that list, I've been able to write blog posts about most of them. This year, the list contains WebRTC, WebSockets, reactive programming, Micrometer, Docker, Kubernetes, Istio, AWS and Micronaut.
This list certainly isn't fixed, and evolves over the year. For example, recently someone tweeted me this:
And now, that technology is on my list as well. So yeah, that's one point for my "Learn, Blog, Feedback" loop!
As soon as I want to learn a new technology, I first need to know what it exactly is, and what problems it tries to solve. Resources like the official documentation, other people their blogposts, Reddit and video courses help me with that. When I'm through all that, I try to come up with a scenario where such technology would be helpful, and then I start playing around with it.
Once I'm done playing around and have a working example, it's time to start writing the blogpost. While writing the blogpost, I usually start from scratch again. While adding code to the new project, I write down the important things in my blog post.
The reason I do this, and not just copy/paste from my working example, is that I don't want to forget anything while writing the blogpost. Additionally it allows me to "Make it right" and "Make it fast", rather than being able to just "Make it work" (source).
After completing the initial draft, I take a look back at the article so far. During that, I try to focus on improving the structure of the article, so that everything feels like one story, and I add additional resources, such as images, links and so on.
Now that the structure and the content are complete, I proofread a second time to improve readability. Thing I like to focus on are active reading, re-writing long sentences into smaller ones and making sure I avoid starting sentences with the same word over and over again. Yeah, I have the bad habit of starting 80% of my sentences with "And then you do …", "Now that …" or "As soon as ….".
After that, the article is complete to me, and could be published. However, I'm not really that structured, and there are often times that I don't write any article during four weeks, and then there are other times where I write like three articles in two weeks time.
To make sure that all articles have equal visibility, I try to schedule these articles over a fixed time schedule. Currently that means I publish a new blogpost every two weeks, and that's a schedule I've been able to maintain for the last year. This allows me to write blogposts whenever I want, and appear to be structured for the world.
Obviously that has its consequences as well. Last year, I think I had about enough blogposts for the entirety of 2018… around May. Yeah, May! That means that if I wrote a blogpost back then, it could have been outdated by the time it got published. Usually I try to keep this in mind, and I often reschedule articles so that blogposts about frequently changing technologies are published sooner than others.
The result of all this is that I became a better software developer thanks to others. Additionally, I hope that I had the same effect on other developers. But as I said, it's still a work in progress and I hope I can keep learning new stuff, one blogpost at a time! 🎉
Also, I hope you enjoyed this different kind of blogpost of mine and I hope I inspired some of you to do the same!