How to Solve and Understand Everything

Why First Principles Thinking will skyrocket your problem-solving abilities.

How to Solve and Understand Everything
Source: Stable Diffusion

When I clicked on it, I wouldn’t have guessed that this particular podcast would change my life. I expected entertainment, not a teaching moment that shook my understanding of how to think to the core.

The All-In Podcast is hosted by four astronomically successful investors and entrepreneurs:

  • Chamath Palihapitiya - Venture capitalist and founder of Social Capital, known for his investments in tech companies and SPACs.
  • Jason Calacanis - Angel investor and entrepreneur, founder of several companies including LAUNCH and Inside.com.
  • David Sacks - Technology entrepreneur and investor, co-founder of PayPal and founder of Yammer and Craft Ventures.
  • David Friedberg - Entrepreneur and investor, founder of The Climate Corporation and chairman of The Production Board.
Source: https://www.imdb.com/title/tt15750724/

They talk about a topic I can’t even remember, but what burns itself into my mind is how they explain their problem-solving approach. Thoughts and inspirations come and go, which makes problem-solving chaotic. But what if it wouldn’t have to be that way? Then, Chamath mentions “First Principles Thinking,” and I just have to know more about it.

When you first try to solve a big problem, it might seem unsolvable. In such cases, a shift in perspective is necessary. After you’ve identified a problem, it’s tempting to look for big-picture solutions. The difficulty with this approach is that you bite off more than you can chew. The problem rears up in an attempt to revolt against your finding its solution, which can leave you in a state of paralysis. The sheer size of the problem makes it seem unconquerable. Yet you don’t reach a mountain’s summit by taking one big leap, but by taking one small step thousands of times. You can use the same method when tackling problems: breaking them down into their most fundamental parts.

Let’s illustrate First Principles Thinking with a problem that many people face in today’s world: weight loss.

First, you need a clear definition of the problem. What people usually mean when they say that they want to lose weight is that they want to strip down body fat. But you could also lose weight by losing muscles or water. That’s why it’s important to be specific.

The problem: “My body weight is too heavy at the moment due to excess body fat. In order to reduce my body weight, I want to lose body fat to feel healthier.”

Now that the problem statement is clear, we can use First Principles Thinking to craft a solution.

  • Humans consume energy in the form of food. This energy is calculated in calories.
  • Humans need an individual amount of calories to maintain body weight.
  • If the amount of calories consumed is close to this number, body weight stays the same.
  • If the amount of calories consumed exceeds this number, body weight increases.
  • If the amount of calories consumed is less than this number, body weight decreases.

Of course, the workings of the human body are much more nuanced than this. But these nuances pale in importance to the fundamentals listed above—and these state that if you want to lose body fat, you have to be in a caloric deficit.

First Principles Thinking is much more versatile than being a mere problem-solving tool. It’s also highly effective at explaining and understanding difficult concepts.

I am currently self-studying how to build phenomenal software. So I start by looking at software from a big-picture perspective:

  • The main function of software is its ability to give a computer step-by-step instructions on what it should do.
  • These instructions manipulate data, which is information.

Okay, that’s a start. Now we must get much more granular than this. For example, now we can ask why software has the ability to give a computer commands.

  • In its most fundamental form, software tells a computer what to do with binary commands. Binary is a numerical system that consists of 0s and 1s.
  • Because it would be impractical and difficult to write every program in binary, the way in which we talk to computers is through programming languages. These programming languages are easier for humans to understand since they're abstracted from computer code. This principle is called abstraction. The level of abstraction classifies a programming language as either a low-level or a high-level language. The closer it is to machine code, meaning only 0s and 1s, the more low-level the language is. The higher the abstraction from machine code, the more high-level the language is.
  • Just like our human languages, programming languages have their own structure, syntax, and elements—and they talk in computer code.
    In human language, one might ask you to find the sum of all even numbers between one and ten. If you want to ask a computer the same question, it would look like this in the programming language called Python:
  • The best written computer code is useless if it doesn’t follow a logical progression. That’s why logical principles are at the core of software. Examples of these logical principles are if-then statements, loops, and functions.
  • Now we know how the “machine” of software works. But without a clear goal, a machine has no purpose to exist. So software needs input in the form of data. Then, it manipulates this data. Finally, the manipulated data is delivered in the form of an output.
Source: Courtesy of Board Infinity.

Now that we have laid down the groundwork for understanding software, we can go back to the statements before and build upon the foundation.

  • By writing computer code, we’re able to give the computer instructions.
  • When we put these instructions in a sequence, we create an algorithm. An algorithm is a set of instructions that we give a computer to complete.
  • Algorithms are part of computer programs and, thus, software.

These are the fundamental building blocks of any software. You can spend a lifetime studying any particular field, but you will find that the fundamentals don't change. By understanding the fundamentals to perfection, you can understand any concept of any domain of knowledge.

We all face problems that seem insurmountable every single day. What we don’t realize is that the majority of the time they just puff up their chest to dissuade you from solving them. First Principles Thinking dispels the veil of smoke. It can give you the superpower of not just knowing, but understanding.

Think clearly—think from First Principles.