<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://noobj.me/notes</id>
    <title>noobj | Builder &amp; Architect of Chaos Blog</title>
    <updated>2026-05-21T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://noobj.me/notes"/>
    <subtitle>noobj | Builder &amp; Architect of Chaos Blog</subtitle>
    <icon>https://noobj.me/img/favicon.svg</icon>
    <entry>
        <title type="html"><![CDATA[We're Fine. It's Them.]]></title>
        <id>https://noobj.me/notes/the-insular-health-fallacy</id>
        <link href="https://noobj.me/notes/the-insular-health-fallacy"/>
        <updated>2026-05-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You know the feeling. Your team's retros are positive. Velocity is stable. People genuinely like working together. Psych safety is high — folks admit mistakes, ask dumb questions, challenge each other without it getting weird. By every internal measure, you're a healthy, high-performing team.]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/insular-health-banner.svg" alt="The Insular Health Fallacy" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>You know the feeling. Your team's retros are positive. Velocity is stable. People genuinely like working together. Psych safety is high — folks admit mistakes, ask dumb questions, challenge each other without it getting weird. By every internal measure, you're a healthy, high-performing team.</p>
<p>And yet.</p>
<p>Every dependency is a nightmare. Every cross-team interaction feels like pulling teeth. You're waiting three weeks for a PR review from another squad. Their API keeps breaking yours. Planning sessions with them feel like hostage negotiations. And the conclusion your team reaches — naturally, inevitably — is: "We're fine. It's <em>them</em>."</p>
<p>I've been in this room. Multiple times. On both sides of it. And I've come to believe that this specific pattern — a team that feels healthy internally but generates friction at every boundary — is one of the most dangerous failure modes in engineering orgs. Not because it's dramatic, but because it's invisible. The team genuinely <em>is</em> healthy by local measures. That's what makes it so hard to diagnose.</p>
<p>I've started calling this the <strong>insular health fallacy</strong> — the belief that internal team health equals systemic health. The team isn't broken. The <em>interface</em> is broken. But from inside, it looks like everyone else is the problem.</p>
<p>Social psychology has a name for the underlying mechanism: <strong>in-group bias</strong>. The <a href="https://en.wikipedia.org/wiki/Minimal_group_paradigm" target="_blank" rel="noopener noreferrer" class="">minimal group experiments</a> in the 1970s showed that people will favour their own group — even when the groups are assigned <em>randomly</em>. Give people a label, any label, and they'll start preferring "us" over "them." Now imagine what happens when "us" is a team that's genuinely built trust, shared context, and psychological safety over months or years. The in-group cohesion becomes a fortress. And fortresses, by design, keep people out.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="three-structures-i-keep-thinking-about">Three structures I keep thinking about<a href="https://noobj.me/notes/the-insular-health-fallacy#three-structures-i-keep-thinking-about" class="hash-link" aria-label="Direct link to Three structures I keep thinking about" title="Direct link to Three structures I keep thinking about" translate="no">​</a></h2>
<p>Here's the thing I keep coming back to. There's this idea from <a href="https://teamtopologies.com/" target="_blank" rel="noopener noreferrer" class="">Team Topologies</a> (and org sociology before it) that every organisation has three structures running simultaneously:</p>
<ol>
<li class=""><strong>The formal structure</strong> — the org chart. Who reports to whom. This exists mostly for HR and finance.</li>
<li class=""><strong>The informal structure</strong> — who actually talks to whom. The Slack DMs, the coffee chats, the "hey, quick question" interrupts.</li>
<li class=""><strong>The value creation structure</strong> — how work actually flows from idea to customer. The path a feature takes through design, code, review, deploy, feedback.</li>
</ol>
<p>Most teams optimise their <em>informal</em> structure beautifully. They build trust, they communicate well, they develop shared context. That's what good team-building does. But here's the trap: if that internal cohesion doesn't align with the <em>value creation</em> structure — the actual flow of work across boundaries — you end up with a team that's a joy to be inside and a wall to everyone outside.</p>
<p><a href="https://en.wikipedia.org/wiki/Conway%27s_law" target="_blank" rel="noopener noreferrer" class="">Conway's Law</a> makes this concrete. Your software architecture is a mirror of your communication structure. If the communication between teams is defensive, guarded, or just... absent — your architecture will reflect that. Tightly coupled monoliths. Unclear ownership boundaries. Integration points that nobody wants to touch because touching them means <em>talking to that other team</em>.</p>
<p>And there's another psychological trap compounding this: the <strong><a href="https://en.wikipedia.org/wiki/Fundamental_attribution_error" target="_blank" rel="noopener noreferrer" class="">fundamental attribution error</a></strong>. When <em>we</em> miss a deadline, it's because of circumstances — the requirements changed, the dependency was late, we were under-resourced. When <em>they</em> miss a deadline? It's because they're incompetent, or they don't care, or they're not prioritising properly. We judge ourselves by our intentions and others by their actions. Scale that across ten teams and you get an org where everyone believes they're the only competent group surrounded by idiots. Nobody's lying. Everyone's just... human.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="but-wait--if-the-team-is-healthy-why-does-everything-break-at-the-edges">But wait — if the team is healthy, why does everything break at the edges?<a href="https://noobj.me/notes/the-insular-health-fallacy#but-wait--if-the-team-is-healthy-why-does-everything-break-at-the-edges" class="hash-link" aria-label="Direct link to But wait — if the team is healthy, why does everything break at the edges?" title="Direct link to But wait — if the team is healthy, why does everything break at the edges?" translate="no">​</a></h2>
<p><a href="https://en.wikipedia.org/wiki/The_Five_Dysfunctions_of_a_Team" target="_blank" rel="noopener noreferrer" class="">Patrick Lencioni's five dysfunctions</a> model is usually applied within a team — and most teams have internalised it by now. But here's what I think gets missed: these same dysfunctions show up <em>between</em> teams. And at the team-of-teams level, they're harder to see because no single team owns the problem.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/fractal-dysfunctions.svg" alt="Lencioni's Dysfunctions Scaled to Inter-Team Boundaries" style="width:100%;max-width:750px;border-radius:8px"></div>
<p>The pattern I keep seeing: each of these dysfunctions is <em>invisible from inside the team</em>. Your team has trust — with each other. Your team has healthy conflict — with each other. The dysfunction lives at the boundary, where nobody feels ownership and everyone assumes it's the other side's fault.</p>
<p>The root of it, I think, is how organisations define the primary boundary of belonging. If leaders build their identity around the team they manage rather than the peer group they're part of, their reports mirror that. And you get fiefdoms — each one internally healthy, collectively stuck. (More on this in a moment.)</p>
<p>Which got me thinking about <em>why</em> this happens structurally — not just behaviourally.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="ok-so-why-does-the-system-stay-stuck-though">OK so why does the system stay stuck though?<a href="https://noobj.me/notes/the-insular-health-fallacy#ok-so-why-does-the-system-stay-stuck-though" class="hash-link" aria-label="Direct link to OK so why does the system stay stuck though?" title="Direct link to OK so why does the system stay stuck though?" translate="no">​</a></h2>
<p>There's a core idea in systems thinking — captured well in Donella Meadows' <a href="https://en.wikipedia.org/wiki/Thinking_In_Systems:_A_Primer" target="_blank" rel="noopener noreferrer" class=""><em>Thinking in Systems</em></a> — that the performance of a system is governed by how its parts <em>interact</em>, not by how they perform in isolation. You cannot divide a system into independently optimised parts and expect the whole to be optimised. That's not how systems work.</p>
<p>And yet. That's exactly what most orgs do. (I keep catching myself doing it too — optimising my team's workflow without asking "but what does this do to the team downstream?")</p>
<p>Here's a scenario I keep seeing. You have three teams in a value stream: a frontend team, a backend team, and a platform team that handles deployments and infra. The frontend and backend teams are fast — they've got spare capacity, good tooling, strong engineers. The platform team is smaller, handles more services, and is already at capacity.</p>
<p>What happens? The frontend and backend teams, under pressure to show output, keep shipping features. PRs pile up waiting for platform review. Infra tickets queue up. The platform team — already the constraint — now drowns in coordination overhead from <em>two</em> teams pushing work at them simultaneously. Lead time for the whole system inflates. Not because anyone's slow, but because the non-bottleneck teams are producing faster than the bottleneck can absorb.</p>
<p>The instinct is "platform team needs to be faster." The counterintuitive move is "everyone else needs to produce <em>less</em> — or produce things that don't hit the constraint." It feels like waste. But the alternative is a queue that grows forever.</p>
<p><a href="https://en.wikipedia.org/wiki/Little%27s_law" target="_blank" rel="noopener noreferrer" class="">Little's Law</a> describes this dynamic: Lead Time = Work in Progress / Throughput. Push WIP up without increasing throughput at the constraint, and lead time goes up. It's a simplification — real orgs aren't stable steady-state systems — but the directional truth holds. More work in flight with the same capacity at the constraint means longer waits. Every time. (I explored this through the lens of game theory in <a class="" href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster">Why Everyone's Busy But Nothing Ships Faster</a> — same dynamic, different angle.)</p>
<p>And there's an emotional dimension to this stuckness that pure systems thinking misses. Otto Scharmer's <a href="https://en.wikipedia.org/wiki/Theory_U" target="_blank" rel="noopener noreferrer" class="">Theory U</a> names three "voices" that keep systems frozen:</p>
<ul>
<li class=""><strong>Voice of Judgment</strong> — "We already know how they work. They're just slow."</li>
<li class=""><strong>Voice of Cynicism</strong> — "Why bother reaching out? They'll just say no."</li>
<li class=""><strong>Voice of Fear</strong> — "If we change the interface, everything might break."</li>
</ul>
<p>These aren't rational assessments. They're emotional defence mechanisms. And they're <em>contagious</em> across teams. One bad interaction poisons the well for months.</p>
<p>The fix isn't to make teams work harder. It's to make the <em>interactions</em> work better.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="alright-so-what-actually-helps">Alright, so what actually helps?<a href="https://noobj.me/notes/the-insular-health-fallacy#alright-so-what-actually-helps" class="hash-link" aria-label="Direct link to Alright, so what actually helps?" title="Direct link to Alright, so what actually helps?" translate="no">​</a></h2>
<p>Alright, here's where I shift from diagnosis to "here's what I've seen move the needle." I want to be honest — there's no silver bullet. And I'm not sure I've fully cracked this myself. But a few structural interventions have consistently made a difference in places I've worked. Bear with me — some of these sound obvious, but the devil is in <em>actually doing them</em>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="cognitive-overload-kills-the-boundary-first">Cognitive overload kills the boundary first<a href="https://noobj.me/notes/the-insular-health-fallacy#cognitive-overload-kills-the-boundary-first" class="hash-link" aria-label="Direct link to Cognitive overload kills the boundary first" title="Direct link to Cognitive overload kills the boundary first" translate="no">​</a></h3>
<p>There's a reason the insular health fallacy thrives in overloaded teams. When a team's cognitive capacity is maxed out — too many domains, too many services, too much context to hold — they don't just slow down. They start shedding context. And the first context they shed is the cross-boundary stuff. The integration points. The shared contracts. The things that make the <em>system</em> work. Internal work feels urgent and controllable. Cross-team work feels optional and exhausting. So it drops.</p>
<p><a href="https://teamtopologies.com/" target="_blank" rel="noopener noreferrer" class="">Team Topologies</a> calls this out directly: a team can handle 2-3 simple domains, maybe one complicated domain, and absolutely cannot handle two complex domains simultaneously. <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number" target="_blank" rel="noopener noreferrer" class="">Robin Dunbar's research</a> on social group sizes points to the same constraint from a different angle — our brains can only maintain so many stable relationships before communication overhead overwhelms capacity. If the team boundaries are drawn wrong (too broad, too many services, too much cognitive load), no amount of good intentions will fix the boundary friction. The team will always retreat inward.</p>
<p>I explored this in <a class="" href="https://noobj.me/notes/cognitive-load-agentic-ai">Your Agents Are Running. So Why Are You Still Exhausted?</a> — cognitive load isn't just about individual developers. It's about teams. And it's about what happens when you exceed the limit.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-team-interface-as-a-product">The team interface as a product<a href="https://noobj.me/notes/the-insular-health-fallacy#the-team-interface-as-a-product" class="hash-link" aria-label="Direct link to The team interface as a product" title="Direct link to The team interface as a product" translate="no">​</a></h3>
<p>This is the "Team API" idea, and it's the single most practical intervention I've seen for the insular health fallacy.</p>
<p>The concept: every team publishes and maintains a lightweight interface — like a software API, but for the team itself. It answers:</p>
<ul>
<li class="">What do we own? What's our mission?</li>
<li class="">How do you reach us? (Not "DM someone" — a channel, office hours, a request template)</li>
<li class="">What's our intake process? What does "ready" look like for a request?</li>
<li class="">What are our SLOs? How fast will we respond?</li>
<li class="">What are our dependencies? What are we blocked by?</li>
<li class="">Where's our documentation? Our APIs? Our schemas?</li>
</ul>
<p>Here's what this looks like in practice. A platform team I worked with was drowning in ad-hoc requests via DMs. Every interaction was a negotiation. Response times were unpredictable — sometimes same-day, sometimes two weeks. Other teams resented them. They resented other teams for "not reading the docs."</p>
<p>They published a Team API: a single wiki page with their intake template, a public Slack channel for requests, stated SLOs, and a clear "Definition of Ready" for what they needed before they could start. Within a month, the DMs dropped by 80%. The resentment dropped with it. Not because people changed — because the <em>structure</em> changed.</p>
<p>The shift is from <em>diplomacy</em> to <em>contract</em>. Instead of cross-team collaboration depending on personal relationships — who you know, who owes you a favour, who's in a good mood today — it depends on a predictable, published interface. Teams can change their internals however they want, as long as the API holds.</p>
<p>This connects to something I wrote about in <a class="" href="https://noobj.me/notes/game-theory-engineering-collaboration">The Prisoner's Dilemma Is Why You Got Ghosted on Slack</a>. The reason you get ghosted isn't malice — it's that the game doesn't reward responding. A Team API changes the game. It makes responsiveness a <em>structural</em> property, not a personal one.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="map-the-value-stream-before-reorganising-anything">Map the value stream before reorganising anything<a href="https://noobj.me/notes/the-insular-health-fallacy#map-the-value-stream-before-reorganising-anything" class="hash-link" aria-label="Direct link to Map the value stream before reorganising anything" title="Direct link to Map the value stream before reorganising anything" translate="no">​</a></h3>
<p>Before touching team boundaries or org charts, the most useful thing I've seen is simply <em>mapping</em> how work actually flows end-to-end. Pick a recent feature that touched multiple teams. Trace it from idea to production. Mark every handoff, every queue, every wait.</p>
<p>What you'll typically find: 80% of the elapsed time is <em>waiting</em>, not <em>working</em>. The feature sat in someone's backlog for three weeks. Then it waited for a review for five days. Then it waited for a deployment window. The actual coding took two days. The system took six weeks.</p>
<p>This makes the insular health fallacy viscerally visible. Your team's two-day turnaround is real — but it's invisible inside a six-week lead time. The value stream map shows everyone where the time actually goes. And suddenly "we're fine, it's them" becomes "oh... we're all part of this."</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="embed-people-across-the-boundary">Embed people across the boundary<a href="https://noobj.me/notes/the-insular-health-fallacy#embed-people-across-the-boundary" class="hash-link" aria-label="Direct link to Embed people across the boundary" title="Direct link to Embed people across the boundary" translate="no">​</a></h3>
<p>Temporarily sending someone from Team A to sit with Team B for a sprint — not a reorg, just exposure. I've seen this kill the fundamental attribution error faster than any process change. It's hard to dehumanise people once you've paired with them, sat in their standups, felt their constraints firsthand. The person comes back and says "actually, they're dealing with way more than I realised." That one sentence does more for cross-team trust than six months of joint planning sessions.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="joint-retros-across-team-boundaries">Joint retros across team boundaries<a href="https://noobj.me/notes/the-insular-health-fallacy#joint-retros-across-team-boundaries" class="hash-link" aria-label="Direct link to Joint retros across team boundaries" title="Direct link to Joint retros across team boundaries" translate="no">​</a></h3>
<p>Not just "our retro" — a quarterly retro between the two teams that interact most. Forces the conversation nobody wants to have. "What's working between us? What's not? What do we keep misunderstanding about each other?" It's uncomfortable the first time. By the third time, it's just how things work. The boundary stops being a wall and starts being a shared surface.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-inverse-conway-maneuver">The Inverse Conway Maneuver<a href="https://noobj.me/notes/the-insular-health-fallacy#the-inverse-conway-maneuver" class="hash-link" aria-label="Direct link to The Inverse Conway Maneuver" title="Direct link to The Inverse Conway Maneuver" translate="no">​</a></h3>
<p>This one's counterintuitive. <a href="https://en.wikipedia.org/wiki/Conway%27s_law" target="_blank" rel="noopener noreferrer" class="">Conway's Law</a> says architecture mirrors communication structure. The inverse: deliberately restructure communication to <em>force</em> the architecture you want. If two services need a clean API boundary, make the teams interact through that API — not through Slack threads and shared meetings. The social structure shapes the technical structure. So the lever is the social structure — not the code.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="leadership-has-to-go-first">Leadership has to go first<a href="https://noobj.me/notes/the-insular-health-fallacy#leadership-has-to-go-first" class="hash-link" aria-label="Direct link to Leadership has to go first" title="Direct link to Leadership has to go first" translate="no">​</a></h3>
<p>(I almost didn't include this section because it sounds like every leadership blog ever written. But honestly? None of the other stuff works without it. So.)</p>
<p>None of this works if leadership is still optimising for their department. I've seen this pattern play out: leaders who build their identity around the team they manage rather than the leadership group they're part of. Lencioni calls this the "First Team" problem — the idea that a leader's primary allegiance should be to their peer group, not their direct reports.</p>
<p>This is genuinely hard. Performance reviews reward local delivery. Headcount battles reward empire-building. Promotion narratives reward "I grew my team from 5 to 20." The incentives all point toward local optimisation. So practicing "First Team" requires actively swimming against the current.</p>
<p>The "hat swapping" model is the most practical version I've encountered. Every leader wears two hats:</p>
<p>The <strong>portfolio hat</strong> — advocating for the team's capacity, constraints, and needs. Fighting for resources. Legitimate and necessary.</p>
<p>The <strong>organisational hat</strong> — making decisions optimised for the system, even when that means the team absorbs cost or gives up resources.</p>
<p>The key is being <em>explicit</em> about which hat is being worn. "Right now I'm wearing my portfolio hat — my team genuinely can't absorb this without dropping something else." vs. "Wearing my org hat — I think the right call for the system is X, even though it costs my team."</p>
<p>What this does is model vulnerability at the leadership level. It shows that strategic sacrifice for systemic health isn't defeat. And it gives other leaders permission to do the same. I've watched a single leader doing this consistently shift the dynamic of an entire leadership group within a quarter.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="culture-changes-when-behaviour-changes-first">Culture changes when behaviour changes first<a href="https://noobj.me/notes/the-insular-health-fallacy#culture-changes-when-behaviour-changes-first" class="hash-link" aria-label="Direct link to Culture changes when behaviour changes first" title="Direct link to Culture changes when behaviour changes first" translate="no">​</a></h2>
<p>I want to be honest about something here. Some of what I just described — publishing a Team API, mapping a value stream — that's within reach. A single team can start tomorrow. But embedding people across boundaries, joint retros, the Inverse Conway Maneuver, leadership going first — those need buy-in. From peers. From above. Sometimes from the whole system.</p>
<p>And that's the uncomfortable part of systemic problems: the team that <em>sees</em> the problem most clearly often can't fix it alone. It requires top-down support, lateral trust, and patience that most orgs don't reward. I don't have a clean answer for that. I just know that starting with what's in reach — and being vocal about what isn't — tends to create more space over time than waiting for permission.</p>
<p>Here's the last piece, and maybe the most important. You can't <em>think</em> your way into a generative culture. You have to <em>behave</em> your way into it.</p>
<p><a href="https://sloanreview.mit.edu/article/how-to-change-a-culture-lessons-from-nummi/" target="_blank" rel="noopener noreferrer" class="">John Shook's insight from NUMMI</a> (the Toyota-GM joint venture) was that trying to change people's mindsets first is almost always ineffective. What works is changing what people <em>do</em> — the structures, the practices, the daily rituals — and letting the mindset follow.</p>
<p><a href="https://dora.dev/capabilities/generative-organizational-culture/" target="_blank" rel="noopener noreferrer" class="">Ron Westrum's cultural typology</a> gives you a way to sense where you are:</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/westrum-continuum.svg" alt="Westrum's Organisational Culture Typology" style="width:100%;max-width:750px;border-radius:8px"></div>
<ul>
<li class=""><strong>Pathological</strong> — information is withheld, messengers are shot, failure leads to blame, novelty is crushed.</li>
<li class=""><strong>Bureaucratic</strong> — information is compartmentalised, messengers are ignored, failure leads to more process, novelty causes problems.</li>
<li class=""><strong>Generative</strong> — information is actively sought, messengers are trained, failure leads to inquiry, novelty is implemented.</li>
</ul>
<p>Most orgs I've seen aren't pathological. They're bureaucratic. And the move from bureaucratic to generative isn't about grand cultural transformation programs. It's about small structural changes that make generative behaviour the path of least resistance.</p>
<p>And if this feels like a problem unique to your org — it's not. Randy Shoup's <a href="https://www.infoq.com/presentations/platform-engineering-lessons/" target="_blank" rel="noopener noreferrer" class="">talk on eBay's Velocity initiative</a> is one of the most honest case studies I've seen. His team doubled engineering productivity, improved deployment frequency 10x, lead time 5x — genuinely elite technical execution. And it still didn't save the company. Waterfall planning, empire-building, and what Shoup explicitly calls a "pathological" culture of fear meant the system stayed stuck despite the parts getting faster. The technical bottlenecks were solved. The structural and cultural ones weren't. That's the gap this whole post is about.</p>
<p>Two things I keep noticing in teams that escape this trap — and both are conspicuously absent in insular teams:</p>
<p>The healthiest teams I've seen <em>actively imagine</em> what could go wrong, even when everything looks fine. Research on <a href="https://en.wikipedia.org/wiki/High_reliability_organization" target="_blank" rel="noopener noreferrer" class="">High Reliability Organisations</a> (think aircraft carriers, nuclear plants) calls this <strong>requisite imagination</strong> — the ability to look past comfortable assumptions and sense weak signals before they become crises. The insular team lacks this entirely. They can't imagine that their internal health might be the system's bottleneck.</p>
<p>And those same teams treat silence from other teams as a warning sign, not a green light. Safety science and James Reason's work on organisational accidents calls this <strong>chronic unease</strong> — a healthy vigilance where the <em>absence</em> of problems makes you more anxious, not less. Complacency — the belief that because nothing has gone wrong, nothing will — is the most dangerous state.</p>
<p>The insular health fallacy is, at its core, a failure of both. The team can't imagine it's the bottleneck, and the absence of internal problems feels like proof everything's fine. The structure has to create the conditions where these qualities emerge naturally.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-this-leaves-us">Where this leaves us<a href="https://noobj.me/notes/the-insular-health-fallacy#where-this-leaves-us" class="hash-link" aria-label="Direct link to Where this leaves us" title="Direct link to Where this leaves us" translate="no">​</a></h2>
<p>The insular health fallacy is comfortable. It feels <em>good</em> to be on a team that works well together and to believe the problem is everyone else. Letting go of that narrative means admitting that maybe the team's health is incomplete. That internal cohesion without external alignment is... incomplete.</p>
<p>I don't think most teams do this consciously. I certainly didn't, the times I was part of it. But recognising the pattern is the first step. And the fix isn't to break what works internally — it's to extend that same intentionality to the boundaries.</p>
<p>The team that's genuinely high-performing isn't the one with the best retros. It's the one that other teams <em>want</em> to work with. That's the bar.</p>
<p><a href="https://deming.org/optimize-the-overall-system-not-the-individual-components/" target="_blank" rel="noopener noreferrer" class="">Deming</a> said it decades ago: <em>"A system must be managed. It will not manage itself. Left to themselves, components become selfish, competitive, independent profit centres, and thus destroy the system."</em></p>
<p>That's the insular health fallacy in one sentence. Your team isn't the system. The system is what happens between teams. And that's where the real work lives.</p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Engineering" term="Engineering"/>
        <category label="Culture" term="Culture"/>
        <category label="Leadership" term="Leadership"/>
        <category label="Collaboration" term="Collaboration"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Reward the Team, Lose the Stars. Reward the Stars, Lose the Team. Now What?]]></title>
        <id>https://noobj.me/notes/the-reward-paradox</id>
        <link href="https://noobj.me/notes/the-reward-paradox"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A debate breaks out among leaders. The team just shipped something significant. Someone suggests giving "champion points" to the person who drove it. Someone else pushes back — "It was a team effort. Reward the whole team." A third person raises the obvious: "If we reward everyone equally, what's the incentive to go above and beyond?"]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/reward-paradox-banner.svg" alt="The Reward Paradox" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>A debate breaks out among leaders. The team just shipped something significant. Someone suggests giving "champion points" to the person who drove it. Someone else pushes back — <em>"It was a team effort. Reward the whole team."</em> A third person raises the obvious: <em>"If we reward everyone equally, what's the incentive to go above and beyond?"</em></p>
