It’s been a few months now since I started this blog and so far all of the posts have been pretty shallow and technical in nature. There’s nothing wrong with writing like that some of the time, but that kind of writing was not what interested me in blogging in the first place and I plan to make a conscious effort to branch out.
Posts about small programming projects are easy to write because they don’t usually involve moral1 concerns. (This is not true about programming in general, only for the kinds of small “here’s what I learned today” projects I’ve been writing about so far.) When a piece of writing does touch some kind of moral concern it becomes harder to share because making a moral argument means allowing people to disagree on a personal, moral level. The stakes are higher. I think this is true even for subjects that at first seem trivial or banal, if the trivial or banal subject touches on a controversy rooted in differences in values.
It wouldn’t surprise me if there were a close correspondence between things that are difficult to share and things that are important to write about or think about. Not everything needs be a blog post, of course, but if you’re not writing something that someone might disagree with or find uncomfortable then what’s the point of writing at all? The only exceptions to that rule I can think of are stories (which rely on moral foundations but don’t have to make moral arguments to be effective), and explanations (where the goal is to share some piece of knowledge you’ve gained that the reader might be interested in). Posts about small programming projects fit that second exception - explaining some small technical project that people attempting similar projects might find interesting in spite of the shallowness of the concerns involved, because the information being communicated is difficult to find or otherwise valuable. But there is very little analysis or critical thought involved in those sorts of posts, at least as I’ve been writing them2.
Writing, at its best, is a way of thinking through something that’s not obvious, and publishing your writing is a way of forcing yourself to commit to opinions about things. I think this is worthwhile even if that commitment is half-hearted or only lasts a short time. Reached a mixed or uncertain conclusion after considering a question with moral weight is still a moral conclusion, since it suggests that two or more possible answers have value, whereas refusing to commit to any opinion at all smacks of moral timidity.
I started writing this before November’s election, and it seems to me that now more than ever it’s important to cultivate a habit of confronting moral questions and discussing them with people. Small moral stands let you practice for larger moral stands; trivial debates set the stage for important ones.
I mean “moral” here in a very broad sense including politics, ethics, and anything else which suggests “rightness” or “wrongness”, even things as trivial or niche in application as “should I drink cheap coffee?” or “should I use a dynamically-typed language?”, because these imply an opinion about how other people should act.↩
James Hague’s blog is a great example of posts about programming that tend to involve what I would call moral issues; for example, see Programming Without Being Obsessed With Programming or The Recovering Programmer.↩