Why Every Developer Should Write a Blog

DZone 's Guide to

Why Every Developer Should Write a Blog

It's good writing practice, but that's not the only reason.

· Writers' Zone ·
Free Resource

Image title

It's unavoidable. At some point — if not on a regular basis — as a developer, you will need to produce some type of content in written form to share with your team or others. Since clear and concise technical writing takes practice, it makes sense that you should make a proactive effort to practice your writing. Writing a blog is a perfect (and an easy, low- or no-cost) opportunity to get some practice.

There are plenty more reasons, however, why blogging is beneficial and useful for all developers. In no particular order, here's why you should be blogging:


Technology in software development changes and evolves fast. Chances are, you came across at least one new thing over the past couple of days. If it's not going to be something you're going to use on a regular basis, it helps to keep notes that you can refer back to at some point in the future. I can remember I came across something similar a few months back, even if I can't remember the exact details, so creating a short one-pager with some notes to refresh your memory is incredibly useful.

Sometimes I also keep notes on the approach I took to solve a problem if it was something that took several steps. If I come across the same problem again several months from now, I'd rather refer back to my notes than working it out from scratch again. If the problem or the steps to solve it were interesting, or if others may consider it interesting, I usually capture these steps as a blog post and share it on my blog.

Collecting Snippets of Useful Code

Depending on what the information is, I vary how I capture it. If it's something that would be useful as step-by-step instructions with additional explanations and details, I usually capture these as a blog entry. If it's something I don't want to publicly share, I sometimes create private posts that are not shared, or keep them separate in a notebook in Evernote.

If it's a snippet of useful code, or a few simple and short lines of code, I collect them using Github's Gist (here's a link to my public Gists as example of what I keep there). For longer worked examples, I create a project on GitHub and commit a code example there. The majority of my projects on GitHub are code examples where I was looking at something new and put together a worked example as part of learning whatever that new thing was. You can can take a look at the type of thing I keep on GitHub here.

Sharing Lessons Learned With Others

The majority of the time when I search for info on how to use a new library or framework, the most useful content I find is usually an article written by a developer who worked through the steps on how to use something.

This type of content wouldn't be online at all if that other developer hadn't taken the time to create it and share it. The great thing about the internet for software development is that content is easy to find if you Google, but people need to take the time to write and share that content in the first place. If you have something to share, even if you think it's obscure or might not be useful, there's always someone else who is working on something similar. They might be struggling to work something out — help out your fellow developers and share your knowledge.

Every developer has something they've worked on that would be useful to another developer trying to learn and get up to speed on that same thing. Even if you're a new developer with a few months' experience, you still have lessons you've learned from your own experiences that would be useful to another developer with less (or even more) experience following their own skills development path.

blogging, software development, tech writing, writers zone, writing

Published at DZone with permission of Kevin Hooke , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}