## Core Insight When something is getting very complex, the error in the design is somewhere far below the level where the complexity appears. You can't solve it at the level you see it — you have to go deeper. The square wheels analogy: if a car has square wheels, tuning the engine won't make it drive fast. The complexity (can't go fast) appears at the car level, but the root cause is at the wheel level. ## The Diagnostic When you encounter "unsolvable complexity": 1. Stop trying to fix it at the current level 2. Back up and look at what's underneath 3. The fundamental design flaw is usually 1-2 levels below where the pain is felt 4. Fix the foundation, and the surface complexity dissolves ## The Corollary: "What Problem Are You Trying to Solve?" When someone asks "how do I make this pony fly to the moon?", the right question is "what problem are you trying to solve?" Maybe they just need gray rocks. The pony and the moon are complexity introduced by a misframed problem. ## Cross-Domain Applications - **Debugging**: The bug you're chasing is rarely where the symptom appears. A rendering bug might be a data model problem. A performance issue might be an architectural choice. - **Career**: Feeling stuck in your career (surface) might stem from a misaligned identity or value system (below). Optimizing resumes won't fix a positioning problem. - **Relationships**: Communication problems (surface) often stem from unmet needs or mismatched expectations (below). Better "communication techniques" won't fix the foundation. ## Source - [[Code Simplicity by Max Kanat-Alexander]] — Ch 7: Complexity