Dragons in the Algorithm
Adventures in Programming
by Michael Chermside

Do You Remember This Stuff?

Here is a question I saw on reddit's Experienced Devs, from "CryptoNaughtDOA":

With the amount of information out there, do y'all actually remember all this stuff?

Between DS&A;, Design patterns, System design, programming languages and frameworks in depth both front and backend, Docker and K8S, Networking, how to center a div, Linux/Unix, where you put your phone, how many meetings you have tomorrow, not to mention all the ACRONYMS both tech specific and business specific.

It's just too much, or is it just me?

Here's how I answered it:

I don't remember how to center a div without looking it up. But I DO remember that centering a div is tricky, and that I need to look it up. I even remember that it got way less tricky when they added the "box model" or whatever that is called. When I need to center a div I can figure out how within 30-60 seconds worth of searching.

When I switch back to a back-end language I haven't used in a while -- say Scala or something -- I don't remember how to get an iterator and loop through it. But I know that the language HAS iterators, that the iterators preserve types, and I'm even pretty sure that they're the kind of iterators that can only be traversed once and only in the forward direction. When I need to write code in Scala I can figure out how to get an iterator within about 60-120 seconds of searching.

I know there are a bunch of meetings tomorrow, and that the first one isn't before 9:00 AM, but I haven't got the faintest idea when the meetings are. I know none of the ones tomorrow are major things that will require me to spend hours preparing. Tomorrow morning I'll look over my calendar and figure out what I need to do for the various meetings.

In other words, I rely on tooling and assistance to accomplish things. My brain remembers enough of the key ideas to be able to navigate things reasonably well, but when it comes to the details I don't even TRY to memorize them; I use systems to do that for me.

Posted Wed 26 January 2022 by mcherm in Programming