Closed swyxio closed 2 years ago
Great read, you have a line in there that has me a bit confused though. You say
You are being illogical when you reason by deduction.
But I thought the Logic section was the example of Deductive reasoning. Am I reading/understanding that wrong?
source: devto devToUrl: "https://dev.to/swyx/how-i-approach-first-principles-thinking-4bmb" devToReactions: 46 devToReadingTime: 7 devToPublishedAt: "2020-03-01T05:20:44.646Z" devToViewsCount: 687 title: How I Approach First Principles Thinking subtitle: via Logic and Epistemology published: true description: An explanation of First Principles via comparing Inductive vs Deductive Reasoning, and thoughts on Applications category: essay tags: Reflections, Advice slug: first-principles-approach date: 2020-02-28
In a recent conversation I had with someone I admire, they commented that they really liked my way of explaining things from first principles. I was quite struck by this in 3 ways:
I think it is worth introspecting on why First Principles Thinking works and how to do it, so I can consciously try to do it better.
First Principles Thinking
First Principles Thinking (FPT) is starting from unequivocal base facts and building up toward some vision or explanation of reality. It involves reasoning by deduction rather than by analogy or appeal to authority. It's been called the Dumbest Thing Smart People Do.
Ironically, plenty of explainers (1, 2, 3) on FPT immediately appeal to authority like Naval or Charlie Munger or Elon Musk. Elon probably has done the most to popularize it in recent memory, but if you must be sold on basis of authority then you haven't really got the point of FPT.
To embrace FPT, you need to understand the philosophy of logic and epistemology.
Logic
I first encountered this via a philosophy lecturer I had in junior college, Lionel Barnard (who was actually supposed to teach Economics, but preferred to turn our class into a little PPE program for our intellectual gratification). In particular I have always favored the format of Syllogism, which takes a form like this:
That
β΄
symbol denotes a logical and inevitable-to-the-point-of-truism consequence of the first two propositions. This underlies a lot of how proofs are done in Math, and the other basic sciences - take N facts, put them together, derive a new, more useful fact that is as real as those other facts.You can't get very far if you only rely on facts, though, because there are many more unknowns and indeterminate or stochastic processes than there are facts. So you can supplant your syllogisms with Axioms - assumptions that you take to be true. You don't HAVE to prove them true, but you can show by deduction that given an acknowledged set of assumptions, you can arrive at a logically sound conclusion. This is FANTASTIC, because it lets you enumerate your beliefs, and allows you to change your mind instantly if your assumptions are proven wrong (especially handy because you can't prove a negative).
So that's great - who would argue against Logic?
It turns out that logical deduction has limits, and in fact takes a lot more effort (in corralling facts - sometimes your facts are actually lies, hence the reproducability crisis - and validating the integrity of the logical chain of arguments), and by far the more prevalent method we operate on is Induction. We study this in Epistemology.
Epistemology
Epistemology (pardon the jargon) address the question of how we know what we think we know.
There are many approaches to the study of Certainty so I will blithely ignore most of them and contrast two: Induction vs Deduction.
I have already presented deductive reasoning above - given a base set of general facts, we build up as high as we can to useful general conclusions.
Inductive reasoning is the opposite - taking specific real world observations and generalizing them to general truths. This is problematic in SO many ways, and we have known this for hundreds of years, but yet this is how most of us conduct our businesses, lives, and core belief systems.
This is how insidiously persuasive induction is:
We do this every day.
We dress induction up in statistics and numbers to make it feel more truthy. We call ourselves things like empirical or data-driven. We look at someone's resume for assessing capability to do a job - unobjectionable at first glance, until you see how much people's opinion changes when "A went to Harvard" or "B was the guy who took X from 10-100m in ARR", implicitly projecting that that transfers. When hiring for a thing (say, a job in React) we overweight people who have done the thing (a previous job in React) over people who could do the thing (anyone with extensive experience in JavaScript/webdev). We keep up on news and trends and competitors and neighbors and peers and celebrities and friends and family and that represents our reality. And rarely question its nature and limits.
Induction and Deduction are not on equal footing. As a rule, induction datapoints are far more readily available, while deductive facts are far more timeless yet costly to pin down. Humans are GREAT at backfitting/rationalizing from present datapoints, but terrible at examining the basis of their beliefs.
Addressing your Epistemology head-on is supremely important for decision-making - because if you don't know how you know what you know then how do you have any faith in the decisions you make based on that knowledge?
But it is also important tool for explaining mental models - because you can either fill your explanations with a bunch of incidental junk complexity, or you can start from a bunch of irrefutable base facts and build up to something more significant in its presentation.
If you aren't impressed by this and think this is all faffy mumbo jumbo, let me put it to you this way:
You are being illogical when you reason by deduction. That's fine, so long as you know it. The danger is when you can't imagine what you don't know, and get offended or take action to deny or obstruct the pursuit of truth.
Applications
My talk on Getting Closure on Hooks was cited as a "First Principles" talk, as is the followup on Concurrent React. I think all talks and blogposts in the From Scratch genre, like this on React Router or this on Redux or this on the hardware-software interface is great First Principles fodder. There's even an entire repo on GitHub for Build Your Own X projects!
But of course, First Principles can be applied far beyond code. A good general set of first principles for any system is now in vogue as Systems Thinking, quoting Donella Meadows:
I have in my head a set of other questions I also like asking:
Further Reading