Thinking Tools

A collection of mental models and frameworks for software engineers

Archimedean Lever

Brute Force

Design Patterns

Bayesian Thinking

Divide and Conquer

Feedback Loops

Finite and Infinite Games

First Principles

Inversion of Control

Heuristics

Knowns and Unknowns

Ladder of Abstraction

Monte Carlo methods

Lateral Thinking

North Star

Pareto Principle or 80/20 Rule

Occam’s Razor

Power Laws

Recursion

Inversion Principle

Surface Area

System Thinking

Root Cause Analysis

Scientific Method

Thought Experiment