52 Years
I’ve been bingeing old episodes of Conversations with Tyler and he had a quote that’s stuck with me all week (emphasis mine):
COLLISON: Right, right. I think many of us are here so we can ask the question, “How do you read so much?”
[laughter]
COWEN: By reading a lot. If I read fiction, I don’t read fiction much faster than most people. Maybe a little faster, but within the normal bounds. If you just read a lot of books, you find most books aren’t very interesting. You can focus on what’s important and actually get a lot read.
So, I’ll pick up a book, put it down. Someone says, “How long did it take you to read that book?” And I’ll say, “Fifty-two years,” because I’ve been reading since I was three, and that’s the correct answer. People don’t get that. It took me 52 years to read that book. So I’m not a fast reader. I’m a very, very slow reader. You’re just mis-measuring the unit if you think I read something quickly. [laughs]
I love this line of thinking even though it’s not the most unique thing in the world.
It reminds me of an old business school anecdote (ostensibly not apocryphal!) about the electrical engineer Charles Steinmetz:
Ford, whose electrical engineers couldn’t solve some problems they were having with a gigantic generator, called Steinmetz in to the plant. Upon arriving, Steinmetz rejected all assistance and asked only for a notebook, pencil and cot. According to Scott, Steinmetz listened to the generator and scribbled computations on the notepad for two straight days and nights. On the second night, he asked for a ladder, climbed up the generator and made a chalk mark on its side. Then he told Ford’s skeptical engineers to remove a plate at the mark and replace sixteen windings from the field coil. They did, and the generator performed to perfection.
Henry Ford was thrilled until he got an invoice from General Electric in the amount of $10,000. Ford acknowledged Steinmetz’s success but balked at the figure. He asked for an itemized bill.
Steinmetz, Scott wrote, responded personally to Ford’s request with the following:
Making chalk mark on generator $1.
Knowing where to make mark $9,999.
Ford paid the bill.
Or the slightly more highbrow (and definitely more apocryphal version):
Picasso is sketching at a park. A woman walks by, recognizes him, and begs for her portrait. Somehow, he agrees. A few minutes later, he hands her the sketch. She is elated, excited about how wonderfully it captures the very essence of her character, what beautiful work it is, and asks how much she owes him. “5000 francs, madam,” says Picasso. The woman is incredulous, outraged, and asks how that’s even possible given it only took him 5 minutes. Picasso looks up and, without missing a beat, says: “No, madam, it took me my whole life.”
Or, most succinctly, from the inimitable Ronnie Coleman:
Everybody wants to be a bodybuilder, but nobody wants to lift no heavy-ass weights.
I think the best truisms are the ones that have variations that triangulate in interesting ways:
- Cowen’s point is about how discussion of high-level mastery of a task shouldn’t preclude the effort it takes to achieve it;
- The Steinmetz and Picasso anecdotes are about the inobservability of the effort it takes to get to a level of mastery;
- and the Coleman quote is about the difficulty in filling the proverbial ten-thousand-hour bucket with the requisite time and energy.
Naturally, because I am a nerd, I think about this in terms of codebases — not in terms of one person’s familiarity with a codebase or aptitude in programming, but how much effort the codebase has put into maturing itself. Does it behave like a nicely designed map, with landmarks and points of interest and the best highways highlighted so you know exactly where to go when you’re looking for a given feature or module? Is it pleasant to talk to? Is it literate?
I pushed a commit to Buttondown a couple days ago to let you sort your subscribers by name or tag in addition to date. (This is the kind of feature, by the way, that I had never really considered because I never really wanted it but two users asked for it and it seemed reasonable enough.)
It took me ten minutes to write the code, but it also took me around a year to write the code — it took Buttondown a year to figure out its frontend stack, to figure out how interfaces should be named and stored and displatyed, to figure out the visual hierarchy of the page headers, to figure out the font-face and the color scheme, to figure out the way subscriber data is fetched and persisted, to figure out the way to display subscriber data at all.
The guiding principle has to make things as obvious as possible: to reduce the number of decisions you have to make when you’re building on top of the proverbial forest. But it’s impossible to do that without spending the time and energy to go on detours; to see what works and what doesn’t; to spend an afternoon migrating to isomorphic rendering only to conclude its not worth the effort.
And to enshrine as much knowledge in the code as possible, because programming is more about epistemology than transliteration.
None of this is to say that Buttondown’s codebase is perfect. It, uh, extremely is not. But it has been a great exercise in observing the feedback loop of a myriad of small design decisions, and the joy and precision that comes with a certain level of software mise en place.