I’m catching up on some reader roundups and returning to a prior conversation about high-importance, low-visibility maintenance work.
I wanted to surface a few reader comments from our conversation sparked by
’s essay on refactoring. Refactoring is a term of art I learned in computer science, but it’s pretty common in ordinary life. It’s when you rebuild a system so that it takes the same inputs and produces the same outputs, but under the hood, it’s a lot more efficient or secure.We’re working on a non-code version of this where mostly all the same objects are stored in our sunroom, but in a more compact/less unpleasant configuration. As Okun pointed out, refactoring is important but invisible:
The idea is that you’re tinkering under the hood in a way that anyone other than you will ideally never notice; kind of antithetical to making things in the first place, right?
When maintenance work is hidden, it can feel, at best, like a tiny bubble of a joyful secret. (A little like the way I feel as my baby kicks during a meeting and something wonderful is happening and I’m the only one to know!). But mostly, it can feel like your hard work disappears into a void.
So I asked all of you:
Where do you do refactoring work in your home or professional life? To whom is it invisible? Who takes notice of it?
Magdalen connected her computer programming to her housekeeping:
I program for my research almost every day, and the theme of refactoring is almost always present. I think that one of the things I learned when working on projects is that it's important to design systems in a way that is amenable to refactoring—e.g. writing functions in the most general way possible, if it can be done without over-complicating. If your system stays around for long enough, it will inevitably need refactoring. I've also grown to appreciate the value of starting a project in a particular way even though you know it will need to be refactored down the line; it's easy to get overwhelmed working on a project in its full generality and sometimes that just leads to indecision or procrastination.
To me, refactoring codebases feels pretty directly analogous to housekeeping. I'm always trying to have a system that uses the least waste, requires the least maintenance, and can be quickly converted to other uses when the need arises.
I really like how Magdalen’s framing of refactoring mean she’s always in relationship with future maintainers. At home, that may mostly just be future!you (a person in your own right!), but in a codebase, it makes you part of a sprawling lineage of people keeping faith.
Elizabeth of
shares some of my sense of getting one over on entropy when you successfully refactor:I like to try to maximize the efficiency of my oven use by baking more than one thing if I already have the oven on, working from lowest temperature to highest. And I’m always trying to figure out the best order of chores (if I cut up this first and then that, I don’t have to wash the cutting board; let’s do the messy activity now, since I’ll have to sweep anyway later).
I think the first ~year with a new baby is a constant adjusting or refactoring process. Everyone still has to eat and sleep and socialize, and the household chores still have to get done, but the way in which those things happen will necessarily evolve almost constantly over that year.
The discussion of making a big upfront investment to reduce friction later caused a lot of people to think about Montessori design for a child-friendly world (which becomes a friendlier world for adults who care for children). Sara Dietz recommended Holly Pierlot’s A Mother’s Rule of Life.
And Analisa explained her own approach:
When my kids were small I set up the house to be completely kid-friendly. Everything was child-proofed safety-wise, but also there was an unlocked cabinet with pots and containers they could play in, there were only things they were allowed to touch anywhere they could reach. It took a lot of up-front time, but in the long run saved me a lot of time and worry (I had four in four years).
This is roughly our approach (it requires periodic updates as they realize new things the learning tower can reach). It does mean we wish we had more secret compartments for grown-up stuff we want to live on the first floor.
Ivana Greco of
noted how homeschooling requires constant refactoring to suit the student, rather than trying to pick a curriculum that roughly fits the class as a whole:I homeschool and it is a constant project of “refactoring.” What does this particular child need right now? What is creating a barrier to them learning (handwriting, multiplication, what have you). I do follow a curriculum but I try to pull out what each child actually needs from it; rather than apply it mechanically. Very challenging! But good work.
My favorite comment might have been this one from Mark of
:This post caught my eye—I'm a programmer-turned-researcher asking how to think about a "theology of computing." I immediately thought of the people that surround some of the most fundamental open-source programs (which are as important as physical infrastructure at this point). Their mythos leans towards a steadiness and a sense of the idiosyncrasies of the machine in their care (or rather, it is the people who use this machine that are in their care).
What this also highlights, being such an extreme example of refactoring, is how relational that job is. A lighthouse-keeper alone is just shooting photons out into the fog, but (presumably) the lights are a literal life-saver for the ships. It's tempting to brush over the maintainer as "part of the infrastructure," but one of the strangest beauties of infrastructure is its relationally (albeit reduced and often intentionally hidden).
This is my favorite part of refactoring—the invitation to relation.
I bet you’ll enjoy John Lee Clark’s new collection of essays “Touching the Future.” He spends a lot of time discussing the emergence of ProTactile as more than just an expanded modality of ASL, emphasizing that ProTactile can only be used in the presence of an interlocutor (i.e., there can never be a ProTactile soliloquy).
This might not be the kind of thing that people think of right away, but I've started a new bookkeeping system for our family which requires us to regularly be in contact regarding our expenses for taxes, because I just set up some new spreadsheets. Before, I'd just collect and shove everything into a folder to be worked upon in the weeks before tax time. With this new system, the goal is to tally everything on a daily, then monthly, basis.