First principles and asking why

comments 5
Growth

But why?

I was in a supermarket recently, and at the other end of the aisle I could hear a parent getting continually more frustrated. What should have been a relatively simple trip to purchase some groceries had been turned into a consistent barrage of questions. Their young child had entered the why stage. No action or decision was safe from the dreaded why.

Why were they going down this particular aisle? Why was it cold in this part of the supermarket? Why does cheese need to be refrigerated after all? No topic was taboo. Parents who are unable to deal with the persistent barrage of whys find the dialogue drifting off into the absurd, where they find themselves explaining why trollies have wheels, why shops exist, and why we even need to eat food in the first place. Why? Why?!

Adults find this behavior incredibly annoying. Children in the why phase manage to highlight just how much of the world that we, as adults, don’t tend to spend too much time thinking about. As we age, we reason at ever more abstract levels that don’t need to be concerned with. For example, we don’t care exactly how a car is put together – we just drive it. This ability to think abstractly and to build upon abstract concepts with even more abstract concepts has allowed the human race to flourish. Right now I’m not thinking at all about how my keyboard works, or how my operating system works, or how machine code is being executed by the processor on my laptop. I’m just writing.

But listening to this child constantly asking why made me think: why don’t we do this more as adults?

Conserving power

In an evolutionary sense, the ability to work in abstractions allows us to conserve vast amounts of brainpower. Imagine the overwhelm of having to concern yourself with how everything works all of the time, from gravity to your musculoskeletal system, to your heart, the hardware and software stacks of your phone, and so on. We wouldn’t leave our beds. Trust in abstractions and analogies allow us to function.

But consider the flip side: how much do we refuse to question because it seemingly is good enough right now? How many poor or inefficient decisions have come of a result of not challenging the status quo?

As a manager, compared to an individual contributor, you have the ability to veto a number of decisions, such as the priority of projects, who to hire and how to get work done. Depending on your seniority in the organization, you may be able to make critical strategic decisions such as whether to move all of your applications into the cloud, whether to acquire another company, or whether to lay off half of your staff after a disappointing year.

You therefore owe it to yourself to improve your critical thinking skills. You can partition these skills into two categories:

  • Using why to critique existing ideas
  • Using first principles to construct your own

These thinking techniques are interlinked. As the child in the opening example showed, continued use of why helps distill an idea into first principles (or lack thereof). When building new ideas, application of first principles should result in well-formed ideas that can stand thorough application of why.

Using questions to interrogate assumptions

Let’s start by exploring the power of why.

A common practice when there is an incident such as downtime of an application, or a critical bug that caused reduced service or corrupted data is a 5 Whys session. It is a technique to uncover the root cause of issues. Typically the application of five iterations of “why?” can uncover the next steps that the team needs to take to prevent the incident from happening again in the future.

As an example, let’s assume that your application is down.

  1. Why? Because the API stopped serving any requests.
  2. Why? Because the latest deploy caused a deadlock when the application started up.
  3. Why? Because the production environment has many more concurrent requests than the testing environment, and a non-thread safe data structure was used.
  4. Why? It wasn’t thought about during development. The tests all passed.
  5. Why? The automated tests don’t cover any high-throughput scenarios.

We hit the root cause by the 5th why. The action is to improve the automated tests to incorporate a load simulation of the live environment.

It’s extremely useful to apply questioning to situations where something has gone wrong. But we should also be applying critical questioning in order to test assumptions about seemingly good processes and decisions. Because humans operate in abstractions, and because we can become comfortable with those abstractions, we can sometimes not question them enough as we should do. A key skill as a manager is being able to question everything for the greater good of the business.

Now, your reason for doing this isn’t because you are trying to be annoying, nor is it because you don’t inherently trust the instruction or direction that you are being given. That couldn’t be further from the truth! Instead, you should be applying a critical mindset to everything that you’re involved in because, when handled personably, it can challenge existing ways of thinking and produce better results.

For example, many businesses operate under the assumption that running any of their applications in the cloud is too expensive in the long term. This thinking can stifle innovation. Let’s apply a similar questioning technique to the 5 Whys example above.

