Write an Excellent Programming Blog

Accepted Session
Short Form
Scheduled: Thursday, June 26, 2014 from 10:00 – 10:45am in B301


As a member of the open source community, do you contribute only code, or also words? Writing about programming benefits yourself and others. This talk outlines solid article structures, suggests topics to write about, explains how blogging about programming is special, and inspires you to write articles of enduring value.


Please, help our community: share your programming knowledge by writing about it. It doesn’t matter how narrow your expertise is. If you know better than anyone how to parse NYC subway schedules in Python, write about it!

Being known in our community as an expert or as a cogent explainer helps you, too. You’re more likely to get patches accepted by projects, get talks accepted by conferences, get a job, get users. Besides, writing teaches you to think: there’s no test of understanding so rigorous as writing an explanation.

I notice roughly five formats among the best programming articles: stories, arguments, how-tos, how things work, and reviews. For each format I’ll discuss its structure and suggest ideas for what you could write about, and share some do’s or don’ts. If you want to write but haven’t chosen a topic, or don’t know how to approach it, this will get you started.

Much conventional wisdom about blogging doesn’t apply to you. Pageviews don’t matter, and neither does SEO. You are not trying to be Buzzfeed or Daring Fireball. Shun Hacker News. Instead, you need to find the narrow channels your community subscribes to: subreddits, influential people on Twitter, “planets” specific to your programming language or technology. You need only distribute on a handful of channels. If they’re the right channels, the readers who matter will come.

Emulate the best bloggers and the best posts. I’ll share links and discuss, from examples, what makes a great article.

You know something about programming that’s worth explaining. Plus, explaining it deepens your understanding as nothing else can. If you don’t know what to write about, riff off the ideas this talk suggests, or get inspired by great blogs. Craft articles of lasting value. The satisfaction is profound.


blogging, writing

Speaking experience

I presented “What Is Async, How Does It Work, and When Should I Use It?” at Open Source Bridge 2013 and PyCon 2014.

“Night of the Living Thread”, a talk about a Python standard library bug, Austin Python Meetup November 2013.

I spoke on Python coroutines at the NY Python Meetup, April 2013.

Talks on MongoDB topics including schema design, replication, and the aggregation framework. MongoDB Atlanta in April 2012, MongoDB Chicago in November 2012, and WindyCityDB in January 2013.

Talks on Motor, my async driver for MongoDB and Python. MongoDB Chicago in November 2012, Python and MongoDB Meetups in Seattle and Philadelphia, and at PyGotham in June 2012.

MongoDB training sessions, with between 6 and 20 students, lasting 2 or 3 full days, given 4 times during 2012 and 2013.