We come to the end of another year! As has been my tradition now for a decade or so, I’m writing a blog post to wrap it all up.1 As usual, I’m interested in the degree to which I accomplished the things I set out to do, and the reasons why I did or didn’t do those things — as well as looking to the future.
You can find my past years’ write-ups here:
- 2007 — “Retrospect: n., a survey of past events”: fair warning, there are parts of this I find utterly cringe-worthy at this point.
- 2012 — the one Christmas letter I ever wrote!
- 2016 (all the year-in-review posts)
- Part 1 — “Running headfirst into a wall of pneumonia.”
- Part 2 — “So. many. words. I had no idea how many words.”
- Part 3 — “Podcasting: Winning Slowly, New Rustacean, and more!”
- Part 4 — “Writing software for Olo and for open source.”
- Part 5 — Getting things done in 2016 and beyond.
- Part 6 — “Plans for 2017!”
- 2017 (all the year-in-review posts)
If you’d like to skip to a specific section of this year’s write-up, have at it!
- Why These Things are Hard
- Looking Forward
2019 was on the whole a restful year, a year of recovery. I desperately needed that after the quite severe burnout I experienced in 2018. I’m grateful I was able to recover well, and to get to a point where I’m looking forward to really digging in and working hard in 2020. That basic theme — of rest and recovery — is the note to which I’m returning throughout as I draft this. 2018 was an incredibly difficult year, and I came to the end of it hopeful… but exhausted. 2019 was nothing like 2018. I come to the end of it not only hopeful but well-rested, feeling myself again in ways I am only beginning to put my finger on just this week. It feels like the sails of my mental-emotional ship are slowly unfurling, newly-repaired after having been dreadfully torn by the years past. It’s a very, very good feeling.
In 2019, I aimed to do two things in podcasting:
- finish New Rustacean
- successfully make our way through Winning Slowly Season 7 on our planned schedule
I also expected — but did not commit! — to recording a number of episodes of Mass Affection with Jaimie.
The first of those, finishing New Rustacean, was a goal I had set explicitly but not publicly. To my great satisfaction, I did it: In May, I published the last episode of the show, having wrapped up all the rest of the content I had planned.2 The feeling of having properly finished a project of that scope is one I will hold onto: especially as I work on other, equally large or even larger projects in the future. It is profoundly satisfying to bring something to a good conclusion.
I miss the show occasionally. It was a part of my life for 3½ years! And as far as I can tell, it was (and to some degree is!) an important part of the Rust community. That’s more than I could have guessed when I started. When I wrote my end-of-2016 summary, I had 500 regular listeners; by the end of the show run I had more than 10× that for every new episode. And the long tail is very long: even now, there are hundreds of new listens every week to the teaching and bonus episodes. I’m pleased as can be with the impact the show had and continues to have, even as I’m relieved to have finished it so I can concentrate on other things.
Stephen and I did manage to get through Winning Slowly Season 7, and mostly on our planned schedule. The first half of the year, we nailed. The second half — after our planned summer recess and the birth of Stephen’s second baby — was a bit spottier. In the end, though, we successfully hit every episode we had planned to hit and a few more we came up with along the way. Given the serious rough patches we’d hit in the previous two seasons, I’m really proud of our consistency.
Each of the past few seasons has intentionally been an experiment for us, trying new things. Because we’re not a topical news show, we are always looking for ways to keep our format fresh and interesting — not least to ourselves! We could pretty easily do the “two dudes talking on something broadly topical” format, as we have lots of practice from earlier season. We won’t, though, both because there are enough of those shows out there (many of them quite good!), and because we would get bored. The net is that Season 8 will look different yet again. We are going to try a “book club” where we read various texts we hope will be illuminating on the big questions we’ve been butting up against over seasons
Jaimie and I recorded a handful of episodes of the show this year. Not as many as we hoped at the start of the year, but also not zero! I’ll count that a win. It’s something we enjoy a lot, and a way we enjoy spending time together, but it’s also something that takes a fair bit of work. Our daughters’ ever-latening schedules, and ever-growing curiosity about what we’re up to, make it harder to have the time to spend an hour or two playing and another half-hour or more recording about that. I’ve no idea where it’ll go in 2020, and that’s just fine. It’s something we do for fun, and when it feels fun we’ll do it!
Over the course of 2019, I did less reading than I wanted, but — in what I now recognize as an important theme of the year as a whole — it was all restful in various ways. I needed that. I read a lot of fiction this year; quite a bit of it was rereading. While it wasn’t what I had planned, it was a really good choice in the end, for a bunch of reasons. After last year’s bout of burnout (and after all the things that produced it, including my dad’s brain tumor and the half decade I spent in seminary), just reading a bunch of things I enjoyed was really, really good for me.
This year’s book list (so far as I remember it) with links to reviews where I wrote them —
- The Lord of the Rings, J.R.R. Tolkien (reread)
- Shades of Milk and Honey, Mary Robinette Kowal (new)
- Beowulf (new)
- The Martian, Andy Weir (reread)
- The Themis Files, Sylvain Neuvel (new):
- Sleeping Giants
- Waking Gods
- Only Human
- Red Mars, Kim Stanley Robinson (new)
- Recursion, Blake Crouch (new)
- Dark Matter, Blake Crouch (new)
- The Expanse, James S.A. Corey (reread):
- Leviathan Wakes
- Caliban’s War
- Abaddon’s Gade
- Cibola Burn
- Nemesis Games
- All That’s Good, Hannah Anderson (new)
- Retrieving Eternal Generation, edited by Fred Sanders and Scott R. Swain (new)
- What is An Evangelical, Thomas Kidd (new)
- In Search of the Common Good: Christian Fidelity in a Fractured World, Jake Meador (new)
Some of this reading also prompted me to pick up other books along the way — I’ve started but not fully finished Karl Barth’s Dogmatics in Outline and John Locke’s Second Treatise on Government. The Barth volume in particular was both very helpful as I prepared for teaching on Christology and a great encouragement to my soul.
I also happily managed to read a few popular theological books this year. As I noted when setting goals for the year, I very much want to have more and better resources to recommend when people ask me for reading on various subjects. That means reading enough books in that bucket to be able to make good recommendations — both toward some volumes and away from others. All three of the popular books I read this year go in the “recommend” bucket, and that’s a nice spot to be.
A big chunk of my reading in 2020 is going to be taken up by the book club Stephen and I are planning for Winning Slowly Season 8. The specific volumes we’ll be reading are still to-be-determined, but the net is that I expect about half of my philosophical-theological reading to come from that bucket. I will also be spending a bunch of time on theological anthropology, as I’m tentatively lined up to teach on that subject at church this coming summer. (Book recommendations very welcome!)
Here, two of my goals come together. Besides the academic reading I’ll be doing to prepare for that, I’d really like to find at least one (and better: several) books I could recommend to people on theological anthropology, ranging from popular to college or early seminary level. I haven’t yet figured out the mechanics for this kind of thing yet, so I’ll be actively experimenting this year. At a guess: I’ll spend the first half of the year deeply immersed in books both popular and academic related to theological anthropology, and the back half of the year reading much more broadly. That kind of back-and-forth between deep study of one specific subject and then broader whatever-catches-my-interest reading maps well to the patterns I go to normally, which means it’s more likely to actually work for me than cutting too hard against that grain.
I read 21 books total in 2019; I’d like to get that up over 30 in 2020, with a more even mix of fiction and non-fiction (hopefully 50/50!), and with a lot more new fiction in the mix. I’d also like to work through one good volume of poetry this year — again, recommendations very welcome!
In my goals for this year, I wrote:
First, I’m going to try to evaluate, with each idea I have, whether it should be a blog post or just go in my Zettelkasten. So much of my writing over the last decade has been a kind of public thinking-out-loud. That’s good, but I also feel much more need to polish something if I’m going to publish it than if it’s a private note. The way I polish a blog post is nothing like the way I polish essays, of course, but I do spend some time clarifying and adding nuance. Even when [specifying an assumed audience][aa], I need to be more careful if I am writing for others than if I am working something out by writing about it for myself. As a result, I expect a lot of things which might have ended up on the blog in the past to just go in Bear.
Second, I plan (and we’ll see how this goes), I’m going to try very hard to write fewer blog posts in favor of more well-developed essays. About a month ago, I started drafting an essay which seems like it might be legitimately important. Unfortunately, even though it is certainly more worth my time than the things I have written since then… I have not made progress since the day I started it. It’s not that my [blog posts] are worthless. Rather, it’s that there is a cost to spending my limited time on writing those instead of more important writing efforts. At a minimum, I intend to do even less polish on those posts than I have to date, when I let myself write them.
I managed… the first half of that. There are a lot of notes in my Bear-powered Zettelkasten, most of which never saw any kind of publication. I have more to do in making that style of note-taking work as effectively as possible, but I remain profoundly happy to have adopted it.
My focus on the blog has primarily been a mix of technical blogging, thinking about the nature of thought and note-taking, and meditations on the act of writing itself. This year got an extra dose of all of the above by way of my November experiment in writing every day. In what has become a recurring theme, though,3 I wrote far fewer substantive essays that I had hoped, with the majority of that word count coming out as blog posts.
The two essays I did write, and of which I remain quite proud:
- Have We Already Lost? (Across the Sundering Seas #2, February 2)
- Breaking Up With Social Media (June 13)
All told I wrote about 60,000 words across the two versions of this site, and about 30,000 words in Across the Sundering Seas. Those two essays come out to about 3,600 words — a mere 4% of my writing this year.
I’m thoroughly resolved that come the end of 2020, I will not be repeating this refrain yet again. I have a number of essays started already which I am committing to finish over the next month or two. More generally, doing more substantive writing — especially on Christianity and ethics and politics, and not only as intersects with technology — is part of a broader goal for myself in the 2020s (a point to which I will return in a later post).
This gets at an important question, though: given I have failed repeatedly at this… how am I going to do differently in the year ahead? I’m working on sorting through that. The primary shift here is one of habits, I think: I have almost 15 years of habits built up around the mechanics of blogging, and I haven’t done essay-style writing much at all in the last 5 years. Setting a vague goal of “write more essays” hasn’t done it; what I need to do is allocate time every month — or better, every week — to work on essays specifically. Then I need to defend that time against the instinct to go do other things instead, whether those other things are tinkering with my website’s design, writing a blog post instead of an essay, or something else entirely.
As planned at the end of last year, I ran another half marathon this year — two, in fact! To my great delight, I managed a sub-1:30 finish in the first of those. That ended up being my fourth-fastest finish ever in a half marathon, and that at a mile high (my other, faster times were all at just about sea level). I did not ride the Courage Classic again, as I initially planned. Jaimie had made it clear we needed that part of the year not to be any fuller for her sake, and I take that seriously. I’m glad: as mid-July rolled around, my plate was already on the edge of being too full with other goings-on, including multiple trips for work. I did run another half marathon in September, and actually placed second overall… with a time five minutes slower than the one I ran in May. But then: it was also 4× the hills as the one I ran in May, and started at 7,000 feet above sea level instead of 5,200. On the whole I’m pretty happy with the fitness side of my health this year!
I also hoped at the start of the year to lose ten pounds; in fact I managed to drop five. Halfway is not terrible. My weight is not something I’m especially concerned about: I’m at a healthy spot. However, it’s been clear to me for a long time that I do need to be careful about it. Weight tends to come on easily and go off with great difficulty in my family. Having kept myself in the broad range I aim for is a win, and as long as I continue to do so going forward I’ll be content. I’d still like to knock off those remaining five pounds… but more on that in the section on 2020 below!
Late this year, I also made an important adjustment I’ve stuck to so far: I stopped setting an alarm. Though it initially surprised me early on, I have found that I still get up pretty early this way! As I write this, for example, just after 6am on December 31st, I’ve been awake since 5:20, and I have already done my morning push-up routine and eaten breakfast and read my Bible. I went to bed at 10pm last night, so it’s not as if I’m going to sleep especially early. It’s just that I only need
That consistent feeling of well-rested-ness got an extra boost by way of my cutting out caffeine at the end of November. A month in, I’m never going back. It’s really quite delightful to be able to move through life without that particular chemical dependence, even as I’m still able to enjoy the goodness of coffee and espresso on a semi-regular basis. As with alcohol (although in a far less dangerous way), the thing is far better without dependence — when it can simply be enjoyed as a good gift of God.
My health-oriented goals for the year ahead are relatively tame:
I’ll run another half marathon, Lord willing — Colfax in Denver in May. My main goal is simply to beat my 2019 race time. My stretch goal is to run it sub-1:28:00, which would make for my third-fastest race ever, no mean feat when running a mile above sea level. I think it’s doable, as I have a way better feel for winter and spring training here in Monument than I did last year, and I also have
I’ll find some reasonably long bike ride to do late summer — hopefully with my dad and maybe other friends if I can talk friends into it. The Courage Classic, which my dad rides every year and which I rode with him in 2018, is a great ride… but it’s pretty much always the same weekend as our wedding anniversary, which means it’s pretty much always going to be a no-go.
I’ll lose those next five pounds in the first quarter of the year, and stay at that healthy and best-performing weight throughout the rest of the year. My current weight is just fine, so if this doesn’t happen, it won’t be the end of the world. I perform best across the board — especially for racing! — with those few more pounds off, though, so I’d like to get there, and on this time frame.
I’ll keep sleeping exactly as much as I need — no alarm. I’ll keep off the caffeine. Between the two, I should be at a sustainable level in terms of rest and alertness.4
The “work” bucket this year breaks down into two big categories: LinkedIn and my side project, rewrite.
I started at LinkedIn at the end of January. I knew this was likely in the cards when I wrote last year’s entry, of course, but it wasn’t finalized yet.5 LinkedIn is my fifth major job, and the fifth order of magnitude of company size I’ve worked at:
- Northrop Grumman: ~100,000 employees
- Quest Consultants: ~10 employees
- Independent consulting: 1 person (me!)
- Olo: ~100 employees
- LinkedIn: ~10,000 employees
Every size has some of the same issues, and some of its own. So far, though, LinkedIn is a great balance: big enough to have resources to throw at hard problems, but not so large it’s unwieldy. (Of course any company can be more or less functional or dysfunctional at a given size — and trust me when I say my experience bears that out! — but I’m enjoying the size of LinkedIn given its current reasonably good health.)
This year, my focus was on two major things: recovering from burnout, and getting my feet under me in the new role. It was a smashing success on both fronts. I’m profoundly grateful that I got to land in a small project with high impact but low stress right up front: helping get Volta to a point where it was ready to use internally. The fact that my first project was an open source tool written Rust which will end up being used by pretty much every front-end developer at LinkedIn over time was amazing: it was both technically energizing and professionally satisfying.
I also had a chance to step into actively mentoring a couple more junior engineers, and that’s been one of the most satisfying things I’ve ever done. Helping them find their strengths (and helping them deal with their weaknesses) is both really fun and really challenging.
The net is that a year in, I’m really loving working at LinkedIn — even more than I guessed or hoped when I started. It’s the best job I’ve ever had, and I’m so grateful for that.
Part of what makes it the best job I’ve ever had is the point I’m at in my career. I have an idea of the things I’m good at. At least equally importantly, there are things I’m good at! When I joined Olo, I was a decent front-end engineer, but there was no way I’d have been able to do the kind of work I’m doing now at LinkedIn. Olo was the best job I’d ever had before LinkedIn, and my time there is what made me the engineer I needed to be for this job. Now I get to enjoy an even better job as a result. It’s a real joy.
If 2019 was the year of getting my feet under me at LinkedIn, I’m hoping that 2020 will be a year of really starting to make an impact. I have much more of a sense of where the big problems to tackle are, and I have many more of the connections I’ll need to be able to tackle some of them. There are a few things that will have to shake out for it to happen, but there’s a good chance I’ll be able to tackle some of the big projects I’ve been dancing around the edges of for the past few years and make a really big difference for both LinkedIn and the open source world.6
My goals for this year aren’t all that interesting in the sense of publicly visible things. I want to continue growing as a mentor to those more junior engineers. I want to expand my influence and leadership both within my own organization and in cross-cutting efforts. I want to deliver on a technical front the things LinkedIn needs to continue excelling — both by executing on initiatives other leaders have already identified as important, and by identifying and executing on initiatives I myself identify as important. That lattermost point is something I’ve only just started working on, and in many ways it’s just as hard (or harder!) than any of the specifically technical challenges in front of me. But across the board, I’m excited about the year ahead and expect to grow a lot and hopefully contribute a lot to LinkedIn’s success.
After wrapping up New Rustacean in May, I took a little time off and then started actually working on my long-planned side project of a research writing application, working title rewrite. I’ve spent much of the fall working on design problems, catching up and digging deeper into Swift, learning SwiftUI, and making some initial progress on one part of the app. I can display references to books now!
It is slower going than I hoped when starting out. I continually find myself running into the sheer depths of my ignorance of Apple’s platforms as development targets. That’s just fine, even if it’s a bit frustrating given the kind of deep expertise I’ve developed on the web. The contrast is a nice way of staying humble if nothing else!
I have one goal for 2020: having the reference management component in the App Store. It won’t be anything mind-blowing, but it’s a good MVP and a good way to learn the ropes of actually getting a product out there — and, most importantly, it’s actually doable. The main challenge for me here is the same as the challenge with essay-writing: building the habit of making steady progress, however slow. As with essay-writing, I think the path to success here primarily looks like carving out specific times, or specific amounts of time, week in and week out, where I don’t allow myself to go after blog posts or website tweaks or TypeScript open source projects or the myriad other distractions which tempt me away from working on rewrite.
In both essay-writing and rewrite development, I am regularly tempted to do other things instead. The reason why is simple: those other things are easier. It is easier for me to satisfy my urge to have done something in the course of an evening by writing a blog post, tweaking the CSS for my website, or working on open source TypeScript/Ember.js than by doing the less familiar and therefore harder work of outlining or editing an essay, or of fighting through unfamiliar frameworks and libraries for iOS or macOS development.
A big part of why I need to explicitly carve out times to work on these tasks and these tasks alone is because they’re hard. Few of us gravitate toward hard things when easier things are readily available — especially when those easier things scratch some of the same itches. Blogging and drafting an essay are both writing. Open-source TypeScript work and SwiftUI development for rewrite are both programming. But whether writing or programming, the easy one, the one I can do almost in my sleep because I have so much practice with it at this point, doesn’t get me where I want to go.
My big “resolution” for 2020, then, is to do these harder things. Doing the harder things will make them easier, and it will make doing other hard things easier, too.
Over the past few years, I’ve started thinking more and more about bigger picture aims — things that stretch out beyond a single year. I suspect this is a pretty common pattern for people coming into their thirties: the rush of the first decade of adulthood behind, it’s easier to grasp the brevity of life, and it’s also easier to have a sense of what we’re good at and enjoy. I’m also blessed to be a quarter of the way through my thirties and a decade into marriage in a healthy and stable place emotionally, physically, and relationally, and that makes it possible to go after some bigger plans.
Those kinds of considerations mean I have more to write, but at a scope beyond a single year. Today marks the turn of a decade, and in God’s good providence that happens to line up with my doing some serious evaluation of what I want to be doing in the year ahead! I’m therefore wrapping up this post here, and I’ll be back tomorrow with some thoughts on the decade past and the decade ahead.
Whether this habit will go on next year, only time will tell. Keep your eyes open for an essay on the subject of broadcasting these kinds of things publicly, an extended meditation on some of the ideas in this year’s final issue of Across The Sundering Seas. ↩︎
I wrote last year:
Once I’m through that list, I’ll have covered the entirety of the language and quite a few of the most important crates in the ecosystem. But there are always new things happening, so I’ll have some interesting decisions to make about where to take the show.
What I knew at the time was that “interesting decisions” almost certainly meant “the exact timing of wrapping things up,” though I reserved the final decision until a later point in the year. ↩︎
I wrote a year ago:
[One] of my goals for the year was to publish a few longer-form essays, possibly even getting paid for them. That certainly did not happen; I did not manage to publish even a single essay at Mere Orthodoxy.
Sounds… familiar. ↩︎
I originally accidentally left off the end of this sentence, everything after “sustainable”; the reader who caught it said he was choosing to read it “I should be at a sustainable wind farm”. I laughed out loud. ↩︎
I also wanted to make sure that my team at Olo heard from me and not from a random blog post! ↩︎
Read: hopefully, the TypeScript/Ember.js story will get a lot better this year. But those pieces have to fall into place, so we’ll see. ↩︎