Describe a familiar system for 10 minutes without evaluating it
When encountering a familiar system or codebase, force yourself to describe what you observe using only concrete sensory details for 10 minutes before applying any evaluative categorization or pattern labels.
Why This Is a Rule
Expertise creates perceptual shortcuts: you see a codebase and immediately categorize it ("this is a standard MVC pattern," "this is over-engineered," "this needs refactoring"). These categories feel like observations but are evaluations — they compress thousands of concrete details into a single label that stops further looking. Once you've categorized a system as "standard MVC," you stop noticing the parts that don't fit the pattern.
The Zen concept of shoshin (beginner's mind) applied to technical work means deliberately suspending your expert categories and returning to raw observation. For 10 minutes, describe only what you see: "This function takes three parameters, calls two external services, and catches one exception type." Not: "This function violates single responsibility." The concrete description forces you to see what's actually there rather than what your pattern library expects to see.
This is especially powerful for familiar systems, where your mental model is most likely to diverge from reality. The system has evolved since you last looked closely, but your cached evaluation hasn't.
When This Fires
- Returning to a codebase you haven't touched in months
- Reviewing a system you originally designed (where your mental model is strongest and most outdated)
- Starting a debugging session in familiar code
- Any time you feel you already know what you'll find before looking
Common Failure Mode
Describing for 2 minutes, getting bored because "I know this system," and switching to evaluation mode. The 10-minute constraint is the point — the first 2-3 minutes produce descriptions that match your existing model. Minutes 4-10 are where you start noticing things that don't match. The boredom is a signal that your expert categories want to take over. Push through it.
The Protocol
Set a 10-minute timer. Open the system/codebase. Write only concrete descriptions: file names, function signatures, data flows, dependency counts, error handling patterns. No adjectives (good, bad, clean, messy). No pattern labels (MVC, microservices, monolith). No evaluations (over-engineered, under-tested). After 10 minutes, read your descriptions and ask: "What surprised me?" The surprises are where your mental model had silently diverged from reality.