Like many of us, I’ve tried to maintain a somewhat active blog enumerating what I’ve been working on, and what I’ve been thinking about.
Despite being reasonably successful at writing posts on a regular interval, I’ve been somewhat unimpressed with the quality of my writing.
As a natural perfectionist, I’ve found it difficult to simply write ‘something’, edit it a bit, and call it publishable. In school, I was forced to go through these motions by hard deadlines. For personal projects like this, I procrastinate to the point where the details of whatever I wanted to write about have long since left my head, and the mental cost of ‘reassembling all the pieces’ is too high.
I’ve found that I tend to want to write after the conclusion of a project, to summarize a month of work into “Yeah, it was successful” or “Here’s what I could have done better”. There’s not much depth there.
What prompted this post was a recent episode of the excellent Talk Python To Me podcast. In it, A. Jesse Davis extols the virtues of writing infrequent, but high-quality articles - not blog ‘posts’.
I found this simple, nuanced reframing of the context of a Programming “Blog” to be quite profound. In many senses, my tweets have taken over much of what would have been traditionally ‘blog post worthy’: a short description of an interesting article, a sentence-or-two rant about a specific language feature, but in essence, a single thought.
Blog posts are no longer ‘posts’, but ‘articles’. They should be specific, targeted, long-form (potentially), and well-written. We now write for the sake of self-discovery and to create content with deep meaning for a relatively small group of intellectually close developers.
Davis also gives 5 article archetypes around which programmers tend to write:
- Stories
- Opinions
- How-Tos
- How Something Works
- Reviews
I connected with these types in that they recognize a pragmatic side of writing about code. Not everything has to be - or should be - a think piece. It’s perfectly valid to write about, for example, a cool Python decorator you thought of, or an experience with debugging a strange dependency collision.
Write the technical article you wish you’d found when you were last hopelessly down the rabbit hole of poorly-written StackOverflow answers or Github issue comments. Write about mundane curiosities or chance encounters with a beautiful piece of code. Write to reflect internally and externally about writing code. Write to improve your writing and communication skills.
Find your motivation, and write about it.