The 42 Principles · Principle XXXVI
Every Product Should Teach
Products, tools, documentation, and interfaces that leave users more capable and less dependent.
Foundational Truth
A great product does more than perform a function.
It leaves the user more capable than before.
Every interaction is an opportunity to teach.
Sometimes through documentation.
Sometimes through thoughtful design.
Sometimes through meaningful feedback.
Sometimes by simply making the next step obvious.
The best products don't require users to memorize them.
They quietly help users understand them.
The greatest products don't simply solve problems. They create more capable people.
Teaching Is a Feature
Many teams think of education as something separate from the product.
Training manuals.
Knowledge bases.
Documentation.
Support articles.
Those are valuable.
But teaching can also exist inside the product itself.
Helpful error messages.
Logical workflows.
Clear naming.
Sensible defaults.
Progressive discovery.
Well-designed interfaces naturally guide users toward understanding.
Every unnecessary support ticket represents something the product failed to teach.
Discoverability Creates Confidence
One of my favorite moments with any technology is discovering a feature I didn't know existed.
Not because someone told me.
Because the product naturally led me there.
Great products encourage exploration.
They reward curiosity.
They help users grow from beginners into experts.
Not through complexity.
Through thoughtful design.
The product becomes its own teacher.
The best documentation is sometimes an interface that needs almost none.
Documentation Is Part of the Product
Documentation is not an afterthought.
It is not something created after the product is finished.
It is part of the experience itself.
Good documentation answers questions before they become frustrations.
It explains not only how something works...
But why it was designed that way.
It shortens onboarding.
Reduces support.
Builds confidence.
And leaves every user better prepared for the next challenge.
A product without documentation is asking every customer to rediscover the same lessons.
Every Interaction Teaches Something
Whether we intend it or not...
Every product teaches.
Confusing interfaces teach hesitation.
Poor error messages teach frustration.
Unpredictable behavior teaches distrust.
Clear workflows teach confidence.
Helpful automation teaches best practices.
Thoughtful feedback teaches understanding.
The question isn't whether your product teaches.
The question is...
What is it teaching?
Products Create Communities
The products that endure rarely succeed because of functionality alone.
They create communities.
Communities create knowledge.
Knowledge creates innovation.
Innovation attracts more users.
Eventually the product becomes larger than the company that created it.
That begins when users feel empowered rather than dependent.
Teaching creates that empowerment.
Closing Thought
Every release should improve more than the software.
It should improve the people using it.
Build products that solve problems.
Then build them so well that every interaction quietly teaches someone something valuable.
The greatest products leave their users smarter than they found them.
Design for Discovery
The best products rarely reveal everything at once.
Instead, they reward curiosity.
A new user learns the basics quickly.
An experienced user gradually discovers shortcuts.
An expert uncovers capabilities that dramatically improve productivity.
Great products grow with the user.
They never overwhelm beginners.
They never limit experts.
Teaching is not about presenting every feature immediately.
It is about revealing the right feature at the right time.
Great products don't overwhelm. They illuminate.
Good Design Answers Questions Before They're Asked
Every user approaches a product with uncertainty.
"What does this button do?"
"Can I undo this?"
"Is this safe?"
"What happens next?"
Thoughtful design answers those questions before the user has to search for them.
Clear labels.
Logical workflows.
Meaningful confirmations.
Helpful defaults.
Consistent behavior.
Every uncertainty removed increases confidence.
Confidence encourages exploration.
Exploration accelerates learning.
Error Messages Are Teachers
One of the greatest missed opportunities in software is the error message.
Too many applications simply announce failure.
"An unexpected error occurred."
"Operation failed."
"Unknown exception."
Those messages teach nothing.
A useful error message explains:
What happened.
Why it happened.
What the user can do next.
The goal is not merely reporting failure.
The goal is helping the user succeed.
Every error becomes an opportunity to teach instead of frustrate.
Documentation Should Inspire Confidence
Documentation is often written as though it were a legal contract.
Technically accurate.
Practically unusable.
The best documentation teaches progressively.
It begins with simple examples.
Builds understanding.
Explains the reasoning behind decisions.
Answers common questions.
Provides practical guidance.
Good documentation doesn't simply explain a feature.
It helps users understand the philosophy behind it.
When people understand the "why," they remember the "how."
Build Products That Reduce Dependence
Some products quietly encourage dependence.
Users constantly require support.
Training.
Clarification.
Expert assistance.
Other products do the opposite.
They steadily reduce the amount of help users need.
Each interaction builds confidence.
Each success encourages another.
Eventually the user becomes self-sufficient.
That is one of the highest compliments a product can receive.
A product succeeds when its users need you less because you've taught them more.
Every Feature Should Have a Purpose
Features are not accomplishments.
Outcomes are.
Every feature should answer one simple question.
"What problem does this solve?"
If the answer is unclear...
The feature probably isn't.
Adding functionality simply because competitors have it creates complexity.
Adding functionality that teaches users a better way to work creates value.
Purpose should guide every decision.
Learning Creates Loyalty
People remember products that made them feel capable.
Not confused.
Not intimidated.
Capable.
Those products become recommendations.
Recommendations become communities.
Communities become ecosystems.
Customers rarely remain loyal to products they struggle to understand.
They remain loyal to products that helped them grow.
Closing Thought
Every interaction leaves the user with something.
More confidence.
More confusion.
More understanding.
Or more frustration.
Choose intentionally.
Build products that quietly teach with every click, every message, every workflow, and every success.
The most valuable feature you can build is the confidence your users gain from using your product.
Products Become Silent Mentors
Every product teaches something.
Sometimes intentionally.
Sometimes accidentally.
The products that endure become silent mentors.
They patiently guide users.
They answer questions.
They encourage exploration.
They reward curiosity.
They quietly build confidence one interaction at a time.
The creator may never meet the person learning from their work.
The lesson still reaches them.
The best products continue teaching long after their creators have gone home.
Empowerment Is the Goal
A product should not exist to make users dependent.
It should exist to make them capable.
The first interaction may require guidance.
The tenth should require confidence.
The hundredth should inspire mastery.
When users feel empowered, something remarkable happens.
They stop asking,
"How do I use this?"
They begin asking,
"What else can I accomplish?"
That is the moment a product becomes transformative.
Build Curiosity Into the Experience
Curiosity is one of the greatest accelerators of learning.
Thoughtful products encourage it.
They make exploration feel safe.
They reward experimentation.
They provide feedback without punishment.
Users discover features because they are naturally drawn toward them.
Not because they memorized a manual.
Learning becomes enjoyable instead of intimidating.
The best teachers don't force curiosity.
They inspire it.
Teach Principles, Not Just Procedures
A button teaches a task.
A workflow teaches a process.
A thoughtfully designed product teaches principles.
Why this approach is safer.
Why this automation saves time.
Why this security setting matters.
When users understand the reasoning behind a feature...
They become capable of solving problems the product was never explicitly designed to address.
Teaching principles creates independent thinkers.
Not dependent operators.
Procedures create users. Principles create experts.
Products Shape Expectations
Every interaction establishes expectations.
A confusing product teaches users to hesitate.
An unreliable product teaches them to distrust.
An intuitive product teaches confidence.
A thoughtful product teaches discipline.
Eventually users begin expecting the same quality everywhere else.
That's one of the greatest compliments any creator can receive.
Your product quietly raises the standard.
Not because it demanded attention.
Because it demonstrated a better way.
The Greatest Support Ticket Never Exists
Many organizations measure success by how quickly they resolve support requests.
That's important.
A better question is:
How many support requests never needed to happen?
Clear documentation prevented one.
Helpful onboarding prevented another.
An intuitive interface prevented hundreds more.
The highest form of support is prevention.
Teaching makes prevention possible.
Products Multiply Knowledge
A mentor teaches one person.
A classroom teaches dozens.
A book teaches thousands.
A remarkable product teaches everyone who touches it.
Every improvement you make...
Every explanation you write...
Every thoughtful workflow you design...
Has the potential to educate someone you'll never meet.
Knowledge scales remarkably well when embedded inside products.
Questions to Ask Yourself
- What is my product teaching today?
- Where do users become confused?
- What question can I answer before it's asked?
- Does this feature create confidence or dependency?
- Have I explained the "why" as clearly as the "how"?
- What unnecessary support request could thoughtful design eliminate?
- Will my users become more capable because of this release?
Closing Thought
Products have the power to do far more than complete tasks.
They can inspire curiosity.
Build confidence.
Create independence.
And quietly make every user a little more capable than they were yesterday.
Build products worthy of teaching.
The greatest products are remembered not because of what they did, but because of what they helped people become.
Founder's Commentary
Teach Yourself Out of a Job
One lesson has followed me throughout my career.
If someone depends on me forever...
I haven't really solved their problem.
I've only delayed it.
Early in my career, I thought expertise meant being the person with all the answers.
The one everyone had to call.
The engineer who could fix what nobody else understood.
At first, that felt valuable.
Important.
Even secure.
Then something changed.
I realized that every question only I could answer represented a failure somewhere.
Maybe the documentation wasn't clear enough.
Maybe the automation wasn't complete.
Maybe the product wasn't intuitive enough.
Maybe I hadn't shared what I knew.
Knowledge trapped inside one person doesn't scale.
Knowledge embedded inside products changes organizations.
That realization transformed the way I build.
When I write documentation...
I want someone to solve the problem without calling me.
When I build automation...
I want someone to complete a task without memorizing dozens of manual steps.
When I write a script...
I include comments explaining not only what it does...
But why.
When I design dashboards...
I want the data to answer the question before someone asks it.
When I create products...
I want them to leave people more capable than when they started.
That's success.
I've never believed support should be the primary goal of a product.
Independence should be.
The greatest compliment I've ever received isn't,
"Can you help me again?"
It's,
"I figured it out because of what you built."
That tells me the product taught something.
It created confidence instead of dependence.
That's exactly what I hoped it would do.
Some organizations unintentionally design products that require experts to operate.
Every new feature creates another support article.
Every update requires another training session.
Every workflow becomes more complicated.
I've always wanted the opposite.
I want complexity hidden behind simplicity.
I want difficult ideas explained clearly.
I want users to discover capabilities naturally.
I want people to become stronger because they used something I created.
Whether it's software...
Documentation...
Books...
Research...
Automation...
Or AI tools...
The purpose is the same.
Teach.
I've come to believe that every product leaves something behind.
Sometimes it leaves confusion.
Sometimes frustration.
Sometimes dependence.
The products worth building leave understanding.
If there is one lesson I hope every creator carries with them, it is this:
Don't ask,
"What can this product do?"
Ask,
"What will people become because this product exists?"
That's a much more difficult question.
It's also a much more meaningful one.
Technology changes.
Products evolve.
Companies come and go.
The knowledge you leave behind continues teaching long after you've moved on.
To me...
That's one of the most worthwhile things an engineer can build.
The greatest products don't create lifelong customers because people cannot live without them. They create lifelong advocates because people became better after using them.
Related Principles
Continue the idea.
These Principles share themes with Principle XXXVI.
Principle X
Readability Is Reliability
Clear communication, understandable systems, maintainable work, and respect for the person who comes next.
Read Principle X →Principle XIV
Details Matter
Precision, finish quality, care, usability, and the ordinary details that create or destroy trust.
Read Principle XIV →Principle XV
Leave It Better Than You Found It
Stewardship through small improvements, cleaner handoffs, clearer systems, and useful inheritance.
Read Principle XV →Principle XVI
Documentation Is a Feature
Documentation as institutional memory, teaching, repeatability, recovery, and reduced dependence on individuals.
Read Principle XVI →