<p>I've been in this room. It was equal parts funny and frustrating — everyone had a strong opinion, everyone had a good argument, and nobody was wrong. That's the problem.</p>
<p>This isn't a values debate. It's a design problem.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-case-for-rewarding-the-team">The Case for Rewarding the Team<a href="https://noobj.me/notes/the-reward-paradox#the-case-for-rewarding-the-team" class="hash-link" aria-label="Direct link to The Case for Rewarding the Team" title="Direct link to The Case for Rewarding the Team" translate="no">​</a></h2>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #4a9eff;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><div style="font-size:2.5rem;margin-bottom:0.5rem">👥</div><p style="font-size:1.2rem;font-weight:700;color:#4a9eff;line-height:1.6;margin:0 0 0.5rem 0"></p><p>"The system produces the outcome. Why are we rewarding individuals as if they're independent actors?"</p><p></p><p style="font-size:0.85rem;color:#888;margin:0">Deming · Navy SEALs · All Blacks · Kohn</p></div>
<p>Let's start with the strongest arguments for team-level rewards — because they're genuinely compelling.</p>
<p><strong><a href="https://deming.org/dr-deming-called-for-the-elimination-of-the-annual-performance-appraisal/" target="_blank" rel="noopener noreferrer" class="">W. Edwards Deming</a></strong> — the father of quality management — argued that <strong>94% of performance variation is attributable to the system, not the individual</strong>. He was talking about manufacturing, but the principle scales: in software, the system (tooling, process, team composition, codebase quality) shapes individual output more than we admit. The person who "drove" the feature had a designer who shaped it, a QA engineer who caught the edge cases, a platform team that kept the infrastructure alive, and a product manager who cleared the path. Rewarding one person for a system output is like giving the trophy to the striker and ignoring the midfield.</p>
<p>A <a href="https://www.researchgate.net/publication/227519897_The_Effects_of_Incentives_on_Workplace_Performance_A_Meta-analytic_Review_of_Research_Studies_1" target="_blank" rel="noopener noreferrer" class="">meta-analysis of incentive programs</a> found that <strong>team-directed incentives had a markedly superior effect on performance compared to individually-directed incentives</strong>. The overall average effect of all incentive programs was a 22% gain in performance — but team incentives outperformed individual ones consistently.</p>
<p>Then there's the <strong>Navy SEALs</strong>. <a href="https://www.youtube.com/watch?v=kJdXjtSnZTI" target="_blank" rel="noopener noreferrer" class="">Simon Sinek describes</a> a conversation with the training director for SEAL Team Six. They evaluate candidates on a 2×2 matrix: Performance (vertical) vs Trust (horizontal). The finding?</p>
<blockquote>
<p><strong>They'd rather have medium performance and high trust than high performance and low trust. Every time.</strong></p>
</blockquote>
<p>The toxic high performer — brilliant on the battlefield, corrosive off it — gets cut. The highest-performing organisation on earth explicitly chooses team cohesion over individual brilliance.</p>
<p>The <strong>New Zealand All Blacks</strong> — 77% win rate over 100+ years, the most successful sports team in history — formalised this as the <strong><a href="https://en.wikipedia.org/wiki/New_Zealand_national_rugby_union_team#Culture" target="_blank" rel="noopener noreferrer" class="">"No Dickheads" rule</a></strong>. If a player undermines trust, ability stops mattering. They're out. After every match, the most senior All Blacks sweep the locker room. No one is above the team.</p>
<p><strong><a href="https://alfiekohn.org/punished-rewards/" target="_blank" rel="noopener noreferrer" class="">Alfie Kohn</a></strong>, in <em>Punished by Rewards</em>, goes further: extrinsic rewards don't just fail to motivate — they actively <em>undermine</em> intrinsic motivation. "Do rewards motivate people? Yes. They motivate people to get rewards." When you dangle individual bonuses, people optimise for the bonus, not the work. They take fewer risks. They hoard knowledge. They avoid helping others because helping others doesn't show up on <em>their</em> scorecard.</p>
<p>The evidence is clear: <strong>when work is interdependent, individual rewards destroy the cooperation that makes the work possible.</strong></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-case-for-rewarding-the-individual">The Case for Rewarding the Individual<a href="https://noobj.me/notes/the-reward-paradox#the-case-for-rewarding-the-individual" class="hash-link" aria-label="Direct link to The Case for Rewarding the Individual" title="Direct link to The Case for Rewarding the Individual" translate="no">​</a></h2>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #2e1a1a 100%);border:1px solid #f0a500;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><div style="font-size:2.5rem;margin-bottom:0.5rem">🏆</div><p style="font-size:1.2rem;font-weight:700;color:#f0a500;line-height:1.6;margin:0 0 0.5rem 0"></p><p>"If the reward comes regardless of my effort, why give 100%?"</p><p></p><p style="font-size:0.85rem;color:#888;margin:0">Ringelmann · Sucker Effect · Recognition Paradox</p></div>
<p>Now the other side — because ignoring it is how you lose your best people.</p>
<p><strong><a href="https://en.wikipedia.org/wiki/Ringelmann_effect" target="_blank" rel="noopener noreferrer" class="">The Ringelmann Effect</a></strong> (1913): when people pull a rope together, individual effort decreases as group size increases. In a group of eight, each person exerts only about half the force they would alone. This isn't laziness — it's a rational response to diffused responsibility. If the reward comes regardless of my effort, why give 100%?</p>
<p>This creates the <strong><a href="https://en.wikipedia.org/wiki/Social_loafing#Sucker_effect" target="_blank" rel="noopener noreferrer" class="">Sucker Effect</a></strong>: high performers observe free riders getting the same reward for less effort. They feel exploited. They reduce their own effort to match — or they leave. <a href="https://www.forbes.com/sites/markmurphy/2025/06/25/are-your-best-employees-the-ones-most-likely-to-leave/" target="_blank" rel="noopener noreferrer" class="">Research consistently shows</a> that high performers are often the <em>most likely</em> to leave, partly because their exceptional work becomes "expected" rather than recognised.</p>
<p>The <strong>Recognition Paradox</strong>: managers spend disproportionate time coaching struggling employees, while high performers get less attention because they "don't need it." The result? The people carrying the heaviest load feel the least seen.</p>
<p>There's also a practical reality: <strong>not all work is equally interdependent</strong>. Some tasks genuinely are individual — a brilliant architectural insight, a solo debugging session that saves the team days, a piece of documentation that nobody asked for but everyone uses. Pretending these contributions are "team efforts" is dishonest, and people know it.</p>
<p>Pure team rewards, applied uniformly, produce:</p>
<ul>
<li class="">Free riders who coast on others' effort</li>
<li class="">Resentful top performers who update their LinkedIn</li>
<li class="">A culture where mediocrity is comfortable and excellence is invisible</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-both-fail-alone">Why Both Fail Alone<a href="https://noobj.me/notes/the-reward-paradox#why-both-fail-alone" class="hash-link" aria-label="Direct link to Why Both Fail Alone" title="Direct link to Why Both Fail Alone" translate="no">​</a></h2>
<p>Here's the payoff matrix. If you've read the <a class="" href="https://noobj.me/notes/game-theory-engineering-collaboration">game theory post</a>, this will look familiar:</p>
<table><thead><tr><th></th><th><strong>Team Rewards Only</strong></th><th><strong>Individual Rewards Only</strong></th></tr></thead><tbody><tr><td><strong>High Performers</strong></td><td>Feel exploited → reduce effort or leave</td><td>Thrive short-term → hoard knowledge, avoid helping</td></tr><tr><td><strong>Average Performers</strong></td><td>Comfortable → no incentive to grow</td><td>Anxious → compete instead of collaborate</td></tr><tr><td><strong>The System</strong></td><td>Social loafing, sucker effect, talent drain</td><td>Prisoner's Dilemma, silos, trust erosion</td></tr></tbody></table>
<p>Neither is a stable equilibrium. Both produce outcomes nobody wants.</p>
<p><em>(Microsoft's "Lost Decade" is <a href="https://www.vanityfair.com/news/business/2012/08/microsoft-lost-mojo-steve-ballmer" target="_blank" rel="noopener noreferrer" class="">well-documented</a> — stack ranking was the poster child for individual rewards gone wrong.)</em></p>
<!-- -->
<p>The question isn't "team OR individual?" The question is: <strong>what does the work actually require?</strong></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-answer-match-the-reward-to-the-work">The Answer: Match the Reward to the Work<a href="https://noobj.me/notes/the-reward-paradox#the-answer-match-the-reward-to-the-work" class="hash-link" aria-label="Direct link to The Answer: Match the Reward to the Work" title="Direct link to The Answer: Match the Reward to the Work" translate="no">​</a></h2>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #28a745;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><div style="font-size:2rem;margin-bottom:0.5rem">⚖️</div><p style="font-size:1.2rem;font-weight:700;color:#28a745;line-height:1.6;margin:0"></p><p>Not "team OR individual." Match the reward to the work structure.</p><p></p></div>
<p>The companies that get this right don't pick a side. They ask a different question:</p>
<blockquote>
<p><strong>"What behaviour does this reward produce, given the structure of the work?"</strong></p>
</blockquote>
<ul>
<li class="">If the work is interdependent and you reward individuals → you get competition where you need cooperation</li>
<li class="">If the work is independent and you reward the team → you get free riders and resentful stars</li>
<li class="">If you match the reward to the work structure → you get the behaviour the system actually needs</li>
</ul>
<p>This isn't theory. It's what the best-performing organisations have converged on. Here are four cases — each solving the same problem differently.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="case-1-microsoft--the-clearest-beforeafter">Case 1: Microsoft — <a href="https://www.vanityfair.com/news/business/2012/08/microsoft-lost-mojo-steve-ballmer" target="_blank" rel="noopener noreferrer" class="">The Clearest Before/After</a><a href="https://noobj.me/notes/the-reward-paradox#case-1-microsoft--the-clearest-beforeafter" class="hash-link" aria-label="Direct link to case-1-microsoft--the-clearest-beforeafter" title="Direct link to case-1-microsoft--the-clearest-beforeafter" translate="no">​</a></h3>
<p>Under Steve Ballmer, Microsoft used <strong>stack ranking</strong> — pure individual rewards. Employees were ranked against each other. Someone <em>had</em> to get the lowest score, regardless of team performance.</p>
<p>The result? Engineers actively avoided joining teams with strong people (because they'd rank lower by comparison). They sabotaged each other. Collaboration died. Vanity Fair called it Microsoft's "Lost Decade."</p>
<p>Microsoft abolished stack ranking in late 2013 under Ballmer's "One Microsoft" reorganisation. Satya Nadella, who became CEO in early 2014, then built the replacement system around <strong>three pillars</strong>:</p>
<ol>
<li class=""><strong>Your own individual impact</strong> — what you shipped</li>
<li class=""><strong>How you contributed to others' success</strong> — the collaboration factor</li>
<li class=""><strong>How you leveraged others' work</strong> — the "One Microsoft" principle</li>
</ol>
<p>That's literally "reward individual AND team contribution, weighted by interdependence." Microsoft went from ~<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>300</mn><mi>B</mi><mi>t</mi><mi>o</mi></mrow><annotation encoding="application/x-tex">300B to </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em"></span><span class="mord">300</span><span class="mord mathnormal" style="margin-right:0.05017em">B</span><span class="mord mathnormal">t</span><span class="mord mathnormal">o</span></span></span></span>3T+ market cap. The culture shift is widely credited as a key driver.</p>
<!-- -->
<p>Correlation isn't causation — Microsoft's market cap growth was driven by cloud strategy, not just culture. But the culture shift removed a <em>barrier</em> to the collaboration that cloud strategy required. You can't build Azure across dozens of teams if those teams are ranked against each other.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="case-2-google--layered-recognition">Case 2: Google — Layered Recognition<a href="https://noobj.me/notes/the-reward-paradox#case-2-google--layered-recognition" class="hash-link" aria-label="Direct link to Case 2: Google — Layered Recognition" title="Direct link to Case 2: Google — Layered Recognition" translate="no">​</a></h3>
<p>Google runs multiple reward mechanisms simultaneously:</p>
<ul>
<li class=""><strong>Peer bonuses</strong> — any employee can nominate any other for a cash bonus. This makes <em>contribution to others</em> visible without waiting for a manager to notice.</li>
<li class=""><strong>Team awards</strong> — for shipping something that required genuine collaboration</li>
<li class=""><strong>Promotion committees</strong> — independent panels review evidence of impact, including peer feedback. You can't get promoted purely on solo output.</li>
</ul>
<p>Peer bonuses require manager approval and are capped per quarter — the friction makes gaming not worth the reputational cost. The bigger risk isn't gaming; it's that extroverts get nominated more than quiet contributors who do equally valuable work. That's why peer bonuses work best as <em>one layer</em> in a system, not the whole system.</p>
<p>The design principle: individual recognition for <em>how you helped the team</em>, team recognition for <em>what the team shipped together</em>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="case-3-navy-seals--both-but-trust-is-non-negotiable">Case 3: Navy SEALs — Both, But Trust Is Non-Negotiable<a href="https://noobj.me/notes/the-reward-paradox#case-3-navy-seals--both-but-trust-is-non-negotiable" class="hash-link" aria-label="Direct link to Case 3: Navy SEALs — Both, But Trust Is Non-Negotiable" title="Direct link to Case 3: Navy SEALs — Both, But Trust Is Non-Negotiable" translate="no">​</a></h3>
<p>We covered the SEALs' trust-over-performance stance earlier. But their <em>reward structure</em> is worth looking at separately.</p>
<p>They still <em>measure</em> individual performance. They still have rankings. But they refuse to reward performance in isolation. Performance without trust is a net negative.</p>
<p>The reward structure:</p>
<ul>
<li class=""><strong>Team membership</strong> is the baseline reward (you stay on the team)</li>
<li class=""><strong>Individual excellence</strong> is recognised on top</li>
<li class=""><strong>Individual excellence without team contribution</strong> = you're gone</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="case-4-toyota--ideas-are-individual-outcomes-are-team">Case 4: Toyota — Ideas Are Individual, Outcomes Are Team<a href="https://noobj.me/notes/the-reward-paradox#case-4-toyota--ideas-are-individual-outcomes-are-team" class="hash-link" aria-label="Direct link to Case 4: Toyota — Ideas Are Individual, Outcomes Are Team" title="Direct link to Case 4: Toyota — Ideas Are Individual, Outcomes Are Team" translate="no">​</a></h3>
<p>Different industry, same insight. Toyota splits the reward by <em>what's being rewarded</em>.</p>
<p>Toyota's suggestion system has generated <strong>50 million+ ideas</strong> over 70 years (averaging 14.4 suggestions per employee per year). The reward structure:</p>
<ul>
<li class=""><strong>Individual recognition</strong> for suggestions — small monetary + symbolic rewards</li>
<li class=""><strong>Team-level bonuses</strong> tied to quality, delivery, and safety metrics</li>
<li class=""><strong>No individual performance ranking</strong> — evaluation includes how you develop others</li>
</ul>
<p>The principle: individual <em>ideas</em> are rewarded (because ideation is independent work), but <em>outcomes</em> are rewarded at the team level (because execution is interdependent).</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-sdlc-spectrum-not-all-work-is-equal">The SDLC Spectrum: Not All Work Is Equal<a href="https://noobj.me/notes/the-reward-paradox#the-sdlc-spectrum-not-all-work-is-equal" class="hash-link" aria-label="Direct link to The SDLC Spectrum: Not All Work Is Equal" title="Direct link to The SDLC Spectrum: Not All Work Is Equal" translate="no">​</a></h2>
<p>Here's the thing most reward debates miss: <strong>software development isn't one type of work.</strong> It's a spectrum of interdependence. And the reward structure should follow that spectrum.</p>
<div style="display:flex;justify-content:center"><table><thead><tr><th>Work Type</th><th>Interdependence</th><th>Reward Should Be...</th></tr></thead><tbody><tr><td><strong>Isolated bug fix</strong></td><td>Low</td><td>Individual</td></tr><tr><td><strong>Technical spike / POC</strong></td><td>Low</td><td>Individual</td></tr><tr><td><strong>Documentation</strong></td><td>Low-Medium</td><td>Individual (the value is team-wide, but the act is solo)</td></tr><tr><td><strong>Code review</strong></td><td>Medium</td><td>Individual recognition for team-enabling behaviour</td></tr><tr><td><strong>Feature implementation</strong></td><td>Medium-High</td><td>Hybrid — individual contribution visible, team ships together</td></tr><tr><td><strong>Architecture decisions / RFCs</strong></td><td>High</td><td>Team — no single person "owns" an architecture</td></tr><tr><td><strong>Mentoring / onboarding</strong></td><td>High</td><td>Individual recognition for team-multiplying work</td></tr><tr><td><strong>Platform / shared library work</strong></td><td>Very High</td><td>Team — the value is diffuse, everyone benefits</td></tr><tr><td><strong>Incident response</strong></td><td>Very High</td><td>Team — rewarding the "hero" incentivises heroics over prevention</td></tr><tr><td><strong>Product launch</strong></td><td>Very High</td><td>Team — cross-functional by definition</td></tr></tbody></table></div>
<p>The pattern:</p>
<!-- -->
<p>In practice, most work sits in the ambiguous middle. A "feature implementation" might be 90% one person's effort or 90% coordination — it depends on the feature, the team, and the codebase. The point isn't to classify perfectly. It's to <em>ask the question</em> before defaulting to one approach. The table is a starting point for the conversation, not a lookup table for the answer.</p>
<p><strong>The more coordination the work requires → the more the reward should be team-based. The more it depends on individual judgment → the more it should be individual. Always: make the contribution visible.</strong></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="back-to-the-champion-points">Back to the Champion Points<a href="https://noobj.me/notes/the-reward-paradox#back-to-the-champion-points" class="hash-link" aria-label="Direct link to Back to the Champion Points" title="Direct link to Back to the Champion Points" translate="no">​</a></h2>
<p>So — should the champion points go to one person or the whole team? Ask what was shipped:</p>
<ul>
<li class=""><strong>Solo technical breakthrough</strong> — a debugging insight, a performance optimisation, a piece of tooling that one person built → reward the individual. Make it visible.</li>
<li class=""><strong>Team delivery</strong> — a feature that required design, engineering, QA, coordination, and cross-team dependencies → reward the team. The "driver" had a team that made driving possible.</li>
<li class=""><strong>Both</strong> — and it usually is → do both. Recognise the individual's <em>specific contribution</em> publicly ("Priya's caching strategy saved us 40ms on every request") AND reward the team for shipping ("The checkout squad hit their Q1 target").</li>
</ul>
<p>It's not "team OR individual." It's "what does the work structure tell us about where the value was created?"</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-design-principles">The Design Principles<a href="https://noobj.me/notes/the-reward-paradox#the-design-principles" class="hash-link" aria-label="Direct link to The Design Principles" title="Direct link to The Design Principles" translate="no">​</a></h2>
<p>If you're building a reward system — or arguing about one in a leadership meeting — these are the principles the evidence supports. Pin this to the wall.</p>
<table><thead><tr><th>Principle</th><th>Why It Works</th></tr></thead><tbody><tr><td><strong>Match reward to interdependence</strong></td><td>Interdependent work + individual rewards = broken cooperation. Independent work + team rewards = free riders.</td></tr><tr><td><strong>Make contribution visible always</strong></td><td>Even in team rewards, people need to feel <em>seen</em>. Visibility ≠ competition. It's recognition.</td></tr><tr><td><strong>Reward the behaviour you want repeated</strong></td><td>If you reward heroics, you get more fires. If you reward prevention, you get fewer.</td></tr><tr><td><strong>Never reward performance without trust</strong></td><td>The Navy SEALs principle. A brilliant jerk is a net negative.</td></tr><tr><td><strong>Separate recognition from compensation</strong></td><td>A public "thank you" and a bonus serve different purposes. Don't conflate them.</td></tr><tr><td><strong>Let peers recognise peers</strong></td><td>Managers see 20% of what happens. Peers see 80%. Google's peer bonus system works because it captures the invisible.</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-you-can-do-tomorrow">What You Can Do Tomorrow<a href="https://noobj.me/notes/the-reward-paradox#what-you-can-do-tomorrow" class="hash-link" aria-label="Direct link to What You Can Do Tomorrow" title="Direct link to What You Can Do Tomorrow" translate="no">​</a></h2>
<p>One caveat before the action table: if Team A does highly interdependent work and gets team rewards, while Team B does independent work and gets individual rewards, you risk creating a two-tier system. The star on Team A who could earn individual recognition on Team B feels penalised for their team assignment. You need org-level consistency in <em>how</em> you assess interdependence, or you'll just move the unfairness from one dimension to another.</p>
<table><thead><tr><th>Role</th><th>Action</th></tr></thead><tbody><tr><td><strong>Engineer</strong></td><td>Publicly credit the people who unblocked you. Make the invisible visible.</td></tr><tr><td><strong>Engineer</strong></td><td>When you get individual recognition, name the team context that made it possible.</td></tr><tr><td><strong>Engineer</strong></td><td>Propose a peer recognition channel in your team's Slack/Teams — make visibility a system, not just good intentions.</td></tr><tr><td><strong>Engineer</strong></td><td>When the team disagrees about who "drove" something — that's a signal the work was more interdependent than anyone admits.</td></tr><tr><td><strong>Tech Lead / EM</strong></td><td>Before giving champion points, ask: "Was this independent or interdependent work?" Let the answer guide the reward.</td></tr><tr><td><strong>Tech Lead / EM</strong></td><td>Add "how did you multiply others?" to every performance conversation. Microsoft's second pillar.</td></tr><tr><td><strong>Tech Lead / EM</strong></td><td>Recognise the <em>type</em> of contribution, not just the <em>size</em>. A great code review is worth celebrating even if it's not a feature.</td></tr><tr><td><strong>Director+</strong></td><td>Audit your reward system against your work structure. If 80% of your work is interdependent but 100% of your rewards are individual, the math is broken.</td></tr><tr><td><strong>Director+</strong></td><td>Stop asking "who deserves the reward?" Start asking "what behaviour does this reward produce?"</td></tr><tr><td><strong>Director+</strong></td><td>Build the Microsoft three-pillar model: individual impact + contribution to others + leveraging others.</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-one-takeaway">The One Takeaway<a href="https://noobj.me/notes/the-reward-paradox#the-one-takeaway" class="hash-link" aria-label="Direct link to The One Takeaway" title="Direct link to The One Takeaway" translate="no">​</a></h2>
<p>You don't have a "team vs individual" problem. You have a <strong>design</strong> problem. The reward structure is a feedback loop — it produces behaviour. If you're getting the wrong behaviour, you've designed the wrong loop.</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #e2b714;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><div style="font-size:2rem;margin-bottom:0.5rem">💡</div><p style="font-size:1.3rem;font-weight:700;color:#e2b714;line-height:1.6;margin:0"></p><p>Stop asking "who deserves the reward?"<br>Start asking "what behaviour does this reward produce?"</p><p></p></div>
<p>The best teams — SEALs, All Blacks, Microsoft post-Nadella, Toyota, Google — don't pick a side. They match the reward to the work. They make contribution visible. They refuse to trade trust for performance.</p>
<p>The champion points? Give them to the person when the work was theirs. Give them to the team when the work was shared. And always, always make the contribution visible — because the worst outcome isn't giving the reward to the wrong person. It's making someone feel invisible for work that mattered.</p>
<hr>
<p><em>This post connects to the <a class="" href="https://noobj.me/notes/game-theory-engineering-collaboration">game theory series</a> (why cooperation breaks down under individual incentives), <a class="" href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster">The Price of Anarchy</a> (local vs global optimisation), and <a class="" href="https://noobj.me/notes/the-luck-paradox">The Luck Paradox</a> (the egocentric bias that makes everyone overestimate their own contribution). The research draws from <a href="https://deming.org/deming-on-management-performance-appraisal/" target="_blank" rel="noopener noreferrer" class="">Deming's systems thinking</a>, <a href="https://alfiekohn.org/punished-rewards/" target="_blank" rel="noopener noreferrer" class="">Alfie Kohn's Punished by Rewards</a>, and <a href="https://www.danpink.com/books/drive/" target="_blank" rel="noopener noreferrer" class="">Daniel Pink's Drive</a>.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Leadership" term="Leadership"/>
        <category label="Culture" term="Culture"/>
        <category label="Psychology" term="Psychology"/>
        <category label="Game Theory" term="Game Theory"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Your Agents Are Running. So Why Are You Still Exhausted?]]></title>
        <id>https://noobj.me/notes/cognitive-load-agentic-ai</id>
        <link href="https://noobj.me/notes/cognitive-load-agentic-ai"/>
        <updated>2026-03-25T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[In software engineering, cognitive load refers to the total amount of mental effort being used in a developer's working memory to complete a task. Think of it like the RAM in a computer: if you try to run too many heavy applications at once, the system slows down, glitches, or crashes.]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/cognitive-load-banner.svg" alt="Cognitive Load in the Age of Agents" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>In software engineering, <strong>cognitive load</strong> refers to the total amount of mental effort being used in a developer's working memory to complete a task. Think of it like the <strong>RAM in a computer</strong>: if you try to run too many heavy applications at once, the system slows down, glitches, or crashes.</p>
<p>When a developer's cognitive load exceeds their mental capacity, productivity drops, the quality of code suffers, and the risk of burnout increases.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-three-types-of-cognitive-load">The Three Types of Cognitive Load<a href="https://noobj.me/notes/cognitive-load-agentic-ai#the-three-types-of-cognitive-load" class="hash-link" aria-label="Direct link to The Three Types of Cognitive Load" title="Direct link to The Three Types of Cognitive Load" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/cognitive-load-types.svg" alt="Three types of cognitive load: Intrinsic, Extraneous, Germane" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>The concept, originally developed by educational psychologist John Sweller, is typically broken down into three distinct categories in a technical context:</p>
<table><thead><tr><th style="text-align:left">Type</th><th style="text-align:left">Definition</th><th style="text-align:left">Software Example</th></tr></thead><tbody><tr><td style="text-align:left"><strong>Intrinsic</strong></td><td style="text-align:left">The inherent difficulty of the problem itself.</td><td style="text-align:left">Learning how a specific complex algorithm works or understanding a new programming language.</td></tr><tr><td style="text-align:left"><strong>Extraneous</strong></td><td style="text-align:left">Mental effort spent on things that don't directly help the task.</td><td style="text-align:left">Struggling with a confusing IDE, poorly documented legacy code, or complex deployment scripts.</td></tr><tr><td style="text-align:left"><strong>Germane</strong></td><td style="text-align:left">The "productive" load used to create mental models and patterns.</td><td style="text-align:left">Building a deep understanding of the business domain or architectural patterns that can be reused.</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-it-matters-in-software-development">Why It Matters in Software Development<a href="https://noobj.me/notes/cognitive-load-agentic-ai#why-it-matters-in-software-development" class="hash-link" aria-label="Direct link to Why It Matters in Software Development" title="Direct link to Why It Matters in Software Development" translate="no">​</a></h2>
<p>In modern software environments, cognitive load has become a primary bottleneck. As systems move toward microservices, cloud-native architectures, and "you build it, you run it" philosophies, developers are often overwhelmed by the sheer volume of information they must hold in their heads.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="signs-of-high-cognitive-load">Signs of High Cognitive Load<a href="https://noobj.me/notes/cognitive-load-agentic-ai#signs-of-high-cognitive-load" class="hash-link" aria-label="Direct link to Signs of High Cognitive Load" title="Direct link to Signs of High Cognitive Load" translate="no">​</a></h3>
<ul>
<li class=""><strong>Analysis Paralysis:</strong> Taking a long time to start a task because the system feels too "heavy" to touch.</li>
<li class=""><strong>The "Fear" of Changing Code:</strong> Developers become afraid to refactor because they don't fully understand the ripple effects.</li>
<li class=""><strong>Frequent Context Switching:</strong> Jumping between different domains, tools, or Slack interruptions shreds mental focus.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-to-manage-and-reduce-it">How to Manage and Reduce It<a href="https://noobj.me/notes/cognitive-load-agentic-ai#how-to-manage-and-reduce-it" class="hash-link" aria-label="Direct link to How to Manage and Reduce It" title="Direct link to How to Manage and Reduce It" translate="no">​</a></h2>
<p>Managing cognitive load isn't about making the work "easy"; it's about clearing away the "noise" so developers can focus on the "signal."</p>
<ul>
<li class=""><strong>Limit Team Scope:</strong> Popularized by the book <em>Team Topologies</em>, this involves ensuring a single team isn't responsible for too many complex domains.</li>
<li class=""><strong>Improve Developer Experience (DevEx):</strong> Investing in internal platforms, clear documentation, and "Golden Paths" reduces <strong>extraneous load</strong> (the "how do I deploy this?" struggle).</li>
<li class=""><strong>Encourage Small, Decoupled Components:</strong> Smaller, well-defined services are easier to fit into working memory than massive, tangled monoliths.</li>
<li class=""><strong>Standardization:</strong> Using consistent patterns and tools across a company allows developers to move between projects without having to relearn basic workflows.</li>
</ul>
<blockquote>
<p><strong>The Golden Rule:</strong> If a developer has to spend 80% of their energy just figuring out how to run the environment or navigate the folder structure, they only have 20% left to actually solve the business problem.</p>
</blockquote>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-psychology-behind-the-load">The Psychology Behind the Load<a href="https://noobj.me/notes/cognitive-load-agentic-ai#the-psychology-behind-the-load" class="hash-link" aria-label="Direct link to The Psychology Behind the Load" title="Direct link to The Psychology Behind the Load" translate="no">​</a></h2>
<p>To understand cognitive load from a psychological perspective, we have to look past the code and focus on the <strong>biological architecture of the human brain</strong>. While software engineering feels like a purely logical exercise, it is actually a high-stakes performance of human memory and attention.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-the-working-memory-bottleneck">1. The Working Memory Bottleneck<a href="https://noobj.me/notes/cognitive-load-agentic-ai#1-the-working-memory-bottleneck" class="hash-link" aria-label="Direct link to 1. The Working Memory Bottleneck" title="Direct link to 1. The Working Memory Bottleneck" translate="no">​</a></h3>
<blockquote>
<p><em>"The magical number seven, plus or minus two: some limits on our capacity for processing information."</em> — <strong>George Miller</strong>, 1956</p>
</blockquote>
<p>At the heart of cognitive load is <strong>Working Memory</strong>, the psychological "workspace" where we temporarily hold and manipulate information.</p>
<ul>
<li class=""><strong>The Constraint:</strong> In 1956, George Miller famously suggested that humans can hold roughly <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>7</mn><mo>±</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">7 \pm 2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em"></span><span class="mord">7</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">±</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.6444em"></span><span class="mord">2</span></span></span></span> "chunks" of information at once. Modern research suggests this might be as low as 3 to 5 chunks for complex tasks.</li>
<li class=""><strong>The Engineering Connection:</strong> When a developer looks at a function that has 15 different variables, 4 nested loops, and 3 external API calls, they are physically exceeding their working memory capacity.</li>
<li class=""><strong>The Result:</strong> "Cognitive Overflow." This is the moment a developer says, "Wait, what was I doing?" Their brain literally ran out of temporary storage, and the previous context was overwritten.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-schema-theory-how-experts-cheat-the-load">2. Schema Theory: How Experts "Cheat" the Load<a href="https://noobj.me/notes/cognitive-load-agentic-ai#2-schema-theory-how-experts-cheat-the-load" class="hash-link" aria-label="Direct link to 2. Schema Theory: How Experts &quot;Cheat&quot; the Load" title="Direct link to 2. Schema Theory: How Experts &quot;Cheat&quot; the Load" translate="no">​</a></h3>
<p>Psychologists define a <strong>Schema</strong> as a mental structure that organizes categories of information and the relationships among them. This is the difference between a junior and a senior engineer.</p>
<ul>
<li class=""><strong>Chunking:</strong> An expert doesn't see "an <code>if</code> statement, a <code>for</code> loop, and a <code>try-catch</code> block." They see a <strong>"Circuit Breaker Pattern."</strong> By grouping individual items into a single mental schema, they reduce 10 chunks of information into 1.</li>
<li class=""><strong>Germane Load as Investment:</strong> Germane load is the mental effort spent building these schemas. When you struggle to learn a new architectural pattern, you are performing "productive" psychological work that will lower your intrinsic load in the future.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-dual-process-theory-system-1-vs-system-2">3. Dual Process Theory (System 1 vs. System 2)<a href="https://noobj.me/notes/cognitive-load-agentic-ai#3-dual-process-theory-system-1-vs-system-2" class="hash-link" aria-label="Direct link to 3. Dual Process Theory (System 1 vs. System 2)" title="Direct link to 3. Dual Process Theory (System 1 vs. System 2)" translate="no">​</a></h3>
<p>Popularized by Daniel Kahneman, this theory suggests our brains operate in two modes:</p>
<table><thead><tr><th style="text-align:left">Mode</th><th style="text-align:left">Psychological Effort</th><th style="text-align:left">Role in Engineering</th></tr></thead><tbody><tr><td style="text-align:left"><strong>System 1 (Fast)</strong></td><td style="text-align:left">Automatic, intuitive, and effortless.</td><td style="text-align:left">Recognizing a syntax error or typing common commands like <code>git status</code>.</td></tr><tr><td style="text-align:left"><strong>System 2 (Slow)</strong></td><td style="text-align:left">Deliberate, logical, and exhausting.</td><td style="text-align:left">Debugging a race condition or designing a distributed system.</td></tr></tbody></table>
<blockquote>
<p><em>"Thinking is to humans as swimming is to cats. They can do it, but they'd prefer not to."</em> — <strong>Daniel Kahneman</strong>, <em>Thinking, Fast and Slow</em>
<strong>The Psychological Angle:</strong> High <strong>Extraneous Load</strong> (bad tools, loud offices, messy code) forces a developer to stay in <strong>System 2</strong> for tasks that should be <strong>System 1</strong>. This is why a developer can feel physically exhausted after 8 hours of "just sitting at a desk"—they have depleted their limited pool of "Executive Function" resources.</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-the-flow-state-and-attentional-blink">4. The Flow State and Attentional Blink<a href="https://noobj.me/notes/cognitive-load-agentic-ai#4-the-flow-state-and-attentional-blink" class="hash-link" aria-label="Direct link to 4. The Flow State and Attentional Blink" title="Direct link to 4. The Flow State and Attentional Blink" translate="no">​</a></h3>
<p>The ultimate goal in software engineering is the <strong>Flow State</strong> (proposed by Mihaly Csikszentmihalyi)—a psychological state of deep "immersion."</p>
<ul>
<li class=""><strong>Interruption Cost:</strong> When a developer is in flow, they have built a fragile "house of cards" in their working memory.</li>
<li class=""><strong>Attentional Blink:</strong> When a Slack notification or a meeting request pops up, the brain undergoes a "switch cost." It can take upwards of <strong>20 minutes</strong> to rebuild that specific mental model.</li>
<li class=""><strong>Cognitive Friction:</strong> High extraneous load acts as "friction" that prevents the brain from ever reaching the flow state, leading to frustration and lower job satisfaction.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-the-psychological-impact">5. The Psychological Impact<a href="https://noobj.me/notes/cognitive-load-agentic-ai#5-the-psychological-impact" class="hash-link" aria-label="Direct link to 5. The Psychological Impact" title="Direct link to 5. The Psychological Impact" translate="no">​</a></h3>
<table><thead><tr><th style="text-align:left">Psychological Aspect</th><th style="text-align:left">Impact on Software Engineering</th></tr></thead><tbody><tr><td style="text-align:left"><strong>Cognitive Fatigue</strong></td><td style="text-align:left">Decisions made late in the day are often of lower quality (Decision Fatigue).</td></tr><tr><td style="text-align:left"><strong>Anxiety &amp; Stress</strong></td><td style="text-align:left">High intrinsic load without support leads to "imposter syndrome" and burnout.</td></tr><tr><td style="text-align:left"><strong>Sense of Agency</strong></td><td style="text-align:left">When cognitive load is managed, developers feel "in control," which is a primary driver of mental well-being.</td></tr></tbody></table>
<blockquote>
<p><strong>Psychological Insight:</strong> We don't "write" code; we "model" it in our minds and then transcribe it. The bottleneck is never the typing speed; it is the <strong>mental modeling speed.</strong></p>
</blockquote>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-agentic-shift">The Agentic Shift<a href="https://noobj.me/notes/cognitive-load-agentic-ai#the-agentic-shift" class="hash-link" aria-label="Direct link to The Agentic Shift" title="Direct link to The Agentic Shift" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/cognitive-load-shift.svg" alt="Builder to Director: the cognitive load shift" style="width:100%;max-width:700px;border-radius:8px"></div>
<blockquote>
<p><em>"Automation does not replace human work. It changes it — often making it harder."</em> — <strong>Lisanne Bainbridge</strong>, <em>Ironies of Automation</em>, 1983
In the era of Agentic AI, the narrative of cognitive load shifts from <strong>"The Burden of Creation"</strong> to <strong>"The Burden of Orchestration."</strong> If traditional software engineering is like being a lone writer at a desk, managing multiple AI agents is like being the director of an experimental theater troupe: you aren't writing every line anymore, but you are responsible for the coherence, timing, and "hallucination" control of every actor on stage.</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-the-psychological-shift-builder--director">1. The Psychological Shift: Builder → Director<a href="https://noobj.me/notes/cognitive-load-agentic-ai#1-the-psychological-shift-builder--director" class="hash-link" aria-label="Direct link to 1. The Psychological Shift: Builder → Director" title="Direct link to 1. The Psychological Shift: Builder → Director" translate="no">​</a></h3>
<p>In a traditional workflow, your cognitive load is primarily <strong>creative</strong>. You hold the logic in your mind and transcribe it. With multiple agents, your role shifts toward <strong>evaluative</strong> load.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-reviewers-fatigue-the-system-2-trap">The "Reviewer's Fatigue" (The System 2 Trap)<a href="https://noobj.me/notes/cognitive-load-agentic-ai#the-reviewers-fatigue-the-system-2-trap" class="hash-link" aria-label="Direct link to The &quot;Reviewer's Fatigue&quot; (The System 2 Trap)" title="Direct link to The &quot;Reviewer's Fatigue&quot; (The System 2 Trap)" translate="no">​</a></h4>
<p>Psychologically, <em>writing</em> code often engages a flow state. However, <em>reviewing</em> code—especially code generated by multiple agents—requires constant <strong>System 2 (Slow Thinking)</strong>.</p>
<ul>
<li class=""><strong>The Problem:</strong> The brain finds it more exhausting to find a needle in a haystack (debugging an agent's subtle logic error) than to build the haystack itself.</li>
<li class=""><strong>The "Losing It" Factor:</strong> When you run 5 agents in parallel, you aren't doing 5x the work; you are doing 5x the <em>critical auditing</em>, which depletes your executive function significantly faster.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-the-new-agentic-cognitive-load-map">2. The New "Agentic" Cognitive Load Map<a href="https://noobj.me/notes/cognitive-load-agentic-ai#2-the-new-agentic-cognitive-load-map" class="hash-link" aria-label="Direct link to 2. The New &quot;Agentic&quot; Cognitive Load Map" title="Direct link to 2. The New &quot;Agentic&quot; Cognitive Load Map" translate="no">​</a></h3>
<p>The three types of cognitive load we discussed previously evolve in an agent-heavy environment:</p>
<table><thead><tr><th style="text-align:left">Type</th><th style="text-align:left">Traditional SE Load</th><th style="text-align:left">Agentic SE Load (2026)</th></tr></thead><tbody><tr><td style="text-align:left"><strong>Intrinsic</strong></td><td style="text-align:left">Understanding the business logic.</td><td style="text-align:left">Understanding the <strong>Inter-Agent Dependencies</strong> (How Agent A's output breaks Agent B).</td></tr><tr><td style="text-align:left"><strong>Extraneous</strong></td><td style="text-align:left">Dealing with slow IDEs/Meetings.</td><td style="text-align:left"><strong>Orchestration Noise</strong>: Managing token limits, non-deterministic outputs, and "agent loops."</td></tr><tr><td style="text-align:left"><strong>Germane</strong></td><td style="text-align:left">Learning a new language/pattern.</td><td style="text-align:left"><strong>Systems Thinking</strong>: Building the mental model of the entire agentic topology.</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-why-multi-agent-systems-create-a-complexity-trap">3. Why Multi-Agent Systems Create a "Complexity Trap"<a href="https://noobj.me/notes/cognitive-load-agentic-ai#3-why-multi-agent-systems-create-a-complexity-trap" class="hash-link" aria-label="Direct link to 3. Why Multi-Agent Systems Create a &quot;Complexity Trap&quot;" title="Direct link to 3. Why Multi-Agent Systems Create a &quot;Complexity Trap&quot;" translate="no">​</a></h3>
<p>From a <strong>Systems Thinking</strong> perspective, every new agent added to a system doesn't just add capability; it adds <strong>communication channels</strong>.</p>
<ul>
<li class=""><strong>The Formula:</strong> <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo stretchy="false">(</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">n(n-1)/2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord mathnormal">n</span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord">1</span><span class="mclose">)</span><span class="mord">/2</span></span></span></span>. If you have 5 agents, you have 10 potential points of failure in communication.</li>
<li class=""><strong>Semantic Noise:</strong> Agents often work from "conflicting assumptions." If Agent A assumes a "User" is an ID (integer) and Agent B assumes it's an Email (string), the human manager must now resolve this "hidden" conflict. This is a massive hit to your <strong>working memory</strong>.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-how-to-manage-agents-without-losing-it">4. How to Manage Agents "Without Losing It"<a href="https://noobj.me/notes/cognitive-load-agentic-ai#4-how-to-manage-agents-without-losing-it" class="hash-link" aria-label="Direct link to 4. How to Manage Agents &quot;Without Losing It&quot;" title="Direct link to 4. How to Manage Agents &quot;Without Losing It&quot;" translate="no">​</a></h3>
<p>To keep your cognitive load manageable while orchestrating AI, you must move from "Micromanagement" to "Governance."</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-establish-hard-task-boundaries">A. Establish "Hard" Task Boundaries<a href="https://noobj.me/notes/cognitive-load-agentic-ai#a-establish-hard-task-boundaries" class="hash-link" aria-label="Direct link to A. Establish &quot;Hard&quot; Task Boundaries" title="Direct link to A. Establish &quot;Hard&quot; Task Boundaries" translate="no">​</a></h4>
<p>Don't build a "Bag of Agents" where everyone talks to everyone. Use a <strong>Hierarchical Topology</strong>:</p>
<ul>
<li class=""><strong>The Lead Agent (The Architect):</strong> Only this agent talks to you.</li>
<li class=""><strong>Specialized Sub-Agents:</strong> They only talk to the Lead.</li>
<li class=""><strong>Psychological Benefit:</strong> This "chunks" the information. You only need to hold the Lead Agent's state in your working memory.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="b-invest-in-context-engineering">B. Invest in "Context Engineering"<a href="https://noobj.me/notes/cognitive-load-agentic-ai#b-invest-in-context-engineering" class="hash-link" aria-label="Direct link to B. Invest in &quot;Context Engineering&quot;" title="Direct link to B. Invest in &quot;Context Engineering&quot;" translate="no">​</a></h4>
<p>The greatest source of "Agentic Anxiety" is the <strong>Trust Gap</strong>. You don't know <em>why</em> the agent did what it did.</p>
<ul>
<li class=""><strong>The Fix:</strong> Use frameworks that provide <strong>full execution traces</strong> (like LangGraph or LangSmith).</li>
<li class=""><strong>Action:</strong> If you can't "see" the thought process, don't ship the agent. Observability is the only antidote to the cognitive load of uncertainty.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="c-the-human-on-the-loop-strategy">C. The "Human-on-the-Loop" Strategy<a href="https://noobj.me/notes/cognitive-load-agentic-ai#c-the-human-on-the-loop-strategy" class="hash-link" aria-label="Direct link to C. The &quot;Human-on-the-Loop&quot; Strategy" title="Direct link to C. The &quot;Human-on-the-Loop&quot; Strategy" translate="no">​</a></h4>
<p>Stop trying to be "Human-in-the-loop" for every step. It's too taxing.</p>
<ul>
<li class=""><strong>Strategy:</strong> Define "Critical Gates" (e.g., Schema changes, API deployments). Let agents run autonomously for 80% of the task, but force a "hard stop" for human review at high-risk junctions. This preserves your <strong>System 2 energy</strong> for when it actually matters.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-engineering-leaders-takeaway">The Engineering Leader's Takeaway<a href="https://noobj.me/notes/cognitive-load-agentic-ai#the-engineering-leaders-takeaway" class="hash-link" aria-label="Direct link to The Engineering Leader's Takeaway" title="Direct link to The Engineering Leader's Takeaway" translate="no">​</a></h2>
<p>In 2026, the most successful engineering leaders aren't those with the most agents; they are those with the <strong>cleanest mental models</strong> of their agentic workflows.</p>
<blockquote>
<p><strong>The Narcotic of Productivity:</strong> It is easy to feel productive because "work is happening," but if the <strong>Reviewer's Fatigue</strong> leads to a 35% failure rate in production, the cognitive load has simply been deferred, not deleted.</p>
</blockquote>
<blockquote>
<p><em>"The real problem of humanity is the following: We have Paleolithic emotions, medieval institutions, and godlike technology."</em> — <strong>E.O. Wilson</strong>
The tools changed. The bottleneck didn't. It's still the space between your ears.</p>
</blockquote>
<hr>
<p><em>This post connects to the broader theme of how systems shape behaviour. For how game theory explains why teams defect instead of cooperate, read <a class="" href="https://noobj.me/notes/game-theory-engineering-collaboration">The Prisoner's Dilemma Is Why You Got Ghosted on Slack</a>. For what happens when everyone optimises locally, read <a class="" href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster">Why Everyone's Busy But Nothing Ships Faster</a>.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Engineering" term="Engineering"/>
        <category label="Culture" term="Culture"/>
        <category label="Leadership" term="Leadership"/>
        <category label="AI Tooling" term="AI Tooling"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Your Governance Framework Is Protecting You From Progress (A $5.4 Billion Case Study)]]></title>
        <id>https://noobj.me/notes/governance-theatre</id>
        <link href="https://noobj.me/notes/governance-theatre"/>
        <updated>2026-03-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Somewhere in your organisation right now, an engineer wants to use a tool. It's open source. It's battle-tested. Half the Fortune 500 runs it in production. But first, they need to fill out a vendor assessment form, get InfoSec sign-off, wait for procurement to confirm there's a contract in place, and then — maybe, in four to six months — they'll get a "yes" or a "no" from a committee that's optimised for risk avoidance, not risk management.]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/governance-banner.svg" alt="Governance Theatre" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>Somewhere in your organisation right now, an engineer wants to use a tool. It's open source. It's battle-tested. Half the Fortune 500 runs it in production. But first, they need to fill out a vendor assessment form, get InfoSec sign-off, wait for procurement to confirm there's a contract in place, and then — maybe, in four to six months — they'll get a "yes" or a "no" from a committee that's optimised for risk avoidance, not risk management.</p>
<p>This isn't an argument against governance. Governance matters — especially in regulated industries. This is an argument that the <em>way</em> most enterprises do governance today is broken: optimised for the appearance of control rather than the reality of it. The question isn't whether to govern. It's whether your governance framework is actually reducing risk — or just reducing speed.</p>
<p>Meanwhile, the startup down the road shipped the feature last Tuesday.</p>
<p>But hey, at least you've got a contract. You can <em>sue</em> them if things go wrong. Right?</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-contract-will-protect-us">The Contract Will Protect Us<a href="https://noobj.me/notes/governance-theatre#the-contract-will-protect-us" class="hash-link" aria-label="Direct link to The Contract Will Protect Us" title="Direct link to The Contract Will Protect Us" translate="no">​</a></h2>
<p>Let's start with the big one — the security blanket that justifies half of enterprise governance: <em>"We need a contract so we have legal recourse."</em></p>
<p>Let's test that theory with the largest IT outage in history.</p>
<p><strong>July 19, 2024.</strong> CrowdStrike pushes a faulty update. <a href="https://en.wikipedia.org/wiki/2024_CrowdStrike-related_IT_outages" target="_blank" rel="noopener noreferrer" class="">8.5 million Windows machines crash globally</a>. Every Fortune 500 airline goes down. 75% of top healthcare organisations affected. <a href="https://fortune.com/2024/08/03/crowdstrike-outage-fortune-500-companies-5-4-billion-damages-uninsured-losses/" target="_blank" rel="noopener noreferrer" class="">Estimated damages to Fortune 500 companies alone: <strong>$5.4 billion</strong></a>.</p>
<p>I know because I was there. Friday night, flight cancelled, standing in a terminal watching departure boards go dark one by one — with a conference talk to give Saturday morning. The approved vendor's approved update took down the approved airline's approved systems. Nobody asked me if I'd approved that.</p>
<p>CrowdStrike was the <em>approved vendor</em>. Every one of those enterprises had a contract. They'd been through procurement. They'd passed InfoSec review. They had SLAs, liability clauses, the works.</p>
<p>So how much have those enterprises recovered?</p>
<p><strong>Zero dollars.</strong> As of today — not a cent.</p>
<p>Delta Air Lines — 7,000 cancelled flights, 1.3 million stranded passengers, <a href="https://www.theregister.com/2025/05/21/judge_allows_deltas_lawsuit_against/" target="_blank" rel="noopener noreferrer" class="">$500M+ in claimed losses</a> — is still in court. CrowdStrike is <a href="https://www.crn.com/news/security/2025/5-things-to-watch-in-delta-s-lawsuit-against-crowdstrike" target="_blank" rel="noopener noreferrer" class="">"confident" their liability is capped at <strong>single-digit millions</strong></a> thanks to the limitation of liability clause in the contract. The same contract that was supposed to protect Delta.</p>
<p>The shareholder lawsuit? <a href="https://www.theregister.com/2026/01/14/crowdstrike_shareholders_lawsuit_dismiss/" target="_blank" rel="noopener noreferrer" class="">Dismissed</a>. The passenger class action? <a href="https://www.expertinstitute.com/resources/insights/crowdstrike-customer-class-action-2024-outage/" target="_blank" rel="noopener noreferrer" class="">Dismissed</a>. CrowdStrike's stock? <a href="https://finbold.com/if-you-invested-1000-in-crowdstrike-stock-after-the-global-it-outage-heres-your-return-now/" target="_blank" rel="noopener noreferrer" class="">Fully recovered within five months</a>. Customer retention rate? <a href="https://thisweekhealth.com/news_story/crowdstrike-maintains-97-customer-loyalty-despite-major-it-outage/" target="_blank" rel="noopener noreferrer" class="">97%</a>.</p>
<p>The contract didn't protect anyone. It protected <em>CrowdStrike</em>.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/crowdstrike-impact.svg" alt="CrowdStrike: $5.4B damages, $0 recovered" style="width:100%;max-width:600px;border-radius:8px"></div>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>warning</div><div class="admonitionContent_BuS1"><p>CrowdStrike's "apology" to affected partners? [<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>10</mn><mi>U</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>E</mi><mi>a</mi><mi>t</mi><mi>s</mi><mi>g</mi><mi>i</mi><mi>f</mi><mi>t</mi><mi>c</mi><mi>a</mi><mi>r</mi><mi>d</mi><mi>s</mi><mo stretchy="false">]</mo><mo stretchy="false">(</mo><mi>h</mi><mi>t</mi><mi>t</mi><mi>p</mi><mi>s</mi><mo>:</mo><mi mathvariant="normal">/</mi><mi mathvariant="normal">/</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi><mi>c</mi><mi>o</mi><mi>n</mi><mi>o</mi><mi>m</mi><mi>y</mi><mi mathvariant="normal">.</mi><mi>c</mi><mi>o</mi><mi>m</mi><mi mathvariant="normal">/</mi><mn>2024</mn><mi mathvariant="normal">/</mi><mn>07</mn><mi mathvariant="normal">/</mi><mn>25</mn><mi mathvariant="normal">/</mi><mi>c</mi><mi>r</mi><mi>o</mi><mi>w</mi><mi>d</mi><mi>s</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>k</mi><mi>e</mi><mo>−</mo><mi>g</mi><mi>i</mi><mi>f</mi><mi>t</mi><mo>−</mo><mi>c</mi><mi>a</mi><mi>r</mi><mi>d</mi><mo>−</mo><mi>a</mi><mi>p</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>g</mi><mi>y</mi><mo>−</mo><mi>u</mi><mi>b</mi><mi>e</mi><mi>r</mi><mo>−</mo><mi>e</mi><mi>a</mi><mi>t</mi><mi>s</mi><mi mathvariant="normal">/</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi><mi>F</mi><mi>o</mi><mi>r</mi><mi>a</mi></mrow><annotation encoding="application/x-tex">10 Uber Eats gift cards](https://dataconomy.com/2024/07/25/crowdstrike-gift-card-apology-uber-eats/). For a </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord">10</span><span class="mord mathnormal" style="margin-right:0.10903em">U</span><span class="mord mathnormal">b</span><span class="mord mathnormal" style="margin-right:0.02778em">er</span><span class="mord mathnormal" style="margin-right:0.05764em">E</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span class="mord mathnormal">s</span><span class="mord mathnormal" style="margin-right:0.03588em">g</span><span class="mord mathnormal">i</span><span class="mord mathnormal" style="margin-right:0.10764em">f</span><span class="mord mathnormal">t</span><span class="mord mathnormal">c</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mord mathnormal">d</span><span class="mord mathnormal">s</span><span class="mclose">]</span><span class="mopen">(</span><span class="mord mathnormal">h</span><span class="mord mathnormal">ttp</span><span class="mord mathnormal">s</span><span class="mspace" style="margin-right:0.2778em"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord">//</span><span class="mord mathnormal">d</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span class="mord mathnormal">a</span><span class="mord mathnormal">co</span><span class="mord mathnormal">n</span><span class="mord mathnormal">o</span><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right:0.03588em">y</span><span class="mord">.</span><span class="mord mathnormal">co</span><span class="mord mathnormal">m</span><span class="mord">/2024/07/25/</span><span class="mord mathnormal" style="margin-right:0.02778em">cr</span><span class="mord mathnormal">o</span><span class="mord mathnormal" style="margin-right:0.02691em">w</span><span class="mord mathnormal">d</span><span class="mord mathnormal">s</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mord mathnormal" style="margin-right:0.03148em">ik</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em"></span><span class="mord mathnormal" style="margin-right:0.03588em">g</span><span class="mord mathnormal">i</span><span class="mord mathnormal" style="margin-right:0.10764em">f</span><span class="mord mathnormal">t</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.7778em;vertical-align:-0.0833em"></span><span class="mord mathnormal">c</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mord mathnormal">d</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em"></span><span class="mord mathnormal">a</span><span class="mord mathnormal">p</span><span class="mord mathnormal">o</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mord mathnormal">o</span><span class="mord mathnormal" style="margin-right:0.03588em">g</span><span class="mord mathnormal" style="margin-right:0.03588em">y</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.7778em;vertical-align:-0.0833em"></span><span class="mord mathnormal">u</span><span class="mord mathnormal">b</span><span class="mord mathnormal" style="margin-right:0.02778em">er</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord mathnormal">e</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span class="mord mathnormal">s</span><span class="mord">/</span><span class="mclose">)</span><span class="mord">.</span><span class="mord mathnormal" style="margin-right:0.13889em">F</span><span class="mord mathnormal" style="margin-right:0.02778em">or</span><span class="mord mathnormal">a</span></span></span></span>5.4 billion outage. That's not compensation — that's a meme.</p></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="but-cloud-vendors-have-slas">"But Cloud Vendors Have SLAs"<a href="https://noobj.me/notes/governance-theatre#but-cloud-vendors-have-slas" class="hash-link" aria-label="Direct link to &quot;But Cloud Vendors Have SLAs&quot;" title="Direct link to &quot;But Cloud Vendors Have SLAs&quot;" translate="no">​</a></h2>
<p>Sure they do. Let's read the fine print.</p>
<p><a href="https://aws.amazon.com/agreement/" target="_blank" rel="noopener noreferrer" class="">AWS's Customer Agreement, Section 9.1</a>:</p>
<blockquote>
<p><em>"NEITHER AWS NOR YOU... WILL HAVE LIABILITY TO THE OTHER... FOR (A) INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES, (B) THE VALUE OF YOUR CONTENT, (C) LOSS OF PROFITS, REVENUES, CUSTOMERS, OPPORTUNITIES, OR GOODWILL, OR (D) UNAVAILABILITY OF THE SERVICES"</em></p>
</blockquote>
<p>Read that again. They explicitly exclude liability for <em>the service being unavailable</em>. The thing you're paying them for. If it breaks, they're not liable for the fact that it broke.</p>
<p>What you <em>do</em> get: service credits. Not cash — credits against future usage of the service that just failed you. Typically <a href="https://aws.amazon.com/compute/sla/" target="_blank" rel="noopener noreferrer" class="">10-30% of your monthly bill</a> for the affected service.</p>
<p>So if you spend <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>100</mn><mi>K</mi><mi mathvariant="normal">/</mi><mi>m</mi><mi>o</mi><mi>n</mi><mi>t</mi><mi>h</mi><mi>o</mi><mi>n</mi><mi>A</mi><mi>W</mi><mi>S</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>s</mi><mi>u</mi><mi>f</mi><mi>f</mi><mi>e</mi><mi>r</mi><mi>a</mi><mn>4</mn><mo>−</mo><mi>h</mi><mi>o</mi><mi>u</mi><mi>r</mi><mi>o</mi><mi>u</mi><mi>t</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>t</mi><mi>h</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>o</mi><mi>s</mi><mi>t</mi><mi>s</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>b</mi><mi>u</mi><mi>s</mi><mi>i</mi><mi>n</mi><mi>e</mi><mi>s</mi><mi>s</mi></mrow><annotation encoding="application/x-tex">100K/month on AWS and suffer a 4-hour outage that costs the business </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord">100</span><span class="mord mathnormal" style="margin-right:0.07153em">K</span><span class="mord">/</span><span class="mord mathnormal">m</span><span class="mord mathnormal">o</span><span class="mord mathnormal">n</span><span class="mord mathnormal">t</span><span class="mord mathnormal">h</span><span class="mord mathnormal">o</span><span class="mord mathnormal">n</span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.13889em">W</span><span class="mord mathnormal" style="margin-right:0.05764em">S</span><span class="mord mathnormal">an</span><span class="mord mathnormal">d</span><span class="mord mathnormal">s</span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.10764em">f</span><span class="mord mathnormal" style="margin-right:0.10764em">f</span><span class="mord mathnormal" style="margin-right:0.02778em">er</span><span class="mord mathnormal">a</span><span class="mord">4</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em"></span><span class="mord mathnormal">h</span><span class="mord mathnormal">o</span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mord mathnormal">o</span><span class="mord mathnormal">u</span><span class="mord mathnormal">t</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.03588em">g</span><span class="mord mathnormal">e</span><span class="mord mathnormal">t</span><span class="mord mathnormal">ha</span><span class="mord mathnormal">t</span><span class="mord mathnormal">cos</span><span class="mord mathnormal">t</span><span class="mord mathnormal">s</span><span class="mord mathnormal">t</span><span class="mord mathnormal">h</span><span class="mord mathnormal">e</span><span class="mord mathnormal">b</span><span class="mord mathnormal">u</span><span class="mord mathnormal">s</span><span class="mord mathnormal">in</span><span class="mord mathnormal">ess</span></span></span></span>2M in lost revenue, the SLA credit might be $10K. That's 0.5% of the actual loss. <a href="https://www.softwareseni.com/calculating-the-true-cost-of-cloud-outages-and-downtime" target="_blank" rel="noopener noreferrer" class="">Industry analyses consistently show SLA credits cover a fraction of actual outage costs</a> — the math simply doesn't work in the customer's favour.</p>
<blockquote>
<p><strong>The contract doesn't transfer risk. It transfers paperwork.</strong></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-approved-vendor-list-a-history-of-spectacular-failures">The Approved Vendor List: A History of Spectacular Failures<a href="https://noobj.me/notes/governance-theatre#the-approved-vendor-list-a-history-of-spectacular-failures" class="hash-link" aria-label="Direct link to The Approved Vendor List: A History of Spectacular Failures" title="Direct link to The Approved Vendor List: A History of Spectacular Failures" translate="no">​</a></h2>
<p>The approved vendor list exists to ensure you only use "safe," vetted software. Let's look at how that's worked out.</p>
<p><strong>SolarWinds (2020)</strong> — On the approved vendor list of <a href="https://www.breachsense.com/blog/solarwinds-data-breach-case-study/" target="_blank" rel="noopener noreferrer" class="">18,000 organisations</a> including the US Treasury, Department of Homeland Security, and most of the Fortune 500. Russian intelligence inserted malicious code into <em>trusted software updates</em> — the exact mechanism enterprises rely on. Even <a href="https://www.reflectiz.com/blog/solarwinds-supply-chain-attack/" target="_blank" rel="noopener noreferrer" class="">FireEye, a cybersecurity company, was compromised</a> through their own approved vendor.</p>
<p><strong>CrowdStrike (2024)</strong> — The approved <em>security</em> vendor. $5.4 billion in damages. Already covered.</p>
<p><strong>Log4Shell (2021)</strong> — <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10472545/" target="_blank" rel="noopener noreferrer" class="">93% of enterprise cloud environments</a> were vulnerable. CVSS severity: 10.0 (maximum). The US Department of Homeland Security estimated <a href="https://www.ibm.com/blog/how-to-detect-patch-log4j-vulnerability/" target="_blank" rel="noopener noreferrer" class="">finding and fixing every instance would take a decade</a>. Total lawsuits against Apache, the maintainer? Zero. Because the Apache Software Foundation runs on [<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>3</mn><mi>m</mi><mi>i</mi><mi>l</mi><mi>l</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>a</mi><mi>y</mi><mi>e</mi><mi>a</mi><mi>r</mi><mo stretchy="false">]</mo><mo stretchy="false">(</mo><mi>h</mi><mi>t</mi><mi>t</mi><mi>p</mi><mi>s</mi><mo>:</mo><mi mathvariant="normal">/</mi><mi mathvariant="normal">/</mi><mi>s</mi><mi>a</mi><mi>n</mi><mi>e</mi><mi>s</mi><mi>e</mi><mi>c</mi><mi>u</mi><mi>r</mi><mi>i</mi><mi>t</mi><mi>y</mi><mi>g</mi><mi>u</mi><mi>y</mi><mi mathvariant="normal">.</mi><mi>c</mi><mi>o</mi><mi>m</mi><mi mathvariant="normal">/</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>i</mi><mi>c</mi><mi>l</mi><mi>e</mi><mi>s</mi><mi mathvariant="normal">/</mi><mi>l</mi><mi>o</mi><mi>g</mi><mn>4</mn><mi>s</mi><mi>h</mi><mi>e</mi><mi>l</mi><mi>l</mi><mo>−</mo><mi>g</mi><mi>i</mi><mi>a</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo>−</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>i</mi><mi>n</mi><mi>g</mi><mo>−</mo><mi>o</mi><mi>n</mi><mo>−</mo><mi>t</mi><mi>h</mi><mi>e</mi><mo>−</mo><mi>s</mi><mi>h</mi><mi>o</mi><mi>u</mi><mi>l</mi><mi>d</mi><mi>e</mi><mi>r</mi><mi>s</mi><mo>−</mo><mi>o</mi><mi>f</mi><mo>−</mo><mi>d</mi><mi>w</mi><mi>a</mi><mi>r</mi><mi>v</mi><mi>e</mi><mi>s</mi><mi mathvariant="normal">/</mi><mo stretchy="false">)</mo><mtext>—</mtext><mi>r</mi><mi>o</mi><mi>u</mi><mi>g</mi><mi>h</mi><mi>l</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">3 million a year](https://sanesecurityguy.com/articles/log4shell-giants-standing-on-the-shoulders-of-dwarves/) — roughly </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord">3</span><span class="mord mathnormal">mi</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mord mathnormal">i</span><span class="mord mathnormal">o</span><span class="mord mathnormal">na</span><span class="mord mathnormal" style="margin-right:0.03588em">y</span><span class="mord mathnormal">e</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mclose">]</span><span class="mopen">(</span><span class="mord mathnormal">h</span><span class="mord mathnormal">ttp</span><span class="mord mathnormal">s</span><span class="mspace" style="margin-right:0.2778em"></span><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord">//</span><span class="mord mathnormal">s</span><span class="mord mathnormal">an</span><span class="mord mathnormal">esec</span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mord mathnormal">i</span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.03588em">y</span><span class="mord mathnormal" style="margin-right:0.03588em">g</span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.03588em">y</span><span class="mord">.</span><span class="mord mathnormal">co</span><span class="mord mathnormal">m</span><span class="mord">/</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mord mathnormal">t</span><span class="mord mathnormal">i</span><span class="mord mathnormal">c</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mord mathnormal">es</span><span class="mord">/</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mord mathnormal">o</span><span class="mord mathnormal" style="margin-right:0.03588em">g</span><span class="mord">4</span><span class="mord mathnormal">s</span><span class="mord mathnormal">h</span><span class="mord mathnormal">e</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.854em;vertical-align:-0.1944em"></span><span class="mord mathnormal" style="margin-right:0.03588em">g</span><span class="mord mathnormal">ian</span><span class="mord mathnormal">t</span><span class="mord mathnormal">s</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em"></span><span class="mord mathnormal">s</span><span class="mord mathnormal">t</span><span class="mord mathnormal">an</span><span class="mord mathnormal">d</span><span class="mord mathnormal">in</span><span class="mord mathnormal" style="margin-right:0.03588em">g</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em"></span><span class="mord mathnormal">o</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.7778em;vertical-align:-0.0833em"></span><span class="mord mathnormal">t</span><span class="mord mathnormal">h</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.7778em;vertical-align:-0.0833em"></span><span class="mord mathnormal">s</span><span class="mord mathnormal">h</span><span class="mord mathnormal">o</span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mord mathnormal">d</span><span class="mord mathnormal" style="margin-right:0.02778em">er</span><span class="mord mathnormal">s</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em"></span><span class="mord mathnormal">o</span><span class="mord mathnormal" style="margin-right:0.10764em">f</span><span class="mspace" style="margin-right:0.2222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em"></span><span class="mord mathnormal">d</span><span class="mord mathnormal" style="margin-right:0.02691em">w</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mord mathnormal" style="margin-right:0.03588em">v</span><span class="mord mathnormal">es</span><span class="mord">/</span><span class="mclose">)</span><span class="mord">—</span><span class="mord mathnormal" style="margin-right:0.02778em">r</span><span class="mord mathnormal">o</span><span class="mord mathnormal" style="margin-right:0.03588em">ug</span><span class="mord mathnormal">h</span><span class="mord mathnormal" style="margin-right:0.01968em">l</span><span class="mord mathnormal" style="margin-right:0.03588em">y</span></span></span></span>8,600 per project. And Log4j wasn't on your approved vendor list directly — it was <em>inside</em> the commercial software that was.</p>
<div style="display:flex;justify-content:center"><table><thead><tr><th>Incident</th><th>Approved Vendor?</th><th>Damages</th><th>Recovered</th></tr></thead><tbody><tr><td><strong>SolarWinds</strong></td><td>On 18,000 approved lists</td><td>Billions (classified + commercial)</td><td>Negligible</td></tr><tr><td><strong>CrowdStrike</strong></td><td>Approved security vendor</td><td>$5.4B+ (Fortune 500 alone)</td><td>$0</td></tr><tr><td><strong>Log4Shell</strong></td><td>Inside approved software</td><td>Tens of billions</td><td>$0</td></tr></tbody></table></div>
<p>The approved vendor list didn't prevent any of these. That's not an argument for abolishing vendor vetting — it's an argument that vendor vetting alone is insufficient. These incidents succeeded <em>despite</em> the process, not <em>because of</em> it. The list catches real risks every day. But it creates a dangerous illusion when it becomes the <em>primary</em> line of defence rather than one layer in a deeper stack.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="do-i-still-need-approval-to-build-a-slack-app">"Do I Still Need Approval to Build a Slack App?"<a href="https://noobj.me/notes/governance-theatre#do-i-still-need-approval-to-build-a-slack-app" class="hash-link" aria-label="Direct link to &quot;Do I Still Need Approval to Build a Slack App?&quot;" title="Direct link to &quot;Do I Still Need Approval to Build a Slack App?&quot;" translate="no">​</a></h2>
<p>Let's zoom in on something that'll make your eye twitch.</p>
<p>An engineer wants to build an internal Slack bot. It reads messages in one channel and posts a summary in another. It touches no customer data. It has no external network access. It runs on the company's own infrastructure.</p>
<p>The approval process (conservatively estimated — your mileage may vary, but probably won't):</p>
<ol>
<li class="">Vendor assessment form (even though there's no vendor — you're building it)</li>
<li class="">InfoSec review (a few weeks, if you're lucky)</li>
<li class="">Architecture review board (next available slot: TBD)</li>
<li class="">Data classification exercise (it's Slack messages between engineers, but sure)</li>
<li class="">Procurement sign-off (for a tool that costs $0)</li>
<li class="">Privacy impact assessment (it's an internal bot, but policy says...)</li>
</ol>
<p>Total elapsed time: long enough that the engineer has either built it in secret or stopped caring. For a Slack bot. That took an afternoon to build.</p>
<p>Now multiply that by every internal tool, every automation, every experiment. Every time someone has an idea that could save the team hours a week, they run the same gauntlet. Most of them don't bother. They either build it quietly and don't tell anyone (hello, shadow IT), or they just... stop having ideas.</p>
<p><a href="https://visotrust.com/resources/vendor-onboarding/" target="_blank" rel="noopener noreferrer" class="">Vendor onboarding at large companies takes up to 6 months</a>. <a href="https://visotrust.com/resources/vendor-onboarding/" target="_blank" rel="noopener noreferrer" class="">52% of companies say third-party assessments take 31-60 days</a>. And the average enterprise wastes <a href="https://www.zylo.com/blog/saas-management-index/" target="_blank" rel="noopener noreferrer" class="">$18 million annually on unused software licenses</a> — software that <em>was</em> approved but nobody uses because by the time it arrived, the team had moved on.</p>
<blockquote>
<p><strong>The process doesn't prevent risk. It prevents progress.</strong></p>
</blockquote>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/approval-time.svg" alt="2-4 months to approve a $0 tool" style="width:100%;max-width:600px;border-radius:8px"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="code-isnt-the-ip-anymore">Code Isn't the IP Anymore<a href="https://noobj.me/notes/governance-theatre#code-isnt-the-ip-anymore" class="hash-link" aria-label="Direct link to Code Isn't the IP Anymore" title="Direct link to Code Isn't the IP Anymore" translate="no">​</a></h2>
<p>Here's the existential one. For decades, the governance narrative has been: <em>"The code is the competitive advantage. Leaking it is catastrophic."</em></p>
<p>But what happens when AI writes most of it?</p>
<ul>
<li class=""><a href="https://www.aimagicx.com/blog/developer-productivity-paradox-ai" target="_blank" rel="noopener noreferrer" class="">41% of all code</a> is now AI-generated (industry estimates across multiple surveys including Google, Microsoft, and GitHub data — for now)</li>
<li class="">GitHub Copilot contributes <a href="https://www.aboutchromebooks.com/github-copilot-statistics/" target="_blank" rel="noopener noreferrer" class="">46% of code</a> for its active users — 20 million of them</li>
<li class="">Microsoft: <a href="https://techcrunch.com/2025/04/29/microsoft-ceo-says-up-to-30-of-the-companys-code-was-written-by-ai/" target="_blank" rel="noopener noreferrer" class="">up to 30% of the company's code</a> is AI-generated. Their CTO expects 95% by 2030</li>
<li class="">Google: <a href="https://officechai.com/ai/well-over-30-of-code-at-google-is-now-written-by-ai-ceo-sundar-pichai/" target="_blank" rel="noopener noreferrer" class="">over 30% of new code</a> is AI-generated</li>
</ul>
<p>If anyone with the same agent and the same prompt can regenerate functionally equivalent code, the code itself is a commodity. The actual IP is the <strong>problem definition, the architecture decisions, the domain knowledge, the data, and the evaluation criteria</strong> that guide the agents. Not the for-loops.</p>
<p>Open source already proved this. Linux, Kubernetes, React — all public. The companies using them still have competitive advantages. The code was never the moat. The <em>system</em> was.</p>
<p>And yet, governance frameworks still treat source code like it's the crown jewels. They lock down repos, restrict tooling, and add friction to every commit.</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #e2b714;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><div style="font-size:2rem;margin-bottom:0.5rem">💡</div><p style="font-size:1.2rem;font-weight:700;color:#e2b714;line-height:1.6;margin:0 0 1rem 0"></p><p>Protecting an asset whose <em>relative</em> value is declining while underinvesting in the assets (data, brand, system design) that increasingly matter more.</p><p></p><p style="font-size:0.9rem;color:#aaa;margin:0;font-style:italic"></p><p>In economics, this is a classic misallocation of scarce resources. Governance budgets — time, attention, political capital — are finite. Every hour spent locking down code repos is an hour not spent building data governance, eval frameworks, or output validation.</p><p></p></div>
<p>Even domain knowledge — once the ultimate moat — is being disrupted as AI context windows grow large enough to absorb and reason over entire codebases.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-regulation-actually-says-vs-what-people-think-it-says">What Regulation Actually Says (vs. What People Think It Says)<a href="https://noobj.me/notes/governance-theatre#what-regulation-actually-says-vs-what-people-think-it-says" class="hash-link" aria-label="Direct link to What Regulation Actually Says (vs. What People Think It Says)" title="Direct link to What Regulation Actually Says (vs. What People Think It Says)" translate="no">​</a></h2>
<p><strong>What people think:</strong> "Regulators require us to use approved, contracted enterprise vendors."</p>
<p><strong>What regulators actually say:</strong></p>
<div style="display:flex;justify-content:center"><table><thead><tr><th>Regulator</th><th>Actual Position</th><th>Mandates Specific Vendors?</th></tr></thead><tbody><tr><td><strong>EU AI Act</strong></td><td><a href="https://www.enterprise.gov.ie/en/what-we-do/innovation-research-development/artificial-intelligence/eu-ai-act/" target="_blank" rel="noopener noreferrer" class="">Risk-based classification</a>, proportionate obligations</td><td>No — prescribes outcomes: transparency, fairness, logging</td></tr><tr><td><strong>FINRA</strong></td><td><a href="https://www.finra.org/rules-guidance/notices/24-09" target="_blank" rel="noopener noreferrer" class="">"Technology neutral"</a> — existing rules apply</td><td>No — explicitly says don't "rely on vendors as a shield"</td></tr><tr><td><strong>SEC</strong></td><td><a href="https://www.corporatecomplianceinsights.com/sec-2026-examination-priorities-financial-services/" target="_blank" rel="noopener noreferrer" class="">Materiality-informed disclosure</a></td><td>No — cares about accurate representation and governance</td></tr><tr><td><strong>US Treasury</strong></td><td><a href="https://home.treasury.gov/news/press-releases/sb0395" target="_blank" rel="noopener noreferrer" class="">230 control objectives</a> across 6 domains</td><td>No — asks "what evidence demonstrates effectiveness?"</td></tr><tr><td><strong>FCA (UK)</strong></td><td><a href="https://www.postonline.co.uk/technology/7960052/fca-insists-it-will-regulate-ai-via-existing-frameworks" target="_blank" rel="noopener noreferrer" class="">"Adaptive and positive approach"</a> via existing frameworks</td><td>No — no new AI-specific rules</td></tr><tr><td><strong>MAS (Singapore)</strong></td><td><a href="https://fintechnews.sg/127900/ai/mas-ai-toolkit/" target="_blank" rel="noopener noreferrer" class="">Principles-based, pro-innovation</a></td><td>No — risk-based human oversight, outcomes-focused</td></tr></tbody></table></div>
<p>Every single major regulator takes a technology-neutral, outcomes-based approach. They care about <strong>controls, audit trails, and accountability</strong> — not which vendor's logo is on the invoice.</p>
<p>FINRA said it explicitly: firms must <em>"update their written supervisory procedures to address the use of AI rather than relying on vendors as a shield."</em> The regulator is literally telling you that the contract isn't the governance.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-real-governance-stack">The Real Governance Stack<a href="https://noobj.me/notes/governance-theatre#the-real-governance-stack" class="hash-link" aria-label="Direct link to The Real Governance Stack" title="Direct link to The Real Governance Stack" translate="no">​</a></h2>
<p>So if contracts, approved vendor lists, and code lockdowns aren't the answer — what is?</p>
<!-- -->
<p><strong>🛡️ Actual Governance — Controls outcomes:</strong></p>
<ul>
<li class="">Agent sandboxing — what can it access?</li>
<li class="">Audit trails — who prompted what, what was generated?</li>
<li class="">Output validation — automated tests, SAST, policy gates</li>
<li class="">Eval frameworks — is the output correct and safe?</li>
<li class="">Data residency — where do prompts and outputs flow?</li>
<li class="">Red teaming — actively trying to break it</li>
<li class="">Model version pinning — the model you tested is the model you run</li>
<li class="">Human-in-the-loop — risk-based, not blanket</li>
<li class="">Cost governance — who's accountable for API spend?</li>
</ul>
<p>The question isn't <em>"is this tool on the approved list?"</em> It's <em>"do we have the infrastructure to use any tool safely?"</em></p>
<p>If the answer is no, banning tools is a band-aid. If the answer is yes, the vendor's size doesn't matter — the controls do.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-startup-ecosystem-is-already-enterprise-grade">The Startup Ecosystem Is Already Enterprise-Grade<a href="https://noobj.me/notes/governance-theatre#the-startup-ecosystem-is-already-enterprise-grade" class="hash-link" aria-label="Direct link to The Startup Ecosystem Is Already Enterprise-Grade" title="Direct link to The Startup Ecosystem Is Already Enterprise-Grade" translate="no">​</a></h2>
<p>The reflexive response: <em>"We can't use startup tools. They might disappear. They're not enterprise-ready."</em></p>
<p>The data says otherwise:</p>
<ul>
<li class=""><strong>LangChain</strong> — <a href="https://blog.langchain.com/series-b/" target="_blank" rel="noopener noreferrer" class=""><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>125</mn><mi>M</mi><mi>S</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>e</mi><mi>s</mi><mi>B</mi><mi>a</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">125M Series B at </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em"></span><span class="mord">125</span><span class="mord mathnormal" style="margin-right:0.10903em">M</span><span class="mord mathnormal" style="margin-right:0.05764em">S</span><span class="mord mathnormal" style="margin-right:0.02778em">er</span><span class="mord mathnormal">i</span><span class="mord mathnormal">es</span><span class="mord mathnormal" style="margin-right:0.05017em">B</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span></span></span></span>1.25B valuation</a>. 110,000+ GitHub stars. <a href="https://www.reale.one/insights/ai-agent-frameworks-enterprise-adoption-2026" target="_blank" rel="noopener noreferrer" class="">47,000+ production installations</a>.</li>
<li class=""><strong>Promptfoo</strong> — Used by <a href="https://thenextweb.com/news/openai-acquires-promptfoo-ai-security-frontier" target="_blank" rel="noopener noreferrer" class="">over 25% of Fortune 500</a>. <a href="https://winbuzzer.com/2026/03/10/openai-acquires-promptfoo-to-secure-its-ai-agents-xcxwbn/" target="_blank" rel="noopener noreferrer" class="">Acquired by OpenAI</a> in March 2026.</li>
<li class=""><strong>Langfuse</strong> — <a href="https://aws.amazon.com/blogs/apn/transform-large-language-model-observability-with-langfuse/" target="_blank" rel="noopener noreferrer" class="">6M+ monthly SDK installs</a>. <a href="https://clickhouse.com/blog/clickhouse-acquires-langfuse-open-source-llm-observability" target="_blank" rel="noopener noreferrer" class="">Acquired by ClickHouse</a> (valued at $15B) in January 2026.</li>
<li class=""><a href="https://www.reale.one/insights/ai-agent-frameworks-enterprise-adoption-2026" target="_blank" rel="noopener noreferrer" class=""><strong>62% of Fortune 500</strong></a> companies now use at least one AI agent framework in production.</li>
</ul>
<p>These aren't scrappy side projects. They're the tools that the world's largest companies are already running in production — while the procurement team is still evaluating the vendor assessment form.</p>
<p>The hybrid model makes sense: <strong>big vendors for infrastructure and data</strong> (AWS, GCP, Azure — compliance, residency, stability), <strong>startup/OSS ecosystem for tooling and orchestration</strong> (speed of innovation, composability, low switching cost). The risk profiles are categorically different. Treating them the same is a category error.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-cost-of-not-moving">The Cost of Not Moving<a href="https://noobj.me/notes/governance-theatre#the-cost-of-not-moving" class="hash-link" aria-label="Direct link to The Cost of Not Moving" title="Direct link to The Cost of Not Moving" translate="no">​</a></h2>
<p>Here's what doesn't show up on a risk register:</p>
<ul>
<li class=""><a href="https://ainews.com/p/mit-report-95-of-generative-ai-pilots-are-failing-in-business" target="_blank" rel="noopener noreferrer" class=""><strong>95% of enterprise AI pilots fail</strong></a> to deliver measurable P&amp;L impact (MIT, July 2025). The report attributes this to a "learning gap" — the inability to integrate AI into existing workflows, poor resource allocation, and brittle processes. Governance theatre makes this worse: instead of building the organisational muscle to adopt AI effectively, enterprises burn their change budget on procurement cycles and vendor assessments that don't address the actual failure modes.</li>
<li class=""><a href="https://www.ainvest.com/news/companies-stuck-ai-pilot-phase-missed-ebit-impact-creates-rerating-risk-2603/" target="_blank" rel="noopener noreferrer" class=""><strong>Two-thirds of companies</strong></a> are stuck in pilot phase (McKinsey). The ones that aren't are pulling ahead fast.</li>
<li class="">Top AI performers are <a href="https://stacker.com/stories/technology/great-ai-attrition-why-your-best-ai-talent-eyeing-exit" target="_blank" rel="noopener noreferrer" class=""><strong>2x as likely to quit</strong></a> their jobs (Upwork Research Institute). The best engineers leave because they can't use modern tools. We're left with people comfortable with the status quo.</li>
<li class="">Gartner predicts <a href="https://www.credo.ai/gartner-market-guide-for-ai-governance-platforms" target="_blank" rel="noopener noreferrer" class=""><strong>75% of large enterprises</strong></a> will adopt dedicated AI governance platforms by 2026. Not "ban AI tools" — <em>govern</em> them.</li>
</ul>
<blockquote>
<p><strong>The risk of adopting is visible. The risk of <em>not</em> adopting is invisible.</strong></p>
</blockquote>
<p>Nobody gets fired for maintaining the status quo. People get fired for approving a tool that causes an incident. The incentive structure rewards inaction — the same <a class="" href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster">payoff problem that makes cross-team collaboration break down at scale</a>.</p>
<blockquote>
<p><strong>You avoided the risk of a new tool causing an incident. Instead, you got the risk of irrelevance. One is recoverable. The other isn't.</strong></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-one-thing">The One Thing<a href="https://noobj.me/notes/governance-theatre#the-one-thing" class="hash-link" aria-label="Direct link to The One Thing" title="Direct link to The One Thing" translate="no">​</a></h2>
<blockquote>
<p><strong>We don't ban cars because they can crash. We build seatbelts, airbags, speed limits, licensing, and insurance.</strong></p>
</blockquote>
<p>Enterprises that ban AI tools are banning cars. Enterprises that build governance frameworks are building roads.</p>
<p>The approved vendor list didn't stop SolarWinds. The contract didn't stop CrowdStrike. The SLA won't make you whole when the cloud goes down. And the procurement process won't protect you from the startup that ships in a week what takes you a quarter.</p>
<p>Stop asking <em>"is this tool safe enough to use?"</em></p>
<p>Start asking <em>"do we have the governance infrastructure to use <strong>any</strong> tool safely?"</em></p>
<p><strong>Build the seatbelts. Then drive.</strong></p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/seatbelts.svg" alt="Build the seatbelts. Then drive." style="width:100%;max-width:600px;border-radius:8px"></div>
<hr>
<p><em>References: <a href="https://fortune.com/2024/08/03/crowdstrike-outage-fortune-500-companies-5-4-billion-damages-uninsured-losses/" target="_blank" rel="noopener noreferrer" class="">CrowdStrike outage analysis</a>, <a href="https://aws.amazon.com/agreement/" target="_blank" rel="noopener noreferrer" class="">AWS Customer Agreement</a>, <a href="https://www.enterprise.gov.ie/en/what-we-do/innovation-research-development/artificial-intelligence/eu-ai-act/" target="_blank" rel="noopener noreferrer" class="">EU AI Act</a>, <a href="https://www.finra.org/rules-guidance/notices/24-09" target="_blank" rel="noopener noreferrer" class="">FINRA Regulatory Notice 24-09</a>, <a href="https://home.treasury.gov/news/press-releases/sb0395" target="_blank" rel="noopener noreferrer" class="">US Treasury FS AI RMF</a>, <a href="https://fintechnews.sg/127900/ai/mas-ai-toolkit/" target="_blank" rel="noopener noreferrer" class="">MAS Project MindForge</a>, <a href="https://ainews.com/p/mit-report-95-of-generative-ai-pilots-are-failing-in-business" target="_blank" rel="noopener noreferrer" class="">MIT GenAI Divide Report</a>, <a href="https://www.credo.ai/gartner-market-guide-for-ai-governance-platforms" target="_blank" rel="noopener noreferrer" class="">Gartner Market Guide for AI Governance Platforms</a>. The SolarWinds, Log4Shell, and CrowdStrike case studies draw from multiple sources linked throughout.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Engineering" term="Engineering"/>
        <category label="Culture" term="Culture"/>
        <category label="Leadership" term="Leadership"/>
        <category label="AI Tooling" term="AI Tooling"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Everybody Is Junior in Something (Including the Person You Just Made Lead)]]></title>
        <id>https://noobj.me/notes/everybody-is-junior-in-something</id>
        <link href="https://noobj.me/notes/everybody-is-junior-in-something"/>
        <updated>2025-11-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A new project kicks off — migrating a critical system to a platform nobody on the team has used before. Well, almost nobody. There's one person who's built on it. Shipped production workloads. Knows the failure modes.]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/junior-banner.svg" alt="Everybody Is Junior in Something" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>A new project kicks off — migrating a critical system to a platform nobody on the team has used before. Well, almost nobody. There's one person who's built on it. Shipped production workloads. Knows the failure modes.</p>
<p>They don't get the lead. The person with the most years of experience does. The senior. The one with the title.</p>
<p>Everyone defers. The titled lead chairs the meetings, makes the architecture calls, approves the designs. The person who actually knows the platform sits three rows back on the call, unmuted only when asked a direct question.</p>
<p>Six weeks later, the project is behind. Decisions are being revisited. The team is frustrated but can't quite name why.</p>
<p>You've seen this movie. Maybe you've been in it. Maybe you've been on both sides.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-default-title--lead">The Default: Title = Lead<a href="https://noobj.me/notes/everybody-is-junior-in-something#the-default-title--lead" class="hash-link" aria-label="Direct link to The Default: Title = Lead" title="Direct link to The Default: Title = Lead" translate="no">​</a></h2>
<p>Here's the unspoken assumption: if someone is senior, they must be competent at <em>everything</em>. Years of experience becomes a universal proxy for expertise. Ten years in the industry? You can lead anything.</p>
<p>Except — why would you, when someone on the team already knows it? They could learn it, sure. But the team already has someone who's been there, built on it, and knows where the landmines are. The question isn't capability. It's opportunity cost.</p>
<p>Patrick Lencioni's <em>The Five Dysfunctions of a Team</em> describes the foundation that high-performing teams are built on: <strong>vulnerability-based trust</strong> — the ability to admit what you don't know without it being used against you. When a senior is handed the lead in an unfamiliar domain, the incentive structure works against that honesty. Admitting "I don't know this space" feels like admitting you don't deserve your title. So you wing it.</p>
<p>And the team? They see the title. They don't push back. Lencioni calls this <strong>fear of conflict</strong> — not shouting matches, but the healthy act of challenging ideas regardless of who proposed them. The team's silence isn't agreement. It's avoidance.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/junior-silence.svg" alt="The team's silence isn't agreement — it's avoidance" style="width:100%;max-width:500px;border-radius:8px"></div>
<p>The dysfunction isn't that the senior person is incompetent. It's that the system made it impossible for anyone to say the obvious: <em>you're junior here</em>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-map-is-not-the-territory">The Map Is Not the Territory<a href="https://noobj.me/notes/everybody-is-junior-in-something#the-map-is-not-the-territory" class="hash-link" aria-label="Direct link to The Map Is Not the Territory" title="Direct link to The Map Is Not the Territory" translate="no">​</a></h2>
<p><strong>Expertise doesn't transfer the way we pretend it does.</strong></p>
<p>Donella Meadows, in <em>Thinking in Systems</em>, describes how every system has its own feedback loops, delays, and leverage points. Understanding one system deeply doesn't mean you understand another. A senior backend engineer who's spent a decade optimising distributed databases has a rich mental model — of <em>that</em> system. Put them in charge of a frontend migration and they're operating on a map of a different territory.</p>
<p><strong>The mental model that makes you effective in one system can actively mislead you in another.</strong> The senior person isn't just starting from zero — they're starting from a confident misapplication of the wrong model.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/junior-map.svg" alt="The map of one system doesn't work in another" style="width:100%;max-width:500px;border-radius:8px"></div>
<p>This isn't a failure of intelligence. It's a failure of fit.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-explore-exploit-mismatch">The Explore-Exploit Mismatch<a href="https://noobj.me/notes/everybody-is-junior-in-something#the-explore-exploit-mismatch" class="hash-link" aria-label="Direct link to The Explore-Exploit Mismatch" title="Direct link to The Explore-Exploit Mismatch" translate="no">​</a></h2>
<p>Brian Christian and Tom Griffiths, in <em>Algorithms to Live By</em>, describe the <strong>explore-exploit tradeoff</strong> (knowing when to invest in learning something new vs. when to double down on what already works — get this wrong and you either waste time reinventing or make decisions on outdated knowledge). When you're new to a domain, you <em>explore</em>. When you're experienced, you <em>exploit</em> what you know.</p>
<p>Putting a domain-junior person in the lead compresses the exploration phase. They're forced into exploit mode with nothing to exploit. Meanwhile, the domain expert is stuck watching.</p>
<!-- -->
<p><strong>When you assign leadership to someone who hasn't explored the domain, you're asking them to make decisions with no data.</strong></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="authority-without-influence-influence-without-authority">Authority Without Influence, Influence Without Authority<a href="https://noobj.me/notes/everybody-is-junior-in-something#authority-without-influence-influence-without-authority" class="hash-link" aria-label="Direct link to Authority Without Influence, Influence Without Authority" title="Direct link to Authority Without Influence, Influence Without Authority" translate="no">​</a></h2>
<p>Robert Cialdini's <em>Influence</em> identifies <strong>authority</strong> as one of six principles driving human decisions — we follow people who hold positions of power. It's deeply wired. The problem isn't that authority doesn't work. It's that it works <em>too well</em> in the wrong context. When the authority figure lacks domain expertise, the team still follows — because the authority signal overrides their own judgment.</p>
<p>So if you're the domain expert without the title — the person who <em>knows</em> the right answer but can't make the call — what do you actually do?</p>
<p><strong>Not the idealistic "just speak up" advice.</strong> The real moves:</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/junior-influence.svg" alt="Influence without authority — the real moves" style="width:100%;max-width:600px;border-radius:8px"></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-write-it-down-before-the-meeting">1. Write it down before the meeting<a href="https://noobj.me/notes/everybody-is-junior-in-something#1-write-it-down-before-the-meeting" class="hash-link" aria-label="Direct link to 1. Write it down before the meeting" title="Direct link to 1. Write it down before the meeting" translate="no">​</a></h3>
<p>Don't wait for the meeting where the lead makes the wrong call and try to correct it in front of everyone. You're fighting authority <em>and</em> social proof at the same time — that's a losing move.</p>
<p>Write it down first. Options, tradeoffs, recommendation — <em>before</em> the decision point. The lead reads it privately, without the pressure of looking uninformed. They can adopt your recommendation and present it as the team's direction. You don't get the credit in the room. You get the outcome.</p>
<p>This is Cialdini's <strong>commitment and consistency</strong> — once someone has mentally agreed with a well-reasoned argument in private, they stay consistent with it in public.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-build-a-trail-of-small-wins">2. Build a trail of small wins<a href="https://noobj.me/notes/everybody-is-junior-in-something#2-build-a-trail-of-small-wins" class="hash-link" aria-label="Direct link to 2. Build a trail of small wins" title="Direct link to 2. Build a trail of small wins" translate="no">​</a></h3>
<p><strong>You don't get influence by asking for it.</strong> You get it by being right, repeatedly, in ways people can see.</p>
<p>Volunteer for the proof-of-concept nobody wants to own. Write the migration runbook that becomes the team's reference doc. Spike on the integration approach for a non-critical service and ship it before anyone asks. These aren't glamorous — but they're visible. After three or four of these, the team starts routing questions to you naturally — <strong>social proof</strong> shifts. Authority given can be taken away. Influence earned through a track record is sticky.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-use-questions-not-statements">3. Use questions, not statements<a href="https://noobj.me/notes/everybody-is-junior-in-something#3-use-questions-not-statements" class="hash-link" aria-label="Direct link to 3. Use questions, not statements" title="Direct link to 3. Use questions, not statements" translate="no">​</a></h3>
<p>When the lead is about to make a call you disagree with, don't say "that's wrong." That triggers a status defence.</p>
<p>Instead:</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #28a745;border-radius:12px;padding:1.5rem;margin:1.5rem 0"><p style="font-size:1.05rem;color:#e0e0e0;margin:0 0 0.8rem 0;font-style:italic"></p><p>"Have we considered what happens when [specific scenario]?"</p><p></p><p style="font-size:1.05rem;color:#e0e0e0;margin:0;font-style:italic"></p><p>"I ran into something similar — want me to spike on whether that applies here?"</p><p></p></div>
<p>You're not challenging their authority. You're offering to do work. The spike reveals what you already knew, the decision changes based on "new information," everyone saves face.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-co-opt-the-lead-dont-compete">4. Co-opt the lead, don't compete<a href="https://noobj.me/notes/everybody-is-junior-in-something#4-co-opt-the-lead-dont-compete" class="hash-link" aria-label="Direct link to 4. Co-opt the lead, don't compete" title="Direct link to 4. Co-opt the lead, don't compete" translate="no">​</a></h3>
<p>The lead has things you don't: stakeholder access, org context, the ability to escalate. You have things they don't: domain knowledge, technical credibility with the team.</p>
<p>Make the lead look good <em>through</em> your expertise. Brief them before stakeholder meetings. Flag risks early so they can raise them as <em>their</em> foresight. When the lead starts relying on you to not look bad, you have influence — the kind where they come to you <em>before</em> making calls.</p>
<p>This is Cialdini's <strong>reciprocity</strong>: when you consistently make someone's life easier, they return the favour. In this case, the favour is listening to your technical judgment.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-know-when-to-escalate">5. Know when to escalate<a href="https://noobj.me/notes/everybody-is-junior-in-something#5-know-when-to-escalate" class="hash-link" aria-label="Direct link to 5. Know when to escalate" title="Direct link to 5. Know when to escalate" translate="no">​</a></h3>
<p>Sometimes none of this works. The trigger: when the same decision gets revisited for the second time, or when you can see a concrete technical risk that the lead has dismissed and the timeline is about to eat it. That's your signal.</p>
<p>Don't go over their head. Go <em>beside</em> them. Find a peer of the lead who respects technical evidence. Present the problem as a technical risk, not a people problem.</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #f0a500;border-radius:12px;padding:1.5rem;margin:1.5rem 0"><p style="font-size:1.05rem;color:#e0e0e0;margin:0;font-style:italic"></p><p>"I think we're heading toward [specific bad outcome] because of [specific technical reason]. Can you take a look?"</p><p></p></div>
<p>Now it's not "the junior disagrees with the lead." It's "there's a technical concern that needs a second opinion." The framing matters more than the content.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="let-the-topology-match-the-reality">Let the Topology Match the Reality<a href="https://noobj.me/notes/everybody-is-junior-in-something#let-the-topology-match-the-reality" class="hash-link" aria-label="Direct link to Let the Topology Match the Reality" title="Direct link to Let the Topology Match the Reality" translate="no">​</a></h2>
<p>Matthew Skelton and Manuel Pais, in <em>Team Topologies</em>, describe how team structures should match <strong>cognitive load</strong>. When you force someone to lead in an unfamiliar domain, you're maxing out their cognitive load on just understanding the basics. Nothing left for actual leadership.</p>
<p>But here's the part most people miss: the answer isn't to remove the senior person. It's to <strong>reposition</strong> them.</p>
<p>Skelton and Pais introduce <strong>enabling teams</strong> — whose job isn't to build the thing, but to help others build it better. This is the model that actually works:</p>
<!-- -->
<!-- -->
<p>In the traditional model, the senior owns everything — technical calls, stakeholders, coordination — and the domain expert feeds into them. The bottleneck is obvious: every decision routes through the person who knows the least about the domain.</p>
<p>In the reframed model, the domain expert owns technical direction. The senior owns what seniority is actually good at: clearing the path, managing upward, absorbing organisational noise, and coaching the domain expert on the leadership skills they haven't built yet. Both lead. Neither pretends.</p>
<p>The senior isn't sidelined — they're doing the work that <em>only</em> they can do. The domain expert isn't overloaded with politics — they're doing the work that <em>only</em> they can do. Cognitive load is distributed where it fits.</p>
<p><strong>That's not a demotion.</strong> That's a better use of everyone's strengths.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-steelman-why-seniority-based-leadership-exists">The Steelman: Why Seniority-Based Leadership Exists<a href="https://noobj.me/notes/everybody-is-junior-in-something#the-steelman-why-seniority-based-leadership-exists" class="hash-link" aria-label="Direct link to The Steelman: Why Seniority-Based Leadership Exists" title="Direct link to The Steelman: Why Seniority-Based Leadership Exists" translate="no">​</a></h2>
<p><strong>Before you forward this to your skip-level with a "SEE?!"</strong> — the counterarguments are real.</p>
<div style="display:flex;justify-content:center"><table><thead><tr><th>Argument</th><th>Why It's Legitimate</th></tr></thead><tbody><tr><td><strong>Leadership transfers</strong></td><td>Risk management, stakeholder navigation, decision-making under ambiguity — these take years and <em>do</em> transfer across domains</td></tr><tr><td><strong>Pattern recognition is real</strong></td><td>A senior who's shipped ten projects has seen failure modes that repeat regardless of technology</td></tr><tr><td><strong>Accountability needs weight</strong></td><td>When a project fails, someone needs political resilience to face the music. Juniors often can't bear that</td></tr><tr><td><strong>Ramp-up is asymmetric</strong></td><td>A senior can learn a new domain faster than a junior can learn leadership</td></tr><tr><td><strong>Regulation is real</strong></td><td>In finance, healthcare, defence — "but they know the platform" doesn't satisfy an auditor</td></tr></tbody></table></div>
<p>The argument isn't that seniority never matters. When seniority and domain expertise align — great, you've got the best of both worlds. This post is about when they don't. And organisations default to seniority <em>alone</em> reflexively rather than deliberately.</p>
<div style="display:flex;justify-content:center"><table><thead><tr><th>Factor</th><th>Seniority Provides</th><th>Domain Expertise Provides</th></tr></thead><tbody><tr><td><strong>Technical decisions</strong></td><td>Pattern recognition, risk instinct</td><td>Correct answers, fast iteration</td></tr><tr><td><strong>Stakeholder management</strong></td><td>Credibility, political capital</td><td>Technical credibility in the domain</td></tr><tr><td><strong>Team dynamics</strong></td><td>Conflict resolution, mentoring</td><td>Trust from the team (they know you know)</td></tr><tr><td><strong>Accountability</strong></td><td>Weight to absorb failure</td><td>Ability to prevent failure</td></tr><tr><td><strong>Speed</strong></td><td>Knows how orgs work</td><td>Knows how the technology works</td></tr></tbody></table></div>
<p>The best outcome isn't picking one column. It's combining both — deliberately.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-looks-like-in-practice">What This Looks Like in Practice<a href="https://noobj.me/notes/everybody-is-junior-in-something#what-this-looks-like-in-practice" class="hash-link" aria-label="Direct link to What This Looks Like in Practice" title="Direct link to What This Looks Like in Practice" translate="no">​</a></h2>
<p><strong>Normalise "I'm junior in this."</strong> Especially from senior people. When a staff engineer says "I've never worked with this — I'm going to lean on the team for technical direction," that's not weakness. That's the vulnerability-based trust Lencioni says high-performing teams are built on.</p>
<p><strong>Decouple technical leadership from the org chart.</strong> The person who drives technical decisions should be the person best positioned to make good ones in that domain. Let technical leadership be fluid — it follows the work, not the hierarchy.</p>
<p><strong>Use seniority for what it's good at.</strong> Pattern recognition, org navigation, mentoring, knowing when to escalate. None of that requires being the domain expert.</p>
<p><strong>Pair them.</strong> Domain expert drives technical direction. Senior handles stakeholders, politics, air cover. Both lead. Neither pretends to be something they're not.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-rewrite">The Rewrite<a href="https://noobj.me/notes/everybody-is-junior-in-something#the-rewrite" class="hash-link" aria-label="Direct link to The Rewrite" title="Direct link to The Rewrite" translate="no">​</a></h2>
<p>Let's go back to that opening scene. New project. New platform.</p>
<p>This time, the engineering manager says:</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #4a9eff;border-radius:12px;padding:1.5rem;margin:1.5rem 0"><p style="font-size:1.05rem;color:#e0e0e0;margin:0;font-style:italic"></p><p>"Priya has built on this platform before. She's going to drive the technical direction. I'll handle stakeholder communication and make sure she has what she needs."</p><p></p></div>
<p>Priya is two levels below the manager on the org chart. Nobody cares. She knows the platform. She makes fast, informed decisions. The team trusts her because her expertise is visible, not assumed. The manager adds value by clearing the path — not by pretending to know the terrain.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/junior-rewrite.svg" alt="The rewrite — let the expert lead the domain" style="width:100%;max-width:500px;border-radius:8px"></div>
<p>The project ships on time. More importantly, the team wants to work together again.</p>
<div style="background:var(--ifm-card-background-color);border-left:3px solid #4a9eff;border-radius:0 8px 8px 0;padding:1.2rem 1.5rem;margin:1.5rem 0;font-style:italic;color:var(--ifm-font-color-base);opacity:0.9"><p>I know this works because I've lived it. I've been lucky enough to work with leaders who had exactly this mindset — seniors who looked at the team, saw where the expertise actually sat, and said "you lead this, I'll back you." They didn't have to. The org chart said otherwise. But they did it anyway, and it paved the way for me to lead projects I had no business leading on paper. That experience shaped everything I believe about how teams should work.</p></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-point">The Point<a href="https://noobj.me/notes/everybody-is-junior-in-something#the-point" class="hash-link" aria-label="Direct link to The Point" title="Direct link to The Point" translate="no">​</a></h2>
<p>Everybody is junior in something. The CTO is junior in the framework that launched last year. The principal engineer is junior in the compliance domain they've never touched. The engineering manager is junior in the platform their team just adopted.</p>
<p><strong>This isn't a flaw.</strong> It's just reality.</p>
<p>The best teams don't ignore seniority. They don't abolish hierarchy. They just refuse to confuse title with expertise. They let people lead where they're strong and learn where they're not. They treat "I'm junior here" as the starting point of trust, not the end of credibility.</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #e2b714;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><div style="font-size:2rem;margin-bottom:0.5rem">💡</div><p style="font-size:1.3rem;font-weight:700;color:#e2b714;line-height:1.6;margin:0"></p><p>Everybody is junior in something.<br>The best teams are the ones brave enough to admit it.</p><p></p></div>
<hr>
<p><em>This post started with a conversation at home — my wife noticed the same pattern playing out in her office, and it sparked a thread we couldn't stop pulling.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Leadership" term="Leadership"/>
        <category label="Culture" term="Culture"/>
        <category label="Engineering" term="Engineering"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Questions That Reframe Everything]]></title>
        <id>https://noobj.me/notes/questions-that-reframe-everything</id>
        <link href="https://noobj.me/notes/questions-that-reframe-everything"/>
        <updated>2025-10-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A self-journal. Not a blog post with answers — a collection of better questions I keep coming back to.]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/reframe-banner.svg" alt="Questions That Reframe Everything" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>A self-journal. Not a blog post with answers — a collection of better questions I keep coming back to.</p>
<p>Inspired by <a href="https://shaan.beehiiv.com/p/one-minute-blog-13-questions-that-will-change-your-life" target="_blank" rel="noopener noreferrer" class="">Shaan Puri's "13 Questions That Will Change Your Life"</a> — where he talks about questions being keys that unlock doors. I wanted to build my own keychain.</p>
<p>These are questions I've reframed for myself over time. The left column is how most people (including past me) would ask it. The right column is how I try to ask it now.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="time">Time<a href="https://noobj.me/notes/questions-that-reframe-everything#time" class="hash-link" aria-label="Direct link to Time" title="Direct link to Time" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/reframe-time.svg" alt="Time" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>My rule is simple: I only want to spend time doing one of three things — <strong>earning, learning, or relaxing</strong>. If something doesn't fall into one of these, it probably doesn't deserve my hours.</p>
<table><thead><tr><th>Common question</th><th>Better question</th></tr></thead><tbody><tr><td>How do I find more time?</td><td>What am I spending time on that isn't earning, learning, or relaxing?</td></tr><tr><td>Am I being productive enough?</td><td>Did I spend today on something that compounds — or something that just fills the clock?</td></tr><tr><td>How do I balance everything?</td><td>What if balance isn't 50/50 — what does the right ratio look like <em>this</em> season?</td></tr><tr><td>I don't have time for this.</td><td>What am I saying yes to by default that I should be saying no to?</td></tr></tbody></table>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="money">Money<a href="https://noobj.me/notes/questions-that-reframe-everything#money" class="hash-link" aria-label="Direct link to Money" title="Direct link to Money" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/reframe-money.svg" alt="Money" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>Money, to me, is about one thing: <strong>freedom</strong>. Not luxury, not status — the ability to choose what I do with my time.</p>
<table><thead><tr><th>Common question</th><th>Better question</th></tr></thead><tbody><tr><td>How do I make more money?</td><td>What does freedom cost me — and am I earning toward that number?</td></tr><tr><td>Is this worth the money?</td><td>Is this buying me time, freedom, or neither?</td></tr><tr><td>When will I have enough?</td><td>What does "enough" actually look like — and have I written it down?</td></tr><tr><td>Should I save or invest this?</td><td>Am I optimizing for security or for optionality?</td></tr></tbody></table>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="work--craft">Work &amp; Craft<a href="https://noobj.me/notes/questions-that-reframe-everything#work--craft" class="hash-link" aria-label="Direct link to Work &amp; Craft" title="Direct link to Work &amp; Craft" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/reframe-work.svg" alt="Work and Craft" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>I choose work I enjoy. In difficult times, work has always been my anchor — you can't stop thoughts, but you can replace them with something more meaningful. I care about craft — doing things the right way, being opinionated for good reasons.</p>
<table><thead><tr><th>Common question</th><th>Better question</th></tr></thead><tbody><tr><td>Am I good at my job?</td><td>Am I still having fun doing this? If not — what changed?</td></tr><tr><td>What should I work on next?</td><td>What problem, if I solved it, would I be proud to talk about in 5 years?</td></tr><tr><td>How do I get promoted?</td><td>Am I building skills that matter even if I leave this place tomorrow?</td></tr></tbody></table>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="relationships">Relationships<a href="https://noobj.me/notes/questions-that-reframe-everything#relationships" class="hash-link" aria-label="Direct link to Relationships" title="Direct link to Relationships" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/reframe-relationships.svg" alt="Relationships" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>Every relationship is a journey toward something — with the freedom to change direction when it's needed. The question is whether you're walking it honestly.</p>
<table><thead><tr><th>Common question</th><th>Better question</th></tr></thead><tbody><tr><td>Are we still on the same page?</td><td>Are we walking toward the same thing — and honest when the direction needs to change?</td></tr><tr><td>This person is difficult.</td><td>What are they going through that I'm not seeing?</td></tr><tr><td>How do I build trust?</td><td>Am I being the kind of person others can count on without thinking twice?</td></tr><tr><td>I don't feel understood.</td><td>Have I made it easy for them to understand me?</td></tr><tr><td>What kind of parent should I be?</td><td>What do I want my daughter to learn by watching me — not by hearing me?</td></tr></tbody></table>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="growth--learning">Growth &amp; Learning<a href="https://noobj.me/notes/questions-that-reframe-everything#growth--learning" class="hash-link" aria-label="Direct link to Growth &amp; Learning" title="Direct link to Growth &amp; Learning" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/reframe-growth.svg" alt="Growth and Learning" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>Learning truly happens only when there's a real change in behavior. Until then, it's just information — not growth.</p>
<table><thead><tr><th>Common question</th><th>Better question</th></tr></thead><tbody><tr><td>What should I learn next?</td><td>What did I learn last month that actually changed how I behave?</td></tr><tr><td>Am I growing fast enough?</td><td>Am I growing in the direction I actually care about?</td></tr><tr><td>How do I stay relevant?</td><td>What would I learn even if nobody was watching or paying me for it?</td></tr><tr><td>I read a lot but nothing sticks.</td><td>What's one thing I learned recently that I've actually <em>done</em> differently?</td></tr></tbody></table>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="self--identity">Self &amp; Identity<a href="https://noobj.me/notes/questions-that-reframe-everything#self--identity" class="hash-link" aria-label="Direct link to Self &amp; Identity" title="Direct link to Self &amp; Identity" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/reframe-self.svg" alt="Self and Identity" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>Happiness isn't a destination for me — it's the journey. If I have to name a goal, it's about <strong>being useful</strong> and maximizing that usefulness as much as possible. At least, that's what I know for now.</p>
<table><thead><tr><th>Common question</th><th>Better question</th></tr></thead><tbody><tr><td>What's my purpose?</td><td>Where am I most useful right now — and how do I do more of that?</td></tr><tr><td>Am I happy?</td><td>Am I living in a way where happiness shows up on its own?</td></tr><tr><td>What do people think of me?</td><td>Am I someone I'd respect if I met myself?</td></tr><tr><td>I don't know what I want.</td><td>What do I keep coming back to, even when nobody asks me to?</td></tr><tr><td>How do I find myself?</td><td>What would I do with my days if money and opinions didn't exist?</td></tr></tbody></table>
<hr>
<p><em>This is a living document. I'll keep adding questions as I find better ones. The goal isn't to answer them all — it's to sit with the right ones long enough that clarity shows up on its own.</em></p>
<p><em>Because at the end of the day, the answers to these questions aren't things you can buy — they're things you build.</em></p>
<blockquote>
<p><em>"A fit body, a peaceful mind, a house full of love. These things cannot be bought. They must be earned."</em>
— Naval Ravikant</p>
</blockquote>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Self Journal" term="Self Journal"/>
        <category label="Personal Growth" term="Personal Growth"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to Guarantee Your Team Fails]]></title>
        <id>https://noobj.me/notes/the-inversion-playbook</id>
        <link href="https://noobj.me/notes/the-inversion-playbook"/>
        <updated>2025-04-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[An inversion manual for engineering leaders]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/inversion-playbook-banner.svg" alt="The Inversion Playbook" style="width:100%;max-width:700px;border-radius:8px"></div>
