[ [home] ](/)
# Code as Evolving Scaffolding
Every program is just scaffolding for your next understanding.
Been thinking about this scaffolding metaphor. It works on multiple levels:
Immediate level:
- Code = temporary structure
- Real value = data collected + the collected test suites
- Don't over-invest in the scaffolding
Deeper level:
Each program is scaffolding for understanding the next version of the problem:
- V1: Build something simple that works
- V2: Realize the real problem through using V1
- V3: Rebuild for the actual problem
- V4: Discover even deeper patterns
- Repeat
The code isn't just temporary because we'll rewrite it. It's temporary because our understanding keeps evolving:
- Initial code = scaffolding to start collecting data
- That data = reveals deeper patterns
- Those patterns = lead to better data models
- Better models = enable next evolution
Your current understanding is probably wrong. Build simple scaffolding that lets you discover why.