← All meditations

Meditation № 011

The Anger That Pointed Away From Me

Leadership Philosophy ·

Today's Quote

"When you are offended by any man's fault, turn to yourself and study your own failings. By doing this you will forget your anger." - Marcus Aurelius, Meditations, 10.30

The Situation

An engineer put up several PRs right before going on PTO. They came back to find none of them reviewed, and they were frustrated. Said so, plainly.

My first reaction wasn't great. I got angry. Not out loud, but the story in my head was tidy and self-serving: that's their responsibility, not mine. They should've set it up better. And the sharpest one, the one I actually caught myself thinking - their frustration gives me nothing, because they're not even trying to act.

Here's roughly what I wrote back:

This size and importance of projects need 2 DRIs at minimum to ensure progress and continuity in such cases, as that'd be the pair's responsibility to progress those. Generally broadcasting is sub-optimal, so we could have hand-picked people and said review. I'll do it now.

Then I did the review and sent an invite to talk. Fine on the surface. But I want to sit with the part that came before the calm response. The anger.

The Challenge

  • Why did a colleague's frustration land as an attack on me?
  • What was the anger actually protecting me from?
  • Is it true that it's "his responsibility"? And if it isn't, why was I so quick to say it was?
  • Where's the line between coaching him on a better method and just defending myself with better vocabulary?

The Reflection

The anger was fast, which is usually the tell. Fast anger isn't about the thing in front of you. It's covering something you'd rather not look at.

So I looked. We don't have a system for how PRs get reviewed. No rotation, no convention for "I'm about to be out, here's who's got this." When he complained that his PRs sat untouched, he wasn't reporting his own failure. He was reporting a gap. And the gap is mine, because building that system is my job, not his.

That's the thing the anger was standing in front of. "It's his responsibility" is a much more comfortable sentence than "I never built the thing that would've caught this." The heat pointed at him because the alternative was pointing at me.

Seneca had the mechanics right: "How much more harmful are the consequences of anger than the acts that caused it." Their frustration cost me nothing real. A few unreviewed PRs, a slightly annoyed message. But if I'd let the anger drive, I'd have taught a good engineer that raising a problem gets them blamed for it. That's a real cost, paid for a gap I owned in the first place.

And there's a small irony I can't skip. Two meditations ago I was the one panicking about my own PTO, hunting for reasons to convict myself over open threads - The Judge I Cannot Satisfy. Now someone else goes on PTO, comes back to open threads, and my instinct is to convict them. Same drawer, opposite side. Apparently I'll extend a trial to anyone.

The frustration I dismissed as giving me "nothing" was the exact bug report I needed. They were telling me the review path is invisible. That's not an absence of action. That's data, handed over for free, and I nearly threw it out because it arrived wrapped in a complaint.

My written response wasn't bad. But reading it back, every line looks forward and none of it looks in the mirror. I jumped straight to the fix - two DRIs, don't broadcast - and skipped the one sentence that mattered: we didn't have a review system, and that's on me. Leading with the correction, even good correction, quietly keeps the fault on their side of the table. Observation vs. Perception all over again: I handed him my perception of what he did wrong before I'd owned the plain fact that the system didn't exist.

What I Cannot Control

  • Whether they set up their PRs the "ideal" way before leaving
  • That they came back frustrated, and said so
  • Whether my message fully landed the way I meant it

What I Can Control

  • Whether I meet a complaint with defense or with ownership
  • Building the review coverage that should've existed already
  • Whether I let fast anger write the first draft of my response

The Practice

When a complaint makes me angry:

  1. Treat the speed of the anger as a flag. Fast heat usually means it's about me, not them.
  2. Find the sentence I don't want to say out loud. That's usually the true one.
  3. Ask what the complaint is actually reporting. Frustration is often a bug report with bad packaging.

When I own a gap:

  • Say it first, plainly, before any coaching. "This wasn't set up well, and that's on me" costs nothing and changes how the fix lands.
  • Fix the system, not the instance. I reviewed their PRs. That's the instance. The system is still missing.

The actual thing to build:

  • Two DRIs on projects of real size, so continuity doesn't hang on one person's calendar.
  • A known review path for anyone going on PTO: hand-picked reviewers, named, before they log off.

The Outcome

I did the review and set up the conversation, so the immediate thing is handled. What I'd do differently is the opening move. Less "here's what should've happened," more "yeah, we never built this, let me fix it."

I'm still a little uncomfortable that my first instinct was to blame them. I'd like to say it was a one-off. It wasn't, exactly. It's the same reflex to find a defendant that I usually turn on myself, just aimed outward for once. Maybe the work is only noticing it a beat faster next time, before it picks up a pen.