Thinking Tools

A collection of mental models and frameworks for software engineers

Archimedean Lever

Bayesian Thinking

Brute Force

Design Patterns

Divide and Conquer

Feedback Loops

Finite and Infinite Games

First Principles

Heuristics

Inversion of Control

Inversion Principle

Knowns and Unknowns

Ladder of Abstraction

Lateral Thinking

Monte Carlo methods

North Star

Occam’s Razor

Pareto Principle or 80/20 Rule

Power Laws

Recursion

Root Cause Analysis

Scientific Method

Surface Area

System Thinking

Thought Experiment