<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Think . Build . Lead]]></title><description><![CDATA[Think deeper. Build smarter. Lead better.
Ideas on architecture, AI, systems, and technology leadership.]]></description><link>https://newsletter.themoderntechguild.com</link><image><url>https://newsletter.themoderntechguild.com/img/substack.png</url><title>Think . Build . Lead</title><link>https://newsletter.themoderntechguild.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 20 Oct 2026 21:29:00 GMT</lastBuildDate><atom:link href="https://newsletter.themoderntechguild.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Modern Tech Guild]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[moderntechguild@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[moderntechguild@substack.com]]></itunes:email><itunes:name><![CDATA[The Modern Tech Guild]]></itunes:name></itunes:owner><itunes:author><![CDATA[The Modern Tech Guild]]></itunes:author><googleplay:owner><![CDATA[moderntechguild@substack.com]]></googleplay:owner><googleplay:email><![CDATA[moderntechguild@substack.com]]></googleplay:email><googleplay:author><![CDATA[The Modern Tech Guild]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Your engineering metrics are lying to you]]></title><description><![CDATA[The numbers may be accurate. The story you&#8217;re telling yourself about them may be wrong.]]></description><link>https://newsletter.themoderntechguild.com/p/your-engineering-metrics-are-lying</link><guid isPermaLink="false">https://newsletter.themoderntechguild.com/p/your-engineering-metrics-are-lying</guid><dc:creator><![CDATA[The Modern Tech Guild]]></dc:creator><pubDate>Fri, 04 Sep 2026 20:00:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uFFC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You don&#8217;t need more engineering metrics.</p><p>You need better questions around the ones you already have.</p><p>I learned this the annoying way...</p><p>A few years ago I was looking at engineering activity across a large product suite.</p><ul><li><p>Multiple teams.</p></li><li><p>Multiple applications.</p></li><li><p>Multiple managers.</p></li><li><p>Multiple dashboards.</p></li></ul><p>And a lot of<span data-color="#38761d" style="color: rgb(56, 118, 29);"> </span><strong><span data-color="#38761d" style="color: rgb(56, 118, 29);">green numbers.</span></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D4mM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D4mM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png 424w, https://substackcdn.com/image/fetch/$s_!D4mM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png 848w, https://substackcdn.com/image/fetch/$s_!D4mM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png 1272w, https://substackcdn.com/image/fetch/$s_!D4mM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D4mM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png" width="1456" height="955" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:955,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1964159,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.themoderntechguild.com/i/214051970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!D4mM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png 424w, https://substackcdn.com/image/fetch/$s_!D4mM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png 848w, https://substackcdn.com/image/fetch/$s_!D4mM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png 1272w, https://substackcdn.com/image/fetch/$s_!D4mM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4496b6bd-da10-4b85-be19-859f8369290e_2221x1457.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em><sub>Every team can be green while the system is struggling.</sub></em></p><ul><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Team A looked healthy.</mark></p></li><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Team B looked healthy.</mark></p></li><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Team C looked healthy.</mark></p></li><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Team D looked healthy.</mark></p></li><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Everyone seemed busy.</mark></p></li><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Deployments were happening.</mark></p></li><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Pull requests were moving.</mark></p></li><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Sprint goals were being hit.</mark></p></li><li><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">The dashboards looked good.</mark></p></li></ul><p>But the product suite was still struggling.</p><ul><li><p><mark data-color="#f4cccc" style="background-color: rgb(244, 204, 204); color: rgb(0, 0, 0);">Customers were feeling friction.</mark></p></li><li><p><mark data-color="#f4cccc" style="background-color: rgb(244, 204, 204); color: rgb(0, 0, 0);">Teams were waiting on other teams.</mark></p></li><li><p><mark data-color="#f4cccc" style="background-color: rgb(244, 204, 204); color: rgb(0, 0, 0);">Small changes took longer than expected.</mark></p></li><li><p><mark data-color="#f4cccc" style="background-color: rgb(244, 204, 204); color: rgb(0, 0, 0);">Some releases created problems somewhere else</mark>.</p></li></ul><blockquote><p>And nobody could point to one metric and say:</p><p><strong>&#8220;There. That&#8217;s the problem.&#8221;</strong></p><p>That was the moment I started looking at engineering metrics differently.</p></blockquote><p>The numbers weren&#8217;t necessarily wrong.</p><p><strong>The story we were telling ourselves about those numbers was wrong.</strong></p><p>And that&#8217;s a much more dangerous problem.</p><div><hr></div><h2>When the number becomes the goal</h2><p>This happens more often than we like to admit.</p><p>We choose a metric because we want to improve something.</p><p>Then we start managing the metric.</p><p>Then...</p><p>without noticing it...</p><p><strong>the metric becomes the goal.</strong></p><p>Story points are a good example.</p><p>A team completes more story points this quarter.</p><p>Everyone celebrates.</p><p>But did the product get better?</p><p>Maybe.</p><p>Maybe not.</p><p>The team could have broken work into smaller pieces.</p><p>They could have estimated differently.</p><p>They could have optimized for points instead of customer value.</p><p>The number went up.</p><p>The outcome might not have.</p><p>The same thing happens with deployment frequency.</p><p>More deployments can be great.</p><p>But more deployments can also mean more tiny changes.</p><p>Or more risky changes.</p><p>Or more rollbacks.</p><p>Or more production noise.</p><p>Cycle time can fall while teams simply push easier work through the system.</p><p>PR volume can rise while the real work gets harder.</p><p>This is basically the trap behind Goodhart&#8217;s Law:</p><p><strong>When a measure becomes a target it can stop being a good measure.</strong></p><p>People aren&#8217;t stupid.</p><p>They respond to incentives.</p><p>If I tell you I&#8217;m measuring something...and then judge you based on it...you&#8217;re probably gonna optimize for it.</p><p>That&#8217;s not gaming the system.</p><p>Sometimes it&#8217;s just rational behavior.</p><div><hr></div><h2>Four levels of Productivity</h2><p>One reason engineering metrics get confusing is because we measure different things as if they&#8217;re the same thing.</p><p>I find it useful to think about four levels.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Al0E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Al0E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png 424w, https://substackcdn.com/image/fetch/$s_!Al0E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png 848w, https://substackcdn.com/image/fetch/$s_!Al0E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png 1272w, https://substackcdn.com/image/fetch/$s_!Al0E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Al0E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png" width="1456" height="823" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:823,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1082162,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.themoderntechguild.com/i/214051970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Al0E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png 424w, https://substackcdn.com/image/fetch/$s_!Al0E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png 848w, https://substackcdn.com/image/fetch/$s_!Al0E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png 1272w, https://substackcdn.com/image/fetch/$s_!Al0E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f6fc8a-aba6-498b-8a89-898dbfc0c1d5_1516x857.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em><sub>4 levels of Productivity: Activity &#8594; Output &#8594; Outcome &#8594; Impact</sub></em></p><p>This is where the conversation gets interesting.</p><p>Most engineering dashboards are strongest at the bottom.</p><p>Activity is easy to count.</p><p>Output is fairly easy to count.</p><p>Outcome is harder.</p><p>Impact is harder still.</p><p>So we end up with dashboards full of numbers because numbers are convenient...not necessarily because they&#8217;re useful.</p><div><hr></div><h2>The most dangerous metric is the one that looks reasonable</h2><p>Bad metrics are easy to ignore.</p><p>If I show you a completely ridiculous metric you probably won&#8217;t trust it.</p><p>The dangerous ones are different.</p><p>They look sensible.</p><p>Deployment frequency.</p><p>Cycle time.</p><p>Lead time.</p><p>PR throughput.</p><p>Defect rate.</p><p>Change failure rate.</p><p>None of these are bad metrics.</p><p>That&#8217;s important.</p><p><strong>The problem isn&#8217;t the metric.</strong></p><p>The problem is believing the metric explains more than it actually does.</p><p>Imagine deployment frequency drops.</p><p>What happened?</p><p>Maybe the team slowed down.</p><p>Maybe a release process changed.</p><p>Maybe the team spent two weeks fixing a major production issue.</p><p>Maybe another team became a dependency.</p><p>Maybe the product was stable enough to need fewer deployments.</p><p>The metric tells you something moved.</p><p>It doesn&#8217;t tell you why.</p><p>And that&#8217;s the part we often skip.</p><p>We see the graph.</p><p>We tell ourselves a story.</p><p>Then we act as if the story was a fact.</p><div><hr></div><h2>Your team might not be the problem</h2><p>This is where things get uncomfortable.</p><p>Sometimes a team looks slow because the system around the team is slow.</p><p>Think about everything between writing code and delivering value:</p><p>Architecture.</p><p>Approvals.</p><p>Testing.</p><p>Environments.</p><p>Security reviews.</p><p>Release processes.</p><p>Dependencies.</p><p>Legacy systems.</p><p>Shared services.</p><p>Handoffs.</p><p>Ownership boundaries.</p><p>External vendors.</p><p>Other teams.</p><p>A team can improve every metric inside its boundary...</p><p>and still make very little progress at the system level.</p><p>I&#8217;ve seen this happen.</p><p>One team optimizes its workflow.</p><p>Another team does the same.</p><p>A third team does the same.</p><p>Everyone gets locally better.</p><p>The overall product still feels slow.</p><p>Why?</p><p>Because <strong>local optimization doesn&#8217;t guarantee system improvement.</strong></p><p>So instead of only asking:</p><blockquote><p>&#8220;How productive is Team A?&#8221;</p></blockquote><p>sometimes the better question is:</p><blockquote><p><strong>&#8220;What is slowing the system down?&#8221;</strong></p></blockquote><p>That&#8217;s a very different conversation.</p><p>And usually a much more useful one.</p><div><hr></div><h2>The Watermelon Effect</h2><p>There&#8217;s a name for another version of this problem.</p><p><strong>The Watermelon Effect.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uFFC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uFFC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png 424w, https://substackcdn.com/image/fetch/$s_!uFFC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png 848w, https://substackcdn.com/image/fetch/$s_!uFFC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png 1272w, https://substackcdn.com/image/fetch/$s_!uFFC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!uFFC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png" width="1456" height="931" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:931,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1668303,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.themoderntechguild.com/i/214051970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uFFC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png 424w, https://substackcdn.com/image/fetch/$s_!uFFC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png 848w, https://substackcdn.com/image/fetch/$s_!uFFC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png 1272w, https://substackcdn.com/image/fetch/$s_!uFFC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab12391-9f99-45f8-8815-6073a52405d6_1568x1003.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Everything looks green on the outside.</p><p>But it&#8217;s red on the inside.</p><p>Imagine an IT dashboard showing green across the board.</p><p>SLAs are being met.</p><p>Servers are up.</p><p>Technology metrics look healthy.</p><p>The reports say everything is fine.</p><p>Then you talk to the people actually using the systems.</p><p>And you hear something very different.</p><p>&#8220;It&#8217;s slow.&#8221;</p><p>&#8220;I have to work around it.&#8221;</p><p>&#8220;This process wastes my time.&#8221;</p><p>&#8220;I still can&#8217;t get my work done.&#8221;</p><p>Now we have a problem.</p><p>The dashboard says green.</p><p>The experience says red.</p><p>That&#8217;s the Watermelon Effect.</p><p><strong>Green outside. Red inside.</strong></p><p>The metrics aren&#8217;t necessarily wrong.</p><p>They&#8217;re measuring only part of reality.</p><p>And this matters far beyond IT.</p><p>The same thing can happen inside engineering.</p><p>A team can hit its delivery target while developers are drowning in interruptions.</p><p>A platform can meet its uptime target while users struggle with poor performance.</p><p>A service can meet its SLA while employees spend hours finding workarounds.</p><p>The Watermelon Effect isn&#8217;t really a story about bad dashboards.</p><p>It&#8217;s a story about <strong>incomplete truth</strong>.</p><p>We&#8217;re looking at the outside.</p><p>Users and employees are experiencing the inside.</p><p>And the gap between those two things is where a lot of engineering problems hide.</p><div><hr></div><h2>Measure the experience too</h2><p>This changed how I think about engineering productivity.</p><p>We usually talk about:</p><p><strong>Activity &#8594; Output &#8594; Outcome &#8594; Impact</strong></p><p>But there&#8217;s another dimension running through all four.</p><p><strong>Experience.</strong></p><p>People don&#8217;t experience your deployment frequency.</p><p>They experience whether the product works.</p><p>They don&#8217;t experience your uptime percentage.</p><p>They experience whether they can get their work done.</p><p>They don&#8217;t care how healthy your engineering dashboard looks if the product feels painful.</p><p>So I like thinking about this as:</p><p><strong>Metric &#8594; Experience &#8594; Outcome &#8594; Impact</strong></p><p>The metric is the signal.</p><p>The experience tells us what it feels like in the real world.</p><p>The outcome tells us what changed.</p><p>The impact tells us why it matters.</p><p>If those layers agree...</p><p>great.</p><p>If they don&#8217;t...</p><p>don&#8217;t hide the disagreement.</p><p><strong>Investigate it.</strong></p><p>That disagreement might be where the real problem is.</p><div><hr></div><h2>Should we stop measuring engineering?</h2><p>No.</p><p>Please don&#8217;t throw away your dashboards because I wrote an article about dashboards.</p><p>I&#8217;ve made enough mistakes without adding that one to the list.</p><p>Metrics are useful.</p><p>They help us see trends.</p><p>They help us spot changes.</p><p>They help us compare periods.</p><p>They help us ask better questions.</p><p>The problem starts when we confuse <strong>measurement with understanding</strong>.</p><p>A metric is evidence.</p><p>It&#8217;s not an explanation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6KHA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6KHA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png 424w, https://substackcdn.com/image/fetch/$s_!6KHA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png 848w, https://substackcdn.com/image/fetch/$s_!6KHA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png 1272w, https://substackcdn.com/image/fetch/$s_!6KHA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!6KHA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png" width="1373" height="1212" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1212,&quot;width&quot;:1373,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1326511,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.themoderntechguild.com/i/214051970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6KHA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png 424w, https://substackcdn.com/image/fetch/$s_!6KHA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png 848w, https://substackcdn.com/image/fetch/$s_!6KHA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png 1272w, https://substackcdn.com/image/fetch/$s_!6KHA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca6b5f-4599-4a9e-ab1b-baf4514bfe42_1373x1212.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So the question isn&#8217;t:</p><blockquote><p>&#8220;Is this metric good?&#8221;</p></blockquote><p>A better question is:</p><blockquote><p><strong>&#8220;What became better because this number moved?&#8221;</strong></p></blockquote><p>If you can&#8217;t answer that...</p><p>you probably need to investigate before celebrating.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.themoderntechguild.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.themoderntechguild.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h1>The Engineering Metrics Truth Audit</h1><p>Here&#8217;s the simple audit I use to challenge the story behind a metric.</p><p>Take any important engineering metric.</p><p>Then ask five questions.</p><h3>1. What are we actually trying to improve?</h3><p>Be specific.</p><p>Not &#8220;developer productivity.&#8221;</p><p>That&#8217;s too vague.</p><p>Maybe it&#8217;s:</p><p>&#8220;Reduce the time it takes customers to complete checkout.&#8221;</p><p>Now we have something real.</p><h3>2. What does this metric tell us about that?</h3><p>Suppose the metric is deployment frequency.</p><p>Does more frequent deployment directly tell us checkout is improving?</p><p>Probably not.</p><p>It may be related.</p><p>But related isn&#8217;t the same as proven.</p><h3>3. How could we improve the metric without improving the outcome?</h3><p>This is my favorite question.</p><p>Because it forces you to attack your own metric.</p><p>Could deployment frequency increase without customers getting more value?</p><p>Yes.</p><p>Could PR volume increase without productivity improving?</p><p>Absolutely.</p><p>Could story points increase without delivering more value?</p><p>Of course.</p><p>If the answer is yes...</p><p>you&#8217;ve found a blind spot.</p><h3>4. What important thing does the metric leave out?</h3><p>Every metric leaves something out.</p><p>That&#8217;s normal.</p><p>The mistake is pretending it doesn&#8217;t.</p><p>Maybe your cycle-time metric ignores waiting for approval.</p><p>Maybe your defect metric ignores customer frustration.</p><p>Maybe your uptime metric ignores usability.</p><p>Maybe your delivery metric ignores business impact.</p><p>Ask what&#8217;s missing.</p><h3>5. What decision will we make when the number changes?</h3><p>This question is brutally practical.</p><p>If deployment frequency falls...</p><p>what will you do?</p><p>If cycle time rises...</p><p>what will you do?</p><p>If PR volume doubles...</p><p>what will you do?</p><p>If you don&#8217;t know what decision the metric should trigger...</p><p>why is it on the dashboard?</p><div><hr></div><h2>Build a better engineering dashboard</h2><p>I like making this painfully simple.</p><p>For every important metric write down five things.</p><p>MetricWhat it tells usWhat it doesn&#8217;tWhat else could explain it?DecisionDeployment frequencyHow often changes are deployedWhether releases create valueSmaller changes, automation, release policyInvestigate changeCycle timeHow long work takes through the flowWhy work waitsReviews, dependencies, queues, environment issuesFind bottleneckPR volumeAmount of PR activityBusiness valueSmaller PRs, workflow changesCheck contextDefect rateNumber of reported defectsTotal user painReporting behavior, severity, exposureLook at impact</p><p>The last two columns are where the magic happens.</p><p><strong>What else could explain it?</strong></p><p>That&#8217;s where you challenge the story.</p><p><strong>Decision</strong></p><p>That&#8217;s where measurement becomes useful.</p><p>A dashboard shouldn&#8217;t just tell you what happened.</p><p>It should help you decide what to investigate next.</p><div><hr></div><h2>KEEP. CHANGE. REMOVE.</h2><p>Once you&#8217;ve audited your metrics you don&#8217;t need to keep everything.</p><p>I use three simple buckets.</p><h3>KEEP</h3><p>The metric is useful.</p><p>It connects reasonably well to the thing you&#8217;re trying to improve.</p><p>Keep it.</p><p>But still question it.</p><p>No metric gets a lifetime membership card.</p><h3>CHANGE</h3><p>The metric contains useful information...</p><p>but it&#8217;s incomplete.</p><p>Maybe it needs another metric beside it.</p><p>Maybe you need an experience signal.</p><p>Maybe you need to segment it by product area.</p><p>Maybe you need to change the way it&#8217;s interpreted.</p><p>Don&#8217;t throw it away.</p><p>Improve it.</p><h3>REMOVE</h3><p>The metric creates more confusion than value.</p><p>Maybe nobody knows what decision it supports.</p><p>Maybe people optimize for the number instead of the outcome.</p><p>Maybe it has become a vanity metric.</p><p>Remove it.</p><p>Yes...</p><p>even if you&#8217;ve been reporting it for three years.</p><p>Sunk cost isn&#8217;t a measurement strategy.</p><div><hr></div><h2>Look beyond the team boundary</h2><p>Here&#8217;s another test I like.</p><p>When a metric moves...</p><p>look one level outside the team.</p><p>Then another.</p><p>A team&#8217;s cycle time might be high because reviews are slow.</p><p>Reviews might be slow because another team owns a dependency.</p><p>That dependency might be slow because the architecture creates a bottleneck.</p><p>The architecture might exist because of an old product decision.</p><p>Suddenly your &#8220;team productivity problem&#8221; isn&#8217;t really a team productivity problem.</p><p>It&#8217;s a system problem.</p><p>This is why engineering metrics need context.</p><p><strong>The closer you get to the real constraint the less useful a single-team metric becomes.</strong></p><div><hr></div><h2>Talk to the people experiencing the system</h2><p>This is the easiest way to look for the red inside the watermelon.</p><p>Talk to the people using the product.</p><p>Ask:</p><p><strong>What&#8217;s getting in your way?</strong></p><p><strong>What&#8217;s slower than it should be?</strong></p><p><strong>What wastes your time?</strong></p><p><strong>What works technically but feels painful?</strong></p><p>You don&#8217;t need a giant survey.</p><p>You need honest signals.</p><p>The dashboard might say:</p><p><strong>99.9% uptime.</strong></p><p>The user might say:</p><p><strong>&#8220;I still can&#8217;t get my work done.&#8221;</strong></p><p>Both can be true.</p><p>That&#8217;s why experience belongs beside your engineering metrics.</p><p>Not instead of them.</p><p><strong>Beside them.</strong></p><div><hr></div><h2>The five-minute metric audit</h2><p>You don&#8217;t need a three-month transformation project.</p><p>Pick one metric.</p><p>Just one.</p><p>Then write:</p><p><strong>Metric:</strong><br>What number are we looking at?</p><p><strong>Intent:</strong><br>What are we actually trying to improve?</p><p><strong>Signal:</strong><br>What does the metric tell us?</p><p><strong>Blind spot:</strong><br>What does it leave out?</p><p><strong>Alternative explanations:</strong><br>What else could cause the number to move?</p><p><strong>Experience:</strong><br>What are users or employees experiencing?</p><p><strong>Outcome:</strong><br>What changed in the real world?</p><p><strong>Decision:</strong><br>What should we do if the number moves?</p><p><strong>Action:</strong><br>KEEP / CHANGE / REMOVE</p><p>Five minutes.</p><p>That&#8217;s enough to expose a surprising amount of nonsense.</p><div><hr></div><h2>Your dashboard isn&#8217;t the strategy</h2><p>I&#8217;ve sat in enough meetings to know how this goes.</p><p>Someone shares the dashboard.</p><p>The lines move.</p><p>Someone asks why.</p><p>Another person gives an explanation.</p><p>Everyone nods.</p><p>Then we move to the next slide.</p><p>The dangerous part isn&#8217;t the dashboard.</p><p>It&#8217;s the confidence we place in the story around it.</p><p>A metric can be accurate.</p><p>A dashboard can be technically perfect.</p><p>The data can be clean.</p><p>The calculations can be correct.</p><p>And you can still make the wrong decision.</p><p>Because <strong>accuracy isn&#8217;t the same as meaning.</strong></p><p>Your deployment frequency can be accurate.</p><p>Your cycle time can be accurate.</p><p>Your PR count can be accurate.</p><p>Your uptime can be accurate.</p><p>The question is...</p><p><strong>What do those numbers actually tell you?</strong></p><p>And what are you assuming they tell you?</p><p>That&#8217;s where engineering leaders need to slow down.</p><p>Not because metrics are bad.</p><p>Because metrics are powerful enough to make weak stories look convincing.</p><div><hr></div><h2>The real goal isn&#8217;t more measurement</h2><p>I used to think better engineering management meant getting better data.</p><p>Now I think it means getting better questions.</p><p>The goal isn&#8217;t to build the biggest dashboard.</p><p>It&#8217;s to build a dashboard that helps you see reality.</p><p>Sometimes that means adding a metric.</p><p>Sometimes it means removing one.</p><p>Sometimes it means talking to users.</p><p>Sometimes it means looking across team boundaries.</p><p>Sometimes it means admitting the number you celebrated last quarter didn&#8217;t mean what you thought it meant.</p><p>That&#8217;s not failure.</p><p>That&#8217;s learning.</p><p>And honestly...</p><p>I&#8217;d rather discover a bad story than keep making good-looking decisions based on it.</p><div><hr></div><h2>Final takeaway</h2><p>A green metric next to a red experience isn&#8217;t a contradiction.</p><p><strong>It&#8217;s a signal.</strong></p><p>Something is missing.</p><p>That&#8217;s what a good metrics audit is designed to find.</p><blockquote><p><strong>Take the five metrics you trust most.</strong></p><ul><li><p>Try to break them.</p></li><li><p>Find their blind spots.</p></li><li><p>Talk to the people experiencing the system.</p></li><li><p>Look for the friction between teams.</p></li><li><p>Ask what outcome actually changed.</p></li><li><p>Then decide what to keep what to change and what to remove.</p></li></ul><p><strong>Keep the metrics. Question the story.</strong></p></blockquote><p>Because the dashboard isn&#8217;t the strategy.</p><p><strong>The questions you ask about it are.</strong></p><div><hr></div><h2>Want the playbook?</h2><p>If this article made you look at your engineering dashboard a little differently...</p><p>I put the practical version into an <strong><a href="https://drive.google.com/file/d/1L78Dv5qQVnbQ8lShew1MvuSaebY6wwgV/view?usp=sharing">Engineering Metrics Truth Audit Playbook</a></strong><a href="https://drive.google.com/file/d/1L78Dv5qQVnbQ8lShew1MvuSaebY6wwgV/view?usp=sharing">.</a></p><p>It gives you a simple way to:</p><ul><li><p>audit the metrics you already use</p></li><li><p>find misleading or incomplete metrics</p></li><li><p>spot the blind spots in your dashboard</p></li><li><p>connect engineering activity to real outcomes</p></li><li><p>uncover the <strong>Watermelon Effect</strong></p></li><li><p>bring employee and user experience into the picture</p></li><li><p>find system-level constraints</p></li><li><p>decide what to <strong>keep, change or remove</strong></p></li><li><p>turn metrics into better engineering decisions</p></li></ul><p>No giant framework.</p><p>No 47-page consulting report.</p><p>Just a practical playbook you can use with your team.</p><p><strong>If you want to stop collecting numbers and start getting better decisions from them... Get the playbook.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://drive.google.com/file/d/1L78Dv5qQVnbQ8lShew1MvuSaebY6wwgV/view?usp=sharing&quot;,&quot;text&quot;:&quot;Get the Playbook !!!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://drive.google.com/file/d/1L78Dv5qQVnbQ8lShew1MvuSaebY6wwgV/view?usp=sharing"><span>Get the Playbook !!!</span></a></p><p>Because you don&#8217;t need more engineering metrics.</p><p><strong>You need better questions around the ones you already have.</strong></p>]]></content:encoded></item><item><title><![CDATA[Architecture Is Not a Blueprint. It’s a Bet!]]></title><description><![CDATA[Why treating architecture decisions as fixed plans wastes months of engineering time &#8212; and the 5-part mental model that replaces &#8220;did we follow the design?&#8221; with a better question.]]></description><link>https://newsletter.themoderntechguild.com/p/architecture-is-not-a-blueprint-its</link><guid isPermaLink="false">https://newsletter.themoderntechguild.com/p/architecture-is-not-a-blueprint-its</guid><dc:creator><![CDATA[The Modern Tech Guild]]></dc:creator><pubDate>Tue, 25 Aug 2026 21:15:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!puu-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!puu-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!puu-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!puu-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!puu-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!puu-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!puu-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2402232,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.themoderntechguild.com/i/212757866?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!puu-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!puu-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!puu-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!puu-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dcc8ab2-7f29-4836-b704-c1a7586848bb_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The system nobody used&#8230;</h2><p>Eighteen months! That&#8217;s how long it took to build the platform &#8220;right?&#8221;</p><ul><li><p><em>Event-driven from day one. </em></p></li><li><p><em>A service mesh before we had a second team to justify one. </em></p></li><li><p><em>Multi-region active-active, because &#8220;what if we need to scale globally.&#8221; </em></p></li><li><p><em>A schema flexible enough to absorb business models we hadn&#8217;t even conceived of yet.</em> </p></li></ul><p>Every design review ended the same way: someone asking &#8220;but what if we need to handle 10x?&#8221; and the room nodding along, because who wants to be that person who didn&#8217;t plan for scale?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.themoderntechguild.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading moderntechguild! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>We shipped a cathedral. But what the business needed was a tent.</p><p>And the part I don&#8217;t love admitting: I was one of the people nodding along in that room. Nobody forced this on us. We talked ourselves into it, one reasonable-sounding &#8220;what if&#8221; at a time.</p><p>Eighteen months after launch, the product had pivoted twice - </p><ul><li><p><em>The multi-region setup we&#8217;d sweated over never saw traffic outside one data center. </em></p></li><li><p><em>The event bus we&#8217;d designed for massive throughput was carrying a few hundred messages a day &#8212; quiet enough that on-call engineers joked about hearing crickets. </em></p></li><li><p><em>The flexible schema, built to absorb business models we never ended up building, sat there as unused columns and </em></p></li><li><p><em>forgotten migration paths, a monument to a future that didn&#8217;t arrive.</em></p></li></ul><p>We hadn&#8217;t built a system. We&#8217;d built an insurance policy against a future we guessed at &#8212; and paid for that guess in the currency that matters most in this industry which is -  <em><strong>Time</strong></em>. </p><p>Eighteen months we didn&#8217;t get back, in a market that moved on without waiting for us.</p><p><em><strong><mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);">We built for a future that never showed up.</mark></strong></em><mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"> </mark>That&#8217;s the sentence that kept nagging at me long after the project wrapped. And it forced an uncomfortable admission: we weren&#8217;t really doing architecture. We were trying to predict the future &#8212; and dressing those predictions up in diagrams to make them feel like engineering.</p><h2>Why we keep calling it a <em><mark data-color="#cfe2f3" style="background-color: rgb(207, 226, 243); color: rgb(0, 0, 0);">Blueprint</mark></em>?</h2><p>We inherited the word &#8220;blueprint&#8221; from construction, and it&#8217;s a seductive metaphor &#8212; precise, complete, drawn before a single brick is laid. A blueprint implies that if you think hard enough up front, you can specify the final state, and execution becomes a matter of following the plan.</p><p>Buildings can work this way because they operate inside constraints that hold still. Gravity in 2026 behaves exactly like gravity in 1926. The ground doesn&#8217;t pivot to a new business model six months into construction.</p><p>Software systems don&#8217;t get that luxury. The market shifts. Competitors ship something that changes what &#8220;table stakes&#8221; means. A regulation appears. Someone in the C-suite reads an article about AI agents and suddenly the roadmap has a new top priority. Your blueprint was accurate the day you drew it, and it started decaying the moment ink hit paper.</p><p>Yet we keep architecting <em>as if</em> the ground will hold still. We produce artifacts &#8212; the diagrams, the ADRs, the sprawling design docs &#8212; that read with the same false confidence as a building&#8217;s structural plan, describing a future we don&#8217;t actually know.</p><p>When was the last time you saw an architecture doc that admitted, in writing, &#8220;we&#8217;re not sure about this part&#8221;? I can&#8217;t remember the last one I wrote that did either.</p><p>The tell is in the language itself. Nobody asks &#8220;what did we bet on in Q2?&#8221; in an architecture review. They ask &#8220;did we follow the design?&#8221; That question only makes sense if you believe the design was knowable in advance. Which, usually isn&#8217;t.</p><h2>The Reframe: <em><mark data-color="#d9d2e9" style="background-color: rgb(217, 210, 233); color: rgb(0, 0, 0);">Architecture is a Bet !</mark></em></h2><p>Here is the model that&#8217;s actually stuck with me since - the one I keep coming back to whenever a design review starts sounding a little &#8220;too certain&#8221;: <strong>every consequential architectural decision is a bet on the future.</strong></p><p>Not every decision qualifies, to be fair &#8212; </p><ul><li><p>some are constraints you don&#8217;t get to choose, </p></li><li><p>some are pure engineering hygiene with no real uncertainty attached.</p></li></ul><p>But whenever we&#8217;re choosing an architecture in the face of an unknown future, we&#8217;re making a bet. We just usually don&#8217;t call it that.</p><p>A bet has a few characteristics that a blueprint doesn&#8217;t. Once you start looking for them, you can&#8217;t unsee them in every design conversation you sit in.</p><h3>The 5 properties of an Architectural Bet !</h3><p><strong>1.<mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);"> Thesis &#8212; what are we betting will happen?</mark></strong> When you choose event-driven over synchronous, multi-region over single-region, build over buy &#8212; you&#8217;re not deriving the correct answer from first principles. You&#8217;re staking resources on a specific belief about what the future needs. Naming the thesis out loud is the first discipline blueprint-thinking skips.</p><p><strong>2. <mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Confidence &#8212; what evidence makes us believe it?</mark></strong> Good architects don&#8217;t ask &#8220;is this the right design?&#8221; &#8212; an unanswerable question about an unknowable future. They ask &#8220;given what we actually know, how confident are we in this thesis?&#8221; That&#8217;s a fundamentally different, and more honest, conversation than the one most design reviews have.</p><p><strong>3. <mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Size &#8212; how much complexity, time, and money are we willing to commit?</mark></strong> You don&#8217;t bet your whole stack on a guess about hypothetical scale. Size the bet to the confidence you have, not to the worst case you can imagine. Low confidence, small bet: a lightweight event log instead of a full mesh, a modular monolith instead of a microservices platform you don&#8217;t yet have the team to run. High confidence &#8212; you&#8217;ve seen this pattern before, the signal is strong &#8212; size up.</p><p><strong>4. <mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Optionality &#8212; how expensive is it if we&#8217;re wrong?</mark></strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);"> </mark>A good bet doesn&#8217;t require certainty. It requires a way to survive being wrong &#8212; that&#8217;s what optionality is for. The less certain we are, the more valuable it is to preserve our ability to change direction. A modular monolith preserves the option to extract services later. An abstraction around a vendor preserves the option to switch providers. A migration path left open prevents today&#8217;s decision from becoming tomorrow&#8217;s trap.</p><p><strong>5. <mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Review trigger &#8212; what evidence would cause us to change course?</mark></strong> Nobody re-litigates a blueprint once it&#8217;s approved &#8212; that&#8217;s the point of a blueprint, its authority comes from being settled. A bet, by contrast, is supposed to be revisited as new information arrives. You don&#8217;t abandon it at the first sign of trouble, but you also don&#8217;t treat &#8220;we already decided this&#8221; as a reason to keep doubling down on a losing position.</p><p>Now, let&#8217;s go back to my eighteen-month build. </p><p>Every &#8220;what if we need 10x&#8221; question was really an unsized, unhedged, never-revisited bet &#8212; and none of us in that room named it as one. </p><p>And now, let&#8217;s run the same conversation through the five properties instead, and see - it plays out completely differently: <em>What&#8217;s the thesis, exactly? What&#8217;s our actual confidence that we hit that scale in the next 12 months? What&#8217;s the smallest version of this decision that preserves optionality if we&#8217;re wrong? What would tell us to reconsider?</em> That&#8217;s a different meeting, totally. Honestly, I wish someone had asked it in ours.</p><h3>Architecture isn&#8217;t about maximizing the odds you&#8217;re right</h3><p><strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">It&#8217;s about minimizing the cost of being wrong.</mark></strong></p><p>If a decision is cheap to reverse, you don&#8217;t need much certainty before making it. If it&#8217;s expensive to reverse, you should demand real evidence before committing. </p><p>This is the same logic Amazon built into its &#8220;<em><strong>one-way door / two-way door</strong></em>&#8221; framing for decision-making: some decisions are two-way doors &#8212; cheap, fast, reversible, you can just walk back through. Others are one-way doors &#8212; expensive, disruptive, sometimes impossible to undo. The more irreversible the architectural decision, the more evidence it deserves before you commit.</p><p>That gives you a decision mechanism, not just a philosophy. Instead of asking &#8220;could this happen?&#8221; &#8212; a question almost anything passes &#8212; ask three questions together: <em><strong>What&#8217;s the probability this actually happens? What does it cost us if we&#8217;re wrong? What does it cost us to prepare for it right now?</strong></em> </p><p>A low-probability, high-preparation-cost bet (full active-active multi-region for traffic you don&#8217;t have yet) rarely clears the bar. </p><p>A cheap hedge against a plausible near-term risk (an event contract that costs you an afternoon) almost always does.</p><h3>What this looks like in practice?</h3><p><strong>Microservices:</strong></p><ul><li><p>Thesis: &#8220;we&#8217;ll probably need independent scaling.&#8221; </p></li><li><p>Confidence: maybe 30%, mostly speculative. </p></li><li><p>Bet: a modular monolith with strong internal boundaries, not a service mesh. </p></li><li><p>Optionality: boundaries clean enough to extract services later. </p></li><li><p>Review trigger: real scaling pressure or real team-boundary friction &#8212; not a hunch.</p></li></ul><p><strong>Multi-region:</strong></p><ul><li><p>Thesis: &#8220;we might become globally distributed.&#8221; </p></li><li><p>Confidence: maybe 15%, no signal yet. </p></li><li><p>Bet: design for portability &#8212; keep infrastructure choices from locking you into one region, without paying for active-active yet. </p></li><li><p>Optionality: swapping in a second region later is a project, not a rebuild. </p></li><li><p>Review trigger: an actual customer on the other side of the world, not a hypothetical one.</p></li></ul><p><strong>Event-driven integration:</strong></p><ul><li><p>Thesis: &#8220;future teams will need to integrate asynchronously.&#8221; </p></li><li><p>Confidence: maybe 60% &#8212; this one&#8217;s more likely than the others. </p></li><li><p>Bet: establish clean event contracts now, on lightweight infrastructure.</p></li><li><p>Optionality: contracts are portable to a heavier platform later; today's plumbing isn't load-bearing. </p></li><li><p>Review trigger: message volume that actually justifies running a dedicated streaming platform, not the possibility of it.</p></li></ul><p>Same underlying uncertainty, three very different bet sizes &#8212; because the confidence, and the cost of being wrong, are different in each case.</p><h2>What changes when you architect like a &#8220;<em>Bettor</em>&#8221;?</h2><p>This isn&#8217;t an argument for recklessness or for skipping analysis &#8212; bets built on no evidence are just gambling, and gambling isn&#8217;t what good architects do. It&#8217;s an argument for running the five-property discipline on every consequential decision:</p><ul><li><p><strong>State the thesis.</strong> Say what future you&#8217;re betting on, explicitly, in the room where the decision gets made.</p></li><li><p><strong>Record the evidence and your confidence.</strong> Not &#8220;what if&#8221; &#8212; what do you actually know, and how sure does that make you?</p></li><li><p><strong>Size the investment to the confidence.</strong> Low confidence gets a small, cheap bet. High confidence earns a bigger one.</p></li><li><p><strong>Preserve optionality when uncertainty is high.</strong> Pay for reversibility in proportion to how unsure you are &#8212; and stop paying for it once you&#8217;re not.</p></li><li><p><strong>Define what would change your mind.</strong> Put a review trigger on the bet before you make it, not after it&#8217;s already failing.</p></li></ul><p>The thing though is&#8212; our eighteen-month cathedral wasn&#8217;t a failure of technical skill. Everyone in that room was smart, experienced, and genuinely trying to do right by the business, myself included. The real failure was capital allocation: we committed eighteen months of scarce engineering capacity to a future that hadn&#8217;t earned it. Architects aren&#8217;t only choosing technologies. We&#8217;re deciding where an organization spends its complexity, its engineering time, its attention, its future flexibility. That&#8217;s a much bigger job than picking the &#8220;right&#8221; pattern off a slide.</p><p>Architecture was never really about knowing the future. It&#8217;s about allocating resources wisely when you don&#8217;t. We don&#8217;t need architects who can predict what happens next &#8212; nobody can &#8212; we need ones who make good decisions when the future, inevitably, refuses to cooperate.</p><p>So next time someone asks &#8220;did we follow the design?&#8221; &#8212; try a different question instead: what did we bet on, how big, what happens if we&#8217;re wrong, and what would make us change our mind? See how different the room feels.</p><div><hr></div><p><strong>Keep this in mind:</strong></p><ul><li><p><strong>Thesis</strong> &#8212; what future are we betting on?</p></li><li><p><strong>Confidence</strong> &#8212; what evidence actually supports it?</p></li><li><p><strong>Size</strong> &#8212; how much are we willing to invest, given that confidence?</p></li><li><p><strong>Optionality</strong> &#8212; how do we survive being wrong?</p></li><li><p><strong>Review trigger</strong> &#8212; what evidence would make us change course?</p></li></ul><p><strong>A template worth stealing for your next ADR:</strong></p><blockquote><p><strong>We believe:</strong> <em>[thesis]</em> <strong>Because:</strong> <em>[evidence]</em> <strong>Confidence:</strong> <em>[rough %]</em> <strong>We&#8217;re investing:</strong> <em>[size/scope of the bet]</em> <strong>If we&#8217;re wrong, it costs us:</strong> <em>[cost of reversal]</em> <strong>We&#8217;ll reconsider when:</strong> <em>[review trigger]</em></p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.themoderntechguild.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading moderntechguild! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Modern Tech Guild]]></title><description><![CDATA[Hard-won lessons for building and leading technology.]]></description><link>https://newsletter.themoderntechguild.com/p/the-modern-tech-guild</link><guid isPermaLink="false">https://newsletter.themoderntechguild.com/p/the-modern-tech-guild</guid><dc:creator><![CDATA[The Modern Tech Guild]]></dc:creator><pubDate>Tue, 25 Aug 2026 10:00:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4R6Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.themoderntechguild.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.themoderntechguild.com/subscribe?"><span>Subscribe now</span></a></p><h2>Why Modern Tech Guild?</h2><p>You didn&#8217;t get here by luck !</p><p>You shipped the hard features, fixed the systems no one else could, and became the person people turned to when things got difficult.</p><p>Then the game changed.</p><p>Somewhere between <em>&#8220;senior engineer&#8221;</em> and <em>&#8220;the technology leader,&#8221;</em> you&#8217;re expected to make architecture calls, lead through ambiguity, navigate organizational complexity, and make sense of AI rewriting the rules beneath you.</p><p><strong>No one handed you a playbook.</strong></p><p>Most technical leadership is learned the hard way &#8212; in public, under pressure, one decision at a time.</p><p>That&#8217;s why I created <strong>Modern Tech Guild</strong>.</p><p>After more than two decades working across technology transformation, architecture, cloud, engineering and emerging technology, I&#8217;ve seen the same patterns play out again and again &#8212; what works, what doesn&#8217;t, and what only becomes obvious after you&#8217;ve lived through it.</p><p>This publication is where I distill those lessons.</p><p>Not as theory.</p><p>Not as technology hype.</p><p>But as<mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);"> </mark><strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Practical thinking you can use when the answers aren&#8217;t obvious.</mark></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4R6Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4R6Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png 424w, https://substackcdn.com/image/fetch/$s_!4R6Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png 848w, https://substackcdn.com/image/fetch/$s_!4R6Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png 1272w, https://substackcdn.com/image/fetch/$s_!4R6Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4R6Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png" width="1456" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1706409,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.themoderntechguild.com/i/212672309?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4R6Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png 424w, https://substackcdn.com/image/fetch/$s_!4R6Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png 848w, https://substackcdn.com/image/fetch/$s_!4R6Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png 1272w, https://substackcdn.com/image/fetch/$s_!4R6Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F102052b1-3984-4097-8662-8e0dd3db59ad_1774x887.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><br>What you&#8217;ll find here</h2><p>Modern Tech Guild explores four questions.</p><h3>&#127963;&#65039; 1. Architecture &amp; Technology Strategy</h3><p><strong>How do we build and evolve technology that can withstand change?</strong></p><p>Architecture decisions, modernization, cloud, platforms, technical debt, technology strategy and the trade-offs that rarely fit neatly into an architecture diagram.<br>Architecture decisions, modernization, cloud, platforms, technical debt, technology strategy and the trade-offs that rarely fit neatly into an architecture diagram.</p><div><hr></div><h3>&#129302; 2. AI, Agents &amp; the Future of Software</h3><p><strong>What is AI actually changing &#8212; and what isn&#8217;t?</strong></p><p>GenAI, agentic systems, AI architecture, AI adoption and the implications for software engineering and technology leadership.</p><p>No AI hype. No breathless predictions.</p><p>Just an attempt to understand what is actually changing &#8212; and what technology leaders should do about it.</p><div><hr></div><h3>&#9881;&#65039; 3. Engineering Leadership &amp; Organizations</h3><p><strong>How do we build engineering organizations that execute?</strong></p><p>Scaling teams, engineering effectiveness, operating models, organizational design, technical leadership and the uncomfortable reality that many &#8220;technology problems&#8221; are actually organizational problems.</p><div><hr></div><h3>&#129517; 4. The Technology Leader&#8217;s Journey</h3><p><strong>How do technically excellent people become technology leaders?</strong></p><p>The journey from senior engineer to Staff, Principal, Architect and beyond &#8212; developing judgment, influencing without authority, navigating ambiguity and learning to operate at a different altitude.</p><div><hr></div><h1>What you can expect</h1><p>I&#8217;m not interested in publishing just to fill a content calendar.</p><p>You&#8217;ll find:</p><p><strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Deep dives</mark></strong> &#8212; thoughtful explorations of difficult technology and leadership problems.</p><p><strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Field notes</mark></strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);"> </mark>&#8212; shorter observations drawn from real-world experience.</p><p><strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Frameworks &amp; playbooks</mark></strong> &#8212; practical ways to approach decisions, not just opinions about them.</p><p><strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">Contrarian takes</mark></strong><mark data-color="#ffff00" style="background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);"> </mark>&#8212; because some of the most useful lessons begin with questioning what everyone else accepts.</p><p>I&#8217;ll typically publish <strong>once or twice a week</strong>, with occasional shorter pieces when there&#8217;s an idea worth sharing.</p><p>The publication will start free. Over time, some deeper research, frameworks and practical resources may become available to paid subscribers.</p><div><hr></div><h1>Who is this for?</h1><p>Modern Tech Guild is for people who have moved beyond simply writing the code.</p><p>It&#8217;s for:</p><ul><li><p>Senior and Staff engineers</p></li><li><p>Principal engineers and architects</p></li><li><p>Engineering leaders</p></li><li><p>Technology strategists</p></li><li><p>CTOs and technology executives</p></li><li><p>Technical professionals figuring out what comes next</p></li></ul><p>If you&#8217;re being asked to make <strong>bigger technology decisions with less certainty</strong>, you&#8217;re probably in the right place.</p><div><hr></div><h1>One final thought</h1><p>Technology changes quickly.</p><p>The tools change.<br>The architectures change.<br>AI is changing the economics of software.</p><p>But the harder problems remain remarkably consistent:</p><p><strong>How do we decide?<br>How do we build?<br>How do we lead?<br>And how do we know what&#8217;s worth doing in the first place?</strong></p><p>That&#8217;s what Modern Tech Guild is here to explore.</p><p><strong>Hard-won lessons. Better frameworks. Clearer thinking.</strong></p><p>If that sounds useful, <strong>join the Guild.</strong></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.themoderntechguild.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading moderntechguild! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>