<p style="text-align:center;font-size:1.1rem;color:#888;font-style:italic;margin:-0.5rem 0 2rem">An inversion manual for engineering leaders</p>
<p>I'm a new parent. I have no idea how to be a good father. I've read zero parenting books. I have no framework, no methodology, no "5 pillars of effective fatherhood."</p>
<p>But I know what a bad father looks like. I know what breaks trust. I know what makes a child stop talking to you. I know what happens when you're physically present but emotionally absent.</p>
<p>I don't have a playbook for getting it right. I have a very clear list of things to never do.</p>
<p>Turns out, that's enough. And it applies to more than parenting.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="invert-always-invert">Invert, Always Invert<a href="https://noobj.me/notes/the-inversion-playbook#invert-always-invert" class="hash-link" aria-label="Direct link to Invert, Always Invert" title="Direct link to Invert, Always Invert" translate="no">​</a></h2>
<p>Charlie Munger — Warren Buffett's partner for over six decades — borrowed a line from the 19th-century mathematician Carl Jacobi: <em>"Man muss immer umkehren"</em> — <strong>invert, always invert.</strong></p>
<p>Munger's version was characteristically blunt:</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #e2b714;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><div style="font-size:2rem;margin-bottom:0.5rem">🔄</div><p style="font-size:1.3rem;font-weight:700;color:#e2b714;line-height:1.6;margin:0 0 0.5rem 0"></p><p>"All I want to know is where I'm going to die, so I'll never go there."</p><p></p><p style="font-size:0.85rem;color:#888;margin:0">— Charlie Munger</p></div>
<p>In investing, this means: don't just pick great stocks — avoid the catastrophic ones. The math is asymmetric. A 50% loss requires a 100% gain to recover. Avoiding ruin matters more than chasing brilliance.</p>
<blockquote>
<p><em>"It is remarkable how much long-term advantage people like us have gotten by trying to be consistently not stupid, instead of trying to be very intelligent."</em> — Charlie Munger</p>
</blockquote>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/compound-inversion.svg" alt="The Compound Effect of Not Being Stupid" style="width:100%;max-width:750px;border-radius:8px"></div>
<p>Small bad decisions compound. So do small good ones. The gap between the two curves isn't talent or intelligence — it's the habit of asking "what would fail here?" before you act.</p>
<p>Every leadership book is about what to do. This post is about how to think about what to stop doing.</p>
<p><strong>A caveat:</strong> inversion won't make you visionary. It won't teach you to hire brilliantly or set a direction that inspires people. But it will stop the undermining of people who can do those things. And in practice, the distance between a terrible manager and a good one is shorter than most people think — and it starts with learning to see what's already going wrong.</p>
<p><strong>The question is:</strong> how do you find that list? Not <em>my</em> list — yours. For your team, your context, your failure modes.</p>
<p>Gary Klein's <strong>premortem</strong> technique is inversion made practical. Before a project starts, you ask the team: <em>"Imagine it's six months from now and this project has failed spectacularly. Tell me why."</em> People who'd never raise a risk in a planning meeting will happily explain why something <em>already</em> failed — because it's hypothetical, it's safe, and it's fun. The premortem is inversion with a calendar invite.</p>
<p>Three lenses help.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-three-lenses">The Three Lenses<a href="https://noobj.me/notes/the-inversion-playbook#the-three-lenses" class="hash-link" aria-label="Direct link to The Three Lenses" title="Direct link to The Three Lenses" translate="no">​</a></h2>
<p>There's no universal checklist for bad management. Every team is different. Every context has its own failure modes. But almost every management failure I've seen — as an engineer growing under bad managers, as a lead making my own mistakes, and now watching the pattern repeat — falls into one of three categories.</p>
<p>Every team runs on three fundamental resources: <strong>clarity of purpose</strong> (do we know what matters?), <strong>ownership and autonomy</strong> (can we act on it?), and <strong>trust</strong> (can we be honest about how it's going?). Degrade any one and the team degrades.</p>
<p>Think of these as lenses. Put on any one of them and look at a decision you're about to make. If the decision looks dangerous through <em>any</em> of the three, it probably is.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/three-lenses.svg" alt="Three Lenses: Systems, Trust, Load" style="width:100%;max-width:700px;border-radius:8px"></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="lens-1-ownership--autonomy">Lens 1: Ownership &amp; Autonomy<a href="https://noobj.me/notes/the-inversion-playbook#lens-1-ownership--autonomy" class="hash-link" aria-label="Direct link to Lens 1: Ownership &amp; Autonomy" title="Direct link to Lens 1: Ownership &amp; Autonomy" translate="no">​</a></h2>
<p><em>"Am I enabling agency or creating dependency?"</em></p>
<p>Donella Meadows, in <em>Thinking in Systems</em>, makes a claim that changed how I think about everything:</p>
<blockquote>
<p><em>"Missing information flows is one of the most common causes of system malfunction. Adding or restoring information can be a powerful intervention, usually much easier and cheaper than rebuilding physical infrastructure."</em></p>
</blockquote>
<p>A team is a system. It has inputs (context, priorities, constraints), processes (how decisions get made, how work flows), and outputs (shipped software, solved problems, happy users). Between all of these are <strong>feedback loops</strong> — the signals that tell the system whether it's working or not.</p>
<p>A good manager strengthens feedback loops. A bad manager — often without realising it — severs them.</p>
<p><strong>Here's what severing looks like in practice.</strong></p>
<p>A manager sits in a leadership meeting. They hear about a strategic shift — a product line is being deprioritised, a reorg is coming, a key dependency is being sunset. They absorb it. They go back to the team and share... nothing. Or a sanitised version. Or the parts they think the team "needs to know."</p>
<p>That's an information flow, cut. The team is now making decisions based on an incomplete picture of reality. They're optimising for a world that no longer exists. When their decisions turn out to be wrong — and they will — they'll come to the manager for correction. The manager provides it. And a pattern forms: the team learns that only <em>one person</em> can see the full board. Every decision routes through them. The manager becomes the bottleneck — not because they wanted to, but because they removed the information that would have let the team decide on their own.</p>
<p>Not all context can be shared — confidential reorgs, HR matters, sensitive commercial decisions have real boundaries. The failure isn't sharing selectively when there's a genuine reason. The failure is when filtering becomes the <em>default</em> — when the instinct is to hold back rather than pass through, and the team operates on a fraction of the picture not because of confidentiality, but because of habit.</p>
<p>In psychology, this is called <strong><a href="https://en.wikipedia.org/wiki/Learned_helplessness" target="_blank" rel="noopener noreferrer" class="">learned helplessness</a></strong> — when people repeatedly experience that their actions don't affect outcomes, they stop trying. The team isn't passive because they're lazy. They're passive because they've been trained to be. Every overridden decision, every withheld context, every "let me handle this" taught them that their agency doesn't matter.</p>
<p><strong>The inversion question: Before any decision, ask — "Am I enabling agency or creating dependency?"</strong></p>
<ul>
<li class="">Keeping context to yourself? Removes a feedback loop.</li>
<li class="">Requiring your approval on every PR? Removes the team's ability to self-correct.</li>
<li class="">Skipping retros because "we're too busy"? Removes the system's ability to learn.</li>
<li class="">Sharing the <em>why</em> behind a decision, not just the <em>what</em>? Adds a feedback loop.</li>
<li class="">Letting the team see the same dashboards you see? Adds a feedback loop.</li>
<li class="">Making your calendar and priorities visible? Adds a feedback loop.</li>
</ul>
<p>Andy Grove, in <em>High Output Management</em>, defined a manager's output as: <strong>the output of their team + the output of adjacent teams they influence.</strong> Not your own output. The moment you start optimising for your own involvement — being in every meeting, touching every decision, being the person who "knows everything" — you're optimising for a metric that actively degrades the system.</p>
<div style="background:var(--ifm-background-surface-color);border:2px solid var(--ifm-color-primary);border-radius:12px;padding:1.5rem 2rem;margin:2rem auto;max-width:600px;text-align:center"><p style="font-size:1.2rem;font-weight:700;margin:0 0 0.5rem 0">🏖️ The Holiday Test</p><p style="font-size:1rem;margin:0;line-height:1.6"></p><p>If your team can't function when you're on holiday, you're not leading — you're <strong>load-bearing</strong>. You haven't built a system. You've made yourself a single point of failure wearing a lanyard.</p><p></p></div>
<p>The systems lens doesn't give you a list of things to do. It gives you a diagnostic: <strong>follow the information.</strong></p>
<p>They don't get it because you didn't give it to them.</p>
<p>If you've read <a class="" href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster">Why Everyone's Busy But Nothing Ships Faster</a>, you'll recognise this pattern at the org level — the Price of Anarchy, where rational local decisions produce irrational global outcomes. The same dynamic plays out inside a single team when the manager becomes the coordination bottleneck. Everyone's busy. Nothing moves.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="lens-2-trust">Lens 2: Trust<a href="https://noobj.me/notes/the-inversion-playbook#lens-2-trust" class="hash-link" aria-label="Direct link to Lens 2: Trust" title="Direct link to Lens 2: Trust" translate="no">​</a></h2>
<p><em>"Am I making honesty cheaper or more expensive?"</em></p>
<p>The ownership lens asks whether people <em>can</em> act. The trust lens asks whether they <em>will</em> — whether they feel safe enough to be honest, take risks, and disagree.</p>
<p>Patrick Lencioni's <em>The Five Dysfunctions of a Team</em> builds a pyramid. At the base: <strong>trust</strong>. Not "I trust you to deliver on time" trust — <strong>vulnerability-based trust</strong>. The kind where you can say "I don't know," "I was wrong," or "I need help" without it being used against you. Amy Edmondson's research calls this <strong>psychological safety</strong> — and Google's <a href="https://rework.withgoogle.com/guides/understanding-team-effectiveness/" target="_blank" rel="noopener noreferrer" class="">Project Aristotle</a> found it was the single strongest predictor of team effectiveness. Not talent. Not process. Not tooling. Whether people felt safe enough to be honest.</p>
<p>Every layer above depends on it:</p>
<div style="display:flex;flex-direction:column;align-items:center;gap:4px;margin:2rem auto;max-width:500px"><div style="background:#28a745;color:#1a1a1a;padding:0.5rem 1.5rem;border-radius:6px;font-weight:600;font-size:0.85rem;width:30%;text-align:center">🏆 Results</div><div style="background:#f0a500;color:#1a1a1a;padding:0.5rem 1.5rem;border-radius:6px;font-weight:600;font-size:0.9rem;width:45%;text-align:center;opacity:0.85">📋 Accountability</div><div style="background:#f0a500;color:#1a1a1a;padding:0.5rem 1.5rem;border-radius:6px;font-weight:600;font-size:0.9rem;width:60%;text-align:center;opacity:0.75">🤝 Commitment</div><div style="background:#f0a500;color:#1a1a1a;padding:0.5rem 1.5rem;border-radius:6px;font-weight:600;font-size:0.95rem;width:75%;text-align:center;opacity:0.65">⚡ Healthy Conflict</div><div style="background:#28a745;color:#1a1a1a;padding:0.6rem 1.5rem;border-radius:6px;font-weight:700;font-size:1rem;width:90%;text-align:center">🔒 Trust</div><p style="font-size:0.8rem;color:#888;font-style:italic;margin:0.5rem 0 0">Lencioni's Five Dysfunctions — inverted, it all starts with trust</p></div>
<p>Now invert it. If trust is the foundation, what cracks it?</p>
<p><strong>The fastest way to destroy trust is to make honesty expensive.</strong></p>
<p>It happens every time someone is punished for bringing bad news. Every time a manager takes credit for the team's work in a leadership meeting. Every time a difficult conversation is avoided because being liked feels safer than being honest. Every time someone raises a concern and it's dismissed — or worse, remembered during their next performance review.</p>
<p>Lencioni calls the result <strong>artificial harmony</strong> — a surface-level peace that masks unresolved issues. It feels like a healthy team. It's actually a team where nobody feels safe enough to disagree. And the issues don't disappear. They compound. Every week you delay a difficult conversation, the conversation gets harder and the damage gets deeper. The same compound effect that erodes relationships through <a class="" href="https://noobj.me/notes/the-daily-drift">small daily silences</a> erodes teams through avoided truths.</p>
<p>Same with kids, by the way. The conversation you're avoiding with your teenager? It's not getting easier with time either.</p>
<p><strong>The inversion question: Before any decision, ask — "Am I making honesty cheaper or more expensive?"</strong></p>
<ul>
<li class="">Taking credit for the team's work? Makes honesty expensive — why would anyone go above and beyond if the credit flows up?</li>
<li class="">Deflecting blame downward? Makes honesty expensive — why would anyone admit a mistake if it'll be used against them?</li>
<li class="">Naming people specifically when things go well? Makes honesty cheaper — people feel seen.</li>
<li class="">Going first in a post-mortem with "here's what <em>I</em> got wrong"? Makes honesty cheaper — you've modelled vulnerability.</li>
<li class="">Addressing the underperformer directly and early? Makes honesty cheaper — the team sees that problems get addressed, not ignored.</li>
<li class="">Caring enough about someone's growth to tell them the truth, even when it's uncomfortable? Makes honesty cheaper. If you care but won't say it, you're not being kind — you're being cowardly. And the team knows it.</li>
</ul>
<p>The trust lens isn't about being nice or being tough. It's about asking: <strong>after this interaction, will people be more or less likely to tell me the truth?</strong></p>
<p>If the answer is "less" — you've just made your system dumber. Because a team that can't tell you the truth can't tell you when things are breaking. And by the time you find out on your own, it's a P1.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="lens-3-clarity-of-purpose">Lens 3: Clarity of Purpose<a href="https://noobj.me/notes/the-inversion-playbook#lens-3-clarity-of-purpose" class="hash-link" aria-label="Direct link to Lens 3: Clarity of Purpose" title="Direct link to Lens 3: Clarity of Purpose" translate="no">​</a></h2>
<p><em>"Am I adding noise or signal?"</em></p>
<p>In software engineering, <strong>cognitive load</strong> refers to the total mental effort being used in a developer's working memory. John Sweller's cognitive load theory breaks it into three types:</p>
<table><thead><tr><th>Type</th><th>What it is</th><th>Management example</th></tr></thead><tbody><tr><td><strong>Intrinsic</strong></td><td>The inherent difficulty of the problem</td><td>The actual engineering challenge — this is the work</td></tr><tr><td><strong>Extraneous</strong></td><td>Mental effort spent on things that don't help</td><td>Confusing processes, unclear priorities, unnecessary approvals</td></tr><tr><td><strong>Germane</strong></td><td>Productive effort building mental models</td><td>Learning the domain, understanding the architecture</td></tr></tbody></table>
<p>A manager's job, through this lens, is simple: <strong>maximise intrinsic and germane load. Minimise extraneous load.</strong> Let people spend their brainpower on the actual problem and on getting better at solving it — not on navigating your process, decoding your priorities, or figuring out which of the five "urgent" things is actually urgent.</p>
<p>Matthew Skelton and Manuel Pais, in <em>Team Topologies</em>, took this further: cognitive load isn't just an individual constraint — it's a <strong>team</strong> constraint. If a team is responsible for too many domains, too many services, too many contexts, their collective cognitive capacity is overwhelmed. They don't need more people. They need less scope.</p>
<p>The same applies to management overhead. Every process you add, every approval gate, every status meeting, every "quick sync" — it's extraneous load. It's weight on the team's working memory that doesn't help them solve the problem. If you've read <a class="" href="https://noobj.me/notes/cognitive-load-agentic-ai">Your Agents Are Running. So Why Are You Still Exhausted?</a>, you'll recognise this — even with AI doing the heavy lifting, the <em>coordination</em> load can still crush you.</p>
<p><strong>Here's the failure mode that nobody talks about: the manager who creates urgency.</strong></p>
<p>Everything is P1. Every request is "ASAP." Every Slack message is a fire. The team is perpetually in reactive mode, sprinting from one emergency to the next. Deep work disappears. Strategic thinking disappears. What's left is a group of talented people playing whack-a-mole with their calendars.</p>
<p>Michael Porter said it plainly: <em>"The essence of strategy is choosing what not to do."</em> A manager who treats everything as urgent has made no strategic choices. They've abdicated the hardest part of the job — saying no — and passed the cognitive burden to the team.</p>
<p>Eisenhower's framing remains the clearest:</p>
<blockquote>
<p><em>"What is important is seldom urgent and what is urgent is seldom important."</em></p>
</blockquote>
<p>Parents do this too, by the way. Every extracurricular becomes essential. Every homework assignment is a crisis. The kid's calendar looks like a sprint board with no capacity planning. And then we wonder why they're anxious. The load lens works everywhere.</p>
<p><strong>The inversion question: Before any decision, ask — "Am I adding noise or signal?"</strong></p>
<ul>
<li class="">Adding an approval step? Noise.</li>
<li class="">Writing a clear decision doc so the team doesn't have to guess your reasoning? Signal.</li>
<li class="">Calling a meeting that could've been a message? Noise.</li>
<li class="">Saying no to a stakeholder request so the team can focus? Signal.</li>
<li class="">Changing priorities mid-sprint without explanation? Noise.</li>
<li class="">Maintaining a visible, stable list of the team's top 3 priorities? Signal.</li>
<li class="">Requiring the team to context-switch between four projects? Noise.</li>
<li class="">Shielding the team from organisational noise so they can go deep? Signal.</li>
</ul>
<p>If you can't articulate your team's top 3 priorities right now — without checking a document — you don't have priorities. You have a to-do list. And your team is paying the cognitive tax for your lack of clarity.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-cascade-one-system-three-lenses">The Cascade: One System, Three Lenses<a href="https://noobj.me/notes/the-inversion-playbook#the-cascade-one-system-three-lenses" class="hash-link" aria-label="Direct link to The Cascade: One System, Three Lenses" title="Direct link to The Cascade: One System, Three Lenses" translate="no">​</a></h2>
<p>These three lenses aren't independent. They're one system. Remove autonomy (ownership) → the team can't self-correct → decisions bottleneck through one person → trust erodes because people feel controlled → they stop speaking up → purpose gets cloudy because the real problems stay hidden (clarity) → more process gets added to compensate → which removes more autonomy.</p>
<div style="display:flex;justify-content:center"></div>
<p>Donella Meadows would recognise this immediately — it's a <strong>reinforcing feedback loop</strong>. The same kind of coordination failure that makes <a class="" href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster">everyone busy but nothing ship faster</a>.</p>
<p>The good news? <strong>Reinforcing loops work in both directions.</strong> Give the team ownership → they make better decisions → the bottleneck dissolves → trust builds because people feel empowered → they speak up earlier → purpose sharpens because real problems surface → less process needed → which frees up more autonomy.</p>
<p>It doesn't require fixing everything. Find one link in the chain and break it. The loop does the rest.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-inversion-checklist">The Inversion Checklist<a href="https://noobj.me/notes/the-inversion-playbook#the-inversion-checklist" class="hash-link" aria-label="Direct link to The Inversion Checklist" title="Direct link to The Inversion Checklist" translate="no">​</a></h2>
<p>This isn't exhaustive. It can't be — every team has its own failure modes. But if you understood the three lenses above, you could generate a hundred of these. Here are some to get you started.</p>
<div style="background:var(--ifm-background-surface-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:12px;padding:2rem;margin:2rem 0"><div style="text-align:center;margin-bottom:1.5rem"><span style="font-size:1.5rem;font-weight:700">The Inversion Checklist</span><p style="font-size:0.9rem;opacity:0.7;margin:0.25rem 0 0">How to guarantee failure — and the inversions</p></div><p><strong>🔗 Ownership &amp; Autonomy — Creating Dependency</strong></p><table><thead><tr><th>❌ To Fail, Do This</th><th>✅ The Inversion</th></tr></thead><tbody><tr><td>Make every decision flow through you</td><td>Apply the Holiday Test — if the team stops when you're gone, you've failed</td></tr><tr><td>Skip retros because "we're too busy"</td><td>The team that doesn't reflect doesn't learn</td></tr><tr><td>Optimise for preventing all mistakes</td><td>Optimise for recovery speed — <a class="" href="https://noobj.me/notes/governance-theatre">trust + guardrails &gt; gatekeeping</a></td></tr><tr><td>Keep dashboards and metrics to yourself</td><td>Give the team the same visibility you have</td></tr></tbody></table><p><strong>💔 Trust — Making Honesty Expensive</strong></p><table><thead><tr><th>❌ To Fail, Do This</th><th>✅ The Inversion</th></tr></thead><tbody><tr><td>Punish people for bringing bad news</td><td>Thank them — they just saved you from finding out worse, later</td></tr><tr><td>Say "my door is always open" but react badly when people walk through it</td><td>Model vulnerability — go first with "here's what I got wrong"</td></tr><tr><td>Remember who disagreed with you</td><td>Remember who had the courage to disagree — that's your most valuable signal</td></tr><tr><td>Let the <a class="" href="https://noobj.me/notes/everybody-is-junior-in-something">titled lead run everything</a> even when someone else knows the domain</td><td>Leadership follows expertise, not org charts</td></tr></tbody></table><p><strong>🧠 Clarity of Purpose — Adding Noise</strong></p><table><thead><tr><th>❌ To Fail, Do This</th><th>✅ The Inversion</th></tr></thead><tbody><tr><td>Call meetings that could be messages</td><td>Protect the team's deep work time like it's a production system</td></tr><tr><td>Change priorities mid-sprint without explanation</td><td>Stability of focus is a feature, not a bug</td></tr><tr><td>Add process to fix a people problem</td><td>Process scales. It doesn't heal.</td></tr><tr><td>Confuse your anxiety with their urgency</td><td>Your stress is not their priority</td></tr></tbody></table></div>
<p>The real list is the one you build yourself. Take the three questions — <em>Am I creating dependency? Am I making honesty expensive? Am I adding noise?</em> — and run them against every decision for a week. You'll find your own failure modes. They'll be more specific, more honest, and more useful than anything I could write here.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-one-thing">The One Thing<a href="https://noobj.me/notes/the-inversion-playbook#the-one-thing" class="hash-link" aria-label="Direct link to The One Thing" title="Direct link to The One Thing" translate="no">​</a></h2>
<p>I don't know how to be a great father. I might never figure it out. But my daughter won't remember whether I read the right book or followed the right framework. She'll remember whether I listened. Whether I showed up honestly. Whether I admitted when I got it wrong.</p>
<p>Your team is the same.</p>
<p>Nobody needs to be a great manager. Just not a bad one. And "not bad"? That's concrete. That's a lens to look through on a Tuesday afternoon when the week is going sideways.</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #e2b714;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><p style="font-size:1.3rem;font-weight:700;color:#e2b714;line-height:1.6;margin:0"></p><p>You don't need to be a great manager.<br>You just need to stop being a bad one.<br>The gap between those two is smaller than you think.</p><p></p></div>
<p>Three questions. That's the whole playbook.</p>
<p><em>Am I enabling agency or creating dependency?</em></p>
<p><em>Am I making honesty cheaper or more expensive?</em></p>
<p><em>Am I adding noise or signal?</em></p>
<p>If the answer leans toward the wrong half — that's the inversion. No framework needed. No book needed. Just stop doing that one thing.</p>
<p>What's left — after you remove everything that's killing the system — might just look like leadership.</p>
<p><strong>Remove what doesn't belong. What remains is the statue.</strong></p>
<hr>
<p><em>References: Charlie Munger's <a href="https://fs.blog/charlie-munger-inversion/" target="_blank" rel="noopener noreferrer" class="">inversion mental model</a>. Carl Jacobi's "man muss immer umkehren." Gary Klein, <a href="https://hbr.org/2007/09/performing-a-project-premortem" target="_blank" rel="noopener noreferrer" class="">premortem technique</a>. Donella Meadows, <a href="https://www.chelseagreen.com/product/thinking-in-systems/" target="_blank" rel="noopener noreferrer" class="">Thinking in Systems</a>. Patrick Lencioni, <a href="https://www.tablegroup.com/the-five-dysfunctions-of-a-team/" target="_blank" rel="noopener noreferrer" class="">The Five Dysfunctions of a Team</a>. Amy Edmondson, <a href="https://en.wikipedia.org/wiki/Psychological_safety" target="_blank" rel="noopener noreferrer" class="">psychological safety</a> and Google's <a href="https://rework.withgoogle.com/guides/understanding-team-effectiveness/" target="_blank" rel="noopener noreferrer" class="">Project Aristotle</a>. Matthew Skelton &amp; Manuel Pais, <a href="https://teamtopologies.com/" target="_blank" rel="noopener noreferrer" class="">Team Topologies</a>. Andy Grove, <a href="https://www.penguinrandomhouse.com/books/72467/high-output-management-by-andrew-s-grove/" target="_blank" rel="noopener noreferrer" class="">High Output Management</a>. John Sweller, <a href="https://en.wikipedia.org/wiki/Cognitive_load" target="_blank" rel="noopener noreferrer" class="">Cognitive Load Theory</a>. <a href="https://en.wikipedia.org/wiki/Learned_helplessness" target="_blank" rel="noopener noreferrer" class="">Learned helplessness</a> (Seligman).</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Leadership" term="Leadership"/>
        <category label="Culture" term="Culture"/>
        <category label="Engineering" term="Engineering"/>
        <category label="Psychology" term="Psychology"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[You Got Where You Are Purely on Merit (And Other Lies We Tell Ourselves)]]></title>
        <id>https://noobj.me/notes/the-luck-paradox</id>
        <link href="https://noobj.me/notes/the-luck-paradox"/>
        <updated>2025-03-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Look, you worked hard. You stayed late. You shipped that thing nobody else could ship. You earned every single promotion, every bit of recognition, every seat at the table. It was all you. 100%. No asterisks. No footnotes. Definitely no luck involved.]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/luck-paradox-banner.svg" alt="The Luck Paradox" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>Look, you worked hard. You stayed late. You shipped that thing nobody else could ship. You earned every single promotion, every bit of recognition, every seat at the table. It was all you. 100%. No asterisks. No footnotes. Definitely no luck involved.</p>
