I've been writing more recently. One of the biggest reasons is that I've been writing more recently. Writing begets writing; the more I do it, the easier it is to do it more. I've found diet to be similar. When I'm eating fresh fruits and veggies, it's what my body craves. But as soon as I "treat" myself with a bag of chips or a fatty big honking slice of greasy pizza, guess what my body wants? More of the same.
I've written off and on for quite some time. Someone recently pointed out how you could tell how long someone had been in their job by when their last blog post was written. While coders tend to be more comfortable with a text format than many other professions, we're not the best at writing consistently.
I wrote another post about how coders code and thought it was fitting to mention how I've made a plan to publish a blog post once a week. I've been keeping up the streak for awhile now and feel pretty good about it. One trick I'm using is that I've got a few posts written ahead of schedule, so it doesn't feel like I'm down to the wire on deadlines. I'm on a plane right now without WiFi and feeling particularly inspired so this is actually the third post I've written today.
In the past I've traditionally written technically focused articles. I still do that and will keep publishing them. The interesting thing, about forcing myself to sit down and write no matter what, is that I can't wait months for that huge open source pull request I'm working on to drop before I blog about it. I've got to talk about what's on my mind right now, ready or not. Sometimes it ends up being awful and when that happens, since I have some buffer room in my schedule, I can throw those away. Sometimes it ends up taking me places I wouldn't have gone before. When you go through life with an eye out looking for a story, you'll be amazed at how many you find.
I tend to preach when I write. I like to have a message. I like to try to get people motivated or active. I do the same when I give talks. Instead of "look at what I did" I usually also add a "and here's how you can do it too" flare. It's a bit of a crutch at this point as sometimes things can be interesting without having to be instructive. While I don't necessarily recommend blogging as it is tedious and time consuming, I do recommend you write.
As you write you'll find an audience of one. Read your own writing. Take notes. You'll be surprised at what "past you" can teach "future you". Keep writing and maybe you'll find a larger audience. Write wherever possible: Write commit messages, write GitHub comments, write design docs, write READMEs, and method docs. Write. The more you do it, the easier it will be.
Writing is an act of communication. Programmers are really in the communication business. We communicate with machines in an arcane language to tell them how to do our business. We must share our requirements and our efforts with others, co-workers, bosses, co-founders, and customers.
While we often think of writing as a one-to-many medium (books, magazines, blog posts) our most important writings can be the ones that are day-to-day. While your primary job title might not be "writer", writing is a tier-one method of communication.
If you write, I can't guarantee fame or fortune. I can't promise you an audience. However, I will give you my word that writing will bring more writing. Communication will bring more communication. Clarity will bring more clarity.
If you liked this post join my free mailing list for more.