Simple Made Easy
Central idea
Choose structures that keep concerns separate, even when a more familiar tool feels easier in the moment.
Summary
Simple and easy are different. Simple means one concern is not intertwined with another; easy means familiar, nearby, or quick to acquire. We often choose ease during implementation and then force every future reader to carry the resulting complexity. Hickey argues that simplicity is an objective property of an artifact and a prerequisite for reliable reasoning. Separate state from identity, values from processes, and policy from mechanism. Judge tools by the systems they produce, not only by the convenience they offer their author today.
Key ideas
Easy is relative
Familiarity and proximity vary by person and time; they do not tell you whether a design is entangled.
Complexity compounds
When independent concerns become interleaved, testing, change, and debugging require reasoning about every combination.
Compose simple parts
Simple components can still build rich systems when their boundaries and coordination are explicit.
A simplicity check
One concern per construct.
Values, identity, state, and behavior remain distinct.
Independent parts can change without combinatorial coordination.
Composition is explicit at the boundaries.
Simple is not the same as easy.
Why it matters now
AI makes the easy path even easier. Engineers must still notice when a convenient generation choice quietly increases long-term system complexity.
Continue with the original
This short version preserves the main argument. Follow the source for the complete talk, article, or book.