2023 in Review: Writing and Speaking

Assumed audience: People who like reading year-in-review summaries. (I always assume that’s mostly just me, a few years in the future!)

A bit of context: For many years now, I have made it my habit to write up one of these summaries. In this case, I have tried to make it a bit more digestible by breaking into smaller chunks. You can find them all here.

This year saw me publish about 70,000 words on this site (including this absurd ~7,500-word end-of-year extravaganza). Unlike 2022, I did not publish almost anything elsewhere this year — no magazine work, and only a couple of posts over on the Ember.js blog. The latter included a capstone for a whole phase of my career: Stable TypeScript Types in Ember 5.1. I have more to say on this in the Professional post, and as a piece of writing per se it was not particularly interesting, so I will leave it at that.

I am fine with relatively little external publishing, though. I probably could have found some opportunities to publish elsewhere, but this was really not the year for it. Happily, I already have a couple writing projects outside this site in the hopper for 2024, on which more once they arrive.

Here on my own turf, I did a solid majority of my writing in three distinct stints:

  • In January, before returning to work after a long vacation over Christmas and New Year last year.
  • In July, during a long vacation which included lots of family time but also plenty of writing and thinking time.
  • Over the past three months of my sabbatical — and no surprise here: I have had a lot more time to write and think, after all.

Of those, the ones from this year I most want people to read are (ordered alphabetically):

  • Competencies — on how political competency comes to dominate other competencies at the upper echelons of large organizations.

  • The Good News That God Does Not Change — a short little reflection on Malachi 3:6, the kind of writing I would like to get back into the habit of doing as I once did more often. (Also an exercise in trying to write at a non-technical, very-accessible level: which is hard!)

  • How to Do a TypeScript Conversion — just what it says, but with some advice that a lot of teams need to hear, because the advice I offer is very different from a lot of conventional wisdom out there.

  • Je ne sais quoi — thinking out loud about taste” and everything from Leica cameras to Mac computers to programming languages.

  • Next: Role? — part of which, on the metaphor of ratchets and levers in software development, I really need to extract into its own standalone essay.

  • Sermon Notes — explaining why I do not take them. Extracted from a reply on a LinkedIn post, of all things!

  • Stocks, Flows, Resiliency, and Layoffs — an almost-essay riffing on a couple key quotes from Donella Meadows’ Thinking in Systems.

  • Tools for Thought, Not Shortcuts for Thinking — a small push against a very common way of describing and thinking about computers.

  • Unmeasurable Costs and Benefits — extracted from a Hacker News discussion (again: of all places!) but representing an important part of my thinking about the common idea that we can just come up with a way to measure it” for everything we do in software. Pairs well with Be a quality detector, again from Donella Meadows’ Thinking in Systems.

  • Where DRY Applies — a simple post on perhaps the single-most-repeated programming principle, itself extracted from another good, but far less general post.

  • The Wizardry Frontier — arguing that given how we have raised the level of both abstraction and of quality in software development, we can do so again, even in areas that today look far out of reach.

Speaking

I set out at the start of the year with a goal of giving at least two talks. I gave zero. I submitted a couple talk ideas I liked to a couple of conferences, and got rejected, and was mildly disappointed — but not terribly disappointed; this is the usual way things go. I also already have two talks lined up for 2024 (more on that in this space shortly!), and am tentatively hoping to give a few other talks as well.

I missed giving talks, even if I was able to take it in stride. Speaking feels like an effective way to get more eyes on some of the interesting work I have been doing over the past few years. Doing the work of writing and polishing a talk also serves very effectively to help me tune up” my thinking on various subjects. It acts as an excellent complement to public writing in that regard: writing helps me be precise on what I think; speaking helps me be pithy and persuasive. And: I just enjoy doing it!

I did appear on a podcast episode again this year: talking about SemVer, TypeScript, Rust, programming language design tradeoffs, and more with Richard Feldman on Software Unscripted. I love these kinds of discussions, and hope very much to do more of this kind of thing in 2024. Podcast chats sit in a very different spot than prepared talks, but they also prompt some of my best thinking. That was true in this particular conversation, and it was true back in the Winning Slowly era, and I expect it will remain so going forward. There is a certain kind of thinking which only happens in conversation with other smart and careful people.

Finally, I also published a whole boatload of videos to YouTube. Most of them were part of a series of deep dives” I put together with my friend and long-time collaborator Dan Freeman to help people in the Ember.js community (and beyond!) understand how the Glint tools work. Those were a lot of fun to record, and I used them to learn a little bit about video editing and Final Cut Pro. I also put up one short video on using Dorico, and plan to do more of that as makes sense.

As I have been publishing to YouTube, I have been thinking hard about how much of a presence I want to establish there. On the one hand, it is undeniably the best place to get reasonable reach” for this kind of video content. (If the algorithm favors you, at least.) Plenty of people have built an entire career on that. I do not want to do that, though for two reasons. First, I do not want to be catering to the whims of the algorithm or whatever kind of audience one acquires on YouTube: generally, the same one might acquire on Twitter, which is to say, one more interested in Takes™ than in learning deeply. There are certainly exceptions to that, but they are rare. Second, and equally importantly, I never want to be beholden to any platform like that for the entirety of some part of my professional presence. Should YouTube go away, or pivot, or change its business relationship to content creators”, I want to be independent and able to sail on.

I have also been mulling in a more general sense a lot on the role I want public speaking to have in my life. On the one hand, I am very comfortable with public speaking and enjoy it immensely, and I regularly get feedback that I give very good talks. That means it is potentially a very helpful road to go down in terms of impact. On the other hand, there is a real danger in pursuing a public persona as a regular conference speaker. The temptation is to end up speaking because you are a conference speaker, rather than because you have something to say. That way lies Thought Leadership™ and Content Creation™. That way lies folly. But I repeat myself.

I want to build public speaking into my career going forward… but if and only if, when and only when, I have something to say that I do not see others saying. You might observe that much the same applies to writing. So it does. If I ever find myself writing for the sake of writing, rather than to inform, to challenge, to build up, to educate — I will stop.