<p><strong>Right?</strong></p>
<div style="text-align:center"><img src="https://noobj.me/img/bow.svg" alt="Taking a bow" style="max-width:400px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="you-definitely-do-more-than-everyone-else">You Definitely Do More Than Everyone Else<a href="https://noobj.me/notes/the-luck-paradox#you-definitely-do-more-than-everyone-else" class="hash-link" aria-label="Direct link to You Definitely Do More Than Everyone Else" title="Direct link to You Definitely Do More Than Everyone Else" translate="no">​</a></h2>
<p>Here's a fun experiment. Get your team in a room and ask everyone to estimate their percentage contribution to the last project. Go on, I'll wait.</p>
<p>Done? Great. Add them up. If your team is anything like the ones in <a href="https://www.semanticscholar.org/paper/Egocentric-Biases-in-Availability-and-Attribution-Ross-Sicoly/4c6f4665525501ea95db3a1c8bd96a8d032893b7" target="_blank" rel="noopener noreferrer" class="">Ross &amp; Sicoly's research</a>, the total almost certainly exceeds <strong>100%</strong>. Congratulations — your team apparently did more work than was physically possible. Someone call physics.</p>
<div style="text-align:center"><img src="https://noobj.me/img/math-lady.svg" alt="Confused math" style="max-width:250px;width:100%"></div>
<p>This is <strong>Egocentric Bias</strong>, and it's not because your team are liars. It's because you were there for 100% of your own late nights, your own difficult emails, your own "glue work" that held the project together. But you only saw about 20% of everyone else's. You remember your heroics in vivid detail. Theirs? Background noise.</p>
<p>The result? Every single person on the team walks away feeling slightly undervalued. And the person who got promoted? They're absolutely <em>certain</em> they deserved it. No luck required.</p>
<div class="theme-admonition theme-admonition-note admonition_xJq3 alert alert--secondary"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_BuS1"><p>This is the same dynamic that makes cross-team collaboration feel thankless — you see your own effort, not theirs. If you've ever wondered why cross-team help feels invisible, this is why.</p></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-skill-saturation-problem">The Skill Saturation Problem<a href="https://noobj.me/notes/the-luck-paradox#the-skill-saturation-problem" class="hash-link" aria-label="Direct link to The Skill Saturation Problem" title="Direct link to The Skill Saturation Problem" translate="no">​</a></h2>
<p>Let's talk about astronauts. NASA typically receives 8,000–18,000 applications per intake and selects around 10–12. Everyone who applies is already in the 99th percentile of human capability — PhDs, fighter pilots, engineers who've built things most of us can't even spell.</p>
<p>So what separates the 12 who get in from the 17,988 who don't?</p>
<!-- -->
<p>When everyone maxes out the skill variable, it effectively becomes a constant. It cancels out. What's left is the messy, uncomfortable stuff — timing, visibility, which project you happened to be on, who happened to be in the room when your name came up.</p>
<p><a href="https://blogs.lse.ac.uk/lsereviewofbooks/2016/06/28/book-review-success-and-luck-good-fortune-and-the-myth-of-meritocracy-by-robert-h-frank/" target="_blank" rel="noopener noreferrer" class="">Robert Frank's research</a> puts it bluntly: in high-competition fields, even a small luck component disproportionately determines who wins. A <a href="https://www.youtube.com/watch?v=3LopI4YeC4I" target="_blank" rel="noopener noreferrer" class="">simulation by Veritasium</a> modelled this — even when luck is a minor factor alongside skill, the winners were overwhelmingly the luckiest, not the most skilled. That tiny sliver of circumstance becomes the <strong>dominant differentiator</strong> when everyone's skill is maxed out.</p>
<p>But sure, it was definitely the extra certification that got you the role. Definitely not the fact that the role only existed because someone quit unexpectedly (<em>Vacancy Chain Effect</em>). Definitely not the fact that you happened to be on the project that got executive visibility that quarter (<em>Visibility Bias</em>).</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-cookie-monster-effect">The Cookie Monster Effect<a href="https://noobj.me/notes/the-luck-paradox#the-cookie-monster-effect" class="hash-link" aria-label="Direct link to The Cookie Monster Effect" title="Direct link to The Cookie Monster Effect" translate="no">​</a></h2>
<p>Here's where it gets properly uncomfortable. Research by <a href="https://journals.sagepub.com/doi/10.1111/j.1467-9280.2008.02241.x" target="_blank" rel="noopener noreferrer" class="">Dacher Keltner and colleagues</a> has consistently shown that even small, arbitrary increases in power change behaviour — people in high-power conditions take more resources, interrupt more, and show less empathy toward others. The effect kicks in fast.</p>
<p>Now scale that up. You've been a senior engineer, a lead, a principal for years. You've had a tailwind of good managers, growing markets, and teams that made you look good. But from the inside, it all feels like engine. <em>Your</em> engine. Your grit. Your 4am deploys.</p>
<p>This is <strong>Survivor Bias</strong> meeting the <strong>Tailwind Effect</strong>:</p>
<div style="text-align:center"><img src="https://noobj.me/img/cookie.svg" alt="Cookie Monster grabbing cookies" style="max-width:250px;width:100%"></div>
<div style="display:flex;justify-content:center"><table><thead><tr><th>Bias</th><th>What It Feels Like</th><th>What's Actually Happening</th></tr></thead><tbody><tr><td><strong>Egocentric Bias</strong></td><td>"I did most of the work"</td><td>You saw 100% of yours, 20% of theirs</td></tr><tr><td><strong>Survivor Bias</strong></td><td>"The system is fair — it worked for me"</td><td>You only see the winners, not the 17,988</td></tr><tr><td><strong>Tailwind Effect</strong></td><td>"I got here through pure grit"</td><td>Favourable conditions feel invisible from inside</td></tr><tr><td><strong>Cookie Effect</strong></td><td>"I deserve this authority"</td><td>Even random power changes behaviour in minutes</td></tr></tbody></table></div>
<p><a href="https://stonecenter.gc.cuny.edu/files/2006/01/branko_global_inequality_review_2006.pdf" target="_blank" rel="noopener noreferrer" class="">Branko Milanovic's data</a> is the real gut punch: <strong>more than two-thirds of your lifetime income</strong> is determined by the country you were born in. Not your degree. Not your GitHub profile. The latitude and longitude of the hospital your mum happened to be in.</p>
<p>But yeah, it was definitely the side projects.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-paradox-heres-where-it-gets-useful">The Paradox (Here's Where It Gets Useful)<a href="https://noobj.me/notes/the-luck-paradox#the-paradox-heres-where-it-gets-useful" class="hash-link" aria-label="Direct link to The Paradox (Here's Where It Gets Useful)" title="Direct link to The Paradox (Here's Where It Gets Useful)" translate="no">​</a></h2>
<p>So if luck matters this much, why bother? Why grind? Why stay up debugging that memory leak at 2am if the universe is just going to flip a coin anyway?</p>
<p>Because here's the paradox you have to hold in your head — two completely contradictory beliefs, simultaneously:</p>
<!-- -->
<p><strong>Before the work:</strong> Believe you are in 100% control. This isn't delusion — it's fuel. The only way to put in the 95% effort required to even <em>enter</em> the room where luck happens is to believe your effort is the whole story. No ticket, no lottery.</p>
<p><strong>After the success:</strong> Acknowledge that luck played a massive role. Not to diminish what you did, but to stay human. To stay approachable. To avoid becoming the person who takes the extra cookie and doesn't even notice.</p>
<blockquote>
<p><strong>Yes, these beliefs contradict each other. That's the point. The skill is knowing which one to activate when.</strong></p>
</blockquote>
<p>The leaders who hold both beliefs — fierce effort <em>and</em> radical humility — are the ones people actually want to follow.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="you-can-actually-attract-luck-no-seriously">You Can Actually Attract Luck (No, Seriously)<a href="https://noobj.me/notes/the-luck-paradox#you-can-actually-attract-luck-no-seriously" class="hash-link" aria-label="Direct link to You Can Actually Attract Luck (No, Seriously)" title="Direct link to You Can Actually Attract Luck (No, Seriously)" translate="no">​</a></h2>
<p>Here's where most people stop the conversation. "Luck matters, cool, guess I'll just wait for it." No. That's the wrong takeaway. Luck isn't purely random — there are ways to <em>increase your surface area</em> for it.</p>
<p>Naval Ravikant <a href="https://nav.al/money-luck" target="_blank" rel="noopener noreferrer" class="">breaks luck into four types</a>:</p>
<ol>
<li class=""><strong>Blind luck</strong> — pure chance. You can't control this.</li>
<li class=""><strong>Luck from hustle</strong> — you're moving so fast, generating so much energy, that you collide with opportunities others miss.</li>
<li class=""><strong>Luck from preparation</strong> — you've developed the skill to spot opportunities that others walk right past.</li>
<li class=""><strong>Luck from your unique character</strong> — you've built such a specific reputation and skillset that luck <em>finds you</em>.</li>
</ol>
<p>His metaphor is perfect: imagine there's treasure at the bottom of the ocean. Type 1 luck is the tide washing it ashore at your feet. Type 4?</p>
<blockquote>
<p><strong>You've become the best deep-sea diver in the world, you've built the equipment, you've studied the currents — and when someone finds a treasure map, <em>you're the only person they call</em>.</strong></p>
</blockquote>
<p>That fourth type is the one worth obsessing over. It's not random. It's the compound interest of being so distinctly good at something that opportunities start seeking you out. The "lucky breaks" that senior engineers get — the tap on the shoulder for the high-visibility project, the introduction to the right sponsor — those aren't random. They're Type 4. They went to the person who'd spent years building a reputation for shipping, for mentoring, for being the person who makes things work.</p>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>You can't control whether you win the lottery. But you can control how many tickets you buy, and more importantly, whether you're the kind of person people hand tickets <em>to</em>.</p></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="but-first-you-have-to-be-in-the-game">But First, You Have to Be in the Game<a href="https://noobj.me/notes/the-luck-paradox#but-first-you-have-to-be-in-the-game" class="hash-link" aria-label="Direct link to But First, You Have to Be in the Game" title="Direct link to But First, You Have to Be in the Game" translate="no">​</a></h3>
<p>And this is where the conversation gets uncomfortable in a different way.</p>
<p>Consider what "being smart" actually means for most humans on this planet. <a href="https://data.worldbank.org/indicator/NY.GDP.PCAP.CD?most_recent_value_desc=false" target="_blank" rel="noopener noreferrer" class="">World Bank data</a> shows that South Sudan has a GDP per capita of <strong>under $500 per year</strong>. Burundi, Central African Republic, Mozambique — similar numbers. Now imagine being born brilliant in South Sudan. Same raw intelligence as the engineer sitting next to you. Same problem-solving instinct. Same curiosity.</p>
<p>What does that intelligence get you? Not a CS degree. Not a laptop. Not a GitHub account. Not even reliable electricity. It gets you survival. Maybe, if you're extraordinarily lucky (Type 1), a path to a school that has textbooks.</p>
<p>Branko Milanovic's research — already cited above — lands the punch: <strong>more than two-thirds of your lifetime income is determined by where you were born.</strong> Not how smart you are. Not how hard you work. Where your mother happened to be standing when you arrived.</p>
<!-- -->
<p>The smartest person in the world, statistically, probably lives in a country where their intelligence will never be rewarded the way yours has been. They'll never have the <em>infrastructure</em> to convert talent into outcome. No internet to learn on. No market to sell into. No visa to move toward opportunity.</p>
<p>So when you say "I got here on merit" — yes, your merit was necessary. But it was only <em>sufficient</em> because of where you happened to be born, what language you happened to speak, and which economy happened to be hiring when you graduated.</p>
<p>That's not a reason to feel guilty. It's a reason to feel <em>responsible</em>. Responsible for building systems — in your team, your org, your hiring pipeline — where someone's postcode doesn't determine their ceiling.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="but-i-earned-this">"But I Earned This"<a href="https://noobj.me/notes/the-luck-paradox#but-i-earned-this" class="hash-link" aria-label="Direct link to &quot;But I Earned This&quot;" title="Direct link to &quot;But I Earned This&quot;" translate="no">​</a></h2>
<p>Yeah, you did. And so did the 17,988 astronaut candidates who didn't get picked. And so did the engineer on the other team who built the same thing you built but didn't have a sponsor in the room. And so did the person who grew up in a country where "making it in tech" means something entirely different.</p>
<p>You earned your spot <em>and</em> you got lucky. Both things are true. Holding only one of them makes you either defeated or delusional. Holding both makes you dangerous — in the good way.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="so-what-do-you-actually-do-with-this">So What Do You Actually Do With This?<a href="https://noobj.me/notes/the-luck-paradox#so-what-do-you-actually-do-with-this" class="hash-link" aria-label="Direct link to So What Do You Actually Do With This?" title="Direct link to So What Do You Actually Do With This?" translate="no">​</a></h2>
<p>If you lead people — and if you're reading this on an engineering docs site, you probably do or will — here's the move:</p>
<table><thead><tr><th>Action</th><th>Why It Works</th></tr></thead><tbody><tr><td><strong>Make the invisible visible</strong> — Document glue work. Recognise mentoring, cross-team coordination, the person who unblocked three teams by writing a doc nobody asked for.</td><td>Egocentric bias means everyone's contributions are invisible to everyone else. Your job is to fix that.</td></tr><tr><td><strong>Increase the luck of others</strong> — Sponsor someone into a room they wouldn't otherwise be in. Put someone's name forward for a project that'll give them visibility.</td><td>You had tailwinds. Build tailwinds for the people behind you. Be the lucky break for someone who's already put in the 95%.</td></tr><tr><td><strong>Stay humble, stay hungry</strong> — Before the task: you control everything. After the task: you controlled very little. Rinse, repeat.</td><td>It's uncomfortable. It's also the only honest way to operate at scale.</td></tr></tbody></table>
<p>That last one — "increase the luck of others" — is the whole game. It's the same principle behind <a class="" href="https://noobj.me/notes/why-you-should-never-innersource">InnerSource</a> (lowering barriers so talent finds opportunity) and behind fixing the payoff matrix (making cooperation the rational choice). The mechanism is different. The goal is the same: <strong>build systems where the best people don't need to be lucky to succeed.</strong></p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/luck-conclusion.svg" alt="Build tailwinds for the people behind you" style="width:100%;max-width:500px;border-radius:8px"></div>
<blockquote>
<p><strong>Your goal as a leader isn't to be the smartest person in the room. It's to increase the luck of everyone else in it.</strong></p>
</blockquote>
<hr>
<p><em>This post draws from Veritasium's analysis, Robert Frank's "Success and Luck," Naval Ravikant's framework on luck, and Branko Milanovic's research on global inequality.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Leadership" term="Leadership"/>
        <category label="Culture" term="Culture"/>
        <category label="Engineering" term="Engineering"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[The Prisoner's Dilemma Is Why You Got Ghosted on Slack (wait, Teams?)]]></title>
        <id>https://noobj.me/notes/game-theory-engineering-collaboration</id>
        <link href="https://noobj.me/notes/game-theory-engineering-collaboration"/>
        <updated>2025-03-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You send a Slack message to another team. It's a reasonable request — a small API change, maybe a code review, maybe just a question about how their service handles edge cases. You write it clearly. You tag the right person. You even add a polite emoji. And then... nothing. No reply. No acknowledgment. Just the quiet hum of a message marked as read and promptly ignored.]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/game-theory-banner.svg" alt="The Prisoner's Dilemma at Work" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>You send a Slack message to another team. It's a reasonable request — a small API change, maybe a code review, maybe just a question about how their service handles edge cases. You write it clearly. You tag the right person. You even add a polite emoji. And then... nothing. No reply. No acknowledgment. Just the quiet hum of a message marked as read and promptly ignored.</p>
<p>You're not being ghosted because they're bad people. You're being ghosted because the game they're playing <em>rewards</em> ignoring you.</p>
<p>This isn't a people problem. It's a math problem.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/left-on-read-6b4c02fe192334bef9ad22cd40aed011.gif" alt="Left on read" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-game-youre-actually-playing">The Game You're Actually Playing<a href="https://noobj.me/notes/game-theory-engineering-collaboration#the-game-youre-actually-playing" class="hash-link" aria-label="Direct link to The Game You're Actually Playing" title="Direct link to The Game You're Actually Playing" translate="no">​</a></h2>
<p>Every cross-team interaction in a large engineering org is a move in a game. Not a metaphorical game — an actual, mathematically modelled one. Game theorists call it the <strong>Prisoner's Dilemma</strong>, and it's been explaining why rational people make collectively terrible decisions since 1950.</p>
<p>Here's how it works in your org. Two teams face a choice: <strong>cooperate</strong> (help the other team) or <strong>defect</strong> (ignore the request and focus on your own sprint).</p>
<table><thead><tr><th></th><th><strong>Team B Cooperates</strong></th><th><strong>Team B Defects</strong></th></tr></thead><tbody><tr><td><strong>Team A Cooperates</strong></td><td>✅ Both ship faster. Shared trust. System health improves.</td><td>😤 Team A loses sprint velocity. Team B ships on time.</td></tr><tr><td><strong>Team A Defects</strong></td><td>😏 Team A ships on time. Team B is blocked.</td><td>💀 Both move slowly. Tech debt grows. Zero trust.</td></tr></tbody></table>
<p>Look at this from Team A's perspective. If Team B cooperates, Team A is <em>better off defecting</em> — they get the benefit of Team B's help without spending any time themselves. If Team B defects, Team A is <em>still better off defecting</em> — why waste time helping someone who won't help you back?</p>
<p>Defection is the <strong>dominant strategy</strong>. No matter what the other team does, ignoring them is the rational move.</p>
<p>And here's the gut punch: Team B is running the exact same calculation. So both teams defect. Both teams move slower. Both teams accumulate tech debt. And everyone wonders why "collaboration" is just a word on a slide deck.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/calculating-fe952cbf641edd9ce57f5d1ea4360bee.gif" alt="Calculating" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-smart-people-choose-to-lose">Why Smart People Choose to Lose<a href="https://noobj.me/notes/game-theory-engineering-collaboration#why-smart-people-choose-to-lose" class="hash-link" aria-label="Direct link to Why Smart People Choose to Lose" title="Direct link to Why Smart People Choose to Lose" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/game-theory-biases.svg" alt="Three cognitive biases: Zero-Sum, Loss Aversion, Discounting" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>The math alone would be bad enough. But your brain makes it worse. Three cognitive biases turn a bad incentive structure into an unbreakable one:</p>
<p><strong>Zero-sum thinking.</strong> "If their team gets credit for this feature, that's credit my team <em>doesn't</em> get." Promotions feel scarce. Executive attention feels finite. So helping another team feels like handing them your bonus. It's not true — collaboration creates value that didn't exist before — but the lizard brain doesn't do nuance.</p>
<p><strong>Loss aversion.</strong> Losing four hours to a cross-team code review <em>hurts</em> twice as much as the abstract "gain" of organisational health. The loss is concrete and immediate. The gain is diffuse and delayed. Your brain treats them very differently, and the loss wins every time.</p>
<p><strong>Hyperbolic discounting.</strong> Closing a Jira ticket <em>today</em> feels more valuable than contributing to a shared library that saves everyone time <em>next quarter</em>. The sprint is real. The future is theoretical. So you optimise for the sprint, and the future never arrives.</p>
<p>These aren't character flaws. They're features of human cognition that evolved for survival in small groups. They just happen to be catastrophically mismatched with how modern engineering orgs work.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-shadow-of-the-future-or-lack-thereof">The Shadow of the Future (Or Lack Thereof)<a href="https://noobj.me/notes/game-theory-engineering-collaboration#the-shadow-of-the-future-or-lack-thereof" class="hash-link" aria-label="Direct link to The Shadow of the Future (Or Lack Thereof)" title="Direct link to The Shadow of the Future (Or Lack Thereof)" translate="no">​</a></h2>
<p>Here's the thing that makes cooperation <em>possible</em> in small teams: you know you'll need that person tomorrow. Game theorists call this <strong>the shadow of the future</strong> — the knowledge that today's actions have consequences in future interactions. In a five-person startup, the shadow is long. You help me today, I help you tomorrow. Defection is risky because reputation is immediate and inescapable.</p>
<p>But at 4,000 engineers? The shadow shrinks to nothing.</p>
<!-- -->
<p>Cooperation through direct reciprocity only works when the chance of meeting again outweighs the cost-to-benefit ratio of helping. At 4,000 engineers spread across dozens of teams, that probability approaches zero for cross-team interactions. And when reputation doesn't travel across silos — when nobody knows or remembers that you helped another team last quarter — there's no indirect reciprocity either.</p>
<p>The result? Defection isn't just rational. It's the <em>only stable equilibrium</em>.</p>
<blockquote>
<p><strong>The game is broken. Not the people.</strong></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="change-the-game-not-the-players">Change the Game, Not the Players<a href="https://noobj.me/notes/game-theory-engineering-collaboration#change-the-game-not-the-players" class="hash-link" aria-label="Direct link to Change the Game, Not the Players" title="Direct link to Change the Game, Not the Players" translate="no">​</a></h2>
<p>So here's the thing. You can keep sending motivational Slack posts about "one team, one dream." You can run another workshop on collaboration. You can put "teamwork" in the company values and print it on a mug.</p>
<p>Or you can change the math.</p>
<p>The Prisoner's Dilemma only traps you when the payoff matrix rewards defection. <strong>Change the payoffs, and cooperation becomes the dominant strategy instead.</strong> This isn't idealism — it's mechanism design. You're not asking people to be better. You're making "better" the rational choice.</p>
<!-- -->
<p>Three moves. That's all it takes to flip the matrix.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="three-moves-that-flip-the-matrix">Three Moves That Flip the Matrix<a href="https://noobj.me/notes/game-theory-engineering-collaboration#three-moves-that-flip-the-matrix" class="hash-link" aria-label="Direct link to Three Moves That Flip the Matrix" title="Direct link to Three Moves That Flip the Matrix" translate="no">​</a></h2>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/game-theory-three-moves.svg" alt="Three Moves That Flip the Matrix: Reputation, Shared OKRs, Low Cost" style="width:100%;max-width:700px;border-radius:8px"></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="move-1-make-reputation-travel">Move 1: Make Reputation Travel<a href="https://noobj.me/notes/game-theory-engineering-collaboration#move-1-make-reputation-travel" class="hash-link" aria-label="Direct link to Move 1: Make Reputation Travel" title="Direct link to Move 1: Make Reputation Travel" translate="no">​</a></h3>
<p>The shadow of the future is short because reputation doesn't cross team boundaries. Fix that.</p>
<p>Implement <strong>collaborative credit</strong> — a visible, tracked record of cross-team contributions. Code reviews for other teams, shared library maintenance, helping unblock a dependency. Make it show up in quarterly reviews. Make it part of how you evaluate engineering managers, not just their team's sprint velocity.</p>
<p>When helping another team <em>visibly counts</em>, the payoff for cooperation goes up and the temptation to defect goes down. Suddenly, "I helped three other teams ship this quarter" is a career-building statement, not a confession of distraction.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="move-2-shared-okrs-that-make-cooperation-pay">Move 2: Shared OKRs That Make Cooperation Pay<a href="https://noobj.me/notes/game-theory-engineering-collaboration#move-2-shared-okrs-that-make-cooperation-pay" class="hash-link" aria-label="Direct link to Move 2: Shared OKRs That Make Cooperation Pay" title="Direct link to Move 2: Shared OKRs That Make Cooperation Pay" translate="no">​</a></h3>
<p>If 100% of your team's key results are local, you've mathematically guaranteed that helping another team is a cost with no reward. The payoff matrix is rigged.</p>
<p>Make at least <strong>30% of every team's OKRs dependent on another team's success</strong> or on a global outcome. When Team A's performance is partially tied to Team B shipping on time, the calculus flips. Mutual cooperation becomes more valuable than the temptation to defect, because defection now <em>hurts your own score</em>.</p>
<p>This isn't about forcing collaboration. It's about making the incentive structure honest about what the organisation actually needs.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="move-3-reduce-the-cost-of-cooperation">Move 3: Reduce the Cost of Cooperation<a href="https://noobj.me/notes/game-theory-engineering-collaboration#move-3-reduce-the-cost-of-cooperation" class="hash-link" aria-label="Direct link to Move 3: Reduce the Cost of Cooperation" title="Direct link to Move 3: Reduce the Cost of Cooperation" translate="no">​</a></h3>
<p>Even when people <em>want</em> to cooperate, the transaction cost can be prohibitive. Finding the right person, explaining context, negotiating backlog priority, following up — it's exhausting. When cooperation is expensive, defection wins by default.</p>
<p>The fix: <strong>make cooperation cheap.</strong></p>
<ul>
<li class=""><strong>InnerSource</strong> — Let any team submit a PR to any codebase. The requester provides the solution instead of waiting in someone else's backlog. (We wrote about this — satirically, but the point stands.)</li>
<li class=""><strong>Internal developer portals</strong> — Self-service API discovery, documentation, and cloud resources. Kill the search cost.</li>
<li class=""><strong>Platform teams</strong> — Shared infrastructure that nobody has to negotiate for. (The Price of Anarchy post covers why this matters at scale.)</li>
</ul>
<p>When the cost of cooperation drops, the threshold for reciprocity becomes achievable again — even at 4,000 engineers.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="sounds-great-in-theory">"Sounds Great in Theory"<a href="https://noobj.me/notes/game-theory-engineering-collaboration#sounds-great-in-theory" class="hash-link" aria-label="Direct link to &quot;Sounds Great in Theory&quot;" title="Direct link to &quot;Sounds Great in Theory&quot;" translate="no">​</a></h2>
<p>If you're reading the three moves above and thinking <em>"this is idealistic"</em> — you're not wrong. Nobody flips a payoff matrix overnight. You probably can't rewrite your org's OKR framework by Friday.</p>
<p>But here's the thing: you don't need to change the whole system. You just need to make cooperation <em>slightly</em> more rewarding than defection in your immediate sphere. Small changes compound.</p>
<table><thead><tr><th>Role</th><th>Action</th><th>Why It Works</th></tr></thead><tbody><tr><td><strong>Engineer</strong></td><td>Publicly thank cross-team help in Slack or retros</td><td>Reputation travels when you carry it</td></tr><tr><td><strong>Engineer</strong></td><td>Review a PR from another team, even when nobody asked</td><td>20 minutes buys enormous goodwill</td></tr><tr><td><strong>Engineer</strong></td><td>Document your team's services properly</td><td>Reduces the cost of cooperation for everyone after you</td></tr><tr><td><strong>Engineer</strong></td><td>When someone helps you, help them back <em>visibly</em></td><td>Manually creates the reciprocity loop the org structure broke</td></tr><tr><td><strong>Tech Lead / EM</strong></td><td>Add "cross-team contributions" to performance conversations</td><td>Suddenly it counts</td></tr><tr><td><strong>Tech Lead / EM</strong></td><td>Treat blocking another team with the same urgency as your own sprint</td><td>It's not a favour — it's the system working</td></tr><tr><td><strong>Tech Lead / EM</strong></td><td>Celebrate cross-team wins in standups and retros</td><td>Makes the invisible visible</td></tr><tr><td><strong>Tech Lead / EM</strong></td><td>Pair someone with the requesting team instead of context-switching alone</td><td>Cheaper, and builds relationships</td></tr><tr><td><strong>Director+</strong></td><td>Make cross-team contribution a promotion criterion</td><td>Not a nice-to-have — a signal of what the org actually values</td></tr><tr><td><strong>Director+</strong></td><td>Stop rewarding teams purely on local velocity</td><td>It's the single biggest incentive to defect</td></tr><tr><td><strong>Director+</strong></td><td>Run quarterly dependency reviews</td><td>If Team A blocks Team B every sprint, that's a system problem</td></tr></tbody></table>
<p>None of these require a reorg. None of them need executive sponsorship. They just need one person to start, and for that person's team to notice it works.</p>
<blockquote>
<p><strong>You don't have to fix the game. You just have to make the first cooperative move.</strong></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-one-takeaway">The One Takeaway<a href="https://noobj.me/notes/game-theory-engineering-collaboration#the-one-takeaway" class="hash-link" aria-label="Direct link to The One Takeaway" title="Direct link to The One Takeaway" translate="no">​</a></h2>
<p>You've sat through the game theory. You've seen the payoff matrix. You've read about cognitive biases and the shadow of the future. Here's the one thing I want you to remember:</p>
<blockquote>
<p><strong>You don't have a collaboration problem. You have a payoff problem. Fix the game.</strong></p>
</blockquote>
<p>Stop blaming engineers for being "siloed." They're not siloed — they're <em>rational</em>. They're responding to a system that punishes cooperation and rewards local optimization. If you want different behaviour, build a different game.</p>
<p>Make reputation travel. Tie outcomes together. Make cooperation cheap. Do those three things, and you won't need to convince anyone to collaborate. The math will do it for you.</p>
<hr>
<p><em>This is the second in a series on game theory and engineering at scale. Read the Price of Anarchy post for the system-level view, and Why You Should Never Do InnerSource for one concrete mechanism that makes cooperation cheap. The research behind this post draws on Robert Axelrod's work on the evolution of cooperation and the Prisoner's Dilemma literature.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Game Theory" term="Game Theory"/>
        <category label="Engineering" term="Engineering"/>
        <category label="Leadership" term="Leadership"/>
        <category label="Culture" term="Culture"/>
        <category label="Collaboration" term="Collaboration"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Why Everyone's Busy But Nothing Ships Faster]]></title>
        <id>https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster</id>
        <link href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster"/>
        <updated>2025-03-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You've seen it. Every team is shipping. Every sprint has velocity. Dashboards are green. And yet somehow, the organisation feels slower than it should. Everyone's busy, but nothing moves faster.]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/price-of-anarchy-banner.svg" alt="The Price of Anarchy" style="width:100%;max-width:700px;border-radius:8px"></div>
