From Linear to Circular Thinking
Session 0.1 · ~5 min read
The Default Mode: Linear Thinking
Most of us are trained to think in straight lines. A causes B. B causes C. Input goes in, processing happens, output comes out. This is linear thinking, and it works well for simple, predictable problems.
If your car won't start, you check the battery. If the battery is dead, you replace it. Problem solved. The cause-and-effect chain is short, visible, and one-directional.
Linear thinking dominates how we learn to solve problems in school and early career. Decompose the problem into parts. Fix each part. Reassemble. Done.
But what happens when the parts start talking to each other?
Where Linear Thinking Breaks Down
Consider a web application that is running slowly. Three teams investigate:
- The database team optimizes queries and adds indexes. Query time drops 40%.
- The API team implements caching on the most-hit endpoints. Response times improve.
- The frontend team reduces bundle size and lazy-loads components. First paint is faster.
Each team reports success. Each part is measurably better. But users still complain that the app is slow.
What went wrong? The faster database encouraged the API team to make more frequent queries. The cached API responses caused the frontend to poll more aggressively. The lighter frontend loaded faster, which meant more concurrent users, which increased database load back to where it started.
Every "fix" created a new input somewhere else in the system. The parts interacted in ways that no single team could see from their position.
Key insight: In a complex system, optimizing individual components does not guarantee that the whole system improves. The interactions between components often matter more than the components themselves.
The Blind Men and the Elephant
The ancient parable captures this perfectly. Six blind men encounter an elephant. One touches the trunk and declares it a snake. Another feels a leg and says it is a tree. A third touches the side and concludes it is a wall. Each man's observation is locally correct but globally wrong.
This is exactly what happens in software organizations. The DBA sees a database problem. The network engineer sees a network problem. The product manager sees a feature problem. Each is right about their piece. None is right about the system.
The failure is not in the observation. It is in the assumption that understanding the parts is sufficient to understand the whole. It never is.
Introducing Circular Thinking
Systems thinking begins with a simple but powerful shift: outputs become inputs. Effects loop back to causes. The chain does not end; it curves back on itself. This idea of circular causality is central to the field, formalized by Norbert Wiener's cybernetics work (1948) and later made accessible by Donella Meadows in Thinking in Systems (2008).
In linear thinking, you draw an arrow from A to B to C and stop. In circular thinking, C connects back to A. The system feeds itself.
Linear chains end. Circular loops feed themselves.
Return to the slow application example. Drawn as a linear process, each fix looks like it should work. Drawn as a loop, you can see that faster queries lead to more queries, which lead to more load, which leads to slower response, which is the original problem. The "fix" fed the problem.
This loop is not a bug in the analysis. It is a feature of the system. Complex systems are defined by their feedback loops, and you cannot understand them without tracing those loops explicitly.
Three Properties of Complex Systems
Linear thinking fails for complex systems because it cannot account for three properties that define them:
| Property | Definition | Software Example |
|---|---|---|
| Feedback | Outputs of a process become inputs to the same or related processes | User growth increases server load, which degrades experience, which slows user growth |
| Emergence | The whole exhibits behavior that no individual part possesses | No single microservice "has" latency problems, but the distributed system does |
| Nonlinearity | Small changes can produce disproportionately large (or small) effects | A 1ms increase in API latency causes a 10% drop in conversion during peak traffic |
If feedback, emergence, and nonlinearity are present, linear thinking will give you incomplete answers at best and dangerous ones at worst. These three properties are what Meadows (2008) identifies as the defining characteristics of complex systems in Thinking in Systems, Chapter 1.
Linear vs. Systems Thinking: A Comparison
| Dimension | Linear Thinking | Systems Thinking |
|---|---|---|
| Causality | A causes B (one direction) | A causes B causes C causes A (circular) |
| Problem scope | Isolate the broken part | Examine relationships between parts |
| Solution approach | Fix the part | Change the structure or feedback loop |
| Time horizon | Immediate effect | Short-term and long-term effects (including delays) |
| Success metric | Is the part working? | Is the whole system behaving as intended? |
| Best suited for | Simple, well-bounded problems | Complex, interconnected problems |
Neither approach is universally better. Linear thinking is efficient when the problem is genuinely simple. The mistake is applying it to complex problems by default, because that is what we are used to.
When to Switch Modes
A useful heuristic: if your fix to a problem creates a new problem, you are probably dealing with a system, not a component. Step back. Draw the loop. Find the feedback.
Throughout this course, you will learn to identify these loops, map them, and design systems that work with their feedback rather than against it. Session 0.2 introduces the four foundational concepts that make this possible.
Further Reading
- Donella Meadows, Thinking in Systems: A Primer (Chelsea Green, 2008). The most accessible introduction to systems thinking. Start here.
- Peter Senge, The Fifth Discipline (Doubleday, 1990). Applies systems thinking to organizational learning and management.
- Norbert Wiener, Cybernetics: Or Control and Communication in the Animal and the Machine (MIT Press, 1948). The foundational text on feedback and circular causality.
- W. Ross Ashby, An Introduction to Cybernetics (1956). Free on Internet Archive. A rigorous but readable introduction to control systems and variety.
Assignment
Pick any application you use daily. It could be Gojek, Tokopedia, Spotify, or whatever you open most often.
- List 5 components of that application. Think broadly: the user interface, the recommendation engine, the payment system, the driver/seller network, the notification system, etc.
- Draw arrows between components to show how they depend on each other. Does the recommendation engine depend on user behavior data? Does the payment system affect what the interface shows?
- Look for at least one loop: a path where A affects B affects C and eventually something affects A again.
You have just drawn your first system map. Keep it. You will build on it in the next session.