Thinking Tools

A collection of mental models and frameworks for software engineers

Archimedean Lever

Bayesian Thinking

Brute Force

Divide and Conquer

Design Patterns

Feedback Loops

Finite and Infinite Games

First Principles

Heuristics

Inversion of Control

Inversion Principle

Knowns and Unknowns

North Star

Occam’s Razor

Pareto Principle or 80/20 Rule

Lateral Thinking

Recursion

Power Laws

Ladder of Abstraction

Monte Carlo methods

Root Cause Analysis

Scientific Method

Surface Area

System Thinking

Thought Experiment