Open it up. Rustle Around. Think About It. Find a New One. Connect. Repeat
Everything we explore is Edges (connections) and Nodes (infinitely recursive black boxes).
Some people liken the process of learning to building a house (or house of cards lolol).
The metaphor holds when we think about laying foundations, then building another layer on top of that foundation, and repeating upwards to the house size of your choice and I think for big things (like “math” as a skillbase) that’s pretty helpful. If you miss something big in your education, then your house is flimsier for it and eventually might fall down as you meet progressively more complex challenges.
It’s rarely that clear of a connection between missing knowledge and disaster. Sure, it follows clearly with things like sloppy multiplication or unlearned geographic facts, but the fuzzy, “we’ve always done it this way” systems we learn with a nonobvious logical flow (aka the systems we have to learn all the time on the fly) can often still be usefully applied without a rigorous foundation in every single thing you’re ever supposed to learn.
The “house” learning model also completely falls apart when considering the infinite things you’ll need to learn and connect back to your pre-existing “education house” that you’ve built over your entire life. What do you do with all that new stuff?
Do you build neighborhoods? Cities? A network of egalitarian communes with a postal service to exchange best practices?
Ok - metaphor exhausted. Let’s reframe.
Think of learning a process as identifying the connections between a cluster of black boxes in a huge, foggy room.
Hear me out.
When you start, you just see fog. You know you’re probably in the right room (because someone [or Google] just dropped you off here and said “hey this is the place where you need to figure it out”), but you’re not sure of much beyond that.
You’re basically aware from previous experience that this room is probably node that has edges connecting to other things outside of it and probably has more nodes inside of it.
Not much to go on, but that’s where we are.
As you figure some things out (maybe through banging your head against the wall, maybe through reading some documentation, maybe through asking some experts), the relationships within the fog clear up a bit so you can see the boxes more clearly in spatial relationship to each other.
Some of the black boxes themselves might be clearer than others as you bring existing experience with them to the table. Some boxes might look like other things you’ve seen before so you have some tentative hypotheses about how they could work. Eventually, as these boxes become more clear, they will probably reveal more black boxes (but we’ll deal with that later)!
Then eventually you’ve charted out the edges of this thing you’re trying to understand (mostly). You can start to identify the relationships between the components. You realize what boxes need to talk to what and the kind of data that is passed between those system components. This process is awesome and miserable. You’ll probably miss some things, but perhaps not anything you can’t muscle your way through. Some relationships (edges) you thought existed turned out to be wrong so you revise your mental picture.
Soon you’re in a place that looks like this.
So now the world is your oyster!
You’ve mastered this arcane system and understand how to move bits and bytes around at your command. You build whatever you’re supposed to be building using your newfound mapping of this process flow. It’s going great, you’re knocking out tasks, and slowly but surely you’re creating something. You start to realize even more stuff as you’re going along. You’re the giga-est of the gigabrain chads! You are now confident that you have what it takes to understand a new, hard thing. So you get excited.
Except actually now you see the problem set like this.
So you know it goes deeper.
And when you come across a new problem with, say, your front end that you’re confident you can tackle you don’t hesitate. You dive in. You start scoping. You start speccing. It’s not a huge problem, but you put your big project on temporary pause so you can understand better how to exactly do that one specific thing that you are sure needs to happen.
And thus you open your first nested black box for the first time since you started and find this.
Ah shit. It’s the same. You’re dumb again. There are things you sort of know how to deal with and things you don’t really know and there are things at the periphery of your awareness and also things you definitely don’t know anything about.
Where do you start? How did you start the first time? fuck I don’t remember.
Or you can stay focused on your big problem. Avoid the siren call of “maybe this will help make my thing better tho”. You’re confident you can deliver value, but maybe not as much value as just doing the damn thing you’re supposed to be doing? Hard to tell.
The answer depends on you and your context.
Are you an academic or an operator right now?
An academic has the luxury of studiously reviewing all the data, formalizing thoughts into a multi-year research effort, and eventually publishing their results for other academics to enjoy. Maybe someday it will benefit society.
An operator does not.
She must solve problems today. And then she must solve different problems tomorrow. And then the next day too. Ad infinitum. So she needs a different approach.
Her challenge is understanding which boxes are fine to stay opaque (for now or forever) and which boxes need to be opened.
(These roles aren’t a philosophical death sentences btw)
They’re just a way to frame your constraints and problem sets in this current moment. Professors might need to be in “operator” mode to hit a deadline and operators might dive into “academic” research mode to get historically grounded in a new industry.
So are you an academic or an operator right now?
Open and Closed Boxes
Opening boxes for the pure sake of opening boxes is truly fun af, but it doesn’t necessarily get us closer to launching an MVP or reaching product/market fit.
Sometimes it does though, but those are generally the exception rather than the rule. Coincidentally, this dynamic is why I think developers love Google as a story. It gives them permission to explore. Just studying how the internet worked in the mid nineties was enough to build one of the most powerful companies of all time. This obviously glosses over all of the real operator work that built Google in the past two decades, but nonetheless the narrative is compelling to those who like opening boxes.
And rightly so!
Exploration is a powerful instinct to cultivate and it’s critical to solving novel problems.
Yet most problems aren’t novel. They’ve been solved before by someone and sometimes you just need to download their consciousness into your brain (Matrix style), adapt it to your own problem, and move on to the next one.
Accordingly, pragmatic learning is really just picking the right boxes to open up while aggressively ignoring the wrong ones.
I can feel this raising hackles on Hacker News as I type this.
I think the concept of intentionally limiting your learning really bothers some experts because they think it implies that the effort they spent opening ALL the boxes was a waste of time.
But you don’t need to open all of the boxes to solve your not novel problem. And them’s the facts!
Aspiring gigabrains should pick a longitudinal career path or become independently wealthy because unless you shape your life to have the spare capacity to pursue the true academic path above - you physically can’t explore everything about a domain and also do a lot of other things (even though its really really fun).
Be a professor or get a PhD so you can get slurped up by big tech or join a think tank or invent Ethereum or something. Everything else is just a compromise between an academic vs operator lifestyle (I don’t make the rules - PG does).
Thus we realize the need to allocate your finite time thoughtfully and deliberately.
But within the tension of academic and operator mindsets, we also find some interesting truth.
You need both to solve the hardest problems.
Sometimes you need both on the same team.
Sometimes you need both in the same head.
There is a terrifying moment for all that love to learn in which they realize there will always be more boxes to open.
There’s a flash of realization that you are building an antilibrary and not a memory chamber. There’s an instant where you see yourself as Sisyphus rolling boulders up a hill of knowledge that you will never crest. Feels bad, man.
Of course, the healthiest reaction to this feeling is relief that you are now free of the burden of understanding the world to perfection.
You theoretically can chase forever the problems that you care about without that extra weight of responsibility of total mastery of a domain as you will never achieve it.
Except sometimes you’ll dwell too much on the fact that you will never perfectly know something - even yourself.
And the question always lingers on whether it’s worth it still to try…
How deep will you go, dear reader?
I hope this added value to your day.
Open black boxes with me on Twitter (@frozenfire42)!
For everything else - Let’s Chat
Please share with someone who might find this interesting