<p>You've seen it. Every team is shipping. Every sprint has velocity. Dashboards are green. And yet somehow, the organisation feels <em>slower</em> than it should. Everyone's busy, but nothing moves faster.</p>
<p>Here's a clue from an unexpected place.</p>
<p>Picture a motorway at rush hour. Every driver is making the smartest choice <em>for themselves</em> — fastest lane, shortest route, optimal speed. Nobody's doing anything wrong. And yet the whole system grinds to a halt. More cars, more rational decisions, more gridlock.</p>
<p>This isn't a failure of individual intelligence. It's a failure of coordination. Game theorists have a name for it — the <strong>Price of Anarchy</strong> — and it might be the most useful mental model for understanding what management actually is, when it matters, and when it doesn't.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/traffic-a4a44fe10592176c66c488dd5967ac8b.gif" alt="Traffic gridlock" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-price-of-anarchy-explained-simply">The Price of Anarchy, Explained Simply<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#the-price-of-anarchy-explained-simply" class="hash-link" aria-label="Direct link to The Price of Anarchy, Explained Simply" title="Direct link to The Price of Anarchy, Explained Simply" translate="no">​</a></h2>
<p>The Price of Anarchy (PoA) measures how much worse a system performs when everyone acts in their own self-interest compared to when someone coordinates the whole thing.</p>
<div style="text-align:center;margin:2rem 0;padding:1.5rem;background:var(--ifm-card-background-color);border-radius:8px;border:1px solid var(--ifm-color-emphasis-300);display:flex;align-items:center;justify-content:center;gap:1rem"><span style="font-size:1.1rem;font-weight:bold">Price of Anarchy&nbsp;&nbsp;=</span><span style="display:inline-block;text-align:center"><span style="display:block;border-bottom:2px solid var(--ifm-color-emphasis-500);padding-bottom:0.4rem;margin-bottom:0.4rem">Optimal coordinated outcome</span><span style="display:block">Worst outcome under selfish behaviour</span></span></div>
<p>If PoA = 1, selfish behavior already produces the optimal outcome—coordination adds no benefit.</p>
<p>If PoA = 2, the system performs twice worse under selfish behavior than under optimal coordination.</p>
<p>Each driver picks the fastest route for <em>themselves</em>. But collectively, everyone floods the same roads and creates congestion. A coordinated system — traffic lights, lane management, congestion charges — produces better flow for <em>everyone</em>.</p>
<p>Now replace "drivers" with "engineers" and "roads" with "priorities."</p>
<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>In orgs, "selfish" usually means local optimisation — team, department, KPI.</p></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-does-it-break-the-poa-spectrum">Where Does It Break? The PoA Spectrum<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#where-does-it-break-the-poa-spectrum" class="hash-link" aria-label="Direct link to Where Does It Break? The PoA Spectrum" title="Direct link to Where Does It Break? The PoA Spectrum" translate="no">​</a></h2>
<p>Not every organisation needs the same level of coordination. The Price of Anarchy scales with complexity:</p>
<!-- -->
<p>The question isn't whether coordination is needed. It's <em>how much</em>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-poa--1-the-self-organising-dream">When PoA ≈ 1: The Self-Organising Dream<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#when-poa--1-the-self-organising-dream" class="hash-link" aria-label="Direct link to When PoA ≈ 1: The Self-Organising Dream" title="Direct link to When PoA ≈ 1: The Self-Organising Dream" translate="no">​</a></h2>
<p>Five engineers in a startup. Everyone knows what everyone else is doing. Architecture decisions converge through hallway conversations. Priorities are obvious because there's one product, one customer, one goal.</p>
<p>Here, PoA is close to 1. Self-organisation works. A manager in this context is overhead — someone scheduling meetings about things people already know.</p>
<blockquote>
<p><em>"Resilience arises from a rich structure of many feedback loops that can work in different ways to restore a system even after a large perturbation."</em>
— Donella Meadows, <em>Thinking in Systems</em></p>
</blockquote>
<p>Small teams <em>are</em> rich feedback loops. Information flows freely. The system self-heals. This is the dream that flat-org advocates sell — and for small, tightly-coupled teams, it's real.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/small-team-db26c0bdc76e17b9edb83bb71a53ab5c.gif" alt="Small team vibes" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-poa-grows-the-1000-person-reality">When PoA Grows: The 1,000-Person Reality<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#when-poa-grows-the-1000-person-reality" class="hash-link" aria-label="Direct link to When PoA Grows: The 1,000-Person Reality" title="Direct link to When PoA Grows: The 1,000-Person Reality" translate="no">​</a></h2>
<p>Now scale that to 1,000 engineers across dozens of teams, multiple brands, different time zones, and competing roadmaps.</p>
<p>Here's what happens without coordination: the payments team rewrites the checkout service for speed while the mobile team is building a feature that depends on the old API. A platform team builds a shared logging library that nobody discovers because it lives in a repo no one knows about. Three teams independently build authentication modules — each one perfectly designed for its use case, none of them compatible.</p>
<p>Each decision is rational <em>in isolation</em>. But collectively? Everyone's busy, everyone's productive by their own metrics, and the organisation moves slower than the sum of its parts.</p>
<blockquote>
<p><em>"If the architecture of the system and the architecture of the organisation are at odds, the architecture of the organisation wins."</em>
— Matthew Skelton &amp; Manuel Pais, <em>Team Topologies</em></p>
</blockquote>
<p>This is where the Price of Anarchy climbs. Not because people are selfish or incompetent — but because local optimisation and global optimisation are fundamentally different problems.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-managers-actually-do-when-theyre-doing-it-right">What Managers Actually Do (When They're Doing It Right)<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#what-managers-actually-do-when-theyre-doing-it-right" class="hash-link" aria-label="Direct link to What Managers Actually Do (When They're Doing It Right)" title="Direct link to What Managers Actually Do (When They're Doing It Right)" translate="no">​</a></h2>
<p>What if managers exist primarily to <strong>reduce the Price of Anarchy</strong>?</p>
<p>Not to control. Not to approve. Not to sit in meetings about meetings. To <em>coordinate a system that can't coordinate itself at scale</em>.</p>
<p><strong>Alignment</strong> — Defining shared goals so that local decisions naturally converge toward global outcomes. When Team A and Team B both understand the same north star, their independent choices are more likely to be compatible.</p>
<p><strong>Coordination</strong> — Resolving cross-team conflicts, sequencing dependencies, and making trade-offs that no single team has the context to make. This is the traffic light function — not telling people where to go, but preventing collisions.</p>
<p><strong>Global optimisation</strong> — Prioritising what matters for the whole system, not just one part of it. Sometimes the right call for the organisation is the wrong call for an individual team. Someone has to make that visible.</p>
<p>But good managers also do things that aren't coordination — they develop people, create psychological safety, and have hard conversations. That's not PoA reduction. That's <em>capacity building</em> — making the individual nodes in the system better, not just better connected.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/managers-6e4c38fbda78fb125e1b56ec47405648.gif" alt="Management reality" style="max-width:480px;width:100%"></div>
<p>The best managers do both.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="agile-as-a-coordination-protocol">Agile as a Coordination Protocol<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#agile-as-a-coordination-protocol" class="hash-link" aria-label="Direct link to Agile as a Coordination Protocol" title="Direct link to Agile as a Coordination Protocol" translate="no">​</a></h2>
<p>Agile doesn't eliminate the need for coordination. It <em>encodes</em> it into lightweight protocols:</p>
<ul>
<li class=""><strong>Shared backlog</strong> → alignment on priorities</li>
<li class=""><strong>Sprint planning</strong> → coordination of effort</li>
<li class=""><strong>Retrospectives</strong> → feedback loops for system correction</li>
<li class=""><strong>Product ownership</strong> → a single point of global optimisation for a domain</li>
</ul>
<p>Within a single team, Agile ceremonies can keep PoA close to 1. Across ten teams? Twenty? You need something more. This is why organisations layer coordination mechanisms: architecture guilds, platform teams, tech radar, RFCs, shared standards. Each one is a protocol designed to reduce PoA without adding hierarchy.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="coordination-as-code">Coordination as Code<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#coordination-as-code" class="hash-link" aria-label="Direct link to Coordination as Code" title="Direct link to Coordination as Code" translate="no">​</a></h2>
<p>Some of the most effective PoA reducers aren't people at all — they're systems:</p>
<div style="text-align:center"></div>
<p>The further down this stack you push coordination, the less you need humans in the loop for routine alignment. <strong>API contracts</strong> prevent incompatible interfaces. <strong>Design systems</strong> prevent reinvented UI patterns. <strong>Platform teams</strong> prevent everyone solving infrastructure differently.</p>
<p>These reduce the Price of Anarchy the same way traffic lights do — not by telling people what to do, but by making the right thing the easy thing.</p>
<p>The more you encode into tooling and platforms, the more you free managers to focus on the hard problems — the ones that require judgment, context, and relationships.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-real-question">The Real Question<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#the-real-question" class="hash-link" aria-label="Direct link to The Real Question" title="Direct link to The Real Question" translate="no">​</a></h2>
<p>The real question is: <strong>how much coordination is needed to keep the Price of Anarchy acceptable?</strong></p>
<div style="display:flex;justify-content:center"><table><thead><tr><th>System</th><th>Primary coordination mechanism</th></tr></thead><tbody><tr><td>Open source projects</td><td>Maintainers + contribution guidelines</td></tr><tr><td>Small agile teams</td><td>Ceremonies + product owner</td></tr><tr><td>Scaled agile orgs</td><td>Tribes, guilds, platform teams</td></tr><tr><td>Large enterprises</td><td>Systems + governance + tooling (built by managers)</td></tr></tbody></table></div>
<p>Different systems need different PoA controls. A five-person startup doesn't need the same coordination overhead as a 1,000-person engineering org. But a 1,000-person org pretending it can self-organise like a startup? That's traffic without traffic lights.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-takeaway">The Takeaway<a href="https://noobj.me/notes/why-everyones-busy-but-nothing-ships-faster#the-takeaway" class="hash-link" aria-label="Direct link to The Takeaway" title="Direct link to The Takeaway" translate="no">​</a></h2>
<p>The goal is building systems that coordinate themselves, so that management can focus on the things only humans can do: building trust, developing people, and making the hard calls when the protocols aren't enough.</p>
<blockquote>
<p><em>"Not finance. Not strategy. Not technology. It is teamwork that remains the ultimate competitive advantage, both because it is so powerful and so rare."</em>
— Patrick Lencioni, <em>The Five Dysfunctions of a Team</em></p>
</blockquote>
<p>Next time you're stuck in traffic, remember: the problem isn't the drivers. It's the system. And that's exactly what management is for.</p>
<hr>
<p><em>The Price of Anarchy was formalised by Elias Koutsoupias and Christos Papadimitriou in 1999. Go deeper: <a href="https://www.chelseagreen.com/product/thinking-in-systems/" target="_blank" rel="noopener noreferrer" class="">Thinking in Systems</a> by Donella Meadows, <a href="https://teamtopologies.com/" target="_blank" rel="noopener noreferrer" class="">Team Topologies</a> by Skelton &amp; Pais, and <a href="https://www.tablegroup.com/product/dysfunctions/" target="_blank" rel="noopener noreferrer" class="">The Five Dysfunctions of a Team</a> by Patrick Lencioni.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Engineering" term="Engineering"/>
        <category label="Culture" term="Culture"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Hi.]]></title>
        <id>https://noobj.me/notes/hi</id>
        <link href="https://noobj.me/notes/hi"/>
        <updated>2024-12-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Colleague]]></summary>
        <content type="html"><![CDATA[<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/hi-banner.svg" alt="Hi - just say what you need" style="width:100%;max-width:700px;border-radius:8px"></div>
<div style="background:var(--ifm-background-surface-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:12px;padding:1.5rem 2rem;max-width:500px;margin:2rem auto;font-family:system-ui, -apple-system, sans-serif;box-shadow:0 2px 8px rgba(0,0,0,0.08)"><div style="display:flex;align-items:center;gap:0.5rem;margin-bottom:1.5rem;padding-bottom:0.75rem;border-bottom:1px solid var(--ifm-color-emphasis-200)"><div style="width:10px;height:10px;border-radius:50%;background:#44b553"></div><span style="font-weight:600;font-size:0.9rem">Colleague</span><span style="font-size:0.75rem;opacity:0.5;margin-left:auto">2:03 PM</span></div><div style="background:var(--ifm-color-emphasis-100);border-radius:12px;padding:0.6rem 1rem;margin-bottom:0.75rem;width:fit-content;font-size:0.95rem"><p>Hi</p></div><div style="text-align:center;padding:0.5rem 0;opacity:0.4;font-size:0.85rem"><p style="margin:0.75rem 0">...</p><p style="margin:0.75rem 0">still waiting</p><p style="margin:0.75rem 0">...</p><p style="margin:0.75rem 0">hello?</p><p style="margin:0.75rem 0">...</p></div><div style="text-align:center;font-size:0.8rem;opacity:0.35;font-style:italic;padding-top:0.5rem;border-top:1px solid var(--ifm-color-emphasis-200)"><p>Colleague is typing...</p></div></div>
<p>Annoying, isn't it? You clicked on this article expecting <em>something</em> — a point, a question, an insight — and instead you got... nothing. Just a greeting and dead air.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/waiting-814f7c0d52c80b5e73bf94f9fc654f64.gif" alt="Waiting impatiently" style="max-width:480px;width:100%"></div>
<div style="background:var(--ifm-background-surface-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:12px;padding:1.5rem 2rem;margin:2rem auto;box-shadow:0 2px 8px rgba(0,0,0,0.08)"><p>Now you know exactly how it feels to receive this message at 2pm on a Tuesday:</p><blockquote>
<p><strong>them:</strong> Hi</p>
<p><strong>you:</strong> ...</p>
<p><strong>you:</strong> <em>(stops what you're doing)</em></p>
<p><strong>you:</strong> <em>(waits)</em></p>
<p><strong>you:</strong> <em>(still waiting)</em></p>
<p><strong>them:</strong> <em>(typing...)</em></p>
<p><strong>them:</strong> <em>(stops typing)</em></p>
<p><strong>them:</strong> <em>(typing...)</em></p>
<p><strong>them:</strong> How are you?</p>
<p><strong>you:</strong> 🙃</p>
</blockquote></div>
<div style="background:var(--ifm-background-surface-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:12px;padding:1.5rem 2rem;margin:2rem auto;box-shadow:0 2px 8px rgba(0,0,0,0.08)"><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-timezone-tax">The Timezone Tax<a href="https://noobj.me/notes/hi#the-timezone-tax" class="hash-link" aria-label="Direct link to The Timezone Tax" title="Direct link to The Timezone Tax" translate="no">​</a></h2><p>Here's one that'll make your eye twitch.</p><p>It's 5:30pm. You're wrapping up your day. A message pops in from a colleague who's five and a half hours behind you:</p><blockquote>
<p><strong>them (12:00 their time):</strong> Hi</p>
</blockquote><p>You reply:</p><blockquote>
<p><strong>you (5:30pm):</strong> Hey, what's up?</p>
</blockquote><p>They've gone to lunch. They come back:</p><blockquote>
<p><strong>them (1:00pm their time):</strong> Are you still around?</p>
</blockquote><p>You've gone home. You see it next morning:</p><blockquote>
<p><strong>you (9:00am, next day):</strong> Yeah, I'm here. What do you need?</p>
</blockquote><blockquote>
<p><strong>them (still asleep):</strong> ...</p>
</blockquote><p>A question that would've taken 30 seconds to ask and 2 minutes to answer just became a <strong>24-hour round trip</strong>. Because someone typed "Hi" and hit enter instead of typing "Hi — can you check if the auth service is returning 403s for the <code>/users</code> endpoint? Here's the trace ID: <code>a]</code>."</p><p>That's not politeness. That's a full business day in the bin.</p></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="good-morning-at-9pm">"Good Morning!" ...At 9pm<a href="https://noobj.me/notes/hi#good-morning-at-9pm" class="hash-link" aria-label="Direct link to &quot;Good Morning!&quot; ...At 9pm" title="Direct link to &quot;Good Morning!&quot; ...At 9pm" translate="no">​</a></h2>
<p>This one's a personal favourite.</p>
<blockquote>
<p><strong>them:</strong> Good morning! 🌅</p>
</blockquote>
<p>You look at your clock. It's 9pm. You've already had dinner. You're watching something. Your phone buzzes with a work notification that says <em>good morning</em> while you're in your pyjamas.</p>
<p>They didn't check your timezone. They didn't check your Slack status. They didn't check <em>anything</em>. They just broadcast a greeting into the void and waited for the void to respond.</p>
<p>And the greeting is <em>wrong</em>. It's not morning. It's not even close to morning. The message is empty AND inaccurate. A two-for-one special of not thinking it through.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/facepalm-90c776a2be474772066c10798c2b04e3.gif" alt="Facepalm" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-typing-indicator-of-doom">The Typing Indicator of Doom<a href="https://noobj.me/notes/hi#the-typing-indicator-of-doom" class="hash-link" aria-label="Direct link to The Typing Indicator of Doom" title="Direct link to The Typing Indicator of Doom" translate="no">​</a></h2>
<p>You know the one. You're deep in a problem. Flow state. The code is finally making sense. Then:</p>
<blockquote>
<p><strong>them:</strong> Hi</p>
</blockquote>
<p>You glance at it. The typing indicator appears. Three little dots, bouncing. You wait. It stops. Starts again. Stops. Starts. You're now fully distracted, watching a tiny animation like it's a thriller movie.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/typing-f88f35dd0243847515883957f0ee1acb.gif" alt="Typing indicator dots" style="max-width:350px;width:100%"></div>
<p>Then finally:</p>
<blockquote>
<p><strong>them:</strong> How's it going?</p>
</blockquote>
<p><em>That's it?</em> You broke my concentration for a vibe check? The actual question — if there even is one — is still three messages away. Your flow state is gone. That bug you were about to crack? It'll take you <a href="https://ics.uci.edu/~gmark/chi08-mark.pdf" target="_blank" rel="noopener noreferrer" class="">23 minutes to get back into it</a>. Not my number — that's from UC Irvine research.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-irony-we-dont-talk-about">The Irony We Don't Talk About<a href="https://noobj.me/notes/hi#the-irony-we-dont-talk-about" class="hash-link" aria-label="Direct link to The Irony We Don't Talk About" title="Direct link to The Irony We Don't Talk About" translate="no">​</a></h2>
<p>We've all shared the meme. We've all nodded along. <em>"This meeting could've been an email."</em> It's practically a personality trait at this point.</p>
<p>But here's the thing nobody says out loud: <strong>we then send messages that aren't even complete.</strong></p>
<p>We complain about 30-minute meetings that waste our time, and then we send a "Hi" that wastes someone's time in a slower, more agonising way — because now they're stuck in limbo, unable to help, unable to ignore, just... waiting for you to finish your thought.</p>
<p>At least the unnecessary meeting had an agenda. Your "Hi" has nothing.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="someone-already-nailed-this">Someone Already Nailed This<a href="https://noobj.me/notes/hi#someone-already-nailed-this" class="hash-link" aria-label="Direct link to Someone Already Nailed This" title="Direct link to Someone Already Nailed This" translate="no">​</a></h2>
<p>I'm not the first person to be annoyed by this. There's an entire website dedicated to it. Take a minute — seriously, scroll through it:</p>
<div style="text-align:center;margin:2rem 0"><iframe src="https://nohello.net/en/" width="100%" height="600" style="border:2px solid var(--ifm-color-primary);border-radius:8px;max-width:800px" title="nohello.net" loading="lazy"></iframe><p style="margin-top:0.5rem;font-size:0.9rem;opacity:0.7"></p><p>Can't see it? <a href="https://nohello.net/en/" target="_blank" rel="noopener noreferrer">Visit nohello.net directly</a></p><p></p></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="do-you-feel-it-now">Do You Feel It Now?<a href="https://noobj.me/notes/hi#do-you-feel-it-now" class="hash-link" aria-label="Direct link to Do You Feel It Now?" title="Direct link to Do You Feel It Now?" translate="no">​</a></h2>
<p>If you've been nodding along this whole time — welcome. You're not crazy. You're not "difficult." You're not "bad at small talk." Your frustration is valid, and it costs real time, real focus, and real productivity. Every single day.</p>
<p>And if you're reading this thinking <em>"wait... I do this"</em> — remember the top of this article? That empty space? That wait? That feeling of <em>"get to the point already"</em>?</p>
<p><strong>That's what you're doing to people. Every. Single. Time.</strong></p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/finally-f86abfc2f65147f2ffc4caf05965a866.gif" alt="Finally someone said it" style="max-width:400px;width:100%"></div>
<p>You're not a bad person. You're probably trying to be polite. But in async communication, a bare "Hi" isn't polite — it's a hostage situation. You're holding someone's attention captive until you decide to finish your thought.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="but-what-do-i-do-when-someone-just-says-hi">"But What Do I Do When Someone Just Says Hi?"<a href="https://noobj.me/notes/hi#but-what-do-i-do-when-someone-just-says-hi" class="hash-link" aria-label="Direct link to &quot;But What Do I Do When Someone Just Says Hi?&quot;" title="Direct link to &quot;But What Do I Do When Someone Just Says Hi?&quot;" translate="no">​</a></h2>
<p>This is the real question, isn't it? You <em>know</em> it's a problem. You've wanted to say something. But you don't want to be <em>that person</em> — the one who sends a passive-aggressive link to a website about chat etiquette.</p>
<p>Here's your toolkit. Tested in the wild. Zero friendships harmed.</p>
<p><strong>The Genuine One</strong> — simple, warm, and means it:</p>
<blockquote>
<p><em>"Hello, how can I be of help?"</em></p>
</blockquote>
<p>Sounds friendly. Is friendly. Because it genuinely <em>is</em> — you're signalling that you're available, you're willing to help, and you're ready for meaningful work together. But it also subtly says <em>"I'm not going to guess what you want — the ball is in your court."</em> Works every time.</p>
<p><strong>The Friendly Nudge</strong> — reply with warmth, plant the seed:</p>
<blockquote>
<p><em>"Hey! What's up? (Pro tip for next time — feel free to drop your question straight away, I might be in a meeting but can get back to you faster that way 😊)"</em></p>
</blockquote>
<p><strong>The Busy Redirect</strong> — honest and practical:</p>
<blockquote>
<p><em>"Hi! I'm in and out of meetings today — drop your question and I'll get to it as soon as I can!"</em></p>
</blockquote>
<p><strong>The Status Move</strong> — let your status do the talking:</p>
<blockquote>
<p>💬 <em>"Skip the hello — just ask! I'll reply faster."</em></p>
</blockquote>
<blockquote>
<p>🎧 <em>"In focus mode — drop your question, I'll get back to you."</em></p>
</blockquote>
<p><strong>The Nuclear Option</strong> — send them this article:</p>
<blockquote>
<p><em>"Hey, have you seen this? [link to this post] — it changed how I message people at work. Thought you might find it useful!"</em></p>
</blockquote>
<p>That's literally why this post exists. You're welcome.</p>
<p>And look — <strong>you're not being rude by doing any of this.</strong> You're being respectful of everyone's time. Including theirs. Because the faster they ask, the faster they get an answer. Everyone wins.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-one-thing">The One Thing<a href="https://noobj.me/notes/hi#the-one-thing" class="hash-link" aria-label="Direct link to The One Thing" title="Direct link to The One Thing" translate="no">​</a></h2>
<p>Next time you open a chat window, just say what you need. All of it. In one message. Greeting included if you want — nobody's banning politeness. Just don't make it the <em>entire</em> message.</p>
<blockquote>
<p><del>"Hi"</del></p>
<p>✅ "Hey! Quick one — is the deployment pipeline stuck or is it just me? I'm seeing this error: <code>timeout on stage 3</code>. Here's the build link: [link]"</p>
</blockquote>
<p>Your future self — and everyone else's — will thank you.</p>
<hr>
<p><em>If this resonated, share it. If it called you out, you're welcome. Either way, go update your Slack status.</em></p>
<hr>
<p><strong>References</strong></p>
<ul>
<li class="">Gloria Mark, Daniela Gudith, Ulrich Klocke. <a href="https://ics.uci.edu/~gmark/chi08-mark.pdf" target="_blank" rel="noopener noreferrer" class=""><em>"The Cost of Interrupted Work: More Speed and Stress"</em></a> — CHI 2008, ACM Conference on Human Factors in Computing Systems.</li>
</ul>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Culture" term="Culture"/>
        <category label="Opinion" term="Opinion"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Between What Is Said and What Is Meant — Lots of Love Is Lost]]></title>
        <id>https://noobj.me/notes/the-daily-drift</id>
        <link href="https://noobj.me/notes/the-daily-drift"/>
        <updated>2024-04-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Communication Iceberg]]></summary>
        <content type="html"><![CDATA[<div style="position:relative;width:100%;max-width:700px;margin:2rem auto;text-align:center;background:#e0e0e0;border-radius:12px;padding:1.5rem 0"><img src="https://noobj.me/img/iceberg-bg.png" alt="The Communication Iceberg" style="width:90%;display:block;margin:0 auto"><div style="position:absolute;top:5%;left:0;right:0;text-align:center"><div style="font-size:1.4rem;font-weight:bold;color:#1a2a4a">The Communication Iceberg</div><div style="font-size:0.85rem;color:#5a6a8a;font-style:italic">What people see vs. what drives everything</div></div><div style="position:absolute;top:22%;left:0;right:0;text-align:center"><div style="font-size:1rem;font-weight:bold;color:#3a4a6a">💬 What We Say</div><div style="font-size:0.75rem;color:#6a7a9a">"I'm fine." "No worries." "Sure."</div></div><div style="position:absolute;top:42%;left:0;right:0;text-align:center"><div style="font-size:1.1rem;font-weight:bold;color:#ffffff;text-shadow:0 2px 8px rgba(0,0,0,0.8), 0 0px 2px rgba(0,0,0,0.9)">🎭 How We Say It</div><div style="display:inline-block;background:rgba(0,0,0,0.45);padding:3px 12px;border-radius:12px;margin-top:3px"><span style="font-size:0.8rem;color:#ffffff">The tone. The pause. The reply that took 6 hours.</span></div></div><div style="position:absolute;top:56%;left:0;right:0;text-align:center"><div style="font-size:1.1rem;font-weight:bold;color:#ffffff;text-shadow:0 2px 8px rgba(0,0,0,0.8), 0 0px 2px rgba(0,0,0,0.9)">🔒 What We Actually Mean</div><div style="display:inline-block;background:rgba(0,0,0,0.45);padding:3px 12px;border-radius:12px;margin-top:3px"><span style="font-size:0.8rem;color:#ffffff">The real message, encoded in safe language.</span></div></div><div style="position:absolute;top:70%;left:10%;right:10%;text-align:center"><div style="font-size:1rem;font-weight:bold;color:#ffffff;text-shadow:0 2px 8px rgba(0,0,0,0.8), 0 0px 2px rgba(0,0,0,0.9)">❤️‍🩹 What We Need But Can't Say</div><div style="display:inline-block;background:rgba(0,0,0,0.45);padding:3px 12px;border-radius:12px;margin-top:3px"><span style="font-size:0.75rem;color:#ffffff">To be seen. Valued. Chosen. Safe. Loved.</span></div></div></div>
<div style="text-align:center;margin:0.5rem 0 2rem;font-size:0.85rem;color:#6a7a9a;font-style:italic"><p>"Most conversations happen above the waterline. Most meaning lives below it."</p></div>
<p><em>"Between what is said and not meant, and what is meant and not said, most of love is lost."</em> — Khalil Gibran</p>
<p>It never starts big.</p>
<p>It starts with a Tuesday evening. You come home tired. Your partner asks, "How was your day?" You say, <strong>"Fine."</strong> What you meant was: <em>"Exhausting. I felt invisible in that meeting. I could use a hug."</em> But "fine" was easier. Quicker. Safer.</p>
<p>Or it starts in a standup. Your lead asks, "Any blockers?" You say, <strong>"Nope, all good."</strong> What you meant was: <em>"I've been stuck on this for two days and I don't want to look incompetent."</em> But "all good" was safer. Faster. Less exposed.</p>
<p>One "fine" costs nothing. One "all good" costs nothing. But 365 of them? That's a year of someone living next to you and not knowing you. Or a year of your team thinking everything's on track when it isn't.</p>
<p>This is the <strong>daily drift</strong> — the tiny, almost invisible gap between what we say and what we mean, repeated so often it becomes the distance between two people who once understood each other without words.</p>
<p>A caveat before we go further: not every "fine" is a suppression. Sometimes it genuinely means fine. Sometimes it means "I don't have the energy to unpack this right now" — and that's a healthy boundary, not a failure. The drift happens when brevity becomes the <em>default</em>, when filtering stops being a choice and starts being the only mode.</p>
<hr>
<blockquote>
<p><em>"What we don't say is as important as what we do say. In fact, it may be more important."</em> — Virginia Satir, <em>The New Peoplemaking</em></p>
</blockquote>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-the-drift-works">How the Drift Works<a href="https://noobj.me/notes/the-daily-drift#how-the-drift-works" class="hash-link" aria-label="Direct link to How the Drift Works" title="Direct link to How the Drift Works" translate="no">​</a></h2>
<p>Think of it like <strong>compound interest — but in reverse.</strong></p>
<p>A single miscommunication is a rounding error. But communication debt compounds daily.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/compound-drift.svg" alt="The Compound Effect of the Daily Drift" style="width:100%;max-width:750px;border-radius:8px"></div>
<ul>
<li class=""><strong>Day 1:</strong> "I'm fine." <em>(Small gap. Barely noticeable.)</em></li>
<li class=""><strong>Day 30:</strong> "We don't really talk anymore." <em>(The gap has a shape now.)</em></li>
<li class=""><strong>Day 180:</strong> "I don't think you understand me." <em>(The gap has walls.)</em></li>
<li class=""><strong>Day 365:</strong> "I don't know when we stopped connecting." <em>(The gap is the relationship.)</em></li>
</ul>
<p>No one wakes up one morning in a broken relationship or a dysfunctional team. They <strong>drift</strong> there — one unspoken truth at a time.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-five-daily-drifts">The Five Daily Drifts<a href="https://noobj.me/notes/the-daily-drift#the-five-daily-drifts" class="hash-link" aria-label="Direct link to The Five Daily Drifts" title="Direct link to The Five Daily Drifts" translate="no">​</a></h2>
<p>These are the small, everyday patterns that create distance. You'll recognize them.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/five-daily-drifts.svg" alt="The Five Daily Drifts" style="width:100%;max-width:750px;border-radius:8px"></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="drift-1-the-shorthand-assumption">Drift 1: The Shorthand Assumption<a href="https://noobj.me/notes/the-daily-drift#drift-1-the-shorthand-assumption" class="hash-link" aria-label="Direct link to Drift 1: The Shorthand Assumption" title="Direct link to Drift 1: The Shorthand Assumption" translate="no">​</a></h3>
<p><em>"They should know what I mean by now."</em></p>
<p>The longer we know someone, the less we explain. We assume shared history equals shared understanding. It doesn't. People change. Context changes. What "I need space" meant two years ago isn't what it means today.</p>
<blockquote>
<p><em>"The single biggest problem in communication is the illusion that it has taken place."</em> — George Bernard Shaw</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="drift-2-the-protective-edit">Drift 2: The Protective Edit<a href="https://noobj.me/notes/the-daily-drift#drift-2-the-protective-edit" class="hash-link" aria-label="Direct link to Drift 2: The Protective Edit" title="Direct link to Drift 2: The Protective Edit" translate="no">​</a></h3>
<p><em>Typing the real message... then deleting it and sending the safe one.</em></p>
<p>We self-censor dozens of times a day. Not lies — just edits. Softening, minimizing, rounding the sharp edges off our truth. Each edit is small. But over time, the people closest to us are interacting with a curated version of us — and wondering why the connection feels thin.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="drift-3-the-unasked-question">Drift 3: The Unasked Question<a href="https://noobj.me/notes/the-daily-drift#drift-3-the-unasked-question" class="hash-link" aria-label="Direct link to Drift 3: The Unasked Question" title="Direct link to Drift 3: The Unasked Question" translate="no">​</a></h3>
<p><em>Sensing something is off... and choosing not to ask.</em></p>
<p>We notice. The short reply. The change in energy. The smile that doesn't reach the eyes. But asking means opening a door we might not be ready to walk through. So we let it pass. And the other person registers: <em>they didn't ask. Maybe they don't care.</em></p>
<p>The cruelest part? Both people are protecting themselves. And both people feel alone.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="drift-4-the-performative-response">Drift 4: The Performative Response<a href="https://noobj.me/notes/the-daily-drift#drift-4-the-performative-response" class="hash-link" aria-label="Direct link to Drift 4: The Performative Response" title="Direct link to Drift 4: The Performative Response" translate="no">​</a></h3>
<p><em>"That's great!" (It's not.) "I'm happy for you!" (I'm conflicted.) "No, I totally understand." (I don't.)</em></p>
<p>Social scripts keep things smooth. But they also keep things shallow. When every response is performed rather than felt, conversations become transactions — and people start feeling lonely in the presence of others.</p>
<blockquote>
<p><em>"Loneliness does not come from having no people around you, but from being unable to communicate the things that seem important to you."</em> — Carl Jung</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="drift-5-the-delayed-truth">Drift 5: The Delayed Truth<a href="https://noobj.me/notes/the-daily-drift#drift-5-the-delayed-truth" class="hash-link" aria-label="Direct link to Drift 5: The Delayed Truth" title="Direct link to Drift 5: The Delayed Truth" translate="no">​</a></h3>
<p><em>"I'll bring it up later." (You won't.)</em></p>
<p>The right moment rarely comes. But delay isn't always avoidance — sometimes timing genuinely matters, and raising a hard truth when someone is mid-crisis or exhausted isn't courage, it's poor judgment. The drift happens when "later" <em>always</em> means never. When the truth stays unspoken not because the timing is wrong, but because saying it feels too risky.</p>
<blockquote>
<p><em>"Unexpressed emotions will never die. They are buried alive and will come forth later in uglier ways."</em> — Sigmund Freud</p>
</blockquote>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-flash-fight-when-miscommunication-explodes">The Flash Fight: When Miscommunication Explodes<a href="https://noobj.me/notes/the-daily-drift#the-flash-fight-when-miscommunication-explodes" class="hash-link" aria-label="Direct link to The Flash Fight: When Miscommunication Explodes" title="Direct link to The Flash Fight: When Miscommunication Explodes" translate="no">​</a></h2>
<p>The daily drift is slow. But there's another kind — the <strong>flash fight</strong>. A single sentence, misread in real-time, that detonates a conversation in under 60 seconds.</p>
<p>These aren't about years of accumulated silence. These are about <strong>two people hearing completely different things from the same words</strong> — and reacting to what they heard, not what was said.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/flash-fight.svg" alt="The Flash Fight — Trigger → Misread → Reaction → Escalation" style="width:100%;max-width:750px;border-radius:8px"></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-a-flash-fight-works">How a Flash Fight Works<a href="https://noobj.me/notes/the-daily-drift#how-a-flash-fight-works" class="hash-link" aria-label="Direct link to How a Flash Fight Works" title="Direct link to How a Flash Fight Works" translate="no">​</a></h3>
<ol>
<li class=""><strong>The Trigger</strong> — Someone says something with one meaning.</li>
<li class=""><strong>The Misread</strong> — The other person hears it through their own filter — stress, insecurity, past wounds, assumptions.</li>
<li class=""><strong>The Reaction</strong> — They respond to what they <em>heard</em>, not what was <em>said</em>.</li>
<li class=""><strong>The Escalation</strong> — The first person, confused by the reaction, gets defensive. Now both are fighting ghosts.</li>
</ol>
<blockquote>
<p><em>"We don't see things as they are, we see them as we are."</em> — Anaïs Nin</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-flash-fight-across-relationships">The Flash Fight Across Relationships<a href="https://noobj.me/notes/the-daily-drift#the-flash-fight-across-relationships" class="hash-link" aria-label="Direct link to The Flash Fight Across Relationships" title="Direct link to The Flash Fight Across Relationships" translate="no">​</a></h3>
<p><strong>Between Partners:</strong></p>
<blockquote>
<p><strong>Said:</strong> "Did you already eat?"
<strong>Meant:</strong> "I was hoping we'd eat together."
<strong>Heard:</strong> "You should have waited for me." (criticism)
<strong>Fight:</strong> "Why do you always make me feel guilty about everything?"</p>
</blockquote>
<p>A simple question filtered through a history of feeling judged. The fight isn't about dinner. It never was.</p>
<p><strong>Between Friends:</strong></p>
<blockquote>
<p><strong>Said:</strong> "Oh, you're hanging out with them again?"
<strong>Meant:</strong> "I miss spending time with you."
<strong>Heard:</strong> "I'm judging your other friendships." (possessiveness)
<strong>Fight:</strong> "You don't own my time."</p>
</blockquote>
<p>The real need — <em>I miss you</em> — got encoded as observation, decoded as accusation.</p>
<p><strong>Between Parent and Child:</strong></p>
<blockquote>
<p><strong>Said:</strong> "That's what you're wearing?"
<strong>Meant:</strong> "I want you to make a good impression because I care."
<strong>Heard:</strong> "You look bad. I don't approve of you." (rejection)
<strong>Fight:</strong> "You never accept me for who I am."</p>
</blockquote>
<p>A lifetime of these and the child stops sharing anything at all.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-flash-fights-happen">Why Flash Fights Happen<a href="https://noobj.me/notes/the-daily-drift#why-flash-fights-happen" class="hash-link" aria-label="Direct link to Why Flash Fights Happen" title="Direct link to Why Flash Fights Happen" translate="no">​</a></h3>
<p>They're not about the words. They're about the <strong>filter</strong> the words pass through. Stress compresses patience — neutral sentences land as attacks. History rewrites the present — if you've been criticized before, you hear criticism even when it's not there. And in text messages especially, there's no tone, no face, no context — the reader's mood <em>becomes</em> the tone.</p>
<p>The medium matters more than we think. For anything with emotional weight, the richer the channel, the less room for misread:</p>
<!-- -->
<p>We all know the meeting that should've been an email. But the reverse is more dangerous: the text that should've been a conversation. "Could have been a mail" wastes time. "Should have been face-to-face" wastes trust.</p>
<p>Worth noting: this pattern shows up most in anxious or insecure attachment dynamics. Two securely attached people hearing "Did you already eat?" probably won't spiral. The flash fight isn't universal — but if you've been in one, you know exactly what it feels like.</p>
<blockquote>
<p><em>"Every criticism, judgment, diagnosis, and expression of anger is the tragic expression of an unmet need."</em> — Marshall Rosenberg, <em>Nonviolent Communication</em></p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="defusing-the-flash-fight">Defusing the Flash Fight<a href="https://noobj.me/notes/the-daily-drift#defusing-the-flash-fight" class="hash-link" aria-label="Direct link to Defusing the Flash Fight" title="Direct link to Defusing the Flash Fight" translate="no">​</a></h3>
<p><strong>Say what you heard, not what you concluded.</strong> <em>"When you said that, what I heard was [X] — is that what you meant?"</em> This one sentence has prevented more fights than any apology ever has.</p>
<p><strong>Name your filter.</strong> <em>"I think I'm hearing this through my stress right now. Can you say that again?"</em> This is disarming — it tells the other person your reaction might not match their intention.</p>
<p><strong>Get off text for anything with emotional weight.</strong> Text strips tone, face, and context. What's left is raw words filtered through whatever mood the reader is in.</p>
<p><strong>Repair fast.</strong> If a flash fight does happen — and it will — the speed of repair matters more than the perfection of the apology. <em>"I think we just had two different conversations. Can we rewind?"</em></p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-drift-at-work">The Drift at Work<a href="https://noobj.me/notes/the-daily-drift#the-drift-at-work" class="hash-link" aria-label="Direct link to The Drift at Work" title="Direct link to The Drift at Work" translate="no">​</a></h2>
<p>The same patterns play out in business — just in conference rooms instead of kitchens. And the stakes are different: at home, the drift costs intimacy. At work, it costs decisions, trust, and eventually people.</p>
<table><thead><tr><th><strong>The Surface</strong></th><th><strong>The Subtext</strong></th><th><strong>The Drift</strong></th></tr></thead><tbody><tr><td>"Let's take this offline."</td><td>"I disagree but not in front of everyone."</td><td>Decisions made without real debate</td></tr><tr><td>"That's a bold approach."</td><td>"I think this will fail."</td><td>Failure without honest pre-mortem</td></tr><tr><td>"Sure, I can take that on."</td><td>"I'm already drowning but can't say no."</td><td>Burnout disguised as teamwork</td></tr><tr><td>"Sounds good to me."</td><td>"I don't have the energy to fight this."</td><td>Consensus that isn't consensus</td></tr><tr><td>"I'm fine with either direction."</td><td>"I have a strong opinion but it's not safe to share it."</td><td>The best idea never enters the room</td></tr></tbody></table>
<p>If this looks familiar, it should. The <a class="" href="https://noobj.me/notes/game-theory-engineering-collaboration">Prisoner's Dilemma at work</a> is partly a communication problem — teams defect because saying "I need help" or "I disagree" feels riskier than staying silent. And when <a class="" href="https://noobj.me/notes/everybody-is-junior-in-something">everybody is junior in something</a> but nobody says it, the team follows the wrong map in silence.</p>
<p>A note on power dynamics: the advice to "say what you really mean" is unevenly distributed. A senior leader saying "I disagree" is candor. A junior employee saying the same thing can be career risk. The drift at work isn't just about individual courage — it's about whether the environment makes honesty safe. If your team's drift is growing, the first question isn't "why won't people speak up?" It's "what happens when they do?"</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="said-vs-meant--the-translation-table">Said vs. Meant — The Translation Table<a href="https://noobj.me/notes/the-daily-drift#said-vs-meant--the-translation-table" class="hash-link" aria-label="Direct link to Said vs. Meant — The Translation Table" title="Direct link to Said vs. Meant — The Translation Table" translate="no">​</a></h2>
<p>A cheat sheet for the subtext you already know but pretend you don't.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/translation-table.svg" alt="Said vs Meant - The Translation Table" style="width:100%;max-width:750px;border-radius:8px"></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-practical-playbook-closing-the-gap">The Practical Playbook: Closing the Gap<a href="https://noobj.me/notes/the-daily-drift#the-practical-playbook-closing-the-gap" class="hash-link" aria-label="Direct link to The Practical Playbook: Closing the Gap" title="Direct link to The Practical Playbook: Closing the Gap" translate="no">​</a></h2>
<p>Not theory — tools you can use <strong>today</strong>.</p>
<div style="text-align:center;margin:2rem 0"><img src="https://noobj.me/img/practical-playbook.svg" alt="The Practical Playbook" style="width:100%;max-width:750px;border-radius:8px"></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-the-what-im-really-saying-is-reset">1. The "What I'm Really Saying Is..." Reset<a href="https://noobj.me/notes/the-daily-drift#1-the-what-im-really-saying-is-reset" class="hash-link" aria-label="Direct link to 1. The &quot;What I'm Really Saying Is...&quot; Reset" title="Direct link to 1. The &quot;What I'm Really Saying Is...&quot; Reset" translate="no">​</a></h3>
<p>Mid-conversation, when you catch yourself circling or softening, use this phrase as a hard reset:</p>
<p><em><strong>"Actually — what I'm really trying to say is..."</strong></em></p>
<ul>
<li class=""><strong>With a partner:</strong> "What I'm really saying is I felt hurt when you didn't ask about my interview."</li>
<li class=""><strong>With a boss:</strong> "What I'm really saying is I don't think this timeline is realistic."</li>
<li class=""><strong>With a friend:</strong> "What I'm really saying is I've missed you and I don't know how to say it without sounding dramatic."</li>
</ul>
<p><strong>Why it works:</strong> It gives you permission to be direct without it feeling like a confrontation. The phrase itself signals honesty, and people lean in when they hear it.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-name-the-dynamic-not-the-person">2. Name the Dynamic, Not the Person<a href="https://noobj.me/notes/the-daily-drift#2-name-the-dynamic-not-the-person" class="hash-link" aria-label="Direct link to 2. Name the Dynamic, Not the Person" title="Direct link to 2. Name the Dynamic, Not the Person" translate="no">​</a></h3>
<p>When something feels off, resist the urge to say "you're being distant" or "you never listen." Instead, name what's happening <em>between</em> you:</p>
<ul>
<li class=""><strong>"I notice we're both being really careful right now."</strong></li>
<li class=""><strong>"It feels like there's something in the room we're not saying."</strong></li>
<li class=""><strong>"I think we're having two different conversations — can we reset?"</strong></li>
</ul>
<p><strong>Why it works:</strong> It makes the pattern the problem, not the person. People can look at a dynamic together. They can't look at an accusation together.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-the-curiosity-over-conclusion-rule">3. The Curiosity Over Conclusion Rule<a href="https://noobj.me/notes/the-daily-drift#3-the-curiosity-over-conclusion-rule" class="hash-link" aria-label="Direct link to 3. The Curiosity Over Conclusion Rule" title="Direct link to 3. The Curiosity Over Conclusion Rule" translate="no">​</a></h3>
<p>When someone says something that lands wrong, choose curiosity before conclusion.</p>
<p>Instead of: <em>"That was dismissive."</em>
Try: <strong>"When you said that, here's what I heard — is that what you meant?"</strong></p>
<p>Instead of: <em>"You obviously don't care."</em>
Try: <strong>"I want to understand what you meant by that, because the story I'm telling myself is..."</strong></p>
<p>That last phrase — <strong>"the story I'm telling myself"</strong> — is disarming because it owns the interpretation rather than projecting it.</p>
<p><strong>Why it works:</strong> Most conflict isn't about what was said. It's about what was <em>heard</em>. This practice closes the gap between the two.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-the-evening-check-in-2-minutes-not-2-hours">4. The Evening Check-In (2 Minutes, Not 2 Hours)<a href="https://noobj.me/notes/the-daily-drift#4-the-evening-check-in-2-minutes-not-2-hours" class="hash-link" aria-label="Direct link to 4. The Evening Check-In (2 Minutes, Not 2 Hours)" title="Direct link to 4. The Evening Check-In (2 Minutes, Not 2 Hours)" translate="no">​</a></h3>
<p>For personal relationships. One question, asked daily:</p>
<p><strong>"Is there anything unsaid between us right now?"</strong></p>
<p>Most days the answer is "no." But the days it's "actually, yes..." — those are the days you prevent a drift from becoming a distance. This won't work for everyone — some people find structured check-ins performative, and that's fine. The point isn't the format. It's creating <em>any</em> regular space where honesty is the default.</p>
<p><strong>Why it works:</strong> The gap can't compound if you zero it out every 24 hours.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-the-repair-bid">5. The Repair Bid<a href="https://noobj.me/notes/the-daily-drift#5-the-repair-bid" class="hash-link" aria-label="Direct link to 5. The Repair Bid" title="Direct link to 5. The Repair Bid" translate="no">​</a></h3>
<p><a href="https://www.gottman.com/blog/the-magic-relationship-ratio-according-science/" target="_blank" rel="noopener noreferrer" class="">Gottman's research</a> — based on decades of studying thousands of couples — found that successful relationships aren't conflict-free. They're <strong>repair-rich</strong>. The ratio that predicts relationship stability isn't zero conflict. It's 5 positive interactions for every 1 negative one, and the speed at which couples repair after rupture.</p>
<div style="display:flex;justify-content:center;margin:1.5rem 0"><div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #4a9eff;border-radius:12px;padding:1.5rem 2rem;text-align:center;max-width:500px"><div style="display:flex;justify-content:center;align-items:center;gap:0.5rem;margin-bottom:0.5rem"><span style="font-size:1.8rem">➕</span><span style="font-size:1.8rem">➕</span><span style="font-size:1.8rem">➕</span><span style="font-size:1.8rem">➕</span><span style="font-size:1.8rem">➕</span><span style="font-size:1.2rem;color:#888;margin:0 0.3rem">:</span><span style="font-size:1.8rem">➖</span></div><p style="font-size:1.1rem;font-weight:700;color:#4a9eff;margin:0.5rem 0 0.3rem">The 5:1 Ratio</p><p style="font-size:0.85rem;color:#888;margin:0">Five positive interactions for every one negative.<br>Below this, relationships predict toward failure.</p></div></div>
<p>A "repair bid" is any attempt to reconnect after a gap:</p>
<ul>
<li class=""><strong>"I think I said that badly. Can I try again?"</strong></li>
<li class=""><strong>"I've been thinking about what you said, and I think I missed your point."</strong></li>
<li class=""><strong>"I was short with you earlier. That wasn't about you."</strong></li>
</ul>
<p><strong>Why it works:</strong> You can't prevent every drift. But you can repair before it compounds. The bid itself — the willingness to come back and try again — <em>is</em> the message.</p>
<blockquote>
<p><em>"It's not about never having conflict. It's about the speed of the repair."</em> — John Gottman, <em>The Seven Principles for Making Marriage Work</em></p>
</blockquote>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-knowing-doing-gap">The Knowing-Doing Gap<a href="https://noobj.me/notes/the-daily-drift#the-knowing-doing-gap" class="hash-link" aria-label="Direct link to The Knowing-Doing Gap" title="Direct link to The Knowing-Doing Gap" translate="no">​</a></h2>
<p>I know all of this. I've read the research, written the playbook, and I still catch myself saying "I'm fine" when I'm not. Knowing the drift exists doesn't stop it. Awareness isn't practice.</p>
<p>The hard part isn't knowing what to say. It's that the moments where it matters most — mid-argument, mid-standup, mid-stress — are exactly when you're least equipped to do it. Asking someone to be radically honest in real time is like asking them to do mental math while skydiving.</p>
<p>So if there's one thing — just one — that actually closes the gap, it's not an in-the-moment hack. It's a reflection:</p>
<div style="background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);border:1px solid #e2b714;border-radius:12px;padding:2rem;margin:2rem 0;text-align:center"><div style="font-size:2rem;margin-bottom:0.5rem">🔑</div><p style="font-size:1.2rem;font-weight:700;color:#e2b714;line-height:1.6;margin:0"></p><p>Before the day ends, ask yourself:<br>"What did I almost say today but didn't?"</p><p></p></div>
<p>Not to beat yourself up. Just to notice. And if the answer matters — send that message, make that call, say that thing. Not in the heat of the moment, but from a place where you can actually choose your words.</p>
<p>It's the evening check-in from the playbook, but turned inward. You're not asking someone else "is there anything unsaid between us?" — you're asking <em>yourself</em>. And if you do this enough, you start catching the filter earlier. Not perfectly. Not every time. But more than yesterday.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-final-thought">A Final Thought<a href="https://noobj.me/notes/the-daily-drift#a-final-thought" class="hash-link" aria-label="Direct link to A Final Thought" title="Direct link to A Final Thought" translate="no">​</a></h2>
<blockquote>
<p><em>"Between stimulus and response there is a space. In that space is our freedom to choose."</em> — Viktor Frankl, <em>Man's Search for Meaning</em></p>
</blockquote>
<p>The distance between two people is rarely created by a single moment. It's built in the small, daily choices — to say the safe thing or the true thing, to ask or to let it pass, to repair or to let it harden.</p>
<p>The drift compounds. But so does connection. One honest sentence a day, one real question, one moment of "here's what I actually mean" — and the math reverses.</p>
<p>You don't have to say everything. You just have to say <em>more</em> than you did yesterday.</p>
<hr>
<p><em>The gap between what is said and what is meant is where love goes quiet. But it's also where it can come back — one true word at a time.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="Communication" term="Communication"/>
        <category label="Psychology" term="Psychology"/>
        <category label="Personal Growth" term="Personal Growth"/>
        <category label="Leadership" term="Leadership"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Why You Should Never Do InnerSource]]></title>
        <id>https://noobj.me/notes/why-you-should-never-innersource</id>
        <link href="https://noobj.me/notes/why-you-should-never-innersource"/>
        <updated>2024-03-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Look, I get it. Someone at a conference said "InnerSource" and now Slack is buzzing — or is it Teams? Honestly, who can keep track anymore. People are sharing links to the InnerSource Commons, talking about "breaking down silos" and "cross-team collaboration" like they've discovered fire. Let me save you the trouble — here's why you should absolutely, categorically, never do InnerSource.]]></summary>
        <content type="html"><![CDATA[<p>Look, I get it. Someone at a conference said "InnerSource" and now Slack is buzzing — or is it Teams? Honestly, who can keep track anymore. People are sharing links to the <a href="https://innersourcecommons.org/" target="_blank" rel="noopener noreferrer" class="">InnerSource Commons</a>, talking about "breaking down silos" and "cross-team collaboration" like they've discovered fire. Let me save you the trouble — here's why you should absolutely, categorically, <em>never</em> do InnerSource.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-would-you-want-to-reuse-code">Why Would You Want to Reuse Code?<a href="https://noobj.me/notes/why-you-should-never-innersource#why-would-you-want-to-reuse-code" class="hash-link" aria-label="Direct link to Why Would You Want to Reuse Code?" title="Direct link to Why Would You Want to Reuse Code?" translate="no">​</a></h2>
<p>There's something deeply noble about writing the same authentication module for the fourteenth time. Each team gets to make their own mistakes, discover their own edge cases, and spend three sprints building what already exists two repositories over. That's not waste — that's <em>character building</em>.</p>
<p>InnerSource would let teams discover, fork, and contribute to shared codebases across the organisation. You'd end up with fewer duplicated services, consistent patterns, and engineers who actually know what other teams are building. Sounds exhausting, honestly.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/this-is-fine-852a91cc1686bd1593d47937c2f40d97.gif" alt="This is fine" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="who-needs-faster-onboarding">Who Needs Faster Onboarding?<a href="https://noobj.me/notes/why-you-should-never-innersource#who-needs-faster-onboarding" class="hash-link" aria-label="Direct link to Who Needs Faster Onboarding?" title="Direct link to Who Needs Faster Onboarding?" translate="no">​</a></h2>
<p>New engineers joining a team should earn their stripes the old-fashioned way — six weeks of deciphering tribal knowledge, guessing which Slack channel has the real answer (or was it Teams? Wait, are we back on Slack now?), and reverse-engineering a service that hasn't been touched since someone named "Dave" left in 2022.</p>
<p>With InnerSource, codebases are open and discoverable. There's documentation. There are contribution guidelines. New joiners can read actual code from across the org on day one and start contributing within their first week. But where's the <em>mystery</em> in that? Where's the hazing?</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/confused-developer-3806e7f65be49f40a8a6abdf28333ed4.gif" alt="Confused developer" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="silos-are-cozy-actually">Silos Are Cozy, Actually<a href="https://noobj.me/notes/why-you-should-never-innersource#silos-are-cozy-actually" class="hash-link" aria-label="Direct link to Silos Are Cozy, Actually" title="Direct link to Silos Are Cozy, Actually" translate="no">​</a></h2>
<p>A team has its own repo, its own conventions, its own deployment pipeline that only two people understand, and its own Confluence space that hasn't been updated since the last reorg. That's not dysfunction — that's <em>autonomy</em>.</p>
<p>InnerSource breaks down these beautiful walls. Suddenly, a frontend engineer from another team can submit a pull request to fix a bug in your API. A platform engineer can improve your CI pipeline without filing a ticket and waiting three sprints. People start <em>talking to each other</em>. Across team boundaries. Voluntarily. Horrifying.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/nope-4bb2c6d42d37070a751afdf0a28033a3.gif" alt="Nope" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-wildly-overrated">Documentation? Wildly Overrated<a href="https://noobj.me/notes/why-you-should-never-innersource#documentation-wildly-overrated" class="hash-link" aria-label="Direct link to Documentation? Wildly Overrated" title="Direct link to Documentation? Wildly Overrated" translate="no">​</a></h2>
<p>If your code needs documentation, maybe the code just isn't good enough. Real engineers read the source. They grep through commit messages from 2019. They ping someone on Slack who might know someone who once worked on that service. That's not inefficiency — that's <em>networking</em>.</p>
<p>InnerSource projects tend to have READMEs that actually explain things, contribution guides that lower the barrier to entry, and transparent decision-making in public channels. A codebase becomes a living, searchable knowledge base. But then anyone could understand it, and where's the fun in that?</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/i-dont-need-it-3d6fa103a347d79c858f222fee10606b.gif" alt="I don't need it" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-trusted-committer-sounds-like-extra-work">The "Trusted Committer" Sounds Like Extra Work<a href="https://noobj.me/notes/why-you-should-never-innersource#the-trusted-committer-sounds-like-extra-work" class="hash-link" aria-label="Direct link to The &quot;Trusted Committer&quot; Sounds Like Extra Work" title="Direct link to The &quot;Trusted Committer&quot; Sounds Like Extra Work" translate="no">​</a></h2>
<p>InnerSource introduces this concept of a <a href="https://innersourcecommons.org/learn/learning-path/trusted-committer/01/" target="_blank" rel="noopener noreferrer" class="">Trusted Committer</a> — someone who mentors contributors, reviews cross-team PRs, and ensures quality standards are met. Basically, you're asking senior engineers to <em>help other people get better at their jobs</em>. On purpose.</p>
<p>These Trusted Committers end up building relationships across the org, developing deep expertise in their domain, and becoming the kind of engineers everyone wants to work with. They get recognised for impact beyond their immediate team. Sounds like a lot of responsibility for no reason when you could just... close the PR from that other team and move on.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/not-my-problem-73c86b1e97a75fac273d057ae10c202a.gif" alt="Not my problem" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="innovation-is-risky-anyway">Innovation Is Risky Anyway<a href="https://noobj.me/notes/why-you-should-never-innersource#innovation-is-risky-anyway" class="hash-link" aria-label="Direct link to Innovation Is Risky Anyway" title="Direct link to Innovation Is Risky Anyway" translate="no">​</a></h2>
<p>Here's the thing about letting anyone in the organisation contribute to any codebase — people start <em>having ideas</em>. A QA engineer notices a pattern and submits a testing utility. An SRE improves observability across services. Someone from a completely different department fixes a bug that's been open for months because they actually hit it in production.</p>
<p>This kind of meritocratic, bottom-up innovation is dangerous. It implies that good ideas can come from anywhere, not just the team that owns the repo. It suggests that the best solution might already exist in someone else's branch. It means you'd have to admit that collaboration scales better than control. And who wants to admit that?</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/mind-blown-e1172d3a1dc5cfaf8d4b749b8169283b.gif" alt="Mind blown" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="even-the-competition-is-doing-it-more-reason-to-avoid-it-obviously">Even the Competition Is Doing It (More Reason to Avoid It, Obviously)<a href="https://noobj.me/notes/why-you-should-never-innersource#even-the-competition-is-doing-it-more-reason-to-avoid-it-obviously" class="hash-link" aria-label="Direct link to Even the Competition Is Doing It (More Reason to Avoid It, Obviously)" title="Direct link to Even the Competition Is Doing It (More Reason to Avoid It, Obviously)" translate="no">​</a></h2>
<p>Oh, and here's the kicker — <a href="https://innersource.flutter.com/" target="_blank" rel="noopener noreferrer" class="">Flutter's already doing it</a>. Yes, <em>that</em> Flutter. They've not only adopted InnerSource, they've built an entire maturity model around it. They call it the <strong>InnerSource Pyramid</strong> — a structured progression from closed source all the way to maintainers across multiple teams:</p>
<div style="text-align:center"><img src="https://innersource.flutter.com/how/pyramid/pyramid.png" alt="Flutter's InnerSource Pyramid — but we definitely don't need one of these" style="max-width:600px;width:100%"></div>
<p>Stage 0 is where you keep your code locked in a vault. Stage 1, you let people <em>read</em> it (radical, I know). Stage 2, you actually accept contributions from other teams. Stage 3, you have maintainers embedded across the org working as a virtual team. It's almost like they've thought about this systematically. How annoying.</p>
<p>They've invested in this because — and I quote — <em>"our brands working together gives us a winning edge over our competitors."</em> That's us. We're the competitors they're winning against. But sure, let's not look into it.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/totally-fine-5a8f739c19b175ed8ef6c3f1fe473aab.gif" alt="Side eye" style="max-width:480px;width:100%"></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="so-yeah-dont-do-innersource">So Yeah, Don't Do InnerSource<a href="https://noobj.me/notes/why-you-should-never-innersource#so-yeah-dont-do-innersource" class="hash-link" aria-label="Direct link to So Yeah, Don't Do InnerSource" title="Direct link to So Yeah, Don't Do InnerSource" translate="no">​</a></h2>
<p>Keep the repos locked down. Keep the teams in their lanes. Keep rebuilding the same thing every quarter and wondering why velocity plateaus. It's working great.</p>
<p>Or — and I'm just throwing this out there — maybe take a look at what companies like PayPal, Bloomberg, and Europace figured out years ago. Maybe check out what <a href="https://innersource.flutter.com/" target="_blank" rel="noopener noreferrer" class="">Flutter is already doing</a> right next door. Maybe read through the <a href="https://innersourcecommons.gitbook.io/innersource-patterns" target="_blank" rel="noopener noreferrer" class="">InnerSource Commons patterns</a>. Maybe open up one repo, write a <code>CONTRIBUTING.md</code>, and see what happens when you trust your engineers to collaborate like the adults they are.</p>
<p>But what do I know. I'm just an Architect of Chaos.</p>
<div style="text-align:center"><img src="https://noobj.me/assets/images/mic-drop-db500c7ceb3012d9f5f44255a42feebc.gif" alt="Mic drop" style="max-width:480px;width:100%"></div>
<hr>
<p><em>If you're curious about InnerSource (and you should be), start here: <a href="https://innersourcecommons.org/learn/learning-path/" target="_blank" rel="noopener noreferrer" class="">InnerSource Commons Learning Path</a>. It's free, it's practical, and it might just change how we build software.</em></p>]]></content>
        <author>
            <name>Jeevan D C</name>
            <uri>https://github.com/noobg1</uri>
        </author>
        <category label="InnerSource" term="InnerSource"/>
        <category label="Open Source" term="Open Source"/>
        <category label="Culture" term="Culture"/>
        <category label="Engineering" term="Engineering"/>
    </entry>
</feed>