.agents/skills/reducing-entropy/references/simplicity-vs-easy.md
Simple and easy are not the same thing. We conflate them constantly, and it costs us.
Easy changes over time as you learn. Simple is absolute.
When we reach for the "easy" solution - the familiar pattern, the framework we know, the abstraction we've used before - we often add complexity. The easy path introduces concepts that intertwine with others.
The simple solution might be unfamiliar. It might require thinking. But it doesn't braid together concerns that should be separate.
"Complect" means to intertwine or braid together.
Complexity comes from braiding together concepts that should be separate. Every time we couple things, we create complexity. Every coupling is a future debugging session.
Simple means:
If you can't explain it simply, it's too complex.
When designing, ask: "Am I choosing this because it's simple, or because it's familiar?"
Familiar feels productive. Simple is productive - over the lifetime of the code.
Choose simple over easy. Always.