When faced with an open-ended and complex problem with no clear solution in sight, what’s the best way to tackle it? In the past, I’d usually start by panicking, overwhelmed, and generally being clueless about where and how to start. But over time, from experience and from reading about various problem solving frameworks, I started to form a mental model for approaching these complicated problems. The more I practice, the more I see that mental model being applicable in different situations. Whether I’m in a technical coding interview, managing a product, or working on my thesis project, the same framework applies in very different scenarios. Because it’s so useful and pervasive in my everyday life, I feel it’s worth the time to summarize that mental model. So here it is – a general problem solving mental model for tackling most, if not all, problems in life.

general-problem-solving-stack

Most of these ideas originated from other sources, and I simply aggregated them and blended them into broader themes. If you’re interested, you can read more from: