Technical
Simplicity as a Daily Practice, Not a Slogan
Simplicity is the most agreed-upon principle in software and the least practiced. Every system I audit is more complex than it needs to be. Including systems I built. Closing that gap requires daily practice, not a values statement.
The Daily Simplicity Practice
Every morning I ask one question about yesterdays work: what is the simplest version of this that would still meet the requirement. If my version is more than 20 percent larger than that version, I refactor before continuing.
This practice costs about 15 minutes a day and pays back the cost many times over.
The Complexity Taxes I Now Notice
Premature abstraction: a base class used by one subclass Generic parameterization: a config option never changed Layered indirection: three files to read one value Framework overkill: a library where a function would do Clever syntax: a one-liner that took ten minutes to understand Exception hierarchies: five error classes that all get caught the same way
Each is a tax. The tax compounds. The refund is possible but expensive.
The Simplicity Moves
Inline single-use abstractions. Delete config options no one uses. Collapse three helper files into one. Replace the library with ten lines. Rewrite the one-liner as six clear lines. Delete four of the five exception classes.
# Before
class DocumentProcessor(BaseProcessor):
def __init__(self, config: ProcessorConfig): ...
# After
def process_document(doc): ...Both work. Only one is simple.
The Hard Part
Simplicity feels under-engineered to engineers trained on patterns. The pattern habit is deep. Resisting it requires confidence. Confidence comes from seeing the simple version ship and hold up.
The Client Benefit
Clients love simple code because they can read it. When a client can read the code, they can trust the vendor. When they can trust the vendor, they renew. Simplicity is a retention strategy, not just an aesthetic.
Further Reading
Rich Hickey on Simple Made Easy is the talk. Watch it twice a year.
Simplicity is a daily verb, not a slogan.
RELATED READING
The Consulting Shift I Am Making In Year Two
After a year of writing and building, my consulting practice is changing shape. Shorter engagements. Sharper outcomes.
ReadThe Frontend Shift: Shipping Less JavaScript In Year Two
A year ago I reached for Next.js for everything. This year I often reach for nothing.
ReadThe Serverless Lesson I Would Write On A Sticky Note
After a year of shipping serverless projects, one rule explains most of the wins and all of the losses.
Read