Let’s assume that your team wants to build a new part of the application in the cloud, but are facing resistance.

  • Why? We don’t build applications in the cloud because it is way too expensive.
  • Why is it expensive? When we compare the cost of cloud instances to the cost of buying hardware and paying it off over three years, it costs more money.
  • Why is that the case? We did a comparison of running our existing infrastructure in the cloud two years ago, and the costs were almost double.
  • Which parts were most expensive? Any instances that required reservations of SSDs or GPUs were dramatically more expensive than buying the hardware ourselves.
  • The new part of the application does not require SSDs or GPUs. What would that cost? Looking at the pricing plans now, it seems that the cost of reserved instances is about equivalent to the cost of buying our own hardware. Still, we’re used to buying our own hardware, so we should just do that.
  • But are there other costs with buying our own hardware? I guess there is the time that it takes for us to build and rack the new machines – we could be doing something else instead, plus the extra power consumption in the data center, and the additional spares we’d need to keep as well. We’d also need to deal with anything that breaks, such as replacing drives or PSUs.
  • What do you think about using the cloud for this new part of the application now? Actually, it’s not that bad. We should think about how we can save time and effort by putting more stateless parts of the application in the cloud.

OK, so the example is a little contrived, but I hope that it illustrates a point. We can use questioning to break down assumptions to their root (i.e. an assumption that all cloud compute is too expensive) and then see whether that still holds true. Using this technique with skill can potentially save you and your business a lot of time and money.

Thinking from first principles

When we use critical questioning to challenge existing assumptions, we dig right down to the building blocks that those assumptions are based on. These building blocks are called first principles. By definition, a first principle is a self-evident proposition or assumption that cannot be deduced from any other proposition or assumption. In the above example, the first principle that the assumption was based on was that all cloud compute was too expensive, but that wasn’t actually true.

When approaching new problems and coming up with your own ideas, you should think in terms of first principles to improve the clarity of your thinking. As mentioned previously, our ability to think in abstractions can weaken our judgement, as those abstractions may no longer be as true as they once were. Also a similarly dangerous evolutionary trait is our ability to think in analogy, where we make assumptions based on the comparison of two things that are not actually related. We can also be on top of Mount Stupid.

For example, if your boss approaches you saying you need to build something like Facebook for marketers, then the critical thinking that should have been done to fully explore the problem is being masked by analogy: of course, Facebook is successful, so if we just replicate that for another problem domain then it will definitely be a success, right? Wrong. Instead, you need to think from first principles. What does Facebook for marketers actually mean? Is it about connecting marketers together? Is it about sharing insight or information with each other? Is it enabling communication within a company, or globally? Is it simply being able to easily search for data within their business? What problem exactly needs to be solved?

It’s always easier to reason by analogy than first principles. I recommend watching this video about first principles thinking by Elon Musk. Despite the extra brain power required, thinking in this way leads to better outcomes. In the video, Elon describes how thinking in analogy created an assumption in the industry that batteries would always be too expensive to build. But instead, thinking about the problem from first principles, by researching the cost of each individual component and calculating the cost per kilowatt hour, revealed that previous analogy was not at all true, unlocking Tesla as a business. And as of the time of writing, they’re doing pretty well.

In summary

A key to growth in managerial roles is not simply efficient execution of whatever work that you are being given. Excellent managers are also able to think critically and apply first principles thinking to whatever work they, or the business is doing – it leads to better decisions, less wasted time and money, and more innovative products that solve users’ problems. Encourage this mindset with your team and colleagues.

5 Comments

  1. Pingback: Awesome Engineering Team Management – Massive Collection of Resources – Learn Practice & Share

  2. Pingback: Engineering Management – Reflections of a Hopeful Cynic

  3. Pingback: First Principles Problem Solving: Introduction

  4. Pingback: 电子邮件工作原理(电子邮箱基本原理) | 长喜百科

Leave a Reply

Your email address will not be published. Required fields are marked *