<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knowledge Sharing on Peter Fulop</title><link>https://peterfulop.tech/tags/knowledge-sharing/</link><description>Recent content in Knowledge Sharing on Peter Fulop</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Peter Fulop</copyright><lastBuildDate>Sat, 18 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://peterfulop.tech/tags/knowledge-sharing/index.xml" rel="self" type="application/rss+xml"/><item><title>Effectiveness anti-patterns — part 3: knowledge silos feel efficient until they don't</title><link>https://peterfulop.tech/p/knowledge-silos-share-what-you-know/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://peterfulop.tech/p/knowledge-silos-share-what-you-know/</guid><description>&lt;img src="https://peterfulop.tech/p/knowledge-silos-share-what-you-know/effectiveness-antipaterns-03-knowledge-silos.png" alt="Featured image of post Effectiveness anti-patterns — part 3: knowledge silos feel efficient until they don't" /&gt;&lt;p&gt;This post is mostly a reflection on Addy Osmani&amp;rsquo;s chapter about knowledge silos and how it connects with situations I have seen, and sometimes reinforced, myself.&lt;/p&gt;
&lt;h2 id="when-one-person-becomes-the-queue"&gt;When one person becomes the queue
&lt;/h2&gt;&lt;p&gt;In data and platform work, knowledge silos rarely announce themselves dramatically. More often they arrive dressed as responsibility.&lt;/p&gt;
&lt;p&gt;One person knows the ugly Airflow DAG nobody wants to touch. Another knows why a Snowflake policy was written in a strange way three quarters ago. A third knows which operational step is safe to automate and which one still has a sharp edge.&lt;/p&gt;
&lt;p&gt;At first this can look like efficiency. Questions go to the fastest person. Incidents get resolved quickly. Reviews move because the &amp;ldquo;owner&amp;rdquo; already knows the answer.&lt;/p&gt;
&lt;p&gt;I have been on both sides of this. I have depended too much on the one person who knew a system well, and I have also been that person, quietly becoming the routing layer for every question touching an area I understood better than the rest of the team.&lt;/p&gt;
&lt;p&gt;The problem is that this arrangement feels efficient.&lt;/p&gt;
&lt;p&gt;Right up to the point when it very clearly is not.&lt;/p&gt;
&lt;p&gt;I’m not even sure I noticed this happening at the time — it just gradually became normal.&lt;/p&gt;
&lt;h2 id="why-it-happens"&gt;Why it happens
&lt;/h2&gt;&lt;p&gt;I do not think knowledge silos are always about ego or job protection. Sometimes they are. But in my experience the more common cause is simpler.&lt;/p&gt;
&lt;p&gt;It starts when a system is messy, production-facing, or expensive to get wrong. The person carrying the operational risk stays close to it. They know the history, the failed attempts, the hidden dependencies, the weird edge cases.&lt;/p&gt;
&lt;p&gt;Handing that context over takes time they do not feel they have, so they keep moving alone.&lt;/p&gt;
&lt;p&gt;That choice is understandable. It is also how the silo gets stronger.&lt;/p&gt;
&lt;p&gt;I have seen this happen in small engineering teams where everybody is busy and the shortest path is obvious: let the person with context handle it. For a sprint or two, that can even be the right call.&lt;/p&gt;
&lt;p&gt;The trouble starts when a temporary shortcut turns into a default operating model.&lt;/p&gt;
&lt;p&gt;Then the signals show up.&lt;/p&gt;
&lt;p&gt;Code review can become a bit ceremonial, because only one reviewer can really judge the change.&lt;/p&gt;
&lt;p&gt;Vacation creates low-grade anxiety because everyone knows which system must not break that week.&lt;/p&gt;
&lt;p&gt;Important decisions start living in somebody&amp;rsquo;s head, or in Slack threads nobody will realistically find later.&lt;/p&gt;
&lt;p&gt;And the person who &amp;ldquo;owns&amp;rdquo; the area slowly becomes overloaded by support, interruptions, and invisible maintenance.&lt;/p&gt;
&lt;h2 id="what-i-had-to-admit"&gt;What I had to admit
&lt;/h2&gt;&lt;p&gt;The uncomfortable part for me is that being the person with the context can feel good.&lt;/p&gt;
&lt;p&gt;People trust your judgment. You can move quickly. You know where the bodies are buried. In the short term, it can look like competence.&lt;/p&gt;
&lt;p&gt;In the long term, it often becomes a limit on your own effectiveness.&lt;/p&gt;
&lt;p&gt;If every tricky issue in a certain area still needs me, then I have not really scaled anything. I have just built a nicer bottleneck.&lt;/p&gt;
&lt;p&gt;That is the part I try to keep in mind now. Not because sharing knowledge is morally better.&lt;/p&gt;
&lt;p&gt;Because it is operationally better, and because the alternative quietly traps both the team and the so-called expert.&lt;/p&gt;
&lt;h2 id="what-has-helped-in-practice"&gt;What has helped in practice
&lt;/h2&gt;&lt;p&gt;I do not think this gets fixed by saying &amp;ldquo;we should document more&amp;rdquo; and leaving it there. The useful version is more concrete.&lt;/p&gt;
&lt;p&gt;What helped me most was lowering the bar for transfer.&lt;/p&gt;
&lt;p&gt;A short runbook is better than waiting for the perfect document.&lt;/p&gt;
&lt;p&gt;A pairing session on a real incident is better than a polished presentation nobody will revisit.&lt;/p&gt;
&lt;p&gt;A review where I explain why a change is risky is better than leaving a vague &amp;ldquo;not comfortable with this&amp;rdquo; comment and keeping the reasoning to myself.&lt;/p&gt;
&lt;p&gt;I remember one case where a single Snowflake policy change was blocked for days just because only one person felt comfortable touching it.&lt;/p&gt;
&lt;p&gt;I have also learned that ownership spreads faster when the second person is allowed to do real work, not just observe.&lt;/p&gt;
&lt;p&gt;If someone only watches me handle the difficult part, I still own the system.&lt;/p&gt;
&lt;p&gt;If they take the next change with me nearby, the center of gravity already shifts.&lt;/p&gt;
&lt;p&gt;In teams I led or supported, the most useful small changes were usually these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;asking for one more reviewer outside the usual ownership line&lt;/li&gt;
&lt;li&gt;rotating small operational tasks before rotating the big scary ones&lt;/li&gt;
&lt;li&gt;turning recurring Slack answers into notes immediately (this one helped more than I expected)&lt;/li&gt;
&lt;li&gt;involving another engineer in incident follow-up, not only in the incident itself&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;None of this is glamorous. That is probably why it gets postponed.&lt;/p&gt;
&lt;h2 id="the-real-payoff"&gt;The real payoff
&lt;/h2&gt;&lt;p&gt;People sometimes act as if sharing knowledge makes you replaceable. I think the opposite is closer to the truth.&lt;/p&gt;
&lt;p&gt;The engineer who keeps most of the context often becomes necessary in a very narrow way.&lt;/p&gt;
&lt;p&gt;The engineer who spreads context becomes useful at a broader level.&lt;/p&gt;
&lt;p&gt;That second version has more room to improve systems, mentor others, and take on work that actually requires senior judgment instead of constant re-explanation.&lt;/p&gt;
&lt;p&gt;After seeing this play out many times over the years, I’ve learned to trust that pattern more than the short-term comfort of being the only one who understands something.&lt;/p&gt;
&lt;h2 id="one-question-i-try-to-use"&gt;One question I try to use
&lt;/h2&gt;&lt;p&gt;When I notice myself holding onto an area too tightly, I try to ask a very simple question:&lt;/p&gt;
&lt;p&gt;What part of this is genuinely hard, and what part is just undocumented history living in my head?&lt;/p&gt;
&lt;p&gt;That question does not solve the problem on its own.&lt;/p&gt;
&lt;p&gt;But most of the time it at least tells me where to start.&lt;/p&gt;
&lt;p&gt;If the hard part is real, I should teach it.&lt;/p&gt;
&lt;p&gt;If the hard part is mostly history, I should write it down and stop making the team rediscover it through me.&lt;/p&gt;</description></item></channel></rss>