Sync vs async work

This is a reflection on PG’s famous essay, “Maker’s Schedule, Manager’s Schedule”. The fact I’m writing this while in the middle of producing a live stream is only a tiny bit ironic.

While Paul writes about “manager’s schedule”, I think the term can be easily generalized to include any kind of work that requires one to synchronize with other humans (like answering unexpected/unscheduled phone calls, replying in chat), or even machines (responding to alerts, pushing the faders on an audio mixer…).

If I had an actual job title, I don’t know what would it be. Full-stack media engineer? My company’s service is delivering live media, “glass-to-glass” (from photons that enter the camera lens, to photons emitted by your device’s screen). Sometimes I physically hold the camera, sometimes I tweak the CDN config, sometimes I debug the CSS on the frontend, usually a bit of everything in between.

Having hands-on experience and expertise in all of these areas is what ultimately allows us to actually do our job: our customers are almost exclusively people and companies for whom streaming to Twitch, Facebook, or YouTube won’t get the job done, for one reason or another. It’s a tiny niche, but many customers come to us, not the other way around.

Alex Thunder: Don’t wake up the programmer!

One problem with that style of work is that I end up interleaving “sync” and “async” work all the time. Even when the “sync” stuff is scheduled way ahead, having anything happening at all throughout the day can make it difficult to get any “laser-focused”, creative work done.

Adjusting the levels on an audio mixer is not a difficult job - you get constant, instant feedback on anything you do, so after a while you can almost offload it to the non-conscious parts of your brain, a bit like riding a bike. Amidst that, my desire to get creative seems stronger than the threat of being interrupted, so I often end up with the worst of both worlds: filling in every tiny gap, doing a tiny batch of focused work.

Theoretically it ends up fine: look at me, I got a blog post done, and I love writing, so I’ve had my desire to write fulfilled. And it’s not like I don’t mind this kind of multitasking: I’m an avid enjoyer of StarCraft II, a game that’s entirely about out-smarting and out-multitasking your opponent.

The ultimate problem is the net amount of work done, and the resulting fatigue: I’d rather not work at all before the event, to save my mental strength; but by the end of an event I’m basically depleted from the creative juices. I received feedback on that pull request I’ve submitted last month; that side-project I’ve worked on for a few weeks is perpetually 95% of the way to version 0.1; and actually ranking up in SC2 is doubly difficult, as that’s an entirely different kind of “async work” - one that requires engaging the “sync” parts of your brain.

Luckily most of the sync work is usually not my responsibility, otherwise I don’t know how we’d ever get anything done at all.