How I removed a legacy behavior that optimized for likability—and paid for it with self-respect.
Context
I recently ran an audit on a behavioral pattern I had been running for years:
If (someone needs something)
→ respond immediately
→ say yes
→ be helpful
I thought this was a virtue.
In practice, it behaved like an anti-pattern:
It scaled poorly
It created hidden costs
It trained other people’s expectations in the wrong direction
So I treated it like deprecated code and started a refactor.
The Bug: Over-Availability as a Default State
The core issue wasn’t kindness.
It was this assumption:
My value = my availability
That assumption created predictable side effects:
No rate limiting on my time or energy
No validation of incoming requests
No distinction between urgent vs. convenient
Everything got processed.
Even when it shouldn’t have.
The Hidden Cost Model
Availability Tax
Every time I defaulted to “yes,” I paid in:
focus
energy
time I didn’t get back
The return?
Sometimes gratitude.
Occasional acknowledgment.
Nothing that actually replenished the system.
Emotional Subsidy
By stepping in too quickly, I removed friction from other people’s systems.
Which meant:
they didn’t need to solve their own problems
they didn’t need to improve
they didn’t experience consequences
I wasn’t helping.
I was preventing upgrades.
Compounding Drift
Over time, this created:
External reliability ↑
Internal alignment ↓
From the outside, I looked dependable.
Internally, I was offloading myself.
Root Cause
This pattern wasn’t random. It was trained.
Being “nice” = being valuable
So I optimized for:
responsiveness
agreeableness
low friction
At the cost of:
boundaries
priorities
self-respect
The Refactor
I didn’t try to “feel different.”
I changed the rules of the system.
Add a Boundary Layer Incoming request → evaluate → optional response
Not:
Incoming request → immediate compliance
Practical change:
I say no without over-explaining
Introduce Pattern Recognition
I stopped treating repeated behavior as isolated events.
If (pattern detected)
→ stop granting access
Practical change:
No more “one more chance” when the data is clear
Implement Rate Limiting
Not everything deserves an immediate response.
Response time ≠ self-worth
Practical change:
I don’t reply instantly just to be liked
Reframing “Kindness”
This was the critical shift.
Old model:
Kindness = availability + accommodation
New model:
Kindness = integrity + choice
And one hard truth:
The people who benefited from my “niceness” called it kindness.
I call it access they didn’t deserve.
What Happened After
When I removed default access:
Some relationships broke
Some dynamics disappeared
Some people pushed back
But:
My energy stabilized
My decisions got cleaner
My time started reflecting my priorities
The system didn’t fail.
Only the parts depending on bad logic did.
Takeaway
This isn’t about becoming cold or unhelpful.
It’s about not running outdated code that trades self-respect for approval.
If your default is always “yes,” you’re not being kind.
You’re running an unbounded process with no resource protection.
Status
Self-Erasure Protocol: deprecated
New system: in production
Rollback: not planned
Series: Behavioral Anti-Patterns
Next: Boundaries
“Missing Boundary Checks: Why ‘Nice’ Code Always Gets Exploited”
Top comments (6)
SO, SO TRUE!! >>> This isn’t about becoming cold or unhelpful.
It’s about not running outdated code that trades self-respect for approval.
If your default is always “yes,” you’re not being kind.
What stands out here is the distinction between kindness and unlimited access. The “deprecated code” metaphor makes a familiar behavioral pattern much easier to see and debug.
A few highlights that really landed:
The deeper lesson is that boundaries aren’t necessarily barriers to healthy relationships. They’re mechanisms for protecting the resources that make meaningful participation possible.
Sometimes changing the system doesn’t mean becoming a different person. It means removing the rules that were quietly teaching everyone—including yourself—how little your time and energy were worth.
The "emotional subsidy" idea is the most useful part of this. Seeing constant availability as removing friction from other people's systems, so they never have to solve their own problems, shows that over-helping can be a disservice to them and not only a cost to you. It makes the case for boundaries without requiring anyone to be labeled selfish.
The shift from "kindness = availability + accommodation" to "kindness = integrity + choice" is a good test for anyone who suspects their helpfulness has become a reflex. A yes only means something if a no was actually possible.
One nuance: the line about people getting "access they didn't deserve" fits some dynamics, but it may be too broad to apply to everyone. Plenty of people never knew your limits because you never showed them. A clear, low-drama first no gives them a fair chance to adjust, and the pattern-based cutoff can be saved for people who ignore it. That keeps the refactor from hardening into treating everyone as an exploiter, which is its own kind of bug.
The rate-limiting idea is also easy to steal. Not answering instantly is a small, low-stakes way to practice believing that response time isn't self-worth.
Looking forward to the boundaries entry in the series. Thanks for the honest write-up.
This is a clean and practical refactor.
Treating chronic over-availability as deprecated code rather than a personality trait makes the costs visible: no rate limiting, no validation of requests, and a system that trains others to expect access they never had to earn. The distinction between kindness as accommodation and kindness as integrity + choice is the real upgrade.
What works especially well is the refusal to moralize the change. Some relationships broke, some dynamics disappeared — and that was accurate system behavior, not failure. An unbounded process that trades self-respect for approval was never sustainable.
Thank you for documenting the audit and the new rules this clearly. Default “yes” is not virtue; it’s missing resource protection.
Appreciate you sharing this essay here with us thank you so much!
So deep and honest thank you so much for this beautiful writing Khali!