<script data-pm-proxy="intercept"></script><?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[Chris Gambill]]></title><description><![CDATA[No hype. No buzzwords. Just real data strategy, engineering, and leadership insights from 25 years in the trenches. If you’re tired of noise and want to actually understand how to build, scale, and lead with data, this is where you start.]]></description><link>https://gambilldataengineering.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!0j53!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e25fd-9471-4c05-8de5-af204e8a6b46_895x895.png</url><title>Chris Gambill</title><link>https://gambilldataengineering.substack.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 03 Sep 2026 13:09:45 GMT</lastBuildDate><atom:link href="/__u/gambilldataengineering.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Chris Gambill]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[gambilldataengineering@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[gambilldataengineering@substack.com]]></itunes:email><itunes:name><![CDATA[Chris Gambill]]></itunes:name></itunes:owner><itunes:author><![CDATA[Chris Gambill]]></itunes:author><googleplay:owner><![CDATA[gambilldataengineering@substack.com]]></googleplay:owner><googleplay:email><![CDATA[gambilldataengineering@substack.com]]></googleplay:email><googleplay:author><![CDATA[Chris Gambill]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Data Project That Actually Gets You Hired]]></title><description><![CDATA[And why your current portfolio sucks!]]></description><link>https://gambilldataengineering.substack.com/p/the-data-project-that-actually-gets</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/the-data-project-that-actually-gets</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 02 Sep 2026 15:31:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!B7In!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p> If your portfolio is full of projects that you completed during boot camps, Udemy courses, and Coursera projects, that&#8217;s exactly why you aren&#8217;t getting any callbacks! </p><p>In my 26 years of being in data and interviewing candidates and choosing candidates for various data positions, I&#8217;ve never once looked at a portfolio project for any other reason than that it intrigued me or it was a problem I was currently having. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!B7In!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!B7In!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp 424w, /__u/substackcdn.com/image/fetch/$s_!B7In!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp 848w, /__u/substackcdn.com/image/fetch/$s_!B7In!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!B7In!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!B7In!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!B7In!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp 424w, /__u/substackcdn.com/image/fetch/$s_!B7In!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp 848w, /__u/substackcdn.com/image/fetch/$s_!B7In!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!B7In!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e0d301a-29e7-496a-a71d-7c5408e3dac5_1280x720.webp 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"><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"><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"><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"><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>Hiring managers aren&#8217;t rejecting your application because it doesn&#8217;t have a GitHub link. </p><p>They&#8217;re rejecting it because your repository screams &#8220;liability!&#8221;</p><p>If your portfolio consists of downloaded CSP files, local Python scripts, and generic group-by transformations, you&#8217;re telling hiring managers that you have never had to manage cloud compute bills, API drift, or any type of decision framework. </p><p>That&#8217;s why today I&#8217;m going to break down an actual production-grade portfolio project built by an engineer in my coaching program. He bypassed the toy datasets, connected directly to federal and state APIs, and engineered a Databricks Medallion Lakehouse to solve a multimillion-dollar healthcare expansion problem across all 9,100 census tracts in California. </p><p>I&#8217;m going to tell you the exact architectural blueprint, why hiring managers care, and how you can apply this same framework to stand out immediately in your job search. </p><h3>The Core Business Problem: Location Intelligence vs Tool Cosplay</h3><p> Healthcare systems don&#8217;t drop $50 million facilities wherever they feel like it. They require data-backed location intelligence to deploy capital where medical coverage gaps and viable land intersect. </p><p>To do this properly, you can&#8217;t muddle through static spreadsheets in Excel or run new queries against transactional databases. You have to evaluate sub-county units called MSSAs (or Medical Service Study Areas), the federal standard used to designate Health Professional Shortage Areas  (HPSAs).</p><p>An enterprise healthcare network expanding its footprint needs to answer four stakeholder questions simultaneously:</p><ol><li><p>Chronic health burden: What are the highest concentrations of chronic disease?</p></li><li><p>Socioeconomic barriers: Which tracts face acute poverty and low vehicle access?</p></li><li><p>Existing coverage: Where are the active health resources and service administration clinics currently operating?</p></li><li><p>Site feasibility: Is there viable, build-ready public land or open space available in those exact target pockets? </p></li></ol><p>If an engineer attempts to tie this together using unoptimized raw queries, they end up crashing reporting tools. They trigger massive memory spills, burn through thousands of dollars in wasted compute, and just end up spinning their wheels. </p><p>You need a centralized lakehouse architecture built for scale! </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!K9xU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!K9xU!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!K9xU!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!K9xU!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!K9xU!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!K9xU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png" width="342" height="513" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:342,&quot;bytes&quot;:1778998,&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://gambilldataengineering.substack.com/i/213486772?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!K9xU!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!K9xU!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!K9xU!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!K9xU!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94a83421-6498-4a1f-a506-f0e56285e543_1024x1536.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"><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"><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"><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"><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><h3>The Technical Architecture: Engineering the Medallion</h3><p>Here is how the pipeline was engineered inside of Databricks using Delta Lake, PySpark, and spatial indexing. </p><h4>Pillar 1: Automated Bronze Ingestion (No desktop CSVs - This isn&#8217;t a toy project)</h4><p>Rule number one of production data engineering: stop downloading static CSVs to your local machine! This pipeline connects directly to live federal and state REST endpoints. </p><ul><li><p>CDC Places API: This one is census tract-level chronic disease prevalence and health outcomes.</p></li><li><p>U.S. Census Bureau API: This is the 2024 ACS 5-year socioeconomic and demographic tables.</p></li><li><p>HRSA Health Sites Registry: These are the geospatial coordinates of federally qualified health centers.</p></li><li><p>The California Open Space/ArcGIS REST layers: These are complex land parcel polygon geometries.</p></li></ul><p>These are the raw payloads that we&#8217;re going to write directly into the bronze development tables. When the 2025 ACS survey drops or the HRSA registry updates, the pipeline reruns end-to-end without requiring downstream transformations to be refactored, implementing idempotency, API pagination, and parsing of JSON data into structured bronze tables. </p><h4>Pillar 2: Silver Layer Spatial Optimization and FinOps</h4><p>This is where 90% of you are failing your technical interviews. </p><p>In this project this coaching member used:</p><ul><li><p>Demographic tables that are structured around census tract FIPS codes.</p></li><li><p>Health facilities that are point coordinates (lat and long).</p></li><li><p>Land parcels that are polygon geometries.</p></li></ul><p> If we stopped there, we&#8217;d all be wondering: How do you join 100,000 clinic coordinates to 9,100+ polygon boundaries in PySpark without exploding your Databricks cluster compute bill? If you execute an unindexed spatial cross-join, these executor nodes will choke on memory shuffle and rack up massive DBU burn. What&#8217;s the engineering fix? </p><ul><li><p>Partition the dataset at the county FIPS level prior to spatial computation.</p></li><li><p>Vectorize spatial joins.</p></li><li><p>Utilize GeoPandas and Shapely using `sjoin_nearest` within bounded county partitions to map coordinates to census boundaries.</p></li><li><p>Clean your Delta Silver tables.</p></li><li><p>Output queryable, schema-enforced Delta tables ready for analytical aggregation.</p></li></ul><h4>Pillar 3: Gold Layer Composite Opportunity Scoring</h4><p>Now we have a bunch of tables, but your senior leadership isn&#8217;t going to care about those tables. They need an actionable decision framework. </p><p>That&#8217;s where the gold layer transforms our demographic distress, clinical isolation, and land availability into a unified opportunity index:</p><ul><li><p>Mobility and economic stress: percentage of households with zero vehicle access combined with poverty rates</p></li><li><p>Disease burden: elevated chronic disease prevalence from CDC Places</p></li><li><p>Clinical isolation: calculated distance to the nearest existing HRSA facility</p></li><li><p>Development viability: proximity to viable, zoned public land parcels</p></li></ul><p>The result is an executive-ready heat map ranking all 9,129 California census tracts by immediate strategic priority. </p><h4>Pillar 4: Architectural Portability</h4><p>The true test of enterprise architecture is portability because federal endpoints (the Census, CDC, HRSA) use standardized national schemas. This entire platform can be deployed for Texas, Florida, or the Great Lakes region simply by swapping out the state-level GIS boundary endpoints. </p><h2>The 25-Year Reality Check: Strategy &gt; Syntax</h2><p>Over my 25+ years in data, I&#8217;ve seen the tooling undergo massive shifts. </p><p>I started with SQL Server .dts packages, migrated to SSIS, managed bare metal Hadoop clusters, built enterprise platforms in AWS and Azure, and now I help businesses design lakehouses on Databricks, all while leveraging AI development tools like Cursor and Omnigent. </p><p>The syntax changes every few years. The underlying architectural discipline doesn&#8217;t. </p><p>Hiring managers and consulting clients are not paying you to memorize syntax that an AI coding assistant can generate in 3 seconds. </p><p>They&#8217;re paying you to make the data decision that you could defend 6 months from now. </p><p>When you stop hiding behind those toy tutorials and demonstrate that you can take raw, messy public data, enforce FinOps discipline, and produce an executive decision asset, that&#8217;s when your resume stops getting filtered out. </p><h4>The Weekly Self-Audit: Test Your Portfolio</h4><p>Take an objective look at your current repositories or your team&#8217;s internal pipelines against these five production criteria. </p><ol><li><p>Automated ingestion: Are you ingesting directly from live REST APIs with schema validation or relying on static files?</p></li><li><p>FinOps and partitioning: Do you structure partition keys, such as county FIPS, to eliminate executive memory spill and control your DBU burn?</p></li><li><p>Data contracts: Are your bronze-to-silver transitions resilient against upstream API changes?</p></li><li><p>Decision-grade output: Did you deliver a composite scoring index that answers an executive business question, or just dump raw counts?</p></li><li><p>Architectural defense: Can you defend every join strategy, cluster configuration, and data contract in a technical interview?</p></li></ol><h4>Watch The Full Breakdown</h4><p>For the full walkthrough and a deeper look at the architectural choices made inside this project, watch the full video on YouTube:  <a href="https://youtu.be/2mvdlgO7MSw">The Data Project That Actually Gets You Hired! </a></p><p><span>Find Mohammad's repo (transferred to my account for anonymity): </span><strong><a href="https://www.youtube.com/redirect?event=comments&amp;redir_token=QUM4Zm9rU1FrR0NKcnpHSExZdHNpMEhaR3k1dnxBTl9pYzRkZzZtNTg2QUpITm9sSVVMcmEtR2c3UlhVOUhDWUU3UWVRdERyRDZKSWZqWUoyXzA0ZHNsaEpOWXhsWHFtUV9xRGZIWVRwSEhIMWhWcndhM0VZdTE4NWFzRzc5eHc5&amp;q=https%3A%2F%2Fgithub.com%2Fcg1262%2Fca-public-health-facility&amp;stzid=UgybxhvsQrdfNCH_a914AaABAg">https://github.com/cg1262/ca-public-health-facility</a></strong></p><h4><em>Ready to level up your data engineering capability?</em></h4><ul><li><p><strong>For Data Engineers &amp; Architects</strong>: Move past tutorial hell and build enterprise-grade Databricks platforms that command attention in the <a href="https://gambilldata.com">Gambill Data Coaching Program</a>.</p></li><li><p><strong>For Enterprise Leaders</strong>: Eliminate runaway compute bills, resolve pipeline bottlenecks, and enforce Unity Catalog governance with a fixed-price <a href="https://gambilldata.com">Databricks Lakehouse &amp; Unity Catalog Audit</a>.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Hidden Logic Makes Engineers Scapegoats for Bad AI Outputs]]></title><description><![CDATA[Stop being the Oracle. Start being the Architect.]]></description><link>https://gambilldataengineering.substack.com/p/hidden-logic-makes-engineers-scapegoats</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/hidden-logic-makes-engineers-scapegoats</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 26 Aug 2026 15:30:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!egNJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.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="/__u/substackcdn.com/image/fetch/$s_!egNJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!egNJ!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!egNJ!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!egNJ!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!egNJ!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!egNJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/feb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2299649,&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://gambilldataengineering.substack.com/i/212438606?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!egNJ!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!egNJ!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!egNJ!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!egNJ!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeb8f3bc-738b-4e39-acd6-b42888a06c8c_1672x941.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"><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"><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"><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"><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><span>You&#8217;ve subconsciously spent the last three years building what you thought was job security. You buried critical business logic inside complex DAX measures, hidden Power BI report transformations, and custom SQL </span><code>CASE WHEN</code><span> blocks that only you understand. You felt indispensable. You were the team Oracle (not that one), the only person who knew where all the bodies were buried.</span></p><p>Then your CFO pushed the data team for direct AI query access using Copilot and Genie One. Because your data team reported to him, the request bypassed normal architectural scrutiny and went straight into production. Three weeks later, the room went cold in the boardroom.</p><p>The CFO pulled up a revenue number in a chat window that flatly contradicted the official monthly financial report standing on the presentation screen. The executive team assumed the AI model was broken or hallucinating.</p><p>Who got called into the office to explain why the numbers didn&#8217;t match? <strong>You did.</strong></p><p>The AI was performing exactly as designed. Your Power BI report was too. The problem was that your business logic was hidden inside a report file that the AI couldn&#8217;t see.</p><div class="pullquote"><p><strong>The AI wasn&#8217;t broken. Your architecture was.</strong></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://gambilldataengineering.substack.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="/__u/gambilldataengineering.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p><p>Giving an AI tool direct access to a database without explicit context is like handing a junior the keys to the warehouse on their first day and expecting them to know which inventory is reserved, which is written off, and which is ready to ship. (And that they won&#8217;t drop a table in prod.)</p><p><span>When your data architecture is built on hidden logic, putting &#8220;AI-driven&#8221; in front of it simply creates a faster, more expensive pipeline to bad decisions.</span></p><h3>The Hard Truth: The DAX Graveyard and Tribal Knowledge</h3><p></p><p><span>For years, many data professionals have traded professional discipline for a false sense of security. As I broke down in </span><em><a href="/__u/gambilldataengineering.substack.com/p/the-10-year-junior?r=4574tq"><span>The 10-Year Junior</span></a></em><span>, hiding logic in GUI tools and unscripted dashboards creates a Tribal Knowledge Shield. It makes you feel like an Oracle, but it actually makes you un-hirable in a modern Code to Cash environment.</span></p><p>When a human analyst builds a finance report, they manually apply those unwritten rules. They know that &#8220;Active Customer&#8221; actually means a customer who made a purchase in the last 90 days, excluding internal test accounts, wholesale partners, and pending cancellations.</p><p>An AI model reading a raw table named <code>customers</code> doesn&#8217;t know any of that. It sees a column, performs a count, and hands executive leadership an answer that is technically correct based on the schema, but completely wrong based on business reality.</p><blockquote><p><strong>If your business logic lives in a dashboard measure, your AI is just guessing.</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!U9oX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!U9oX!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!U9oX!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!U9oX!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!U9oX!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!U9oX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1742525,&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://gambilldataengineering.substack.com/i/212438606?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!U9oX!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!U9oX!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!U9oX!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!U9oX!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac80788c-d3e0-474c-bed0-494398617ffe_1672x941.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"><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"><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"><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"><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><span>Even if your team built a Gold layer in your lakehouse, that is only half the battle. In </span><em><a href="/__u/gambilldataengineering.substack.com/p/the-medallion-masterclass-why-knowing"><span>The Medallion Masterclass</span></a></em><span>, I broke down why Gold data is optimized for human consumption and standard BI queries. It is the storefront. But AI systems require an explicit ontology and machine-readable semantic context before you let your business loose on that data.</span></p><p>Without a documented, centralized context layer, you are asking a pattern-matching engine to infer years of institutional politics and unwritten edge cases from raw table names.</p><p>Who gets blamed when the numbers fail to match? You do.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!geu8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!geu8!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!geu8!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!geu8!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!geu8!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!geu8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2226709,&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://gambilldataengineering.substack.com/i/212438606?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!geu8!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!geu8!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!geu8!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!geu8!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a7017bf-2b9d-42bb-9a7d-22b3f3c096e7_1672x941.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"><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"><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"><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"><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><h3>The Architecture Fallacy: Prompts Are Not Security Boundaries</h3><p>The lazy fix is always the same: write a longer system prompt. You try adding five paragraphs of rules to the prompt window, instructing the model to &#8220;always exclude test accounts when calculating revenue.&#8221;</p><p>That isn&#8217;t engineering. That is expensive wishful thinking.</p><p><strong>Prompts guide intent. Identity, authorization, and platform architecture enforce boundaries.</strong></p><p>When you expose an LLM or an agentic workflow to an ungoverned storage layer, you create massive operational risk. In the 2026 OWASP Top 10 for LLM Applications, they highlight excessive agency as a top-tier risk. The more authority you give an AI system to query databases, trigger API calls, and update CRM records, the more damage it causes when its context is flawed.</p><p><span>If an AI assistant executes an unauthorized query or leaks sensitive records, because row-level security was never configured at the lakehouse level, the model didn&#8217;t fail. You failed to build a production-grade boundary.</span></p><p><span>A vector database sitting completely outside your retention, deletion, and auditing policies isn&#8217;t an AI innovation (yes, including that vector store your team spun up last month). It is just technical debt with an API endpoint.</span></p><h3>The AI Context &amp; Readiness Protocol</h3><p><span>Before you write another line of code or attempt to connect an LLM to your production database, you must audit the system surrounding the model. Stop treating governance as a final review step and start building it directly into your execution layer.</span></p><p>This four-step protocol establishes the minimum engineering controls required before moving an AI system into production.</p><ol><li><p><strong>Unbury Logic from the Presentation Layer</strong></p><p>Extract business rules, calculated measures, and conditional logic out of Power BI reports, Tableau workbooks, and scattered SQL scripts. Centralize those definitions inside your transformation layer (such as dbt or Delta Live Tables) so that human analysts and AI models query the exact same underlying logic.</p></li><li><p><strong>Build a Machine-Readable Enterprise Ontology</strong></p><p>Document your core business entities, relationships, and metrics in a centralized semantic catalog. Provide the AI with explicit metadata regarding table definitions, authoritative sources, metric calculations, and deprecated columns before allowing it to generate SQL queries.</p></li><li><p><strong><span>Isolate Agent Identities and Enforce Storage-Level Security</span></strong><span> Never allow an AI agent to operate through a shared service account or inherit a developer&#8217;s elevated permissions (yes, even if the request came directly from the CFO). Assign every production agent its own explicit identity, and enforce row-level and column-level access controls at the lakehouse layer before data reaches the model.</span></p></li><li><p><strong>Implement Full-Stack Traceability and Kill Switches</strong></p><p>Build observability pipelines that log prompt versions, retrieved source lineage, model parameters, API payload destinations, and explicit user approvals. Provide an immediate operational kill switch that revokes an agent&#8217;s credentials and disables its execution paths instantly if anomalous behavior is detected.</p></li></ol><p><span>What every step in this protocol has in common is simple: it forces you to stop acting like a GUI operator relying on tribal knowledge and start acting like an Architect who builds production-grade data assets.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5M2k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5M2k!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!5M2k!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!5M2k!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5M2k!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5M2k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1613621,&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://gambilldataengineering.substack.com/i/212438606?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5M2k!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!5M2k!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!5M2k!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5M2k!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d4bd6f7-f361-4b41-8766-3fe5c22eec02_1672x941.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"><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"><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"><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"><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><h3>Political and Financial Stakes</h3><p>&#8220;Your data is broken&#8221;. These words should strike fear that your career is  immediately in danger. Data quality is blame management. When an executive gets embarrassing numbers in a board meeting, they don&#8217;t fire the AI vendor. They look for the data engineer who built the pipeline.</p><p>Furthermore, regulatory enforcement is no longer a theoretical debate. The EU AI Act became broadly applicable on August 2, 2026. For organizations within its scope, requirements around system documentation, data quality, human oversight, and continuous monitoring are active legal obligations.</p><p>Existing regulatory frameworks apply just as aggressively. Data privacy laws, industry security standards, and consumer protection mandates don&#8217;t disappear because an output was generated by an LLM.</p><p>The FTC has explicitly warned model providers and commercial enterprises that claims regarding privacy, confidentiality, and data usage will be strictly enforced.</p><p><span>Putting &#8220;AI-powered&#8221; in front of an ungoverned database doesn&#8217;t create a technical or compliance exemption. It just builds a faster, more expensive pipeline to bad decisions.</span></p><h3>Gambill Insight</h3><p><span>Stop hiding behind the Tribal Knowledge Shield. Stop relying on DAX measures as a substitute for real data modeling.</span></p><p><span>The Comfort Zone feels safe because you are the only one who can navigate the mess you created. But in a production environment where businesses demand autonomous systems, that mess makes you a liability.</span></p><p><span>Stop being the &#8220;Oracle&#8221; (still not that Oracle). Start being the Architect.</span></p><p><span>Are you a veteran engineer feeling the walls of the Comfort Zone closing in?</span></p><p>Don&#8217;t<span> wait for a boardroom crisis or a layoff to wake you up. Join the </span><strong><span>Gambill Data Coaching Program</span></strong><span>. We </span>don&#8217;t<span> do happy-path tutorials; we teach you how to build production-grade architectures that survive real-world security and data audits.</span></p><p><span>Want to test your current architecture before a hiring manager or CFO tears it down? Check out the </span><strong><span>Gambill Portfolio Project Generator</span></strong><span> and build systems that prove Code to Cash.</span></p><p><span>Join the </span><a href="http://gambilldata.com/coaching"><span>Gambill Data Coaching Program</span></a></p><p><span>Subscribe on </span><a href="http://youtube.com/@gambilldataengineering"><span>YouTube</span></a><span> for weekly production architectural breakdowns! </span></p>]]></content:encoded></item><item><title><![CDATA[Why AI Won’t Replace Data Engineers (Yet!)]]></title><description><![CDATA[In enterprise data platforms, syntax was never the bottleneck]]></description><link>https://gambilldataengineering.substack.com/p/why-ai-wont-replace-data-engineers</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/why-ai-wont-replace-data-engineers</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 19 Aug 2026 15:03:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3D-5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Your entire value lies in writing python and memorizing SQL syntax.</p><p>That&#8217;s the lie that businesses tell their data engineers. Even if you haven&#8217;t heard those words you feel it when you write something that automates a task that used to take a day per week for your COO&#8217;s admin to pull together. </p><p>Now every vendor video on YouTube makes the same promise: an AI agent reads your source data and is automating you out of your job that you have invested time away from your wife and kids to grow into. </p><p>Then that same AI agent will end up meeting real enterprise data. (Real messy enterprise data). </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3D-5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3D-5!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!3D-5!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!3D-5!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3D-5!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3D-5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/857c9273-576d-45c9-9c5e-d020c1b330fc_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;:2164670,&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://gambilldataengineering.substack.com/i/211809289?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!3D-5!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!3D-5!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!3D-5!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3D-5!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857c9273-576d-45c9-9c5e-d020c1b330fc_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"><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"><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"><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"><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>It hits that 15 year old SAP ERP instance with unexpected German headers, 3 VPs with different values and definitions of &#8220;active customers&#8221;, and a unwritten rule in finance that excludes 3 GL strings from customer service and moves them to &#8220;misc&#8221;. </p><p>The agent generated code that is technically perfect, except for the fact that it produces reports that conflict with monthly reconciliation report from that finance analyst and funnel values from your sales leaders.</p><p>If this sounds familiar, it should, it is the reason (one of many) why data engineers exist, and why they will continue to.</p><h3>Close Loops vs The Distributed Enterprise</h3><p>To understand why LLMs struggle in enterprise data, let&#8217;s take a look at where AI actually excels: closed-loop systems. </p><p>A closed-loop system is deterministic. It has isolated environments and instant feedback. Think about your Leetcode that you shouldn&#8217;t be spending as much time on. Your standalone Python parsers. Your single-function unit tests. In a closed loop, an AI agent can write code, run the test, catch the error, and self-heal in seconds. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!F2Wn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!F2Wn!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!F2Wn!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!F2Wn!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!F2Wn!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!F2Wn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11f59137-6281-400f-b5ae-f0c4a60be5b5_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;:1392138,&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://gambilldataengineering.substack.com/i/211809289?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!F2Wn!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!F2Wn!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!F2Wn!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!F2Wn!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f59137-6281-400f-b5ae-f0c4a60be5b5_1536x1024.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"><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"><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"><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"><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>Enterprise Data Engineering is an open distributed system. It doesn&#8217;t fail because of bad syntax. It fails because you have missing context. </p><ul><li><p>Upstream Chaos: this is when a third-party SaaS vendor silently alters an API payload on Friday afternoon, and you end up working all weekend to fix it.</p></li><li><p>Semantic Divergence: this is when finance calculates MRR on cash collected. Product calculates MRR on active licenses, and both are correct inside of their own parts of the business.</p></li><li><p>Regulatory Boundaries: These are PII masking rules that change depending on whether data is queried from the EU or the US. </p></li></ul><p>Recently, Anthropic submitted a research paper evaluating LLM reasoning. Researchers found that the model performance hits a hard ceiling when now getting ambiguous environments. The variable that caused the evaluation scores to actually increase wasn&#8217;t bigger model weights or longer compute times. It was human-in-the-loop context injection. </p><p>When a human person supplies structured organizational constraints and domain boundaries, AI goes from brittle hallucinations to production assets. </p><h3>The Three Layers of Enterprise Context</h3><p>So, you want to build systems that AI can actually help you accelerate. First, you&#8217;re going to have to separate context into three different architectural layers. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!R6lC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!R6lC!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png 424w, /__u/substackcdn.com/image/fetch/$s_!R6lC!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png 848w, /__u/substackcdn.com/image/fetch/$s_!R6lC!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png 1272w, /__u/substackcdn.com/image/fetch/$s_!R6lC!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!R6lC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png" width="1402" height="1122" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1122,&quot;width&quot;:1402,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1079443,&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://gambilldataengineering.substack.com/i/211809289?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!R6lC!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png 424w, /__u/substackcdn.com/image/fetch/$s_!R6lC!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png 848w, /__u/substackcdn.com/image/fetch/$s_!R6lC!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.png 1272w, /__u/substackcdn.com/image/fetch/$s_!R6lC!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79eb71e0-7025-4a7b-a83c-b1a86e611c87_1402x1122.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"><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"><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"><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"><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><ol><li><p>The Way of Working Context (Operational Layer): <br>This is your baseline engineering discipline. You have repo structures, branch protection, DABs, IaC, and automated CI/CD deployment pipelines. </p></li><li><p>Domain &amp; Semantic Context (Definition Layer):</p><p>This is where your data platform battles are won or lost. An LLM doesn&#8217;t know when status ID equals 4 that an order is technically canceled only if the refund timestamp is populated. If you don&#8217;t define these invariants using tools like Unity catalog data contracts, delta table constraints, or pydantic validation schemas, AI will generate pipelines that silently poison your gold layer because it doesn&#8217;t understand your business! </p></li><li><p>Organizational &amp; Political Context (Governance Layer):</p><p>Who owns the failure when a pipeline breaks? I&#8217;ll give you a hint: it&#8217;s not the AI! What is the fine ops budget threshold before a cross-train spin-up gets throttled? How do we balance CFO compute limits against executive dashboard latency? All of this context doesn&#8217;t exist in any GitHub repo or database catalog. It lives in leadership alignment, business stakeholder interviews, and cross-functional negotiation. </p></li></ol><h3>26 Years, Same Lesson: .dts to Lakehouse</h3><p>Over 26 years in the industry, and I&#8217;ve watched this exact cycle repeat:</p><ol><li><p>In the late 1990s and early 2000s, graphical ETL tools like DTS packages and drag-and-drop SSIS were supposed to eliminate database developers. </p></li><li><p>In the 2010s, Hadoop and cloud warehousing were supposed to come in and automate schema design. Have you seen that big yellow elephant around lately? </p></li><li><p>Today, LLMs and declarative engines like Databricks LakeFlow are supposed to make data engineers obsolete. </p></li></ol><p>In each of these eras, the abstraction layer moved up, boilerplate typing dropped, and the demand for architectural judgment increased.</p><p>By using AI assistance like Cursor or Omnigent on top of Databricks, you&#8217;re not stopping thinking. It just means that you stop wasting four hours writing boilerplate ingestion loops, so you can spend four hours designing deterministic data contracts, optimizing DBU compute costs via liquid clustering, and securing your Lakehouse. </p><h3>Weekly Mission: Are you dictating or architecting?</h3><p>Here is your weekly mission. Audit your current workflow. </p><ul><li><p>Are your business rules written down and coded, or are they stuck in somebody&#8217;s head? If your pipeline logic only exists in your head or the head of your lead that&#8217;s a year and a half from retirement, an AI agent can&#8217;t assist you safely. Be sure that you are coding those invariants into your data contracts! </p></li><li><p>Are you relying on closed-loop code tests? Don&#8217;t test your pipelines by running ad hoc queries in production workspaces! Be sure that you are enforcing automated schema and data quality expectations via something like LakeFlow Expectations, the DQX library, or dbt. </p></li><li><p>Do you know your FinOps unit economics? Can you defend the DBU compute bill of your pipelines to your VP? If you can&#8217;t explain why a job took 230 seconds versus 22 seconds due to data skew, AI is only going to help you waste money quicker. </p></li><li><p>Are you closing the loop with modern protocols? Explore how MCP servers can connect LLMs directly to your catalog metadata, allowing agents to read the schemas without granting unmonitored write access. </p></li><li><p>Does your work solve a business use case or just write code? If your daily update is &#8220;I finished five notebooks today,&#8221; you&#8217;re the one that&#8217;s vulnerable. If your update is &#8220;I reduced ingestion latency by 40 and eliminated duplicate customer records across two of our ERP systems,&#8221; your seat at the table isn&#8217;t going away! </p><p></p></li></ul><h3>Strategy &gt; Syntax</h3><p> AI isn&#8217;t taking your job. An engineer who understands how to feed structured business context into AI systems will comfortably outpace an engineer who refuses to adapt. Stop defining your worth by how fast your fingers can type syntax. Start defining your worth by how defensible your architecture is when production really hits the fan. </p><p>Make the data decision that you can defend six months from now.</p><h3>Resources &amp; Next Steps</h3><ul><li><p><strong>Level Up Your Career:</strong> Ready to move past tutorial hell and build production-grade, SOW-style data lakehouse projects that hiring managers respect? Explore the <a href="https://gambilldata.com/coaching">Gambill Data Coaching Program</a>.</p></li><li><p><strong>Enterprise Advisory:</strong> If your team is struggling with runaway Databricks DBU bills, messy Unity Catalog governance, or migrating to Lakeflow pipelines, book an <a href="https://gambilldata.com/strategy-call/">Architecture Discovery Call</a>.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Live Data Friday: Escaping the 9-to-5, Local Networking, and Live AI Builds]]></title><description><![CDATA[A live session with Databricks&#8217; Scott Haines covering the reality of transitioning from corporate IC to independent consulting, special pop in comments from the great Ryan Dolley helping us to identify the breakout skill of "touching grass", and reinforce the importance of in-person community and why it beats cold outreach, as well as how autonomous coding agents are reshaping technical workflows.]]></description><link>https://gambilldataengineering.substack.com/p/live-data-friday-escaping-the-9-to</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/live-data-friday-escaping-the-9-to</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Sun, 16 Aug 2026 00:32:32 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/211313663/52709ca9abd6ac99b480b1e4c2a0dd12.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>A live session with Databricks&#8217; <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Scott Haines&quot;,&quot;id&quot;:313889692,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cedf883-d877-494e-a59b-5711278b7e8b_1174x1176.png&quot;,&quot;uuid&quot;:&quot;5309b90b-00c8-4e5c-a292-a99ef6c13949&quot;}" data-component-name="MentionToDOM"></span> covering the reality of transitioning from corporate IC to independent consulting, special pop in comments from the great <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ryan Dolley&quot;,&quot;id&quot;:119636891,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e201ba9a-993d-4232-844f-34655bbe09d1_541x541.png&quot;,&quot;uuid&quot;:&quot;346ff3c8-180b-4f4d-9421-2894edc11214&quot;}" data-component-name="MentionToDOM"></span> helping us to identify the breakout skill of "touching grass", and reinforce the importance of in-person community and why it beats cold outreach, as well as how autonomous coding agents are reshaping technical workflows.</p>]]></content:encoded></item><item><title><![CDATA[AURA - Chris Gambill & Shane Gibson]]></title><description><![CDATA[A recording from Chris Gambill and Shagility's live video]]></description><link>https://gambilldataengineering.substack.com/p/aura-chris-gambill-and-shane-gibson-f8b</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/aura-chris-gambill-and-shane-gibson-f8b</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Sat, 15 Aug 2026 02:06:57 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/211214321/86a5e70e666b92373efd13e58fd3eece.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>The future isn&#8217;t &#8220;AI instead of data engineering.&#8221;</p><p>It&#8217;s <strong>AI plus well-structured context, governed logic, versioned rules, and strong feedback loops</strong>.</p><p>That means the teams who win won&#8217;t be the ones blindly vibe coding their futures.</p><p>They&#8217;ll be architecting better systems for deciding:</p><ul><li><p>what survives</p></li><li><p>what gets trusted</p></li><li><p>what gets logged</p></li><li><p>and what gets corrected at the source </p></li></ul><p>If you&#8217;ve ever had to explain why the same customer shows up three different ways across systems, or why a dashboard changed after a metric definition was updated, this discussion will make you feel heard. Come for the insights, stay for the therapy!</p><p><strong>Let me know which part resonates most: MDM, context engineering, semantic layers, or feedback loops. Shane and I do these videos every month, so if you have something you want us to discuss, let us know and we can drive into it!</strong></p><div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="/__u/substackcdn.com/image/fetch/$s_!0j53!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e25fd-9471-4c05-8de5-af204e8a6b46_895x895.png"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Chris Gambill in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="/__u/substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=gambilldataengineering" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[How MDM Broke a Golden Record]]></title><description><![CDATA[14 Typos Beat the Truth]]></description><link>https://gambilldataengineering.substack.com/p/how-mdm-broke-a-golden-record</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/how-mdm-broke-a-golden-record</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 12 Aug 2026 14:55:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5-T-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.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="/__u/substackcdn.com/image/fetch/$s_!5-T-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5-T-!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!5-T-!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!5-T-!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5-T-!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5-T-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1915340,&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://gambilldataengineering.substack.com/i/210337544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5-T-!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!5-T-!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!5-T-!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5-T-!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f5150a-d9cf-4baf-bd3c-3a411b7d8566_1672x941.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"><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"><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"><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"><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>During a call this week with one of my coaching students we were discussing the architecture review of a provider MDM pipeline. We were spot checking golden records generated across a provider database. One record immediately stood out. </p><p>The provider&#8217;s legal name was William. The legal name field in his golden record said &#8220;Illium&#8221;.</p><p>This was not a malicious change, database corruption, or fuzzy matching libraries going off the rails. It was the mathematical result of one naive survivorship rule.</p><p><code>most_frequent_name_wins</code></p><p>A high-value source had repeatedly reported the provider&#8217;s name as Ilium. That incorrect value appeared 14 times, while the correct value only appeared twice. </p><p>The rule he created for the frequency worked exactly as designed. It chose Ilium. Bad data beat the truth 14 to 2. </p><p>When data teams (and most consultants) pitch MDM, they show a clean diagram with several source systems feeding one polished box labeled &#8220;golden record&#8221;. The promise? A unified, trusted view of a real-world entity assembled from fragmented operational data. </p><p>That diagram rarely shows how that record earned the word <em><strong>trusted</strong></em>. </p><p>Deterministic algorithms can select absolutely trash data with complete consistency when its survivorship rules are built on bad assumptions. The dangerous failures are not always the pipelines that crash. Sometimes they are the pipelines that produce the wrong answer quietly, confidently, and on schedule. </p><h2>Matching and Survivorship Are Different Decisions</h2><p>Before we&#8217;re looking at failure, let&#8217;s separate two decisions that MDM implementations often merge together. </p><p><strong>Entity matching asks</strong>: Do these source records describe the same real-world provider? </p><p><strong>Field Survivorship asks</strong>: once those records belong to the same entity, which value should become the legal name? What about the address, phone number, specialty, or other mastered attributes? </p><p>Those two are <em><strong>not</strong></em> the same problem. </p><p>The provider records in this case had already been grouped into one entity cluster. In a production MDM pipeline, that decision should be based on multiple identifying attributes. The name should be one signal, not the only reason records belong together. A legitimate match can contain conflicting field values. In fact, resolving those conflicts is the reason survivorship exists to begin with. </p><p>Whether a cluster is formed through a deterministic anchor or a composite match, the critical failure here happened after the clustering occurred. </p><p>The Survivorship Engine evaluated the Legal Name values inside the Cluster:</p><ul><li><p>Illiam: 14 occurrences</p></li><li><p>William: 2 occurrences</p></li></ul><p> then it applied the rule for the <code>most_frequent_name_wins</code>, with character count used as the tiebreaker. </p><p>But there was no tie. The wrong value won by a landslide! </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!CkXA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!CkXA!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png 424w, /__u/substackcdn.com/image/fetch/$s_!CkXA!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png 848w, /__u/substackcdn.com/image/fetch/$s_!CkXA!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png 1272w, /__u/substackcdn.com/image/fetch/$s_!CkXA!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!CkXA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png" width="863" height="472" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:472,&quot;width&quot;:863,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:104243,&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://gambilldataengineering.substack.com/i/210337544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!CkXA!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png 424w, /__u/substackcdn.com/image/fetch/$s_!CkXA!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png 848w, /__u/substackcdn.com/image/fetch/$s_!CkXA!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.png 1272w, /__u/substackcdn.com/image/fetch/$s_!CkXA!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ba08dc-3c2f-4592-9d70-975bd9ced516_863x472.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"><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"><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"><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"><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>The problem wasn&#8217;t simply that one value appeared more often. The problem was treating each occurrence as independent evidence. Those 14 records were not 14 separate authorities confirming the provider&#8217;s identity. They were one high-volume process repeating the same mistake over and over and over again. That&#8217;s like allowing one witness to cast 14 ballots because they repeated the same statement 14 times! </p><blockquote><p>Frequency measures repetition. It does <em><strong>not</strong></em> establish authority. </p></blockquote><h2>The Anti-Pattern: One Survivorship Rule for Every Field</h2><p>The deep architecture mistake was applying one global survivorship strategy across fields that behave very differently. </p><h3>Legal names and identity attributes</h3><p> legal names do change, but not with the same frequency or operational meaning as contact information. They&#8217;re also vulnerable to abbreviations, transcription errors, stale source values, and inconsistent identity standards. </p><p>For Identity Fields, survivorship should normally prioritize: </p><ul><li><p>an authoritative source;</p></li><li><p>validated identifiers;</p></li><li><p>verification status;</p></li><li><p>effective dates for legitimate changes;</p></li><li><p>steward review when trusted sources disagree.</p></li></ul><p> Raw frequency can be supporting evidence. It shouldn&#8217;t be the final authority. </p><h3>Physical addresses</h3><p>addresses change more frequently and may represent different contexts. Think:</p><ul><li><p>home address</p></li><li><p>mailing</p></li><li><p>billing</p></li><li><p>service</p></li><li><p>shipping</p></li></ul><p> Ten old billing records should not automatically defeat one recently verified address.</p><p>Address survivorship usually needs some combination of:</p><ul><li><p>address type</p></li><li><p>verification or deliverability status</p></li><li><p>most recently confirmed date</p></li><li><p>source system authority</p></li><li><p>effective start and end dates</p></li></ul><h3>Email addresses and phone numbers</h3><p>The longest value is not <em><strong>necessarily</strong></em> best. The most frequent value may be stale. Contact channels should generally be evaluated using verification, consent, deliverability, and recency.</p><h3>Regulated or public identifiers</h3><p>In provider MDM, a validated NPI, or National Provider Identifier, can be a strong deterministic anchor. Records sharing a verified NPI will normally resolve to the same provider unless a conflict or exception rule is triggered. </p><p>That last piece matters. Even strong identifiers can be mistyped, misassigned, copied into the wrong source record, or presented alongside contradictory evidence. &#8220;<strong>Deterministic</strong>&#8221; should mean explainable and controlled, not unable to be challenged. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KfMX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KfMX!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png 424w, /__u/substackcdn.com/image/fetch/$s_!KfMX!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png 848w, /__u/substackcdn.com/image/fetch/$s_!KfMX!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KfMX!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KfMX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png" width="1456" height="983" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:983,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:389494,&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://gambilldataengineering.substack.com/i/210337544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KfMX!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png 424w, /__u/substackcdn.com/image/fetch/$s_!KfMX!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png 848w, /__u/substackcdn.com/image/fetch/$s_!KfMX!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KfMX!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04da6a89-9c53-4239-99d1-b8ffba95df77_3200x2160.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"><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"><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"><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"><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>When one blanket rule is applied across an entire table, silent corruption isn&#8217;t an edge case. It&#8217;s an expected outcome waiting for the right pattern. </p><h2>Why the Obvious Code Fixes Were Wrong</h2><p>when the issue surfaced, the immediate instinct was to change the pipeline:</p><ul><li><p>Lower the fuzzy match threshold</p></li><li><p>Change the distance algorithm</p></li><li><p>Add a hard-coded override for William without the W</p></li></ul><p> None of those addressed the actual failure.</p><p> Changing a global matching threshold to separate one pair of names can break valid matches across millions of other issues. It also confuses matching with survivorship. Those records belong to the same provider cluster. The wrong field value was selected afterwards. Hard coding and if-else correction in PySpark would be worse. That turns a governed data decision into invisible application logic and starts that familiar march toward an unmaintainable swamp of edge-case policies. The pipeline needs to have executive survivorship policies. It shouldn&#8217;t become the place where every disputed business fact is permanently buried in code. </p><p>The immediate correction required two intentional actions:</p><ol><li><p>Correct the source. A data steward traces the incorrect value to its operational origin and corrects the provider name there.</p></li><li><p>We run with lineage intact. Once the source contains the correct value, the entity resolution pipeline reprocesses the cluster and produces the correct golden record. </p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3X5N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3X5N!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!3X5N!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!3X5N!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3X5N!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3X5N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/145eab6a-daa0-470b-a815-6e9da8c6934d_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;:2104080,&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://gambilldataengineering.substack.com/i/210337544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!3X5N!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!3X5N!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!3X5N!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3X5N!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F145eab6a-daa0-470b-a815-6e9da8c6934d_1536x1024.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"><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"><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"><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"><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>Sometimes the immediate fix isn&#8217;t a code fix. It&#8217;s a people and process fix, but that is only an incident response. </p><p>The durable, long-term fix is architectural:</p><ul><li><p>Prevent repeated transactional records from maintaining false authority.</p></li><li><p>Make survivorship rules field-specific.</p></li><li><p>Provide a governed way to resolve conflicts that can&#8217;t be corrected at the source.</p></li></ul><p> If the source system can&#8217;t be changed, use a stewarded override table with a reason, an owner, effective dates, and an audit history. Do not smuggle the override into a notebook and hope that the next engineer finds it and understands why it exists! Automated pipelines are execution engines and not truth arbiters.</p><h2>A Defensible MDM Architecture</h2><p>An MDM architecture that you can defend needs more than fuzzy matching and a final group buy. It needs:</p><ul><li><p>explicit identity anchors</p></li><li><p>confidence bands</p></li><li><p>field-level survivorship</p></li><li><p>reversible lineage</p></li><li><p>operational ownership</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-axm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-axm!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png 424w, /__u/substackcdn.com/image/fetch/$s_!-axm!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png 848w, /__u/substackcdn.com/image/fetch/$s_!-axm!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-axm!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-axm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:449365,&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://gambilldataengineering.substack.com/i/210337544?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!-axm!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png 424w, /__u/substackcdn.com/image/fetch/$s_!-axm!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png 848w, /__u/substackcdn.com/image/fetch/$s_!-axm!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-axm!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30754651-4e67-4789-9dc3-d6e948038b80_3840x2160.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"><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"><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"><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"><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><ol><li><p>Start with deterministic anchors.</p></li></ol><p> Identify the strongest available keys for the domain before applying fuzzy logic. For healthcare providers, a validated NPI or tax ID may provide strong deterministic evidence. For customers or businesses without a universal identifier, like a D&amp;B number, a composite of trusted attributes may be needed. </p><p>Deterministic anchors should accelerate clear matches, not eliminate exception handling. Conflicting identifiers, invalid formats, and suspicious reuse still need explicit controls. </p><ol start="2"><li><p>Use fuzzy matching as evidence, not a verdict.</p></li></ol><p>Fuzzy matching is valuable when names, addresses, and other descriptive fields contain legitimate variations, but a similarity score is evidence about whether records may belong together, not proof that one field value is true. </p><p>Use composite matching across multiple attributes and define confidence bands:</p><ul><li><p>High confidence: merge automatically.</p></li><li><p>Gray: route to stewardship review.</p></li><li><p>Low confidence: keep your records separate.</p></li></ul><p> The gray zone isn&#8217;t a pipeline failure. It&#8217;s the honest admission that some identity decisions require human interaction. </p><ol start="3"><li><p>Configure survivorship by field.</p></li></ol><p>Each master attribute should have an explicit decision policy based on its behavior and risk. </p><p>Here are a few examples:</p><ul><li><p><strong>Legal name:</strong> trusted source, verification status, and effective date.</p></li><li><p><strong>Address:</strong> address type, verification, and recency.</p></li><li><p><strong>Email and phone:</strong> verification, consent, deliverability, and recent confirmation.</p></li><li><p><strong>Provider specialty:</strong> authoritative registry or credentialing source.</p></li><li><p><strong>Public identifier:</strong> format validation, source authority, uniqueness, and conflict rules.</p></li></ul><p> Store these rules as governed confirmation, configuration, or practical. Don&#8217;t scatter them across notebooks, stored procedures, and undocumented conditional logic. </p><p>I like to keep these rules in explicit tables with history tracking so that I know when a rule was created, by whom, and when it was deactivated. </p><ol start="4"><li><p>Preserve source identity in a cross-reference bridge.</p></li></ol><p> Never overwrite original source keys or irreversibly collapse records into the master table. Every generated master ID should map back to its contributing source records through a dedicated cross-reference bridge table that looks something like this. </p><ul><li><p>master_id</p></li><li><p>source_system</p></li><li><p>source_record_id</p></li><li><p>effective_start_date</p></li><li><p>effective_end_date</p></li><li><p>is_active</p></li><li><p>match_method</p></li><li><p>match_confidence</p></li><li><p>decision_owner</p></li></ul><p>This bridge table provides the one lineage needed to explain the golden record, reverse an incorrect merge, and determine which records contributed to each decision. In addition, it the ability to provide a customer 360 view across your data platform. </p><p>Use SCD2 history for relationship changes instead of relying on daily full table snapshots as your only audit mechanism. Full snapshots may have a place for recovery or regulatory retention, but they are a blunt and expensive substitute for explicit entity history. </p><ol start="5"><li><p>Make stewardship part of the operational model.</p></li></ol><p> Someone has to own ambiguous decisions. </p><p>You will need to define:</p><ul><li><p>which confidence band requires review;</p></li><li><p>who can approve a merge or split;</p></li><li><p>how a source correction is requested;</p></li><li><p>when an override is allowed;</p></li><li><p>how the rationale and effective dates are stored;</p></li><li><p>how downstream systems receive corrected results.</p></li></ul><p> If stewardship exists only as a rule that says, &#8220;email the data team, they&#8217;ll fix it,&#8221; it doesn&#8217;t exist. </p><h2>The Larger Lesson</h2><p>Here&#8217;s a short history. </p><ul><li><p>2002: Teams built bad golden records with stored procedures.</p></li><li><p>2015: They built them with map-reduce jobs.</p></li><li><p>Today: They build them with modern, like-house platforms, expensive MDM products, and an LLM wrapper on top.</p></li></ul><p> The tools evolve, but the failure mode doesn&#8217;t. Syntax does not fix strategy. </p><p>If your architecture relies on statistical heuristics without source authority, lineage stewardship, and accountability, you&#8217;re not creating a trusted master record. You&#8217;re actually building an automated system for amplifying whatever errors appear most often. </p><p>The goal isn&#8217;t to eliminate people. The goal is to make those decisions explicit, governed, auditable, and reversible. </p><h2>Weekly Mission: Audit One Golden Record</h2><p>Here&#8217;s a new section I&#8217;m adding to my articles: a weekly mission. This week I want you to pick one mastered entity and answer these five questions, or one entity that you wish was mastered. </p><ol><li><p><strong>Why did each field win?</strong> Can you explain the specific survivorship rule for the legal name, address, email, phone, and identifiers?</p></li><li><p><strong>Are repeated rows manufacturing confidence?</strong> Does one high-volume source get more votes simply because it emits more transactions?</p></li><li><p><strong>Can you trace the full lineage?</strong> Can the Golden Record be mapped back to every contributing source-system key through a 1 bridge?</p></li><li><p><strong>Where is the grey zone?</strong> Which confidence range triggers steward review instead of an automatic merge?</p></li><li><p><strong>How is a bad decision corrected?</strong> Is there a documented path for source correction, governed override, reprocessing, and, when necessary, splitting an incorrect cluster?</p></li></ol><p> If you can&#8217;t answer those questions, the word &#8220;golden&#8221; is doing more work than the architecture actually is. Make the data decision that you can defend six months from now. </p><div><hr></div><p>If your MDM platform can produce a confident wrong answer, the problem is rarely another line of PySpark. It&#8217;s usually the decision design around authority, survivorship, lineage, and stewardship.</p><p>Gambill Data provides independent data strategy and architecture reviews for organizations making consequential platform and governance decisions. If you want a senior, defensible read on your current design, book a <a href="https://gambilldata.com/strategy-call/#schedule">strategy and architecture fit call</a>. </p><p>If you&#8217;re an individual data professional working to build this level of architectural judgment, learn about our <a href="https://gambilldata.com/coaching/#coaching-fit-call">coaching program</a>. </p>]]></content:encoded></item><item><title><![CDATA[7 Competencies That Get Data Engineers Hired in 2026]]></title><description><![CDATA[And the 26-Year Skill Everyone Misses]]></description><link>https://gambilldataengineering.substack.com/p/7-competencies-that-get-data-engineers</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/7-competencies-that-get-data-engineers</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Thu, 06 Aug 2026 00:33:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tOul!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p> A Director of Data and Analytics at a Fortune 500 client recently admitted something to me during an architecture audit. </p><blockquote><p>&#8220;We throw away about 90% of our junior and mid-level data engineering resumes before they even hit the phone screen.&#8221;</p></blockquote><p>But why was that? Well, because most candidates aren&#8217;t presenting proof of production readiness. They&#8217;re presenting tool cosplay! <br><br>Kaggle notebook here, a Titanic CSV cleanup there, maybe a GitHub repo with a two-sentence README, or worse, one with about 300 different emojis in it. Doesn&#8217;t prove that you can manage enterprise data platforms. It shows that you can follow video tutorials. </p><p>If you want to break out of Tutorial Hell and land senior roles, or defend your seat in the age of AI coding tools, you need to demonstrate real engineering judgment. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!tOul!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!tOul!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png 424w, /__u/substackcdn.com/image/fetch/$s_!tOul!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png 848w, /__u/substackcdn.com/image/fetch/$s_!tOul!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png 1272w, /__u/substackcdn.com/image/fetch/$s_!tOul!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!tOul!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png" width="1456" height="795" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:795,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:657601,&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://gambilldataengineering.substack.com/i/210002876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!tOul!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png 424w, /__u/substackcdn.com/image/fetch/$s_!tOul!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png 848w, /__u/substackcdn.com/image/fetch/$s_!tOul!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.png 1272w, /__u/substackcdn.com/image/fetch/$s_!tOul!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d0f06d5-2f94-4658-b06c-355af38b522f_1543x842.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"><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"><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"><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"><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>1. FinOps &amp; Cost Governance (Code-to-Cash)</p><p>Technical elegance is worthless if you end up running up a $50,000 unexpected compute bill. In a multi-tenant cloud environment, code that just works can still be a financial liability. </p><p>So what does this pillar actually prove? It proves that you treat your cloud compute as real money and business impact. </p><p>Here&#8217;s the bar:<br>You don&#8217;t just write PySpark or SQL. You can explain partition pruning, liquid clustering, warehouse right sizing, and automated data retention policies. </p><p>You actually connect query performance directly to dollars saved and business outcomes!</p><p>2. Incident Ownership &amp; Operational Reliability</p><p>Senior engineers don&#8217;t write code for the happy path. They write code for those moments that they have to wake up at 3 a.m. when production emergencies hit because a pipeline failed. </p><p>What this pillar actually proves is how you design for the inevitable system failures rather than hiding from them. <br><br>Here&#8217;s the bar:</p><ul><li><p>You stop building logic in blanket try-accept blocks that swallow your errors.</p></li><li><p>You implement structured logging.</p></li><li><p>You put in CI/CD test gates.</p></li><li><p>You add in idempotent processing, </p></li><li><p>and you are doing post-mortems when things fail or break.</p></li></ul><p><strong>3. Data Governance &amp; Quality Guardrails</strong></p><p>Bad data corrupts downstream dashboards, weaponizes AI models, and deteriorates business trust. Treating data quality as a chore is why stakeholders stop trusting reports. </p><p>Here&#8217;s what this one proves: proves that you act as a gatekeeper against bad data from entering your lakehouse. </p><p>So here&#8217;s the bar:</p><ul><li><p>You&#8217;re building declarative data contracts using Pydantic or Great Expectations.</p></li><li><p>You are routing bad records to dead letter queues.</p></li><li><p>You&#8217;re enforcing PII masking, </p></li><li><p>and you&#8217;re managing access across your Unity Catalog or Fabric.</p><p></p></li></ul><p>4. Data Modeling &amp; Core Storage Architecture</p><p>Tooling changes all the time, but solid data modeling remains the foundation of data engineering high-performance analytics. </p><p>Here&#8217;s what this proves: you understand how to structure storage for query speed, auditability, and long-term scale. </p><p>Here&#8217;s the bar:</p><ul><li><p>You&#8217;ve mastered dimensional modeling. </p></li><li><p>You know how to implement medallion architecture. </p></li><li><p>You have a clear understanding of slowly changing dimensions and which one to use when. </p></li><li><p>You understand how to look at SQL execution plans so that you can eliminate things like table reads and network shuffles. </p></li></ul><p>5. System Architecture &amp; Trade-Off Fluency</p><p>Freshers end up picking tools based on hype. Senior architects pick tools based on system constraints and team skills. </p><p>This pillar proves that you can evaluate technical decisions using business realities instead of just hyped up vendor marketing. </p><p>And here&#8217;s the bar: You can state design trade-offs in one clear sentence.</p><ul><li><p>Consistency vs availability vs latency vs cost</p></li><li><p>When batch processing meets streaming</p></li><li><p>When external tables are better than managed tables</p></li><li><p>When to use serverless compute vs managed clusters</p></li></ul><p>6. Business Alignment &amp; Decision Support (Strategy &gt; Syntax)</p><p>For those of you that have been reading, you know that I love this pillar: strategy over syntax! If you can&#8217;t link your pipeline to a business decision, then you&#8217;re a cost center instead of a strategic asset. </p><p>This pillar proves that you can build data platforms that truly help businesses move forward or move the needle, if you want to use the current business term. </p><p>And here&#8217;s the bar. </p><p>You can define clear service level objectives with your business stakeholders. You measure success by time saved, risk mitigated, or revenue protected, not just row counts processed. </p><p>7. Technical Adaptability &amp; Architectural Resilience</p><p>Tools and syntaxes end up depreciating rapidly, but foundational architecture principles remain constant across technology cycles. </p><p>This one is actually <em><strong>so</strong></em> important, and it proves that you possess the foundational principles required to navigate technology shifts over time instead of anchoring your career to a single tool platform or syntax. </p><p>And here&#8217;s the bar here. You are able to transition across technology eras from legacy ETL to Hadoop to modern cloud lakehouses and AI coding assistance, like Cursor or Omnigent. You can do all of this without losing any of your operational control. You&#8217;re able to leverage AI to accelerate delivery and still act as the building inspector who is auditing your execution plans, your security card rails, and your cost applications. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!IwEU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!IwEU!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png 424w, /__u/substackcdn.com/image/fetch/$s_!IwEU!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png 848w, /__u/substackcdn.com/image/fetch/$s_!IwEU!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png 1272w, /__u/substackcdn.com/image/fetch/$s_!IwEU!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!IwEU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png" width="1456" height="355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:355,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:333331,&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://gambilldataengineering.substack.com/i/210002876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!IwEU!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png 424w, /__u/substackcdn.com/image/fetch/$s_!IwEU!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png 848w, /__u/substackcdn.com/image/fetch/$s_!IwEU!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png 1272w, /__u/substackcdn.com/image/fetch/$s_!IwEU!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52d2d17-40ff-47df-90d6-589da0e8c0e0_1551x378.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><h2>Your Mission&#8230; Should you choose to accept it</h2><p>The Portfolio Audit</p><p> I want you to take 30 minutes this week and review your current projects and your resume bullet points. Run it through this gauntlet! </p><ul><li><p><strong>Kill the generic projects:</strong> Replace Kaggle/Titanic dashboards with custom, problem-driven architectures.</p></li><li><p><strong>Add a FinOps metric:</strong> Show how you reduced scan volumes or optimized cluster compute time.</p></li><li><p><strong>Include a &#8220;Post-Mortem&#8221;:</strong> Document a pipeline failure, why it happened, and how you engineered the fix.</p></li><li><p><strong>Enforce a Data Contract:</strong> Show how bad data gets quarantined before reaching Gold tables.</p></li><li><p><strong>Update your README:</strong> Write your project documentation like an enterprise handoff spec, explaining the business context and architectural trade-offs.</p></li></ul><p> Now, build proof that gets you hired! </p><p><span>If this is making you question where you currently stand: or whether your current skills are preparing you for where data engineering is heading: you can book a no-obligation </span><a href="https://calendly.com/chris-gambill-gambilldataengineering/coaching-program-discussion"><span>coaching fit call</span></a><span> with me.</span></p><p><span>We&#8217;ll look at your career direction, your technical judgment, and the next capability you need to build.</span></p>]]></content:encoded></item><item><title><![CDATA[Why Your AI Assistant Is Making You A Poor Engineer]]></title><description><![CDATA[And The Skill I'm Building to Fix It]]></description><link>https://gambilldataengineering.substack.com/p/why-your-ai-assistant-is-making-you</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/why-your-ai-assistant-is-making-you</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 29 Jul 2026 15:25:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PY-7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You are vibe coding your way into a career dead end. </p><p>You are right now sitting in front of Cursor or Claude Code. You&#8217;re dumping a raw repository prompt into an agent harness and generating a 500+ line PySpark pipeline, and then blindly hitting merge. You think you&#8217;re multiplying your productivity. </p><p>You think AI has transformed you into a high-leverage architect overnight, but you&#8217;re wrong. You&#8217;re just an expensive copy and paste operator blowing tokens on something that we used to do by copying and pasting Stack Overflow responses. </p><p>When that pipeline ends up stalling in production at 2 a.m. because an agent hallucinated column transformations that don&#8217;t exist in your DeltaLite schema, who do you think is going to get that on-call alert? Who is going to have to stand up in front of the VP of Finance and justify why your cloud compute bill doubled while their monthly finance reports still aren&#8217;t right? </p><p>Who is going to shoulder all of that blame? I&#8217;ll give you a hint, it&#8217;s not your AI. </p><p>The industry is rapidly filling up with engineers who blindly let their LLMs write code that they don&#8217;t understand, inside workspaces that they don&#8217;t govern, and using agent sessions that they never clean up. You end up trading your technical discipline for short-term speed.</p><p><strong>You aren&#8217;t multiplying your enterprise value: you are multiplying your technical debt at <a href="https://platform.claude.com/docs/en/about-claude/pricing">$25 per million Opus 5 output tokens.</a> (You know that is what you are using!)</strong></p><h2>The Reality About Ungoverned Agents</h2><p>Now, I don&#8217;t blame you for taking the easy path. 26 years ago, when new IDEs and automated tools made bad logic fast, I fell into that same exact trap. Feels good to move fast. You get that hit of dopamine that you accomplished something, even if it was really the AI doing it. Gives you a temporary high just to see that screen scroll with hundreds of lines of working code in mere seconds. </p><p>However, speed without direction and guidance is just faster collision with production reality and loss of business trust.</p><p>Let&#8217;s look at a real engineering problem rather than some canned tutorial dataset: Ingesting raw NOAA weather telemetry into Databricks medallion architecture using PySpark, Delta Lake, and Unity Catalog. On paper, the blueprint is pretty straightforward.</p><ul><li><p><strong>Bronze: This is your receiving dock for all your raw JSON payloads containing nested weather station metrics, your quality flags, and all of your irregular timestamps.</strong></p></li><li><p><strong>Silver: The sorting floor where your schemas are enforced, your structure types are flattened, your null ratings are quarantined, and records are deduplicated based on station ID and observation time.</strong></p></li><li><p><strong>Gold: The storefront where your business roll-ups, your daily temperature extremes, and climate analytics are all modeled into star schema for high-concurrency executive reporting.</strong></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!QVsO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!QVsO!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!QVsO!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!QVsO!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QVsO!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!QVsO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdb75d60-ecec-4363-a447-150d9a11091b_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;:1440693,&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://gambilldataengineering.substack.com/i/208778752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!QVsO!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!QVsO!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!QVsO!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QVsO!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb75d60-ecec-4363-a447-150d9a11091b_1536x1024.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"><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"><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"><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"><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>If you just point to an unguided AI agent at a blank repo and say, &#8220;Build me a NOAA weather ingestion pipeline,&#8221; it will one shot build it, and it will run.</p><p>It is also going to hard-code your storage credentials, mix complex aggregation logic into your bronze landing layer, drop your schema validation rules, and write unoptimized full table scans that are going to burn your Databricks DBUs.</p><p>And when you accept that pull request without understanding the underlying platform architecture, you haven&#8217;t solved the business problem. You just created an unauditable, unmaintainable piece of tech debt that is going to fail the exact moment your source data schema drifts!</p><p>Gen.ai makes writing syntax trivial, but syntax was never the bottleneck. Strategy is.</p><h2>Hacking Meta-Harnesses With Scott Haines</h2><p>Last week I sat down for a livestream on what I have dubbed Live Data Friday with my friend Scott Haines. Scott is a staff developer advocate at Databricks and co-author of Learning Spark as well as Delta Lake: The Definitive Guide, and we spent our session digging Databricks&#8217; most recent open-source project called Omnigent.</p><p>Omnigent is a meta-harness where, instead of forcing you to work in isolated silos where Cursor knows one thing, clob knows another, and codex is completely blind to both, Omnigent links multiple agent harnesses together over a shared local workspace. It creates a single execution pane where your sub-agents can collaborate and debate across the same repository.</p><p>The promise of the meta harness is context orchestration. As Scott and I began driving Omnigent through real refactoring tasks, we ran head first into one of the core failures of modern AI workflows, and that&#8217;s context bloat.</p><p>When you have three sub-agents executing terminal commands, running unit tests, inspecting directories, and fixing syntax errors, they generate this massive operational just noise. Terminal output, stack traces, failed git commits, raw markdown files all get dumped directly into that session buffer.</p><p>Keep feeding that raw, unorganized session history back into the LM, and the model doesn&#8217;t get smarter, it gets confused. Recent research and live production tests prove that repeating instructions or cluttering an active context window actually lowers model confidence and causes hallucination rates to increase. When an agent has to process 150,000 tokens of raw, trial-and-error chatter just to write a 10-line SQL join, it loses track of your original constraints.</p><p>Raw context becomes absolutely a liability, and distilled memory becomes your asset&#8230; but how do you do that?</p><p>You can&#8217;t run enterprise platforms on agent context windows that look like your junk drawer. That&#8217;s why I started working on the dreaming skill, and Scott&#8217;s helped me on our stream to refine and demonstrate it.</p><h2>But What Is The Dreaming Skill?</h2><p>Your brain does not retain every single raw sensory detail from every day of your life. When you fall asleep at night, your brain carries out a critical distillation process. It discards the clutter, compresses all of your repeated experiences, consolidates core lessons, and puts it all into your long-term memory. You wake up the next morning with a clear mental status. This is also why sometimes you wake up at 3 am realizing how to solve a problem in your code from the previous day. </p><p>AI agents need that same operational discipline, that same process.</p><p>Anthropic touched on the concept with their research into agentic memory distillation, but I wanted to take that theory and apply it directly to data engineering inside of Omnigent, inside of this meta harness.</p><p>The dreaming skill takes that messy raw chatter of a long coding session, discards all the transient terminal logs and failed syntax attempts, and distills all that into core ground truth in a lightweight structured memory file, such as agents.md or, in this case, a project dream file.</p><p>Instead of forcing your sub-agents to read 100,000 tokens of historical trial and error every time it boots up, the model reads a 2 KB distilled snapshot of what your architecture rules are.</p><p>During our stream, Scott installed the skill locally, pointed it at our repository, and asked Claude to run a dream cycle. The agent scanned the existing codebase and identified that our project was tracking instruction sets across Claude.md and agents.md, and updated its internal search scripts to handle both file structures.</p><p>When the GitHub API through a transient 500 server error while Scott was trying to push the changes, the agent didn&#8217;t panic or dump garbage into the workspace. It identified the transient failure, retried the operations, opened a clean pull request, and provided a concise summary of architectural changes that it made.</p><p>That is the difference between an unguided prompt and a governed agent. GUIs are for operators, code is for engineers, and your distilled dream context is for the architects.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!PY-7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!PY-7!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!PY-7!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!PY-7!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!PY-7!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!PY-7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c789c4a-3298-4c4a-80d7-e2cce644cb64_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;:1501311,&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://gambilldataengineering.substack.com/i/208778752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!PY-7!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!PY-7!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!PY-7!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!PY-7!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c789c4a-3298-4c4a-80d7-e2cce644cb64_1536x1024.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"><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"><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"><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"><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>Strategy &gt; Syntax: What models to use for which workloads?</h2><p>One of the concepts that are built into Omnigent when you&#8217;re docked inside of Databricks is the intelligent router. That intelligent router analyzes the question and routes the context to the agent best suited to answer the question.</p><p>I know you&#8217;re all out there using Opus 5 right now, probably max, for everything that you&#8217;re doing, because why not? That&#8217;s what you want: the best agent for everything, right? Well, it&#8217;s not an efficient use of your tokens, and it&#8217;s not an effective way to work.</p><p>During our sessions, one of the concepts that Scott and I brought up was a simple real-world metaphor, and that&#8217;s the grocery store. Each week, you sit down at the start of the week to plan your family&#8217;s meals. You use your high reasoning, strategic part of your brain. You balance your budgets, look at everybody&#8217;s schedules, evaluate what you need to prepare for the week, and then you write a precise list of ingredients and things that you need at the store.</p><p>When you get to the grocery store, you don&#8217;t need that high-level strategic reasoning to pick up a carton of milk from the shelf. Just follow the list! When you walk into the store without a list and try to plan your entire week&#8217;s architecture while standing in the cereal aisle, you end up with a shopping cart full of junk food and half the ingredients missing for dinner.</p><p>That is exactly how most developers misuse AI models. They dump raw, unorganized prompts into high-tier reasoning models like Opus 5 or GPT-5.6 Sol and ask them to generate basic boilerplate SQL or write routine PySpark wrappers. Then they&#8217;re burning high-tier API budgets on low-ROI tasks. The right way to build data pipelines with AI agents is to split your planning from your execution.</p><ol><li><p>The architect phase. This is where you use your high-tier models. You&#8217;re using a top-tier reasoning model like Opus 5 to evaluate your system trade-offs. Define your governance rules. Establish your medallion-schema boundaries, and you&#8217;re using a plan to do this. It writes all the ground truth specifications and your detailed plan or your grocery list into your Agents.md file.</p></li><li><p>Next is your execution phase. This is where you&#8217;d use your mid-tiered models. Think GPT-5.6 terra instead of sol. Think sonnet instead of Opus. The execution agent doesn&#8217;t need to guess the architecture decisions that it should make or understand what the partitioning strategy is, because that&#8217;s all baked into your plan. It reads that to kill pipe dream file that just got distilled from your plan by using the drain skill and executes that exact PySpark transformation required for your bronze-to-silver clean steps. (In Databricks, hopefully you are using declarative pipelines with expectations for your quality rules.)</p></li></ol><p>When we applied the strategy to our NOAA weather repository, architecture fell into place naturally.</p><ul><li><p>The strategic planner established that bronze_prod.NOAA must remain an immutable append-only ledger of all the raw JSON script strings with added ingestion metadata.</p></li><li><p>It specified that our silver_prod.weather must enforce type schemas for station IDs, convert raw observation timestamps to UTC, and quarantine invalid air temperature ratings.</p></li><li><p>It defines Gold_prod.climate_analytics as a dimensional model structured strictly for low-latency BI queries.</p></li></ul><p>After all those rules were locked into the project&#8217;s distilled memory, the mid-tier execution subagents wrote the logic cleanly without hallucinating schemas or breaking UC naming permissions.</p><p>In my previous article, &#8220;<a href="/__u/gambilldataengineering.substack.com/p/the-10-year-junior">The 10-Year Junior,</a>&#8221; I wrote about experienced developers who get trapped in the comfort zone because they end up relying on vendor GUIs and tribal knowledge rather than mastering the core engineering principles. Today, the new comfort zone is unmonitored AI usage, relying on an LLM to hold all of your architecture without enforcing any type of distilled memory file. That&#8217;s simply the modern incarnation of tribal knowledge shields.</p><h2>The Agent Memory Governance Protocol</h2><p>Now, if you want to transition from an operator who blindly accepts LLM code diffs to an architect who governs AI execution plans, you need a repeatable operational framework. Here is the five-step protocol for managing agent memory in production data engineering.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!GyNe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!GyNe!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png 424w, /__u/substackcdn.com/image/fetch/$s_!GyNe!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png 848w, /__u/substackcdn.com/image/fetch/$s_!GyNe!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GyNe!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!GyNe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png" width="724" height="407.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:712420,&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://gambilldataengineering.substack.com/i/208778752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!GyNe!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png 424w, /__u/substackcdn.com/image/fetch/$s_!GyNe!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png 848w, /__u/substackcdn.com/image/fetch/$s_!GyNe!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GyNe!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c959f39-7104-4c6e-aae3-0749219b74a9_1280x720.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"><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"><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"><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"><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><h3>Step 1: Separate Strategy from Execution</h3><p>Never allow an execution agent to actually touch your repo without a pre-approved specification file (your /plan) Use your highest reasoning models strictly to plan your system boundaries, define table contracts, write structure, and all constraints into an explicit markdown file, then pass that specification to your lower tier models for the actual work.</p><h3>Step 2: Execute Daily Memory Distillation (The Dream Pass)</h3><p>At the end of every feature build or debugging session, invoke a dreaming pass. Instruct your agent harness to: </p><p>&#8226;&#9;scan your active workspace</p><p>&#8226;&#9;discard transient terminal outputs and failed syntax attempts</p><p>&#8226;&#9;compress new architectural decisions</p><p>&#8226;&#9;write the updated state back to your memory file</p><p>Then start a new context window pointing to that dream file. </p><p>This is what the dream skill we are working on is doing&#8230; (<a href="https://github.com/cg1262/dreaming-skill">dreaming-skill repo</a>)</p><h3>Step 3: Lock down Workspace Security Boundaries</h3><p>Now, before opening a shared agent session or hooking multiple harnesses into Omnigent, audit your workspace security. Verify that local tools and file search utilities explicitly ignore .env files, git credentials, and production access tokens. Never give an AI agent unsandboxed access to an environment that holds your credentials!</p><h3>Step 4: Prosecute the Diff</h3><p>Every pull request generated by an agent should be treated like it is code written by a junior on their first day. Never click merge without reviewing every single line of code! </p><p>Look specifically for: </p><p>&#8226;&#9;optimized joins</p><p>&#8226;&#9;dropped data quality checks</p><p>&#8226;&#9;missing transaction boundaries</p><p>&#8226;&#9;hard-coded literals</p><p>&#8226;&#9;for spark table writes&#8230; overwrite mode instead of append or merge</p><p>Only then should you actually merge back into main. </p><h3>Step 5: Audit Token &amp; Compute Efficiency</h3><p>Evaluate all of your agent workflows through a strict FinOps lens. Make sure that you are understanding how many tokens your agents consume relative to the actual business value of the code that you&#8217;re producing. If an agent session burns 200,000 tokens to output a basic data transformation, your context is unorganized! Refactor your memory files until your agents can execute tasks in tight, high-confidence bursts, or write it yourself. Notice what every single step in this protocol has in common. Each step requires a human in the loop who understands how production platforms actually work and actually break. Managing AI agents isn&#8217;t about writing clever prompts or using the brand-new frontier models. </p><p>It&#8217;s about:</p><ul><li><p>enforcing platform governance</p></li><li><p>ensuring idempotency</p></li><li><p>making sure that you&#8217;re not blowing up your cloud compute bill</p></li><li><p>and modular, maintainable code</p></li></ul><h2><a href="https://gambilldata.com">Gambill Insight</a></h2><p><span>AI will not replace data engineers. It is however the next evolution of your skillset. Just like engineers who blindly copy-pasted code from stack, those that don&#8217;t understand the output, are able to effectively guide it, and have a solid understanding of the foundations, will be left behind.</span></p><p><span>Stop using AI as a crutch to avoid critical thinking. Start using it as a disciplined force multiplier for platform architecture.</span></p><p><span>If your enterprise engineering team is spending thousands on AI tools and cloud compute without seeing reliable, production-grade outputs, stop guessing. </span><strong><span>[</span><a href="https://calendly.com/chris-gambill-gambilldataengineering/strategy-intro"><span>Book a Strategy Call with Gambill Data</span></a><span>]</span></strong><span>. We audit architectures, implement governance, and build platforms that survive the boardroom.</span></p>]]></content:encoded></item><item><title><![CDATA[Live Data Friday! ]]></title><description><![CDATA[Scott Haines and I talk about agents and dreams!]]></description><link>https://gambilldataengineering.substack.com/p/live-data-friday</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/live-data-friday</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Fri, 24 Jul 2026 22:03:50 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/207495874/a01fed783ba9e75e58414a121a9198e2.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Thank you to everyone who tuned into my live video! Join me for my next live video in the app.</p><div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="/__u/substackcdn.com/image/fetch/$s_!0j53!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5e25fd-9471-4c05-8de5-af204e8a6b46_895x895.png"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Chris Gambill in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="/__u/substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=gambilldataengineering" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[The Data Team Maturity Ladder]]></title><description><![CDATA[Most "maturity initiatives" are organizations skipping to the last chapter and calling it growth.]]></description><link>https://gambilldataengineering.substack.com/p/the-data-team-maturity-ladder</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/the-data-team-maturity-ladder</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Thu, 23 Jul 2026 00:06:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VPuk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here is a claim that will annoy every process owner who reads it: </p><blockquote><p>The majority of maturity initiatives I audit are not maturity initiatives. </p></blockquote><p>They are organizations reaching for the controls of a mature company without building any of the capabilities those controls assume exist.</p><p>I wrote recently about a director who announced a blanket 24-hour lead time on change tickets and called it &#8220;an organizational maturity step&#8221; (that piece is A Calendar Is Not a Control, and this is its bigger brother). The rule was bad, but the rule isn&#8217;t the interesting part. The interesting part is what that organization looks like underneath the rule.</p><p>No CI/CD in the data team. No true orchestration, just jobs firing on timers and hope. No access request flow, so permissions travel by DM and goodwill. No standardized change intake, so every ticket is a different shape. And governance that means something different in every department that says the word.</p><p>Now re-read the policy&#8230; every change must be submitted 24 hours in advance for review.</p><p>Review <em>what</em>, exactly? There&#8217;s no pipeline producing a diff. No deployment history to compare against. No dependency graph to check blast radius. No access model to verify who can even touch the thing. The board is being asked to inspect a shipment with no manifest, no packing list, and no seal on the container.</p><p><strong>You can&#8217;t govern what you can&#8217;t diff.</strong></p><p>That single sentence is why maturity is sequential with dependencies&#8230; just like your pipeline. Skip the sequence and every downstream control fails silently, because the artifacts it was designed to inspect were never built.</p><h2>The Ladder</h2><p>I use a five-stage ladder when I audit an organization&#8217;s operating maturity. It applies to IT broadly, but I&#8217;m going to walk it as a data team ladder, because data teams are where I keep finding organizations standing on rung one while announcing rung-four policies.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VPuk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VPuk!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png 424w, /__u/substackcdn.com/image/fetch/$s_!VPuk!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png 848w, /__u/substackcdn.com/image/fetch/$s_!VPuk!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VPuk!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VPuk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png" width="560" height="554" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:554,&quot;width&quot;:560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:504771,&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://gambilldataengineering.substack.com/i/205792040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!VPuk!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png 424w, /__u/substackcdn.com/image/fetch/$s_!VPuk!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png 848w, /__u/substackcdn.com/image/fetch/$s_!VPuk!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VPuk!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4648cdd8-d941-4046-b9ff-8cf701bd63db_560x554.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"><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"><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"><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"><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>Two rules about the ladder before we climb it. First, you cannot skip rungs. Each stage produces the raw material the next stage consumes. Second, the most dangerous place on the ladder isn&#8217;t the bottom. It&#8217;s the stage where things <em>feel</em> orderly, because feeling orderly kills the budget appetite for becoming safe.</p><h3>Stage 1: The Cowboy Stage</h3><p><strong>You know you&#8217;re here when:</strong> changes go straight to production, the deploy process is &#8220;Dave does it,&#8221; and the incident response plan is Dave&#8217;s cell number.</p><p>There&#8217;s no version control worth the name, no separation between where you experiment and where the business runs, and knowledge lives in heads instead of repos. If you&#8217;ve read The 10-Year Junior, you&#8217;ve met the residents: capable people who&#8217;ve been allowed to operate without discipline for so long that the org can no longer tell the difference between experience and tenure.</p><p>The stage-one organization isn&#8217;t lazy. It&#8217;s usually fast, and that&#8217;s the problem. Cowboy shops deliver quickly right up until the day they don&#8217;t, and then nobody can reconstruct what changed, when, or why. The business reads that day as &#8220;the data team is unreliable.&#8221; The truth is the organization never bought reliability. It bought speed on credit, and the invoice arrives as an outage.</p><p><strong>The way out:</strong> version control on everything, environment separation, and a rule with no exceptions: if it isn&#8217;t in Git, it didn&#8217;t happen. This is not a tooling purchase. It&#8217;s a behavioral one.</p><h3>Stage 2: The Paperwork Stage</h3><p><strong>You know you&#8217;re here when:</strong> there are forms, tickets, lead times, and a recurring meeting, and none of them have ever caught a defect.</p><p>This is where the organization I described lives, and it&#8217;s where most organizations stall for years. Someone senior notices the chaos of Stage 1 and reaches for the lever that&#8217;s cheapest to pull: administration. Mandatory fields. Approval chains. A 24-hour rule.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Ng8t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Ng8t!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png 424w, /__u/substackcdn.com/image/fetch/$s_!Ng8t!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png 848w, /__u/substackcdn.com/image/fetch/$s_!Ng8t!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Ng8t!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Ng8t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png" width="551" height="547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:547,&quot;width&quot;:551,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:509517,&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://gambilldataengineering.substack.com/i/205792040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Ng8t!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png 424w, /__u/substackcdn.com/image/fetch/$s_!Ng8t!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png 848w, /__u/substackcdn.com/image/fetch/$s_!Ng8t!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Ng8t!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f39f3e6-6810-4cff-819b-89e82f00692c_551x547.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"><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"><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"><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"><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>And the meetings genuinely do get calmer. That&#8217;s the trap I named the Ceremony Trap, and it&#8217;s lethal precisely because it works on the observable surface. Leadership sees order and concludes safety. But nothing about the change itself got safer, because the paperwork wraps the same undisciplined work Stage 1 was producing. The ticket is a nicer envelope on the same unreviewed contents.</p><p>Here&#8217;s the tell that separates paperwork from progress: ask when the review process last rejected something for a technical reason, and what happened next. In a Paperwork Stage org the answer is &#8220;never,&#8221; or worse, &#8220;once, and the team just resubmitted the same thing with a longer description.&#8221;</p><p><strong>The way out:</strong> stop investing in the envelope. Take the energy going into intake forms and spend it one rung up, on the discipline that gives the paperwork something real to describe.</p><h3>Stage 3: The Discipline Stage</h3><p><strong>You know you&#8217;re here when:</strong> a change is a pull request, a deployment is a pipeline run, and &#8220;who has access to this table&#8221; is a query, not an investigation.</p><p>This is the rung the organization above skipped entirely, and it&#8217;s the load-bearing rung of the whole ladder. Stage 3 is where the engineering fundamentals arrive:</p><ul><li><p><strong>CI/CD for data work.</strong> Transformations deploy through a pipeline with tests, not through someone pasting SQL into a production notebook. Now every change has a diff, a test result, and a rollback path. Now, and only now, does a change ticket contain something a reviewer can actually review.</p></li><li><p><strong>Real orchestration.</strong> Dependencies are declared, not remembered. When the finance load fails, the system knows what downstream jobs to hold. Blast radius stops being folklore and becomes a graph you can query. You cannot classify a change&#8217;s risk if nobody can tell you what depends on it.</p></li><li><p><strong>Access request flows.</strong> Permissions granted through a request, tied to a role, with an audit trail. This one deserves a hard look in the mirror: an organization that makes a schema change wait 24 hours for review while production access gets granted in a Slack thread is guarding the front gate of a building with no back wall. When the auditor comes, and in regulated industries the auditor always comes, the access sprawl is the finding, not the ticket lead time.</p></li><li><p><strong>Standardized intake.</strong> One change request shape, with required artifacts: the diff, the rollback plan, the affected assets. Not because forms are virtuous, but because a reviewer can&#8217;t compare risk across tickets that don&#8217;t share a structure.</p></li></ul><p>Notice what Stage 3 actually is. It&#8217;s the Paperwork Stage&#8217;s promises, kept by engineering instead of administration.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hk6P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hk6P!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png 424w, /__u/substackcdn.com/image/fetch/$s_!hk6P!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png 848w, /__u/substackcdn.com/image/fetch/$s_!hk6P!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hk6P!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hk6P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png" width="546" height="545" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:545,&quot;width&quot;:546,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:480677,&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://gambilldataengineering.substack.com/i/205792040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!hk6P!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png 424w, /__u/substackcdn.com/image/fetch/$s_!hk6P!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png 848w, /__u/substackcdn.com/image/fetch/$s_!hk6P!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hk6P!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7255a8d3-d51f-4137-8fbd-e87e95558cbe_546x545.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"><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"><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"><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"><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><strong>The way out is the way in:</strong> pick the highest-traffic pipeline, put it under CI/CD end to end, and use it as the reference implementation everything else migrates toward. Do not attempt all four fundamentals org-wide simultaneously. That&#8217;s how discipline initiatives die.</p><h3>Stage 4: The Lane Stage</h3><p><strong>You know you&#8217;re here when:</strong> different changes take different paths, and the person approving a change could have personally caught its failure mode.</p><p>With Stage 3 producing real artifacts, risk classification finally becomes possible instead of performative. Standard changes get pre-approved runbooks and just flow. Normal changes get review scaled to their blast radius, and that review happens in lanes: the data platform owner approves data changes, because a generic board that can&#8217;t tell a Delta table from a dinner table approves everything and catches nothing. Emergency changes get an expedited path, because production doesn&#8217;t wait for Thursday&#8217;s meeting.</p><p>This is where the Change Lane Protocol from the companion piece lives, and this is the stage the 24-hour rule was cosplaying. The difference between a Stage 2 lead time and a Stage 4 lead time is that the Stage 4 version is a function of risk, backed by artifacts, enforced by someone competent to judge them. Same calendar. Entirely different control.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hqNN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hqNN!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png 424w, /__u/substackcdn.com/image/fetch/$s_!hqNN!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png 848w, /__u/substackcdn.com/image/fetch/$s_!hqNN!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hqNN!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hqNN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png" width="551" height="561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:551,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:596292,&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://gambilldataengineering.substack.com/i/205792040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!hqNN!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png 424w, /__u/substackcdn.com/image/fetch/$s_!hqNN!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png 848w, /__u/substackcdn.com/image/fetch/$s_!hqNN!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hqNN!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c744a2-16b1-4ee1-9860-13adcfcbeb9f_551x561.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"><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"><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"><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"><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><strong>The way out, if you&#8217;re stuck here:</strong> the usual Stage 4 failure is lanes on paper with a bottleneck in practice, one heroic approver drowning in tickets. The fix is pushing more volume into the standard-change runbooks so human judgment is spent only where it compounds.</p><h3>Stage 5: The Platform Stage</h3><p><strong>You know you&#8217;re here when:</strong> governance stops being a meeting and becomes infrastructure.</p><p>The controls move into the platform itself. The pipeline blocks the deploy that fails tests; no human needed. The catalog enforces who reads what; access review is a report, not a project. Change failure rate is tracked and correlated to incidents, so the organization can finally answer the only question that matters about its own process: is this working?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!mhg4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!mhg4!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png 424w, /__u/substackcdn.com/image/fetch/$s_!mhg4!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png 848w, /__u/substackcdn.com/image/fetch/$s_!mhg4!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mhg4!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!mhg4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png" width="552" height="560" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:560,&quot;width&quot;:552,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:409177,&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://gambilldataengineering.substack.com/i/205792040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!mhg4!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png 424w, /__u/substackcdn.com/image/fetch/$s_!mhg4!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png 848w, /__u/substackcdn.com/image/fetch/$s_!mhg4!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mhg4!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b51956-2b5b-48a3-b619-22be136d6fdd_552x560.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"><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"><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"><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"><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>If you&#8217;ve read The Medallion Masterclass, you already know the destination: governance is the architecture. Stage 5 is that principle applied to how change itself moves through the organization. The board still exists up here, but it has been demoted to what it was always good at, coordination and cross-team trade-offs, and relieved of the gatekeeping job it was never equipped to do.</p><h2>The Ladder Audit</h2><p>If you suspect your organization is standing on a lower rung than its policies claim, here&#8217;s the audit. Run it before the next &#8220;maturity initiative&#8221; gets announced, not after.</p><p><strong>1. Locate the real rung, using evidence, not aspiration.</strong> The test for each stage is behavioral: can you produce a diff for last Tuesday&#8217;s change? Can you name every downstream asset of your top pipeline without asking a human? Is there a ticket trail for the last five access grants? Wherever the evidence stops, that&#8217;s your rung. Not the org chart&#8217;s opinion. The evidence&#8217;s.</p><p><strong>2. Name the skipped rungs out loud.</strong> Write the gap list plainly: no CI/CD, no orchestration, no access flow, no standard intake. This list is politically uncomfortable, which is exactly why it must be written down. An unnamed gap becomes a permanent one.</p><p><strong>3. Cancel or reframe any control that assumes a rung you haven&#8217;t built.</strong> The 24-hour rule assumed reviewable artifacts. If those don&#8217;t exist, the rule is cost with no control, and honest leadership pulls it back rather than defending it. Reframe it as a Stage 4 destination: &#8220;lead times return when they have something to review.&#8221;</p><p><strong>4. Fund the next rung only.</strong> Not a three-year transformation program. The next rung. For the organization in this piece, that&#8217;s Stage 3, starting with CI/CD on the highest-traffic pipeline and an access request flow, because those two produce the artifacts everything above them consumes.</p><p><strong>5. Define the promotion test before you start.</strong> Decide in advance what evidence moves you up a rung, the same way you&#8217;d define a data quality gate before the pipeline runs. Otherwise &#8220;maturity&#8221; gets declared by memo again, and you&#8217;re back where this article started.</p><p>Look at what every step has in common. Each one requires somebody who can stand in front of a policy that feels like progress and correctly call it ceremony, and that judgment only comes from having watched both versions play out in production. The audit isn&#8217;t hard to read. It&#8217;s hard to run, because the person running it has to know what each rung&#8217;s failure looks like from the inside.</p><h2>The Verdict</h2><p>The director who announced the 24-hour rule wasn&#8217;t wrong that the organization needed to mature. The diagnosis was right and the ladder confirms it: that org has real, fundable, fixable gaps. The failure was sequencing. They ordered the security checkpoint before pouring the foundation, and now everyone will stand in line at a gate that protects nothing.</p><p>Maturity isn&#8217;t the presence of controls. It&#8217;s controls arriving in the order that makes each one real.</p><p>So before your organization announces its next maturity step, ask the ladder question: what rung does this policy assume we&#8217;re standing on, and are we actually standing there? If the answer is no, you haven&#8217;t found a maturity step.</p><p>You&#8217;ve found the gap where one should have gone.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!I0C-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!I0C-!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png 424w, /__u/substackcdn.com/image/fetch/$s_!I0C-!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png 848w, /__u/substackcdn.com/image/fetch/$s_!I0C-!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png 1272w, /__u/substackcdn.com/image/fetch/$s_!I0C-!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!I0C-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png" width="530" height="550" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea531bd6-6305-4469-aff8-8940269885dd_530x550.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:550,&quot;width&quot;:530,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:430858,&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://gambilldataengineering.substack.com/i/205792040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!I0C-!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png 424w, /__u/substackcdn.com/image/fetch/$s_!I0C-!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png 848w, /__u/substackcdn.com/image/fetch/$s_!I0C-!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.png 1272w, /__u/substackcdn.com/image/fetch/$s_!I0C-!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea531bd6-6305-4469-aff8-8940269885dd_530x550.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"><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"><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"><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"><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><div><hr></div><p><em>Finding your organization&#8217;s real rung, naming the skipped ones in a room full of people who approved the skipping, and sequencing the climb is exactly the work Gambill Data does. We audit the ladder, not the org chart. <a href="#">Book a strategy call.</a></em></p><p><em>Coming soon for the engineers: what to do when your leadership announces a rung-four policy while you&#8217;re living on rung one, and how to push the ladder argument upward without becoming the problem.</em></p>]]></content:encoded></item><item><title><![CDATA[A Calendar Is Not a Control]]></title><description><![CDATA[Why blanket change-management rules create ceremony, not maturity... and what data teams should build instead.]]></description><link>https://gambilldataengineering.substack.com/p/a-calendar-is-not-a-control</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/a-calendar-is-not-a-control</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 15 Jul 2026 11:29:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FccB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I sat in a change management review this week where a director announced a new policy: all change tickets must be submitted 24 hours before the meeting. No exceptions. Late tickets get rejected. The justification was one sentence: &#8220;This is an organizational maturity step we need to take.&#8221;</p><p>Everyone nodded. Nobody asked the question that actually matters.</p><p>Mature compared to what?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!FccB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!FccB!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png 424w, /__u/substackcdn.com/image/fetch/$s_!FccB!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png 848w, /__u/substackcdn.com/image/fetch/$s_!FccB!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png 1272w, /__u/substackcdn.com/image/fetch/$s_!FccB!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!FccB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png" width="849" height="565" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:565,&quot;width&quot;:849,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:697067,&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://gambilldataengineering.substack.com/i/205785088?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!FccB!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png 424w, /__u/substackcdn.com/image/fetch/$s_!FccB!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png 848w, /__u/substackcdn.com/image/fetch/$s_!FccB!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.png 1272w, /__u/substackcdn.com/image/fetch/$s_!FccB!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd9e6ca9-2a2e-472a-be28-5ac38def5888_849x565.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"><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"><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"><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"><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>Because here is the thing&#8230; A blanket 24-hour rule for every department and every change type isn&#8217;t a maturity step. It&#8217;s a ceremony step. And confusing the two is one of the most expensive mistakes a data leader can make, because ceremony feels like control while providing none of it.</p><p><strong>A calendar is not a control. A deadline is not a risk assessment.</strong></p><h2>The Ceremony Trap</h2><p>I understand the instinct. When change reviews are chaotic, when tickets show up mid-meeting with no context, when the same three teams keep breaking production, leadership reaches for the one lever that&#8217;s easy to pull: process. Make everyone fill out the form. Make everyone wait the same amount of time. Make the meeting orderly.</p><p>And the meeting does get more orderly. That&#8217;s the trap. The room feels calmer, so leadership concludes the organization got safer.</p><p>It didn&#8217;t. You changed the paperwork, not the risk.</p><p>Ask yourself what a 24-hour lead time actually does to a change. Does it force a better rollback plan? No. Does it verify the blast radius? No. Does it confirm the person approving the change understands the system being changed? Absolutely not. The only thing a flat lead time guarantees is that every change, from a column comment update to a production database migration, waits in the same line.</p><p>That&#8217;s not governance. That&#8217;s a queue.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Iu-h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Iu-h!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png 424w, /__u/substackcdn.com/image/fetch/$s_!Iu-h!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png 848w, /__u/substackcdn.com/image/fetch/$s_!Iu-h!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Iu-h!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Iu-h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png" width="821" height="558" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:558,&quot;width&quot;:821,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:722440,&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://gambilldataengineering.substack.com/i/205785088?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Iu-h!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png 424w, /__u/substackcdn.com/image/fetch/$s_!Iu-h!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png 848w, /__u/substackcdn.com/image/fetch/$s_!Iu-h!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Iu-h!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faadfa7-36bb-4d90-9658-8a04c6bd2a80_821x558.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"><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"><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"><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"><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>And the research on this is not ambiguous. DORA&#8217;s Accelerate research found that formal approval by an external body, a change advisory board or a senior manager, had a negative impact on delivery performance, and organizations with that kind of process were 2.6 times more likely to be low performers. Worse for the &#8220;maturity&#8221; argument: they found no evidence that heavyweight external approval reduced change failure rates at all. The UK&#8217;s Financial Conduct Authority looked at real CAB data and found boards approving over 90% of everything put in front of them, with some firms not rejecting a single change in a year.</p><p>Read that again. The gate approves everything, slows everything, and prevents nothing. If your control never says no, it isn&#8217;t a control. It&#8217;s a toll booth.</p><h2>What Maturity Actually Looks Like</h2><p>Here&#8217;s the part that stings if you&#8217;re the one who wrote the policy. The frameworks these policies claim to descend from already solved this problem, and they solved it in the opposite direction.</p><p>ITIL 4 didn&#8217;t just rename &#8220;change management&#8221; to &#8220;change enablement&#8221; for marketing. It restructured the entire practice around one idea: the process should match the risk, not the calendar. It defines three types of change, each handled differently:</p><ul><li><p><strong>Standard changes</strong> are pre-approved. Low risk, repeatable, documented in a runbook. They don&#8217;t go to a board at all. They just happen, with an audit trail.</p></li><li><p><strong>Normal changes</strong> get risk assessment and approval scaled to their actual impact.</p></li><li><p><strong>Emergency changes</strong> get an expedited path, because production doesn&#8217;t wait 24 hours to catch fire.</p></li></ul><p>A blanket lead-time rule collapses all three into one. It treats a new data integration landing in a dev catalog the same as a schema change to the table your CFO&#8217;s dashboard reads. One of those needs a conversation. The other needs a commit message.</p><p>ITIL 4 goes further with a concept most organizations quoting ITIL have never implemented: the <strong>Change Authority</strong>. The person or group who approves a change should be the one closest to its risk. A delegated team. A peer review. An automated pipeline check. The framework is blunt about it: there is no point in convening a board to assess low-risk items that can be approved locally. Decentralized approval is standard practice in high-velocity organizations, and peer review is one of the strongest predictors of high performance in the research.</p><p>So when the maturity conversation comes up, here is the actual maturity ladder:</p><p><strong>Immature:</strong> No process. Cowboys pushing to prod. Tribal knowledge as change log.</p><p><strong>Ceremonial:</strong> One process for everything. Flat lead times. A board that approves 90% of what it sees. Feels safe. Isn&#8217;t.</p><p><strong>Mature:</strong> Risk-tiered process. Pre-approved standard changes. Change authority sitting with the owner who can actually evaluate the change. The board reserved for what genuinely crosses boundaries.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!JVRY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!JVRY!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png 424w, /__u/substackcdn.com/image/fetch/$s_!JVRY!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png 848w, /__u/substackcdn.com/image/fetch/$s_!JVRY!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JVRY!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!JVRY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png" width="769" height="527" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:527,&quot;width&quot;:769,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:563442,&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://gambilldataengineering.substack.com/i/205785088?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!JVRY!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png 424w, /__u/substackcdn.com/image/fetch/$s_!JVRY!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png 848w, /__u/substackcdn.com/image/fetch/$s_!JVRY!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JVRY!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f906cdc-08bc-4bd8-8f3e-d68c3612142b_769x527.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"><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"><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"><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"><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>Most organizations announcing &#8220;maturity steps&#8221; are climbing from rung one to rung two and declaring victory. Rung two is not the destination. Rung two is where careers go to wait in line.</p><h2>&#8220;Should Data Teams Even Be in IT Change Control?&#8221;</h2><p>I hear this question from data leaders constantly, usually right after a policy like the one above lands on their teams. And I want to be careful here, because the tempting answer is the wrong one.</p><p>The tempting answer is: no, data is different, exempt us.</p><p>Wrong. If you&#8217;ve read <a href="/__u/gambilldataengineering.substack.com/p/the-medallion-masterclass-why-knowing?r=4574tq">The Medallion Masterclass</a>, you know where I stand: governance is the architecture. A data team that exits change control entirely is a data team building the next un-auditable swamp. When the regulator or the CFO comes asking who changed the revenue logic and when, &#8220;we&#8217;re exempt from change management&#8221; is a resignation letter with extra steps.</p><p>The right answer is more precise. Data changes belong under change enablement. They do not belong under a <em>generic IT change authority</em> that can&#8217;t tell a Delta table from a dinner table.</p><p>Think about what the enterprise CAB is actually competent to evaluate. Network changes, server patches, firewall rules. Now hand that same room a ticket that says &#8220;backfilling SCD Type 2 history for the customer dimension using Change Data Feed.&#8221; What is that room going to do with it?</p><p>Approve it. Obviously. They approve everything. Which means the approval is worthless as a control, and the 24-hour wait was pure cost.</p><p>Meanwhile the person who could actually catch the problem, the data platform owner who knows that backfill touches the table feeding three executive dashboards, was never meaningfully in the loop. The ceremony ran. The risk walked straight through it.</p><p><strong>A signature from someone who can&#8217;t evaluate the change isn&#8217;t governance. It&#8217;s liability laundering.</strong></p><h2>The Change Lane Protocol</h2><p>So if you&#8217;re the director, or you&#8217;re the data leader who has to counter-propose to the director, here is what the actual maturity step looks like. Not a memo. A structure.</p><p><strong>1. Classify before you schedule.</strong> Every change gets typed first: standard, normal, or emergency. This is the step the 24-hour rule skips entirely, and it&#8217;s the step that does all the work. A change you can&#8217;t classify is a change nobody understands well enough to approve anyway.</p><p><strong>2. Split the review into lanes with named owners.</strong> Infrastructure lane, application lane, data platform lane. Each lane has one Change Authority: the director or manager who owns that domain and its blast radius. That person approves normal changes in their lane, because they&#8217;re the only one qualified to. Accountability follows competence, not org-chart altitude.</p><p><strong>3. Set lead times by risk tier, not by meeting cadence.</strong> A high-risk normal change touching regulated data? Give it 48 hours and a real review, longer than the blanket rule, because it deserves it. A net-new integration landing in an isolated dev environment? Same-day, peer-reviewed. The lead time is a function of what could go wrong, not of when the meeting happens to be.</p><p><strong>4. Pre-approve the repeatable.</strong> Build the runbook for standard changes once, review it hard once, then let those changes flow with an automated audit trail. Every standard change you pre-approve is meeting time returned to the changes that actually need human judgment.</p><p><strong>5. Demote the board from gatekeeper to coordinator.</strong> The cross-functional meeting still exists, and it still matters. Its job is scheduling conflicts, cross-lane dependencies, and the rare change big enough to need multiple owners in one room. It advises and coordinates. It stops pretending to be a control for changes it cannot evaluate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!mizh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!mizh!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png 424w, /__u/substackcdn.com/image/fetch/$s_!mizh!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png 848w, /__u/substackcdn.com/image/fetch/$s_!mizh!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mizh!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!mizh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png" width="907" height="529" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/effeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:529,&quot;width&quot;:907,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:630333,&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://gambilldataengineering.substack.com/i/205785088?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!mizh!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png 424w, /__u/substackcdn.com/image/fetch/$s_!mizh!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png 848w, /__u/substackcdn.com/image/fetch/$s_!mizh!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mizh!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feffeef03-b193-4be9-9cbc-9f2e2cbffbf5_907x529.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"><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"><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"><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"><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>Notice what every step has in common. None of them can be executed by policy memo. Each one requires someone who can look at a change and correctly judge its blast radius, which means each one requires someone who has watched changes go wrong. Risk classification done by people who&#8217;ve never seen the failure mode is just the ceremony trap with better vocabulary.</p><h2>The Verdict</h2><p>The director in that meeting wasn&#8217;t wrong that the organization needed a maturity step. The diagnosis was right. The prescription was a placebo.</p><p>Maturity is not how long a ticket waits. Maturity is whether the person approving the change could have caught the failure. A 24-hour rule optimizes the first and does nothing for the second, and the second is the only one that shows up in your incident count, your audit findings, and your cloud bill.</p><p>Stop measuring your governance by how orderly the meeting feels. Start measuring it by a harder question: when was the last time this process actually caught something?</p><p>If the answer is &#8220;never,&#8221; you don&#8217;t have a control. You have a calendar.</p><div><hr></div><p><em>If your organization is bolting ceremony onto its data platform and calling it governance, that&#8217;s exactly the kind of structural problem Gambill Data untangles. We&#8217;ll map your change flow to actual risk, put authority where the competence lives, and give your board a job it can actually do. <a href="https://calendly.com/chris-gambill-gambilldataengineering/strategy-intro">Book a strategy call.</a></em></p><p><em>And if you&#8217;re the engineer stuck on the receiving end of these policies, wondering how to push back without torching your standing: that companion piece is coming. It enters this story where you do, when the memo hits your inbox.</em></p>]]></content:encoded></item><item><title><![CDATA[AURA - Chris Gambill & Shane Gibson]]></title><description><![CDATA[A recording from Chris Gambill and Shagility's live video]]></description><link>https://gambilldataengineering.substack.com/p/aura-chris-gambill-and-shane-gibson</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/aura-chris-gambill-and-shane-gibson</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Fri, 10 Jul 2026 18:21:57 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/206482337/a60e2faaaae2dc463a5d4d712fde3e1b.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="/__u/substackcdn.com/image/fetch/$s_!8G-n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95477855-0f65-470b-af7e-ec4bb042fb1c_750x750.webp"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Chris Gambill in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="/__u/substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=gambilldataengineering" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[How Databricks Plans to Fix 53% of Your Work!]]></title><description><![CDATA[Your data team spends 53% of its time making payments on debt someone else signed. Databricks thinks ZeroOps can refinance it.]]></description><link>https://gambilldataengineering.substack.com/p/the-maintenance-mortgage</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/the-maintenance-mortgage</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 08 Jul 2026 15:15:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vvBg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The pipeline failed at 4 a.m. I found out at 6, because I was the one on call that week.</p><p>Before my first cup of coffee, I was writing the email nobody wants to write&#8230; a message to all of leadership letting them know that reporting would be delayed, that we were working on it, and that I would follow up when I knew more. (There is a special kind of silence and desire to put your head in a toilet that follows that email.)</p><p>Then came the crime scene. A massive orchestration workflow, dozens of dependencies, and one failure buried somewhere in the middle of it. Hours of pulling logs and walking the chain backward until there it was, something we have all seen before&#8230; a schema change in files being dropped by a vendor we ingested from. Upstream. Uncommunicated. And here is the punchline. When we finally got the vendor on the phone, the schema change turned out to be an error on their end. Our pipeline did nothing wrong. It broke anyway.</p><p>The vendor re-dropped corrected files. And here is where the story turns from bad luck into a design lesson. The orchestration was not built to restart from the point of failure. No checkpoints, no idempotent stages, no way to resume mid-stream. The only option was to rerun the entire workflow from the beginning. This is the story that drives me to share what I&#8217;ve shared in other videos and articles, that is a design flaw, and I did not build it. I inherited it. But that is exactly the point. Almost every data engineer reading this is running orchestration they inherited, making payments on design decisions someone else signed off on years ago. The person on call pays for choices made long before their tenure. A full day, gone. Leadership had no reports. Worse, frontline salespeople lost all visibility into the customer information they used to close deals. And the strategic project I was supposed to be working on that week, a customer service platform migration, slipped by days. One bad file from one vendor, and the whole week reorganized itself around a fix.</p><p>Every data team I have worked with in 26 years carries a version of that morning. It is a debt we have all paid. Not technical debt. Something worse, because it never shows up on a roadmap and is rarely planned for.</p><p>I call it the Maintenance Mortgage. It is the recurring payment your team makes, every week, just to keep what you already built from falling over. Sometimes it looks like my 4 a.m. schema change. Sometimes it is late-arriving data, a silent quality failure poisoning a dashboard for three weeks, or a drifting model serving confident, wrong answers. The failure mode varies. The payment never stops. And in most shops, the mortgage was signed by someone who left years ago. You are just the one making payments.</p><p>You never pay down the principal. You only pay interest.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vvBg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vvBg!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!vvBg!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!vvBg!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vvBg!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vvBg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:159830,&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://gambilldataengineering.substack.com/i/205721085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!vvBg!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!vvBg!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!vvBg!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vvBg!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1256a07c-aff3-48c3-9081-9cd6a1ef7405_1600x900.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"><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"><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"><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"><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>At the Data + AI Summit, Databricks announced Genie <a href="https://www.databricks.com/blog/introducing-genie-zeroops">ZeroOps</a>, a background AI agent aimed squarely at that mortgage. Before we get to what it is, we need to talk about how big the payment actually is. Because the number is worse than most leaders think.</p><h2>The 53 Percent Problem</h2><p>Two independent reports landed on the same figure this spring. Fivetran&#8217;s 2026 Data Connectivity Report and dbt Labs&#8217; State of Analytics Engineering, a survey of 4,200 practitioners, both found that roughly 53 percent of enterprise data engineering time goes to maintaining existing pipelines rather than building anything new.</p><p>Read that again. <strong>More than half.</strong></p><p>And it gets worse at scale. Fivetran found that organizations running more than 200 active pipelines spend an average of 61 percent of engineering time on maintenance. The more you build, the more of your team you convert into a repair crew.</p><p>Do the math on your own team. If you have ten data engineers at a fully loaded cost of $150K each, the Maintenance Mortgage is costing you roughly $800K a year in salary spent keeping the lights on. Not innovating. Not shipping the AI use cases your board keeps asking about. Fixing.</p><p>Here is the part that should genuinely concern leadership: AI is making this worse, not better. Coding assistants have made it faster than ever to ship pipelines and models. Every one of those assets becomes something that can break at 2 a.m. We accelerated the build side of the equation and left the operate side exactly where it was. The gap between how fast teams can create and how much they have to maintain is widening every quarter.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!40KB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!40KB!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!40KB!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!40KB!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!40KB!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!40KB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134914,&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://gambilldataengineering.substack.com/i/205721085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!40KB!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!40KB!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!40KB!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!40KB!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87f472e-93fc-4c27-9e6a-03293e2861db_1600x900.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"><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"><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"><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"><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><strong>That gap is the actual problem ZeroOps is trying to close.</strong></p><h2>What ZeroOps Actually Is</h2><p>Strip away the launch-keynote language and ZeroOps is a background agent that lives inside the Databricks platform and runs a four-step loop on your production assets: detect, assess, remediate, verify.</p><p><strong>Detect.</strong> It continuously monitors pipelines, jobs, tables, and ML models. Not just hard failures. It watches data quality metrics for the silent stuff, the pipeline that runs green while quietly loading garbage.</p><p><strong>Assess.</strong> When something breaks, it traces root cause through Unity Catalog lineage. The full dependency graph. So instead of an alert that says &#8220;job failed,&#8221; you get &#8220;this table broke because a team two hops upstream changed a schema on Tuesday.&#8221;</p><p><strong>Remediate.</strong> It drafts a proposed fix.</p><p><strong>Verify.</strong> This is the step that made me sit up. ZeroOps shallow-clones production data into an isolated sandbox (zero-copy, scoped permissions, network isolation) and tests the proposed fix against real data without touching production. For an ML model, it goes further: it trains a candidate on corrected features and evaluates it against the same eval suite the production model was held to. Not a generic benchmark. Your benchmark.</p><p>Then, and this matters, a human approves. Issues land in an inbox prioritized by severity, with the root cause analysis and proposed fix attached. Nothing hits production without sign-off. You configure which assets it watches and what it is allowed to do.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ZD_n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ZD_n!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!ZD_n!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!ZD_n!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ZD_n!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ZD_n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:135701,&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://gambilldataengineering.substack.com/i/205721085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ZD_n!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!ZD_n!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!ZD_n!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ZD_n!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f122cf-0de9-4d6f-a71b-d55e09a219fe_1600x900.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"><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"><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"><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"><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>Now replay my 4 a.m. morning against that loop. Detect happens while I am still asleep. Assess replaces my hours of log spelunking with a lineage trace that points straight at the vendor&#8217;s files. The proposed remediation is waiting in an inbox when I sit down at 6:00, and I spend my morning reviewing a diagnosis instead of writing an apology to leadership. I have not used ZeroOps. Nobody outside the preview has. But I have lived the exact failure it was designed for, and the design maps onto that morning step for step. That is worth taking seriously. It is also worth verifying, which we will get to.</p><h2>Why This Couldn&#8217;t Be a Coding Agent</h2><p>The obvious question: can&#8217;t Cursor or Claude Code do this already?</p><p>No. And the reason is architectural, not a marketing claim.</p><p>Data operations failures are usually data problems, not code problems. A schema change upstream. Bad records propagating through a dependency chain. Corruption that sits in a table for weeks. A coding agent staring at your repository cannot see any of that, because the evidence isn&#8217;t in the code. It&#8217;s in the metrics, the logs, the run history, and the lineage graph. That telemetry lives inside the platform.</p><p>And there is a harder wall: production data is sensitive and governed. You cannot responsibly hand an external agent read access to your production tables so it can &#8220;investigate.&#8221; An agent that operates under Unity Catalog governance, inside the platform&#8217;s permission model, can do the verify step safely. An outside agent can&#8217;t.</p><p><strong>The moat here isn&#8217;t the model. It&#8217;s the lineage and the governance.</strong> (Which, not coincidentally, is why Databricks spent years building Unity Catalog before building this.)</p><h2>What This Actually Means for Your Team</h2><p>Here is where I want to move past the product and talk about the humans.</p><p>If ZeroOps delivers even a fraction of what it promises, the job of the data engineer shifts from firefighter to fire marshal. From writing the fix at 4 a.m. to reviewing a proposed fix at 9 a.m. with a root cause analysis already attached. From spelunking through logs to exercising judgment.</p><p>That is not a smaller job. It is a more senior one.</p><p>Think about what your team could do with even half of that 53 percent back. Remember what my broken pipeline actually cost. Not just the day of troubleshooting. It delayed a platform migration, a strategic project with a business case behind it, because the person driving it (me) got pulled into forensics. That is how the Maintenance Mortgage really collects: it does not just eat hours, it eats momentum on everything else. The data contracts initiative that never gets funded with time. The semantic layer. The documentation nobody writes. The proactive quality checks that would prevent next quarter&#8217;s incidents. Maintenance crowds out exactly the investments that would reduce future maintenance. Teams stay trapped in the cycle not because they lack skill but because they lack hours. Breaking that loop is worth more than any single feature.</p><p>But I want to be honest about the other side, because the &#8220;review and accept&#8221; workflow carries its own risk. If your engineers approve fixes they don&#8217;t understand, you haven&#8217;t automated operations. You have automated the erosion of your team&#8217;s understanding of its own systems. The skill that becomes precious in a ZeroOps world is the ability to look at a proposed fix and know whether it is right. That skill comes from having fixed things yourself. Leaders will need to be deliberate about keeping that muscle alive, especially in junior engineers who may never get the reps their seniors got.</p><p><strong>Judgment doesn&#8217;t scale unless you protect the way judgment gets built.</strong></p><h2>The Fine Print, Because There Is Always Fine Print</h2><p>ZeroOps is entering private preview, starting with jobs, pipelines, tables, and ML workloads. Apps and Lakebase are on the roadmap. Which means most of you cannot touch it yet, and none of us has independent evidence it works at enterprise scale.</p><p>So here is what I would watch when it reaches your workspace. Not the demo. These numbers:</p><ol><li><p><strong>Root cause accuracy.</strong> How often is the diagnosis actually right?</p></li><li><p><strong>The unedited-approval rate.</strong> What percentage of proposed fixes do your engineers approve without modifying? That number is the real trust signal. If it&#8217;s low, you bought a very expensive suggestion box.</p></li><li><p><strong>Mean time to resolve, before and after.</strong> Measure your baseline now, while you still have one.</p></li><li><p><strong>Cost per incident, net of agent compute.</strong> Consumption billing means the agent&#8217;s investigation runs are not free. Nobody at the keynote mentioned that part. I am mentioning it now.</p></li></ol><h2>The Verdict</h2><p>The Maintenance Mortgage is real, it is measurable, and at 53 percent it is the single largest line item in how your data team spends its life. Any credible attempt to refinance it deserves your attention.</p><p>ZeroOps is a credible attempt. It is built on the right foundation (lineage, governance, sandboxed verification) and it keeps a human in the loop, which is exactly where the human should be. It is also a preview product from a vendor with every incentive to deepen your platform commitment, and it will live or die on trust metrics we cannot see yet.</p><p>And one caveat the marketing will not volunteer: an agent can propose a fix, but it cannot retrofit good architecture. The orchestration I inherited would have burned that day with or without ZeroOps, because a full rerun was the only path the design allowed. ZeroOps lowers your monthly payment. It does not rewrite the mortgage. Only your team can do that, and they need hours to do it. Which is, in the end, the strongest argument for buying those hours back.</p><p>So do not wait for the tool to save you. Start now: measure your team&#8217;s maintenance ratio this quarter. Fivetran pegs top-quartile organizations at 35 percent or below. Know your number before an agent promises to change it.</p><p>Because the strategy question was never &#8220;should we automate operations.&#8221; It was always &#8220;what will we do with the time.&#8221; Teams that answer the second question will win with or without ZeroOps.</p><p><strong>Strategy &gt; Syntax. Even when the syntax fixes itself.</strong></p><div><hr></div><p><em>If you are running Databricks and you do not know your maintenance ratio, or you know it and you do not like it, that is what a <a href="https://gambilldata.com/consulting/databricks-consulting/">Databricks Lakehouse Readiness Review</a> is for. We map the current state, separate the risks that matter from the noise, and leave your team with a roadmap they can execute. It starts with a strategy call, which costs you thirty minutes and nothing else.</em></p><p><em><a href="https://calendly.com/chris-gambill-gambilldataengineering/strategy-intro">Book a Data Strategy Call</a></em></p><p><em>And either way, reply with your maintenance ratio. I am collecting real numbers from real teams, and I will share what I learn in a future issue.</em></p>]]></content:encoded></item><item><title><![CDATA[The Modern Data Stack Hoax]]></title><description><![CDATA[You bought a Ferrari to sit in traffic.]]></description><link>https://gambilldataengineering.substack.com/p/the-modern-data-stack-hoax</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/the-modern-data-stack-hoax</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 01 Jul 2026 13:34:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7ja1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You signed the contract. Databricks or Snowflake on a multi-year commit, dbt layered on top, maybe a slick orchestration tool to round it out. You sent the all-hands email. You stood up in the QBR and told the board you were now a &#8220;Modern Data Stack&#8221; shop.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7ja1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7ja1!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!7ja1!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!7ja1!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7ja1!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7ja1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2038260,&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://gambilldataengineering.substack.com/i/201864793?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7ja1!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!7ja1!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!7ja1!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7ja1!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F724353b3-8d23-42ea-92fc-96428df3c27c_1672x941.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"><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"><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"><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"><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>Then you went back to your desk, and your team kept writing the exact same bloated, nested, six-levels-deep views they wrote on SQL Server in 2014. Nothing about how the work actually gets done changed. You just changed where the invoice goes.</p><p><strong>You didn&#8217;t modernize. You re-hosted.</strong></p><p>I call this Tool-Shaped Thinking: the belief that the shape of your tools determines the shape of your engineering. It doesn&#8217;t. It never has. A premium platform is a permission to do better work. It is not the work. You can run undisciplined, untested, undocumented SQL on the most expensive Lakehouse on earth, and all you have done is buy a Ferrari to sit in traffic.</p><p>Here is the law, and you can quote me in your next vendor meeting:</p><p><strong>You can&#8217;t buy discipline. You install it.</strong></p><h2>The Hard Truth</h2><p>Procurement is not strategy. I understand why it feels like it is. Signing a six- or seven-figure platform commitment is a decision. It is a line item. It photographs well in a board deck. It is something you can point to and say &#8220;we invested.&#8221;</p><p>But the operating model is the thing that decides whether that platform saves money or sets it on fire, and the operating model does not come on an invoice. No vendor sells it to you. No SOW installs it. It is the part you have to build, by hand, after the logo is on the contract.</p><p>And the platform you just bought changed the rules in a way most leadership never thinks through. On SQL Server, bad SQL was slow. On consumption-based compute, bad SQL is slow <em>and metered</em>. Every nested view, every full-table scan, every unpartitioned join is now a number on a bill that grows while you sleep. I have written before about a &#8220;Senior&#8221; team that incinerated fifty thousand dollars promoting data from Bronze to Silver in a single run, simply because nobody modeled (see <em>When Did Modeling Die?</em>). That was not a tooling failure. That was old habits running at cloud scale, in real time, with the meter on.</p><p>So the tool you bought to save money becomes the tool charging you for your team&#8217;s worst habits, faster than ever.</p><h2>The Crime Scene</h2><p>Let me show you what this looks like with the lid off.</p><p>A few years back, around 2020, I was brought into a client mid-migration to Snowflake. Their source was an RDS Postgres database. One of the jobs feeding their marketing reporting was a single PL/pgSQL script. Five thousand lines. One file.</p><p>Hard-coded variables everywhere. Business logic braided directly into the transformation logic, with no separation between what the pipeline did and <em>why</em> it did it. By the time it reached me, the person who handed it over had inherited it from someone else, who had almost certainly inherited it from someone before that. Nobody in the building could fully explain it. I had to interview business stakeholders who were around when it was first written just to reconstruct why certain decisions had been made, and half of those assumptions were years out of date, frozen in code, still running every single night.</p><p>It was a load-bearing wall, and no one had the blueprint.</p><p>And the plan on the table? Lift and shift. Move the monolith to Snowflake as-is and call it a migration.</p><p><strong>Lift-and-shift is just Tool-Shaped Thinking with a migration budget.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KF9_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KF9_!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png 424w, /__u/substackcdn.com/image/fetch/$s_!KF9_!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png 848w, /__u/substackcdn.com/image/fetch/$s_!KF9_!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KF9_!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KF9_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png" width="1254" height="1254" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1254,&quot;width&quot;:1254,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2192938,&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://gambilldataengineering.substack.com/i/201864793?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KF9_!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png 424w, /__u/substackcdn.com/image/fetch/$s_!KF9_!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png 848w, /__u/substackcdn.com/image/fetch/$s_!KF9_!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KF9_!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79551e26-0b3e-4ff9-9f89-e27e9d2e64a2_1254x1254.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"><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"><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"><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"><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>Think about what that move actually buys you. You take a script that grinds for hours every night, that nobody understands, that hard-codes business rules from a reality that no longer exists, and you drop it onto a platform that charges you by the second. You have not solved the problem. You have put the problem on a meter.</p><p>Who answers for that bill when the CFO comes looking? Not the vendor. Not the script. <strong>You do.</strong></p><h2>Pick the Right Defendant</h2><p>Here is the part the engineers reading this already know in their gut.</p><p>The person who wrote that monolith was not a bad engineer. They were an engineer who was never given an operating model. No version control, no separate environments, no tests, no standard, because no one above them ever required any of it. The Oracle who holds the whole system in their head (yes, the one you privately consider indispensable) is not the villain here. That person is a symptom. I have written a whole piece on how that trap is built, <em>The 10-Year Junior</em>, and the lesson holds at the org level too.</p><p>The villain is the organization that confused buying tools with building discipline.</p><p>If your team is still writing 2014 SQL on a 2026 platform, that is not your team&#8217;s failure. It is a leadership failure. And the good news, the part that should make you exhale, is that it is fixable. Just not by anyone in sales.</p><h2>The Discipline Audit</h2><p>Before your team touches another feature of that expensive new platform, you run a Discipline Audit. Four steps. They go in this exact order, because each one is worthless without the one before it.</p><p><strong>1. Git or it didn&#8217;t happen.</strong> Every transformation, every config, every business rule goes into version control before one more thing ships to the new platform. This goes first because nothing above it can be audited, reviewed, or rolled back without it. The translation for the boardroom: if the logic is not versioned, it lives in one person&#8217;s head, and you have paid a multi-year commitment to host a single point of failure. When that person leaves, the knowledge leaves with them, and the next hire starts the same interview-the-stakeholders archaeology I had to do. Git is not a developer nicety. It is institutional memory you actually own.</p><p><strong>2. Separate the environments.</strong> Once the code is versioned, your team needs somewhere to break things that is not production. Dev, test, prod, with real boundaries. This goes second because automating against a single shared environment is just a faster way to set the company&#8217;s data on fire. One environment means every deploy is a live bet, and the blast radius is the number you report upstairs. The platform will happily let your team run experiments on the production road at full speed. Discipline is what builds the test track first.</p><p><strong>3. Automate the tests.</strong> Versioned code plus a safe environment lets you finally gate every change before it reaches a consumer. This goes third because it depends entirely on the first two. On consumption-based compute, an untested transformation is a runaway meter: it does not fail loudly, it fails expensively. A test suite is the circuit breaker between a quiet logic error and a cloud bill that doubled before anyone thought to look. If your only &#8220;test&#8221; is a Slack alert everyone has muted, you do not have testing. You have a smoke detector with the battery pulled out.</p><p><strong>4. Externalize the business logic.</strong> Get the hard-coded rules out of the transformation code and into driving tables. This goes last because it is the maturity move, and it only sticks once the first three are in place. It is also the step that pays leadership back directly. When a pricing rule, a regional cutoff, or a revenue definition is buried inside a script, the business pays an engineer every single time that rule changes, and waits in a queue while they do it. When that same rule lives in a table, the business can see its own logic and change it without a deploy. You stop renting access to your own decisions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!guSS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!guSS!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png 424w, /__u/substackcdn.com/image/fetch/$s_!guSS!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png 848w, /__u/substackcdn.com/image/fetch/$s_!guSS!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png 1272w, /__u/substackcdn.com/image/fetch/$s_!guSS!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!guSS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png" width="1456" height="1791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:232495,&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://gambilldataengineering.substack.com/i/201864793?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!guSS!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png 424w, /__u/substackcdn.com/image/fetch/$s_!guSS!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png 848w, /__u/substackcdn.com/image/fetch/$s_!guSS!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.png 1272w, /__u/substackcdn.com/image/fetch/$s_!guSS!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15f6118-864e-4512-9515-cd98f3c25ddc_2000x2460.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"><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"><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"><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"><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>Notice what all four have in common. Not one of them came in the box. The platform you bought ships none of them. There is no checkbox in Databricks or Snowflake labeled &#8220;discipline.&#8221; You install these by hand, in this order, and that is precisely the work no purchase order can do for you.</p><h2>The Fix</h2><p>Back to that monolith.</p><p>We did not lift and shift it. We deconstructed it. We split the five thousand lines into discrete, named steps. We stripped out the hard-coding and pulled the business logic into driving tables, so the rules could be tracked over time and changed without a code deploy. We rebuilt the heavy lifting as a Python notebook running on Spark, so it processed efficiently instead of grinding for hours.</p><p>The results were not abstract.</p><p>The job that ran for hours every night moved toward near real-time. Cloud cost for that function dropped by roughly thirty percent. And because the business logic now lived in tables instead of in a script only one departed engineer ever fully understood, the marketing and sales teams could finally see and trial the metrics they cared about, instead of waiting on someone to decode a wall of PL/pgSQL.</p><p>Same platform. Same data. One approach prints money. The other one is a Ferrari in traffic with the meter running.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!GQ0I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!GQ0I!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png 424w, /__u/substackcdn.com/image/fetch/$s_!GQ0I!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png 848w, /__u/substackcdn.com/image/fetch/$s_!GQ0I!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GQ0I!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!GQ0I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png" width="1456" height="995" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:995,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:219824,&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://gambilldataengineering.substack.com/i/201864793?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!GQ0I!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png 424w, /__u/substackcdn.com/image/fetch/$s_!GQ0I!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png 848w, /__u/substackcdn.com/image/fetch/$s_!GQ0I!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GQ0I!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe92a99-b196-48a1-83ff-8ebc573e1a70_2400x1640.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"><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"><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"><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"><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><strong>That is the difference between re-hosting and re-architecting.</strong></p><h2>The Verdict</h2><p>The Modern Data Stack is not a hoax because the tools are bad. The tools are extraordinary. The hoax is the belief that owning them is the same as deserving them. A logo on an invoice is not an operating model. A migration is not a transformation. And a platform you bought to control costs will, left to your team&#8217;s old habits, do the exact opposite, faster and at a higher price than the system you left behind.</p><p>You can&#8217;t buy discipline. You install it. The only question is whether you install it on purpose, now, or whether you wait for the bill to install it for you.</p><div><hr></div><p><em>If you have already spent the money and you are quietly watching the bill outrun the value, be clear with yourself about what that gap is and is not. It is not a tooling problem, and your vendor cannot sell you the fix, because the fix is the operating model and that does not come on an invoice. That gap is the work I do: coming in as a <a href="https://gambilldata.com/consulting/">fractional architect</a> to install the discipline your platform assumed you already had. If that is the conversation you need to have, <a href="https://calendly.com/chris-gambill-gambilldataengineering/strategy-intro">book a strategy call</a>.</em></p><p><em>And if you are the engineer who never signed the contract but got handed the keys anyway, there is a companion piece coming for you: how to install the discipline yourself, on the platform you did not choose, before the bill becomes your name on a postmortem. (And for teams that need to install all four steps at scale, not one engineer at a time, an enterprise track of the coaching program is in the works. More on that soon.)</em></p>]]></content:encoded></item><item><title><![CDATA[Why You Cannot Buy Context]]></title><description><![CDATA[The Keynote Trap]]></description><link>https://gambilldataengineering.substack.com/p/why-you-cannot-buy-context</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/why-you-cannot-buy-context</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Mon, 29 Jun 2026 08:11:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_zB8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You watched the streams (or maybe there live). You saw the demos from Microsoft Build, Snowflake,  and Databricks Data + AI Summit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_zB8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_zB8!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!_zB8!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!_zB8!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_zB8!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_zB8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1697987,&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://gambilldataengineering.substack.com/i/203364334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_zB8!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!_zB8!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!_zB8!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_zB8!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ef0aaa-c3b9-44e1-b90e-adaed3490a18_1376x768.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"><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"><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"><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"><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>&#8203;Now you are sitting in a Monday leadership meeting, debating whether Fabric or Databricks is the ultimate &#8220;context layer&#8221; for your organization. You are pulling up vendor architecture slides and arguing about which AI agent is going to seamlessly integrate with your existing workflows.</p><p>&#8203;You are falling into The Keynote Trap. You think a new compute engine will fix a broken business consensus.</p><p>&#8203;<strong>It is a lie. You aren&#8217;t modernizing your architecture. You are just preparing to migrate your mess.</strong></p><h3>&#8203;The Hard Truth About the &#8220;Platform War&#8221;</h3><p>&#8203;We are watching a massive pivot in the industry. The hyper-scalers have realized that compute and storage are largely commoditized. The new battleground is the semantic layer. Microsoft is pitching Fabric as the context layer for AI. Databricks just announced the Genie Ontology to map natural language to specific data assets.</p><p>&#8203;These are brilliant pieces of software. But they are treating a symptom, not the disease.</p><p>&#8203;The actual problem in enterprise data has rarely been mapping the right question to the right table. The problem is that the business has not decided what the right question is.</p><p>&#8203;Let us get one thing straight about AI agents and the current panic over data quality. If you point a highly capable LLM at your Silver layer where three different departments have three different definitions for &#8220;Active Customer&#8221;, the system is going to give you an answer. And when it confidently hands your executive team a dashboard that contradicts the CRM, everyone will scream that the AI is &#8220;hallucinating.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!yB8c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!yB8c!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!yB8c!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!yB8c!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!yB8c!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!yB8c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1802833,&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://gambilldataengineering.substack.com/i/203364334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!yB8c!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!yB8c!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!yB8c!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!yB8c!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa589deca-342b-47c5-9ca3-baad08a5900f_1408x768.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"><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"><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"><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"><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>&#8203;<strong>It isn&#8217;t hallucinating.</strong></p><p>&#8203;The AI is giving you exactly what you asked for. It just exposed the fact that you gave the machine three different calculations for a single business question. The machine is doing its job perfectly. The business failed to do its job.</p><h3>&#8203;The Governance Delusion</h3><p>&#8203;If your CFO and CMO cannot agree on the strict mathematical definition of Monthly Recurring Revenue (and they rarely do), an AI agent is not going to magically broker a peace treaty for them.</p><p>&#8203;These tools assume the existence of a clean, governed, and agreed-upon reality. When that reality does not exist, the platform just helps you generate the wrong answer faster.</p><p>&#8203;A new platform is just a new sorting floor. Moving from Snowflake to Fabric without standardized business metrics is just paying consultants millions of dollars to relocate your garbage.</p><p>&#8203;<strong>You cannot buy context. You have to engineer it.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VT6H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VT6H!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!VT6H!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!VT6H!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VT6H!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VT6H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d12d351a-a4dc-4fda-b055-53981d405610_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1975130,&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://gambilldataengineering.substack.com/i/203364334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!VT6H!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!VT6H!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!VT6H!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VT6H!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd12d351a-a4dc-4fda-b055-53981d405610_1408x768.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"><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"><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"><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"><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>&#8203;The vendor will not take the blame for your dirty data. The executives will not blame themselves for their lack of alignment. The blame will fall entirely on the data engineering team for building a &#8220;broken&#8221; system. Who gets blamed? You do.</p><h3>&#8203;The Platinum Mandate</h3><p>&#8203;This brings us to the core architectural failure of the agentic era. You are letting your AI read from the wrong floor of the warehouse.</p><p>&#8203;As outlined in the Medallion operating model, Silver is the governance boundary where data is standardized. It is not business-ready. Gold is the storefront built for humans to read. Platinum is the strict machine contract built for systems to consume.</p><p>&#8203;Your AI agents should never have access to the Silver layer. Giving an LLM raw query access to un-aggregated standardization tables is an invitation for disaster. Governance in the age of AI means ensuring the machine only has access to the Gold or Platinum layer, where the context is pre-computed and mathematically locked.</p><p>&#8203;This is exactly why tools like the Databricks Unity AI Gateway exist. Governance is no longer just about who can read a table. It is about actively restricting what an agent is allowed to touch, invoke, or reason over at runtime. If you cannot draw a hard perimeter around your trusted context, you do not have an architecture. You have a liability.</p><h3>&#8203;The Reality Protocol</h3><p>&#8203;You cannot survive this transition by reading documentation or watching vendor sizzle reels. You have to force the business to do the hard work of defining reality.</p><p>&#8203;Before you sign a multi-year enterprise agreement based on a platform war, you must run this sanity check.</p><p>&#8203;<strong>1. Map the Data Gravity</strong></p><p>Where does the data physically live right now? What does the migration actually cost in operational downtime and dual-running compute bills? You need to know the exact weight of your current architecture before you try to move it.</p><p>&#8203;<strong>2. Force the Definition</strong></p><p>Who owns the mathematical definition of your primary KPIs? If it isn&#8217;t documented, version-controlled, and agreed upon by the C-Suite, the platform does not matter. Force the executives to sign off on the math before you write a single line of SQL. Treat business logic as a strict engineering boundary.</p><p>&#8203;<strong>3. Quarantine the Agents</strong></p><p>Audit your security model. Ensure that AI agents are physically walled off from Bronze and Silver schemas. Route their access exclusively through the Unity AI Gateway to hit your Platinum layer. If you do not lock the doors, the agents will wander.</p><p>&#8203;<strong>4. Audit the Skillset</strong></p><p>Does your internal team know how to operate this specific stack? Are you relying on a 10-Year Junior who has mastered a GUI but cannot write production-grade code? Mastering a specific vendor&#8217;s interface is not engineering. It is a tooling crutch. If you do not have the internal capability, you are buying a multi-year dependency on an outside consulting firm.</p><p>&#8203;Every step of this protocol requires someone who has done this before. It requires someone who can look past the marketing hype and evaluate the actual blast radius of the decision.</p><h3>&#8203;The Verdict</h3><p>&#8203;Architecture is about boardroom survival. You must choose your tools based on your actual constraints, your team&#8217;s depth, and your business readiness. You do not choose based on someone else&#8217;s keynote announcement.</p><p>&#8203;If your leadership team is arguing over vendors instead of business outcomes, you need a reset.</p><p>&#8203;These audits and architectural reviews are what we do at Gambill Data. We don&#8217;t do &#8220;Happy Paths&#8221; or vendor cheerleading. We do Production-Grade reality. Do not let the excitement of last month&#8217;s keynotes expedite a multi-year financial mistake.</p><p>&#8203;Stop guessing. Book a strategy call today.</p><p>&#8203;<a href="https://www.youtube.com/shorts/n6383JK0nvY">What&#8217;s new in Unity AI Gateway</a></p><p>This breakdown from Databricks highlights how the Unity AI Gateway functions as the centralized governance layer you need to effectively quarantine your agents and control your AI spend.</p>]]></content:encoded></item><item><title><![CDATA[Confessions of a Field-Promoted Engineer]]></title><description><![CDATA[How to break the habits of isolation, escape &#8220;Survival SQL,&#8221; and build a career that scales.]]></description><link>https://gambilldataengineering.substack.com/p/confessions-of-a-field-promoted-engineer</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/confessions-of-a-field-promoted-engineer</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 24 Jun 2026 09:56:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!x0ak!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week, I aimed a very direct indictment at leadership. I told them that the massive cloud bill they are paying for their lift-and-shift migration is their own fault. They took an isolated, self-taught employee, handed them the keys to the legacy data estate, gave them zero architectural direction, and then acted surprised when the foundation cracked under consumption pricing.</p><p>We called that practitioner &#8220;Sarah.&#8221; The leadership got their warning.</p><p>Today, we are turning the camera around. We are talking to Sarah. We are talking to the field-promoted engineer who is currently staring down a modern cloud migration, feeling a knot of imposter syndrome in their stomach, and wondering if they actually know what they are doing.</p><p>I know exactly what it feels like to be in that seat.</p><p>I know because twenty-six years ago, I was Sarah.</p><h3>The Isolation Trap</h3><p>I spent the first eight years of my career in total isolation. I was the person who was &#8220;good with data.&#8221; I was plucked from the business, dropped into a data role, and told to make things work. I didn&#8217;t have formal education. I didn&#8217;t have a senior engineer to review my code. For the first big chunk of my career, Stack Exchange didn&#8217;t even exist. If I got stuck, I was hunting through random internet forum threads just trying to figure out how to write basic queries.</p><p>And under that pressure, I delivered. I got the reports out. I built the automations. I helped the business become more efficient.</p><p>But none of it was done right.</p><p>Looking back, I built exactly what you would expect an isolated person to build. Everything lived in the <code>dbo</code> schema because nobody ever told me it could be changed. I didn&#8217;t do any data modeling. I pulled data straight from the source and built what I now realize were bridge tables, but they were born purely out of necessity. I was just figuring it out as I went.</p><p>I was writing <strong>Survival SQL</strong>.</p><p>Survival SQL is code written for completion, not for performance. It is what happens when your only metric for success is &#8220;did the report run without throwing an error?&#8221; When you write Survival SQL, you don&#8217;t understand the compute engine. You just know what keystrokes make the red squiggly lines go away.</p><h3>The Turning Point</h3><p>Eventually, I moved to a new company. I was lucky enough to land under a leader who was an actual architect. He became my mentor.</p><p>He gave me my first project, and when I turned it in, he sat down to review my code.</p><p>He knew I was smart. He saw that I understood the syntax. But as he looked at my queries, the brutal truth became obvious to both of us. I knew absolutely nothing about modeling.</p><p>My code was running for tens of minutes when it should have taken seconds. I was defaulting to <code>LEFT JOIN</code> for absolutely everything. I was dumping every table into a single schema. I didn&#8217;t know what a Fact table was. I didn&#8217;t know what a Dimension table was. I had never heard the names Inmon or Kimball.</p><p>That is the exact moment the room goes cold. That is where imposter syndrome is born. You suddenly realize that you don&#8217;t know what you don&#8217;t know, and your entire foundational knowledge is built on quicksand.</p><h3>The Indictment of Survival SQL</h3><p>When you are self-taught and trying to get things done, you don&#8217;t know any better. You build a Tribal Knowledge Shield to protect yourself. But the moment you step out of your Comfort Zone and into a modern, consumption-based cloud environment, those survival habits become massive financial liabilities.</p><p>...those survival habits become massive financial liabilities. Look at the code below. This is what an isolated engineer builds.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!x0ak!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!x0ak!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!x0ak!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!x0ak!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!x0ak!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!x0ak!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a8c935a-7767-4f80-b049-5875cd04b4b2_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;:1847160,&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://gambilldataengineering.substack.com/i/201849992?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!x0ak!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!x0ak!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!x0ak!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!x0ak!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a8c935a-7767-4f80-b049-5875cd04b4b2_1536x1024.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"><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"><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"><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"><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>Here are the three cardinal sins of Survival SQL:</p><p><strong>The DISTINCT Crutch.</strong> You write a massive query, look at the output, and see duplicates. Instead of figuring out which join caused the fan-out, you just slap a <code>DISTINCT</code> on the final <code>SELECT</code> statement and call it a day.</p><p><em>The Hard Truth:</em> <code>DISTINCT</code> is usually a confession. It is a confession that you do not understand the grain of your own data. You are forcing the compute engine to do a massive, expensive sorting operation to hide a flaw in your logic.</p><p><strong>The LEFT JOIN Default.</strong> You use <code>LEFT JOIN</code> for every single table relationship because you are terrified of dropping records.</p><p><em>The Hard Truth:</em> This is defensive coding. Every unnecessary <code>LEFT JOIN</code> forces the database engine to scan rows it should have cleanly eliminated. On a legacy on-prem server, that is a slow query. On Databricks or Snowflake, it is a recurring charge on the company credit card.</p><p><strong>The dbo Junk Drawer.</strong> You leave every table in <code>dbo</code> because &#8220;it&#8217;s easier to find.&#8221;</p><p><em>The Hard Truth:</em> You are not building a data platform. You are building a digital hoarder&#8217;s garage. If you do not impose physical layers on your data, you cannot impose governance, and you cannot secure it.</p><h3>The Extraction Protocol</h3><p>You cannot survive a modern cloud migration by doing what you did for the last ten years. You have to break your own habits. If you want to stop being a 10-Year Junior and become a true Data Engineer, here is your extraction plan.</p><p><strong>Step 1: Fix the Grain, Kill the DISTINCT.</strong> Take your three most frequent queries. Remove the <code>DISTINCT</code> clause. When the rows duplicate, trace the data lineage back to the exact join that caused the fan-out. Fix the relationship. Understand the primary keys. Stop hiding the symptom and fix the disease.</p><p><strong>Step 2: Audit your Joins.</strong> Go through your production scripts. Unless you have a specific, documented business requirement to retain null values from a target table, change your <code>LEFT JOIN</code> statements to <code>INNER JOIN</code>. Let the database engine eliminate the garbage data early.</p><p><strong>Step 3: Evict the Junk Drawer.</strong> Stop treating Medallion Architecture like a marketing buzzword. It is a governance model. Create strict schema boundaries today. Separate your raw landing tables from your standardized intermediate tables. If a table doesn&#8217;t have a defined layer and a defined owner, it is a liability.</p><p><strong>Step 4: Learn the Physics of Modeling.</strong> Stop building massive, flat, 100-column tables for every report. Read Kimball. Learn the difference between a Fact table (the verbs of your business) and a Dimension table (the nouns of your business). A well-designed Star Schema will solve performance problems that no amount of cluster-scaling ever could.</p><p>...A well-designed Star Schema will solve performance problems that no amount of cluster-scaling ever could. Here is the physical difference between accretion and architecture:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!JR1l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!JR1l!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!JR1l!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!JR1l!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JR1l!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!JR1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0411895-268e-4596-8ad0-ebed91486092_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;:2435664,&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://gambilldataengineering.substack.com/i/201849992?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!JR1l!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!JR1l!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!JR1l!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JR1l!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0411895-268e-4596-8ad0-ebed91486092_1536x1024.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"><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"><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"><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"><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><h3>The Verdict</h3><p>Imposter syndrome is just your survival instinct telling you that your skills are devaluing in a modern market.</p><p>Listen to it.</p><p>I spent eight years building the wrong way. The only difference between a career that stagnates and a career that scales is getting the right direction at the right time. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!sppT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!sppT!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!sppT!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!sppT!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sppT!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!sppT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85dfb7b1-99ae-4b3a-9741-37561d33f88f_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;:2615189,&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://gambilldataengineering.substack.com/i/201849992?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!sppT!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!sppT!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!sppT!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sppT!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dfb7b1-99ae-4b3a-9741-37561d33f88f_1536x1024.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"><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"><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"><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"><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>You did what you had to do to survive the legacy era. Now, you have to learn how to engineer for the future.</p><p>Stop writing Survival SQL. Start building assets.</p><p><em>If you are a veteran engineer realizing that your foundation is full of cracks, don&#8217;t wait for a failed technical interview to wake you up. You don&#8217;t have to figure this out in isolation anymore.</em></p><p><em>Join the <a href="https://www.gambilldata.com/coaching/">Gambill Data Coaching Program</a>. We don&#8217;t do happy paths or vendor hype. We tear down your code, fix your architecture, and turn field-promoted survivors into production-grade engineers. <a href="https://calendly.com/chris-gambill-gambilldataengineering/coaching-program-discussion">Book a intro call</a> today.</em></p>]]></content:encoded></item><item><title><![CDATA[The Field Promotion]]></title><description><![CDATA[Your "data person" is about to cost you a fortune in the cloud. It isn't their fault. It's yours.]]></description><link>https://gambilldataengineering.substack.com/p/the-field-promotion</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/the-field-promotion</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 17 Jun 2026 09:14:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KLwg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I can tell you what I&#8217;m going to find before I open the server.</p><p>I do architecture and data engineering audits for a living, and the pattern is so consistent it&#8217;s almost a ritual. One server. One database. Every single table lumped into <code>dbo</code>. Some tables prefixed with <code>staging_</code>. Some that should be, but aren&#8217;t. Views with a <code>vw</code> bolted on, built visually in a designer, never optimized. Left joins everywhere, left joins to subqueries joined to other subqueries, with <code>LEFT()</code>, <code>RIGHT()</code>, and <code>SUBSTRING()</code> functions sitting inside the join criteria just to get two systems&#8217; keys to match.</p><p>No CTEs. No separation between raw, cleansed, and business-ready data. No materialized views. No caching strategy. No partitioning. No clustering. No layers at all. Just one big room where everything lives together.</p><p>On-premise, this is survivable. You already paid for the hardware. The server grinds through those table scans at 2 AM and nobody sees the cost because the cost is invisible.</p><p>Then someone in leadership says the magic words: <em>&#8220;We&#8217;re moving to the cloud.&#8221;</em></p><p><strong>The Hard Truth</strong></p><p>Microsoft Fabric, Databricks, and Snowflake do not bill like your on-prem server. They bill by consumption. Every one of those left-join scans, every function-wrapped join condition, every unoptimized view stacked on a view stacked on a view: the platform happily executes all of it, and then it sends you an itemized invoice.</p><p>Cloud platforms don&#8217;t fix bad architecture. <strong>They put it on a meter.</strong></p><p>I call this the <strong>Lift-and-Shift Tax</strong>. It&#8217;s not a migration cost. It&#8217;s ten years of invisible architectural debt becoming a visible monthly line item, at consumption pricing, with interest. And when that bill lands, leadership&#8217;s first instinct is to look at the data person and ask what they did wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KLwg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KLwg!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!KLwg!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!KLwg!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KLwg!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KLwg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6214808,&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://gambilldataengineering.substack.com/i/201792763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KLwg!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!KLwg!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!KLwg!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KLwg!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea93b77-673b-4748-ac4d-dacd40c94345_2816x1536.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"><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"><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"><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"><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>Wrong question. Let me tell you how that database actually got built.</p><div><hr></div><h2>The Field Promotion</h2><p>Your company didn&#8217;t hire a data architect. Your company <em>grew one by accident</em>.</p><p>It started when you were small: a handful of people, everything in spreadsheets. The business grew, the spreadsheets broke, and somebody said, &#8220;We need our data in one place so we can report on it.&#8221; And then somebody else said the sentence that defines this entire pattern:</p><p><em>&#8220;Talk to Sarah. She&#8217;s good with data.&#8221;</em></p><p>So Sarah got plucked out of accounting, or operations, or wherever she was quietly being excellent, and handed the keys to the entire data estate. No formal training. No mentor. No second engineer to bounce ideas off. No architecture review, because there was no one qualified to review it. She was field-promoted, handed the rank because the company needed a body in the seat, not because anyone equipped her for the role.</p><p>And here&#8217;s the part leadership conveniently forgets when the cloud bill arrives: <strong>Sarah delivered.</strong> Under pressure, alone, learning from forum posts and trial and error, she got reports into the hands of the business. The company ran on her work. You probably praised her for it. She was the hero.</p><p>I&#8217;m not guessing at any of this. <strong>I was Sarah.</strong> Twenty-six years ago, I was the person who was &#8220;good with data,&#8221; promoted into a role nobody trained me for, building things the only way I knew how. The difference between me and the 10-Year Junior I wrote about a few weeks ago isn&#8217;t talent. It&#8217;s that somewhere along the way, I got direction, and most field-promoted data people never do.</p><h2>The Three Habits Isolation Breeds</h2><p>When a capable person builds in isolation for a decade, the same three patterns show up every time. Not because they&#8217;re careless, but because nobody ever showed them another way.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!X83t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!X83t!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png 424w, /__u/substackcdn.com/image/fetch/$s_!X83t!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png 848w, /__u/substackcdn.com/image/fetch/$s_!X83t!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png 1272w, /__u/substackcdn.com/image/fetch/$s_!X83t!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!X83t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png" width="663" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:663,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60157,&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://gambilldataengineering.substack.com/i/201792763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!X83t!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png 424w, /__u/substackcdn.com/image/fetch/$s_!X83t!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png 848w, /__u/substackcdn.com/image/fetch/$s_!X83t!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.png 1272w, /__u/substackcdn.com/image/fetch/$s_!X83t!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f0a950-af56-47e6-866f-a893a5d1f5ba_663x442.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"><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"><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"><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"><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><ol><li><p><strong>Modeling by Accretion.</strong> There&#8217;s no design, only sediment. Every new request adds another table, another view, another join. The database isn&#8217;t architected; it&#8217;s accumulated. It ends up shaped like the source application instead of shaped like the business. <em>The way out:</em> Impose layers, even on the current system. Schemas are free, on SQL Server and everywhere else. Separate raw landing data from cleansed data from business-ready reporting data into distinct schemas with distinct naming standards. This is Medallion Architecture thinking (Bronze, Silver, Gold), and you do not have to wait for the cloud to start practicing it. A platform organized into layers migrates cleanly. A <code>dbo</code> junk drawer migrates as a junk drawer.</p></li><li><p><strong>Logic That Lives in One Head.</strong> The business rules aren&#8217;t documented or layered. They&#8217;re encoded in a 400-line view that only one person understands. That&#8217;s not a data platform. That&#8217;s a single point of failure with a salary. <em>The way out:</em> Get every script, view definition, and business rule into version control and out of one person&#8217;s memory. Decompose the monster views into readable, layered steps using CTEs, where each step has a name and a single job. The test is simple: if a new hire can&#8217;t follow the logic in five minutes, it isn&#8217;t an asset. It&#8217;s a hostage situation.</p></li><li><p><strong>Tool-Shaped Thinking.</strong> When the visual designer is the only teacher you&#8217;ve ever had, you build what the designer makes easy, not what the engine executes efficiently. The drag-and-drop view builder doesn&#8217;t warn you that a function in your join criteria just disabled every optimization the engine had. <em>The way out:</em> Fix the keys, not the joins. Those <code>LEFT()</code> and <code>SUBSTRING()</code> functions buried in join criteria exist because two systems never agreed on an identifier. Conform the keys once, upstream in the cleansed layer, so every downstream join is a clean match on an indexed column. Then audit the left joins: most of them exist out of habit, not intent, and every unnecessary one forces the engine to scan rows it should have eliminated. On-prem, that&#8217;s a slow query. On consumption pricing, it&#8217;s a recurring charge.</p></li></ol><p>None of these habits hurt much on hardware you already own. All of them are gasoline the moment you migrate to a consumption-based platform.</p><div><hr></div><h2>The Indictment</h2><p>So now we get to the uncomfortable part, and leadership, this part is for you.</p><p>Your data person is not failing you. <strong>You failed them.</strong></p><p>You field-promoted a capable employee into one of the most complex disciplines in modern business and gave them nothing: no training budget, no mentor, no peer, no architectural oversight. You praised the speed and never inspected the foundation. You let them carry the entire data function alone because it was working and it was cheap.</p><p>It was never cheap. It was <em>deferred</em>. And the cloud migration is where the deferral comes due.</p><p>If you lift and shift that architecture into Fabric, Databricks, or Snowflake as-is, you are not modernizing. You are signing up to pay the Lift-and-Shift Tax every single month, while your data person, still alone and learning an entirely new platform under even more pressure, gets blamed for a bill that a decade of your decisions created.</p><h2>The Migration Triage Protocol</h2><p>You do not need to fix ten years of debt before you migrate. You need to fix the parts that compound at consumption pricing. Here is the order of operations I use when I&#8217;m brought in before a migration instead of after one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1mHB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1mHB!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png 424w, /__u/substackcdn.com/image/fetch/$s_!1mHB!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png 848w, /__u/substackcdn.com/image/fetch/$s_!1mHB!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1mHB!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1mHB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png" width="554" height="529" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2020599-99f4-4655-8f49-a44475a872a2_554x529.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:529,&quot;width&quot;:554,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:40889,&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://gambilldataengineering.substack.com/i/201792763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1mHB!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png 424w, /__u/substackcdn.com/image/fetch/$s_!1mHB!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png 848w, /__u/substackcdn.com/image/fetch/$s_!1mHB!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1mHB!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2020599-99f4-4655-8f49-a44475a872a2_554x529.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"><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"><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"><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"><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><strong>Step 1: Audit before you sign anything.</strong> Before you commit to a platform, a timeline, or a budget, get an honest inventory of what you actually have. Which views drive the business? Which ones are dead? Where are the function-wrapped joins and the view-on-view stacks? You cannot price a migration on an estate nobody has mapped. Most of the budget overruns I get called in to clean up started here, with a contract signed against an inventory that didn&#8217;t exist.</p><p><strong>Step 2: Kill the dead weight.</strong> Every legacy estate is full of tables nobody has queried in three years and views built for a report that no longer runs. Migrating them isn&#8217;t being thorough. It&#8217;s paying cloud rates to warehouse garbage. Archive it, document it, and leave it behind.</p><p><strong>Step 3: Pay down the top offenders, not everything.</strong> Rank the surviving workloads by how often they run and how much they scan. The nightly job that feeds every executive dashboard gets refactored before migration: keys conformed, joins cleaned, logic layered. The quarterly report nobody loves can lift and shift as-is and get fixed later. Triage is the discipline of fixing what compounds and deferring what doesn&#8217;t.</p><p><strong>Step 4: Design the target before you move.</strong> Define your layers, your naming standards, your ownership, and your access model in the new platform first, then migrate <em>into</em> that structure. Moving the <code>dbo</code> pile over and promising to &#8220;reorganize once we&#8217;re settled&#8221; is the lie every failed migration tells itself. You will never be settled. The mess just acquires a monthly invoice.</p><p><strong>Step 5: Pilot one domain and read the meter.</strong> Take a single business domain end to end, run it for a full billing cycle, and study the consumption like a CFO. That pilot tells you what the real Lift-and-Shift Tax on your estate looks like while the stakes are still small, and it teaches your data person the platform&#8217;s cost model before they&#8217;re responsible for all of it.</p><p>None of this is exotic. It&#8217;s the same boring discipline that separates a migration from an expensive relocation of your problems. And notice what every step has in common: each one requires someone who has done this before. Which brings us to the actual fix.</p><p><strong>The Fix</strong></p><p>The answer is not to replace your data person. They have something no consultant can walk in with: they know where every body is buried, how the business actually thinks, and why every weird workaround exists. That knowledge is an asset.</p><p>What they&#8217;re missing is the thing you never gave them: <strong>direction.</strong></p><p>That doesn&#8217;t require a full-time architect on payroll. What it requires is experienced architectural leadership applied at the right moments: designing the target architecture <em>before</em> the migration instead of auditing the damage after, setting standards, reviewing the work, and coaching your data person from field-promoted survivor into the actual architect of your platform. Hours a week of the right guidance, not another body in a seat.</p><h2>The Verdict</h2><p>Somewhere in your company right now is a database where everything lives in <code>dbo</code>, held together by left joins and one person&#8217;s institutional memory. That&#8217;s not an indictment of the person who built it. They did exactly what you asked with exactly what you gave them: nothing.</p><p>But the meter is coming. Migrate that architecture untouched and you&#8217;ll pay for every shortcut, every month, forever. Or you can do what you should have done years ago, put real direction behind your data person, and migrate something worth running.</p><p>The Field Promotion got you this far. It will not get you through the cloud.</p><div><hr></div><p><em>This is exactly the problem <a href="https://www.gambilldata.com/consulting/">Gambill Data</a> exists to solve. We provide <strong>fractional data architecture and leadership</strong>: an experienced architect on retainer to guide your platform and migration strategy, a fractional data leader to set roadmaps and build your team, sponsored one-on-one coaching for your data professionals, or monthly full-day training on Databricks and the modern data stack. Senior direction, at a fraction of a senior hire.</em></p><p><em>Your data person built your platform alone. Don&#8217;t make them migrate it alone. <strong><a href="https://calendly.com/chris-gambill-gambilldataengineering/strategy-intro">Book a strategy call.</a></strong></em></p><p><em>And if you&#8217;re the data person in this story, the one who got field-promoted and has been figuring it out solo, the next article is for you.</em></p>]]></content:encoded></item><item><title><![CDATA[The Single Point of Failure]]></title><description><![CDATA[How Mid-Market Leadership Weaponizes Your Potential]]></description><link>https://gambilldataengineering.substack.com/p/the-single-point-of-failure</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/the-single-point-of-failure</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Sun, 14 Jun 2026 14:49:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uY8Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am writing this from a metal tube at 35,000 feet, watching the clouds pass on my way to San Francisco for the Databricks Data and AI Summit. This week is full of major professional milestones. It is my first time at DAIS, my first time in San Francisco, and my longest stretch away from home in decades because I am tacking a vacation onto the end of the trip.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!uY8Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!uY8Y!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!uY8Y!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!uY8Y!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!uY8Y!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!uY8Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134093,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gambilldataengineering.substack.com/i/201992997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!uY8Y!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!uY8Y!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!uY8Y!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!uY8Y!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8471ec8-15fc-4166-836c-ea16cf06b1e5_1280x720.jpeg 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"><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"><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"><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"><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>Flying across the country to discuss enterprise architecture forces a certain amount of rearview mirror perspective. It triggers memories of my absolute beginnings in this industry back in the year 2000. It was the peak of the mobility boom, a wild west era where non-enterprise companies spent capital like water and figured the infrastructure would sort itself out later.</p><p>If you are sitting at your desk right now feeling a cold sweat because you are convinced someone is about to figure out you have no idea what you are doing, look up from your screen and listen to me.</p><p>The tech industry loves to coddle people with soft advice about imposter syndrome. Career coaches treat it like a psychological glitch, a simple lack of confidence that can be cured with positive affirmations and an inclusive Slack channel.</p><p>They are wrong. Most of the time, that crushing weight of career anxiety is not a glitch at all. It is a completely rational survival instinct. You feel like an imposter because your leadership group has intentionally isolated you, stripped away your engineering guardrails, and transformed you into a walking business continuity hazard.</p><h2>The Hard Truth</h2><p>I earned the right to prosecute this issue because I lived it.</p><p>Decades ago, I was a self-taught college dropout who abandoned a Sports Management major to answer phones at a help desk. Management spotted my potential, plucked me out of the tier-one ticket queue, and dropped me straight into a core data role. I had no team, no engineering peers, and no mentorship. This was long before Stack Overflow or Stack Exchange even existed. I was a lone wolf surfing archived web forums for any scrap of syntax that would keep my database from collapsing.</p><p>Because I was hungry and desperate to prove my worth, I built solutions.</p><p>One of my primary projects was an automated reporting system for our customer retention team. Extended service suspensions were costing the company massive amounts of operational and maintenance capital every single month. I engineered a pipeline that identified these accounts and generated a daily, dynamic calling list for our sales reps. It allowed them to aggressively target those specific accounts to either resume or cancel their service.</p><p>It was a highly successful project. It saved the business a fortune. It became an essential, load-bearing operational process that the entire department relied on to do their jobs.</p><p>Then, I went on vacation.</p><p>The pipeline suffered a critical infrastructure failure on Saturday morning while I was away. Because I had built the entire ecosystem in isolation, nobody else in the building knew how it worked, where the code lived, or how to restart the engine. The retention team went completely blind. The automated lists dried up, the reps had no data, and the unnecessary maintenance costs started piling up on the balance sheet again.</p><p>The process suffered a total operational outage for an entire week until I finally walked back through the front door.</p><p>I came back to a wall of heat from management. I felt the immediate, suffocating weight of imposter syndrome. I spent nights berating myself, convinced that I was a fraudulent engineer who had built a fragile piece of garbage.</p><p>But I was entirely wrong. The structural failure did not belong to me. It belonged to the leadership group.</p><h2>The Abuse of Potential</h2><p>Mid-market and non-enterprise companies have a toxic habit. They love to spot raw potential in a junior operator, but instead of investing in that potential, they abuse it.</p><p>They take a hungry, self-taught practitioner, give them a shiny new data title, and celebrate when that person builds operational miracles out of duct tape and raw work ethic. They gladly accept all the financial value, the cost savings, and the efficiency gains that the data professional generates.</p><p>But they refuse to invest a single dollar in engineering redundancy. They do not hire peer architects. They do not enforce engineering standards. They outright refuse to fund modern data platforms because the lone wolf is currently keeping the lights on for cheap.</p><p>Management treats your isolation as agility.</p><p><strong>In reality, it is operational negligence.</strong></p><p>They substitute professional data architecture with a Tribal Knowledge Shield. They take everything you know, lock it inside your head, and transform you into a dangerous single point of failure. The moment you decide to take a vacation, get sick, or accept a better job offer, the entire business engine grinds to a halt.</p><p>If you are trapped in this loop right now, you are running a massive career deficit. You are being set up to take the fall the next time a production pipeline breaks on a weekend. You cannot wait for management to suddenly realize the error of their ways and fund a proper data team. They will not do it.</p><p>Worse, staying in this isolated environment is how you enter the Danger Zone. When you spend years navigating a mess you helped create without anyone challenging your logic, you stop growing. You become the indispensable Oracle of a legacy system. You think you are safe, but you are actually just trapping yourself in the Comfort Zone.</p><p>You aren&#8217;t indispensable; you&#8217;re un-hirable.</p><p>You risk waking up a decade from now realizing you aren&#8217;t a senior engineer at all. You are a 10-Year Junior, someone with one year of experience repeated twelve times.</p><h2>The Strategy</h2><p>To shift your work from vulnerable tribal knowledge to production-grade authority, you must deploy strict engineering guardrails. You cannot study your way out of an isolated environment with a short online tutorial. You have to change how you interface with the business.</p><p>You must take immediate control of your operational footprint and build your own career defense network.</p><h2>The Professional Defense Protocol</h2><p>This is the three-step architecture to convert your isolated work into undeniable, production-grade evidence.</p><ol><li><p><strong>Enforce Git as the Law:</strong> If your code lives on a local desktop, a shared network drive, or an untracked production machine, change that before you leave today. Version control is your professional insurance policy. Every script, every transformation query, and every pipeline configuration file must live in a central, tracked repository. If it is not checked into Git, it did not happen. The next time a pipeline fails while you are away, your leadership should be looking at a repository branch, not your empty desk.</p></li><li><p><strong>Document for System Survival:</strong> Stop fixing pipeline failures in secret. Do not write documentation that reads like an academic textbook, write an operational playbook. Outline exactly how the data moves through your environment, list the most common reasons the pipeline stalls, and write explicit instructions on how to kickstart the system. Clear documentation does more than just help your coworkers, it legally transfers the liability of an outage from your shoulders back to the organization. If the system stays down for a week while you are on a beach, it should be because they refused to read the manual, not because the manual did not exist.</p></li><li><p><strong>Model Before You Code:</strong> Amateurs jump straight into a text editor and stitch together thousands of lines of unreadable, nested SQL loops. True architects design systems. Before you write a single line of production code, you must explicitly plan out your conceptual, logical, and physical data layers. Map out how the raw vendor applications feed your ingestion zone, how those tables translate into the language of the business, and how the final reporting layer serves the end user. This baseline structural design is what separates an isolated script-writer from a legitimate database architect. It ensures your platform behaves like an enterprise asset rather than a color-coded junk drawer.</p></li></ol><p>Each step in this protocol shares a single, unyielding requirement: it demands that you stop operating like a cowboy and start forcing professional software discipline into your daily routine.</p><h2>The Verdict</h2><p>This week at the Databricks summit, I will be reconnecting with exceptional minds in the data community: individuals like <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Scott Haines&quot;,&quot;id&quot;:313889692,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cedf883-d877-494e-a59b-5711278b7e8b_1174x1176.png&quot;,&quot;uuid&quot;:&quot;f17a57d8-853e-4da8-876f-7b3c79c834fb&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Josue A. Bogran&quot;,&quot;id&quot;:33098227,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acfa03ad-fbd7-4cb9-a68c-af4efe01c079_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;10398b65-16c7-47dc-be13-c76c75673650&quot;}" data-component-name="MentionToDOM"></span>. These are leaders who have spent decades engineering massive data ecosystems at global scale. (If you don&#8217;t follow them, go do it right now!) If you sit down with any of them over a coffee, every single one of them will admit to moments where the sheer velocity of the technology gave them pause.</p><p>Perfection is a tutorial myth. Production environments are inherently messy, volatile, and unforgiving. Defeating career anxiety does not come from achieving a flawless record, it comes from how you learn to handle the situation when things fall off the edge and you have executives breathing down your neck.</p><p>If you are sitting in a lone-wolf shop right now, terrified of being exposed, stop internalizing the structural failures of your employer. The anxiety you feel is your internal survival instinct telling you that your skills are devaluing in the modern market.</p><p>Stop operating like a tribal secret-keeper. Build the guardrails, formalize your architecture, and force your company to treat your data platform like the enterprise asset it actually is.</p><p>The isolation bubble you are hiding in is a career dead end. It is time to break it open.</p><h3>Behind the Blueprint</h3><p><strong>Chris Gambill</strong> is a senior data strategy and engineering leader with over 25 years of experience building and securing production pipelines. He specializes in transforming fragmented data environments into highly governed, enterprise-grade lakehouse platforms. Through his writing and coaching, he helps data professionals escape the comfort zone and build careers that survive the boardroom.</p><p><strong>Ready to stop running through generic tutorials?</strong> If you are an isolated operator tired of carrying the entire weight of a fragile data mess on your back, join the <strong><a href="https://gambilldata.com/coaching/">Gambill Data Coaching Program</a></strong>. We do not build sanitized, copy-pasted datasets. We force you to build systems that survive corporate scrutiny.</p><ul><li><p><strong>The War Room:</strong> Get direct, asynchronous architecture and code reviews to expose your structural and financial blind spots before a hiring manager does.</p></li><li><p><strong>The Portfolio Generator:</strong> Build verifiable, production-grade assets that prove you can handle enterprise scale.</p></li></ul><p>Don&#8217;t just tell them you know data engineering. Prove it. [<a href="https://calendly.com/chris-gambill-gambilldataengineering/strategy-intro">Book a strategy call today.</a>]</p>]]></content:encoded></item><item><title><![CDATA[Why Being Indispensable Is Killing Your Data Career]]></title><description><![CDATA[The Hero Bottleneck]]></description><link>https://gambilldataengineering.substack.com/p/why-being-indispensable-is-killing</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/why-being-indispensable-is-killing</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 10 Jun 2026 14:43:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BQd4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You think your job is safe because you are the only one who can untangle the legacy Airflow DAGs when they fail at 2:00 AM. You think you hold the keys to the kingdom because nobody else understands the silent data skew ripping through the customer ingestion pipelines.</p><p>You think you are indispensable.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!BQd4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!BQd4!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png 424w, /__u/substackcdn.com/image/fetch/$s_!BQd4!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png 848w, /__u/substackcdn.com/image/fetch/$s_!BQd4!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BQd4!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!BQd4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png" width="1456" height="772" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3251688,&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://gambilldataengineering.substack.com/i/201389462?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!BQd4!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png 424w, /__u/substackcdn.com/image/fetch/$s_!BQd4!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png 848w, /__u/substackcdn.com/image/fetch/$s_!BQd4!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BQd4!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e04259-8deb-49e4-b308-b3f9486e9efa_2177x1155.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"><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"><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"><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"><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>From where I sit, looking at the operational risks of this organization, you aren&#8217;t a hero. You are a Single Point of Failure (SPOF). You are a massive liability, and your &#8220;indispensability&#8221; is exactly why your career has flatlined.</p><p>For the first half of my career, I was exactly where you are. I was the wizard. I was the guy everyone called when the data infrastructure was bleeding out on the operating table. It felt like job security. When surplus cuts and layoffs rolled through the industry, my name was never on the chopping block because the business literally could not function without my hands on the keyboard.</p><p>But when I wanted to scale my impact, whether that meant stepping into a strategic architecture role or moving into leadership, I hit a brick wall.</p><p>Middle management is inherently terrified. If they promote the wizard, who is going to keep the fragile, duct-taped pipelines running?</p><p>This is the reality of the &#8220;Zone of Excellence.&#8221; It is a trap. If you build systems that require your heartbeat to function, you are building your own cage. Let me show you exactly what that looks like, the political warfare required to buy your way out, and how to engineer a production-grade escape route.</p><h3><strong>The Anatomy of the Cage: Keeping the Wheels on the Bus</strong></h3><p>People outside the trenches look at fragile, convoluted legacy pipelines and assume they are the result of ego or &#8220;Resume-Driven Development.&#8221; They assume the wizard built a hyper-complex system just to look smart, stringing together Kafka, Spark, and custom microservices when a simple cron job and Postgres would have worked.</p><p>The truth is much uglier. Wizards build cages unintentionally.</p><p>Fragility isn&#8217;t born from ego; it is born from pure survival mode. In the real world, the wizard is usually a one-person team (or maybe a stretched-thin squad of three) trying to service an entire enterprise organization. You are just trying to keep the wheels on the bus while the bus is barreling down the highway at 80 miles per hour.</p><p>You take the fast path because it is the only path. You duct-tape a fragile ingestion script together, skip the error handling, ignore the data quality checks, and hardcode the credentials because you have five other critical fires burning simultaneously. You do what you have to do to get by and move on to the next disaster.</p><p>But over time, those temporary, survival-mode fixes harden into permanent infrastructure. The business scales, the volume of data 100x&#8217;s, but the architecture remains the same hacked-together script you wrote at 3:00 AM three years ago. And suddenly, you are the only one who knows which string to pull to keep the entire reporting layer from collapsing.</p><h3><strong>The Capacity Trap: The Unfunded Mandate</strong></h3><p>Here is where standard engineering advice fails you. Blog posts and textbooks will tell you to &#8220;just build immutable infrastructure&#8221; or &#8220;just implement data contracts.&#8221;</p><p>That advice is an insult to a drowning engineer.</p><p>You already know the architecture is garbage. You know what a production-grade system looks like. The problem isn&#8217;t a lack of knowledge or discipline; it is a lack of capacity. You are trapped in a system where middle management treats technical debt cleanup as a &#8220;nice to have,&#8221; while demanding 100% of your sprint capacity for shipping new features.</p><p>Asking you to rebuild the plane while you are flying it is an unfunded mandate.</p><p>If you want the runway to build Anti-Fragile systems, you have to force the business to pay for it. You cannot walk into your VP&#8217;s office and talk about &#8220;YAML-driven metadata frameworks.&#8221; They don&#8217;t care. You have to weaponize &#8220;Code to Cash.&#8221;</p><p>You walk in and say: <em>&#8220;This fragile legacy pipeline costs us 15 hours of engineering time a week in manual restarts and debugging. At our blended hourly rate, that is a $75,000 annual bleed in wasted operations, not to mention the SLA risks to our cybersecurity dashboards. Give me a two-week sprint to implement an automated configuration framework, and I will hand you back $75,000 in operational capacity to put toward the new roadmap.&#8221;</em></p><p>You don&#8217;t ask for permission to engineer your escape. You extort them with their own operational losses.</p><h3><strong>The Endgame: Staff IC vs. Director Leadership</strong></h3><p>Let&#8217;s clarify the objective. &#8220;Engineering your own obsolescence&#8221; isn&#8217;t just about moving into management. Not every senior engineer wants to be a Director, and they shouldn&#8217;t have to be.</p><p>But whether you want to be a Director leading a blended team, or a Principal Engineer architecting cross-domain enterprise systems, the prerequisite is exactly the same: <strong>You cannot scale your impact if you are handcuffed to a single point of failure.</strong></p><ul><li><p><strong>The Senior Engineer (The Hero):</strong> Scope is capped by the specific pipelines they manually babysit.</p></li><li><p><strong>The Principal/Staff Engineer (The Architect):</strong> Scope spans the entire enterprise. They don&#8217;t manage people; they manage systems.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!X6ff!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!X6ff!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!X6ff!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!X6ff!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!X6ff!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!X6ff!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6282040,&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://gambilldataengineering.substack.com/i/201389462?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!X6ff!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!X6ff!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!X6ff!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!X6ff!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffdd29-e2e1-4ac6-b3d4-f2c6be807758_2816x1536.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"><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"><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"><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"><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>If you want the Principal title, or the Director title, your hands have to come off the keyboard for routine operations. If you drag your IC chains with you, the facade will crack, and the fallout will be spectacular.</p><h3><strong>The Breaking Point: The Cost of Missing the Room</strong></h3><p>I learned this the hard way. When I finally broke through and secured a Director position, my mandate was massive. I was architecting the data strategy for an arm of the business that owned multiple subsidiaries, leading data initiatives that fed directly into our cybersecurity threat detection, and hiring a blended engineering team.</p><p>But because I hadn&#8217;t built proper abstraction layers, I couldn&#8217;t hand off my legacy systems. At 10:00 PM on a Tuesday, I was still an Individual Contributor.</p><p>My breaking point wasn&#8217;t a technical glitch. It was a massive, humiliating leadership failure masquerading as an IT emergency.</p><p>I was so elbow-deep in untangling legacy Python scripts that I missed the strategic cross-functional steering meetings. Because I was down in the weeds, I missed the discussions about a massive, enterprise-wide architectural overhaul to our upstream Salesforce environment.</p><p>I didn&#8217;t find out about the schema changes until three weeks prior to deployment.</p><p>The result? Absolute chaos. My failure to act as a Director triggered a brutal fire drill. I had to force my brand-new data engineers to drop everything, work grueling hours, and desperately revamp and test massive chunks of our Salesforce ingestion layer. I thought being a hands-on hero protected my team. Instead, my inability to let go of the keyboard almost took down our executive reporting layer and burned out my new hires before they even got comfortable.</p><p>When the Director is acting like a janitor, nobody is steering the ship.</p><h3><strong>Building Anti-Fragility: Engineering Your Escape Route</strong></h3><p>If you want to survive the transition into enterprise architecture or leadership, you must systematically dismantle the survival-mode infrastructure you built.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!MkNq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!MkNq!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!MkNq!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!MkNq!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!MkNq!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!MkNq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6670488,&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://gambilldataengineering.substack.com/i/201389462?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!MkNq!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!MkNq!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!MkNq!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!MkNq!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe14c4eba-dd8c-477a-a6ee-310555a4cde8_2816x1536.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"><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"><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"><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"><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><h4><strong>1. Enforce Upstream Contracts (The Real Guardrails)</strong></h4><p>Generic CI/CD advice won&#8217;t save you from a major Salesforce overhaul. Real guardrails are built around data contracts and schema validation.</p><p>Stop letting your pipelines blindly ingest whatever upstream applications spit out. Implement hard schema contracts at the ingestion layer. If a rogue dev drops a column, renames a primary key, or changes a data type, your pipeline should not silently ingest the nulls and corrupt the executive dashboard. It should fail loudly at the gate, preserve the last known good state, and instantly alert the team via automated routing. You stop the bleeding before it enters the warehouse.</p><h4><strong>2. Standardize the Blast Radius</strong></h4><p>&#8220;Abstracting complexity&#8221; is a fluffy buzzword. The trench reality is standardizing your blast radius.</p><p>When you have a small, scrappy team, every pipeline is a bespoke snowflake. To step away, you must enforce brutal standardization. Junior engineers should not be writing custom ingestion logic from scratch. They should be managing configurations. Build metadata-driven ingestion frameworks where a new data source is added by updating a YAML file, not by writing 500 lines of custom Python.</p><h4><strong>3. Kill the Console (Immutable Operations)</strong></h4><p>If you or your team have to log into a cloud console to manually restart a cluster, tweak a memory parameter, or manually execute a DAG when a job fails, your system is already broken.</p><p>Everything must be deployed via Infrastructure as Code (IaC). Terraform is the baseline. If the primary cluster crashes, the new hires shouldn&#8217;t need a Loom video from you explaining how to rebuild it. They should trigger a pipeline that spins up an exact, immutable replica from the repository.</p><h3><strong>The Verdict: Code to Cash</strong></h3><p>The industry doesn&#8217;t need more heroes. We don&#8217;t need more wizards hoarding knowledge to protect their paychecks. We need engineers who understand how to translate code into cash.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!isvh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!isvh!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!isvh!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!isvh!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!isvh!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!isvh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6214726,&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://gambilldataengineering.substack.com/i/201389462?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!isvh!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!isvh!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!isvh!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!isvh!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1519c1ce-b36f-42bb-a3cc-d825f4e33fce_2816x1536.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"><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"><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"><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"><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>If you are fighting for a promotion to Staff or Director, stop proving that the team can&#8217;t survive without you. Use the unit economics of your own technical debt to extort the runway you need. Then, build a system so robust, so heavily standardized, and strictly contracted that you could walk away tomorrow and the business wouldn&#8217;t miss a beat.</p><p>Stop being the hero. Start engineering the system to survive without you.</p><h2><strong>About the Author</strong></h2><p><em>If you are a veteran engineer feeling the walls of the Wizard's Cage closing in, do not wait for a layoff to wake you up. Join the <a href="https://gambilldata.com/coaching/mentoring-program/">Gambill Data Coaching Program</a>. We do not do "Happy Paths." We do production-grade reality.</em></p><p><em>Not ready to jump into the structured program? Join me for more insights on <a href="https://www.youtube.com/@GambillDataEngineering">YouTube</a> and <a href="https://www.linkedin.com/in/databasemanagement/">LinkedIn</a>!</em></p>]]></content:encoded></item><item><title><![CDATA[The AI Force Multiplier Has a Meter Running]]></title><description><![CDATA[Using AI efficiently and ethically in data engineering]]></description><link>https://gambilldataengineering.substack.com/p/the-ai-force-multiplier-has-a-meter</link><guid isPermaLink="false">https://gambilldataengineering.substack.com/p/the-ai-force-multiplier-has-a-meter</guid><dc:creator><![CDATA[Chris Gambill]]></dc:creator><pubDate>Wed, 03 Jun 2026 16:54:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lClh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.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="/__u/substackcdn.com/image/fetch/$s_!lClh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!lClh!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!lClh!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!lClh!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lClh!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!lClh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:435482,&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://gambilldataengineering.substack.com/i/200468998?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!lClh!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!lClh!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!lClh!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lClh!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e6c1087-9d9f-41fd-80ae-499dc8748f88_1200x630.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"><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"><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"><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"><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><figcaption class="image-caption">AI can multiply engineering output, but every multiplier has a meter attached.</figcaption></figure></div><p>There are two things almost nobody says in the same breath about AI in data engineering. The first is that it works. The productivity gains are real, and I have watched them happen on real systems, not in demos. The second is that those gains arrive on a meter, and the meter does not stop just because you are impressed.</p><p>Most of the writing on this topic picks one. The hype crowd talks about the multiplier and ignores the bill. The skeptics talk about the bill and miss what is actually being delivered. The engineers who come out of this era ahead, especially the ones moving from senior IC toward leading teams, are the ones holding both ideas at once. AI multiplies your output, and left unchecked, it just as quietly multiplies your cost and obscures who actually did the work.</p><p>Let me take those in order.</p><h2>1. The multiplier is real</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!h2ME!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!h2ME!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!h2ME!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!h2ME!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!h2ME!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!h2ME!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:488659,&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;:false,&quot;internalRedirect&quot;:&quot;https://gambilldataengineering.substack.com/i/200468998?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!h2ME!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!h2ME!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!h2ME!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!h2ME!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f1452f2-2658-435f-9407-bea71dfaa327_1200x630.png 1456w" sizes="100vw"></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"><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"><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"><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"><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><figcaption class="image-caption">The real win is not just speed. It is turning opaque logic into something an engineer can reason about.</figcaption></figure></div><p>I will start with something concrete, because the abstractions are cheap.</p><p>An engineer I coach had been staring at a tangle of ORM-generated SQL, the kind of machine-emitted query nobody writes by hand and nobody fully understands later. The question was not &#8220;is this slow.&#8221; It was the more basic one: where is this data even coming from, and what is this query actually doing? Tracing that by hand, jumping across repos and generated layers, is the kind of work that eats days and produces nothing you can show anyone.</p><p>He pointed Claude at the repositories and used it to trace the logic. The manual version of that investigation would have taken days. With AI doing the legwork, it collapsed into a fraction of that, and it surfaced something worth surfacing: a query running redundant joins to return data that lived entirely in the base table. The joins were not doing anything. They were complexity that had been hiding the fact that only base-table data was ever coming back.</p><p>That is the part I want to be precise about. The win was not speed. The win was legibility. AI turned an opaque, over-joined query into something a human could finally reason about and simplify. Speed was a side effect.</p><p>In a separate piece of work, the same pattern showed up against production infrastructure. An AI-generated Python script profiled a single table, surfaced a set of unused indexes quietly eating storage, and then benchmarked the before-and-after across their production fleet. That is not a toy. That is a measurable footprint on real systems.</p><p>And here is the line I would put in bold if this were a slide. He is the first to say AI is wrong often enough that you check everything. That caveat is not a weakness in the story. It is the whole point. The multiplier only works in the hands of someone who can tell when the output is wrong.</p><p>This is also where the market is pointing, if you read the job descriptions honestly. Data engineering fundamentals are still the floor, but the postings increasingly assume you can pair them with AI-assisted workflows, cloud, and CI/CD as table stakes rather than differentiators. The skill being priced is not &#8220;uses AI.&#8221; It is &#8220;uses AI and knows when to overrule it.&#8221;</p><h2>2. The meter is running</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!JwvU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!JwvU!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!JwvU!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!JwvU!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JwvU!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!JwvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:649403,&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://gambilldataengineering.substack.com/i/200468998?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!JwvU!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!JwvU!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!JwvU!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JwvU!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761b88b0-9c45-4c41-b479-5842ec50315b_1200x630.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"><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"><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"><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"><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>Here is the part the multiplier stories leave out.</p><p>Agentic AI does not bill like the software you are used to buying. For two decades, enterprise tools billed like SaaS: a flat seat fee, the same whether your team hammered the tool all day or forgot it existed. AI bills like the electric company. Every prompt, every long document pulled into context, every autonomous agent looping through a multi-step task draws metered compute, and you pay by the micro-unit. Inc. made exactly this comparison in its recent coverage, and it is the right one.</p><p>The cautionary tale in that same reporting: a company reportedly burned through roughly half a billion dollars in a single month after rolling Claude out to its workforce with no usage caps. People ran long queries and complex agent workflows, and the tab piled up before finance understood the meter was even on. That figure deserves the honesty caveat. It traces back to a single consultant&#8217;s account of one client, and Inc. framed it as a canary, not a verified statistic. But you do not need the number to be precise for the lesson to be true.</p><h3>The flat-rate era is ending, and the vendors are telling you so</h3><p>If the half-billion-dollar story feels too far away to matter, look at what is happening to the tools on your own desk. The flat-rate subscription, the model that trained all of us to treat software cost as a fixed line item, is being dismantled in plain sight.</p><p>GitHub Copilot moved its plans to usage-based billing in 2026, replacing fixed request units with credits tied to token consumption. GitHub&#8217;s own product leadership was blunt about why: Copilot stopped being an in-editor autocomplete and became an agentic platform that runs long, multi-step sessions across entire repos, and per-seat pricing cannot absorb that. Microsoft 365 Copilot is following with pay-as-you-go billing. The developer reaction was immediate, with many arguing they will get less for the same money, since base prices hold while token-heavy work such as chat, agentic coding, and code review gets more cost-sensitive.</p><p>Then there is Anthropic, which is worth dwelling on, because it is the clearest version of the pattern. Anthropic shifted Claude Enterprise away from a flat fee of up to roughly $200 per user per month that included a bundle of tokens, and toward a usage-based model: a smaller seat fee around $20 per user, with metered compute charged on top (as reported by The Information). On the subscription side, programmatic and agent usage, the Agent SDK, scripted command-line calls, Claude Code running in CI pipelines, is being split off from the interactive chat pool and onto a separate monthly credit. That credit is capped, sized roughly $20 for Pro, $100 for Max 5x, and $200 for Max 20x, and it is metered at full API list rates with no rollover. When the credit runs out, the automated work simply stops unless you have opted into overflow billing.</p><p>Read that mechanic again, because it is the shape of where everything is heading. You get a capped allowance, and past the cap, you are on consumption-based billing at full rates. Anthropic&#8217;s own guidance even points teams running shared production automation toward pay-as-you-go API billing rather than subscription credentials. The structural reason is honest and unsurprising: agents consume compute at a rate flat-rate subscriptions were never designed to sustain, and demand has been growing faster than supply.</p><p>The takeaway for an engineer is not which vendor changed what on which date. It is that the era where you could ignore consumption is over, at every layer, from the IDE assistant to the enterprise platform to the API.</p><h3>The price card can hold steady while your cost climbs</h3><p>There is a motif worth naming once and reusing. The headline price can stay flat while your actual cost rises. Copilot&#8217;s base prices did not move, but token-heavy work got more expensive. The same thing happens at the model layer, where a new tokenizer can generate materially more tokens for the same input text, so your spend rises even though the per-token rate on the rate card never changed. The meter spins faster without anyone raising the price.</p><p>Here is the rough shape of that meter across the frontier tools, so you have a feel for the order of magnitude:</p><p>Tier Rough rate (input / output, per million tokens) Flagship (Claude Opus, GPT-5.5) ~$5 / $25 to $30 Mid (Claude Sonnet, Gemini Pro) ~$2 to $3 / $12 to $15 Workhorse (Haiku, Gemini Flash-Lite, GPT Mini) ~$0.10 to $1 / $0.40 to $5</p><p>Two structural facts hide in that table, and they are where the discipline lives.</p><p>First, output costs roughly five times what input does. The expensive thing is not your prompt. It is how much the model says back. Verbose, let-it-ramble usage is where budgets bleed quietly.</p><p>Second, the workhorse models are ten to twenty-five times cheaper than the flagships, and most of your workload does not need a flagship. Defaulting every call to the most powerful model is the AI equivalent of running every job on an over-provisioned cluster because requesting the right size felt like effort.</p><h3>You can put a number on it before you spend it</h3><p>One of the more useful developments is that the vendors now ship estimators, which means you can model the bill before you commit to it. Microsoft publishes an official <a href="https://microsoft.github.io/copilot-studio-estimator/">Copilot Credit Estimator</a> where you select agent types and features and see projected monthly credit consumption, with one credit priced at a cent. The numbers it surfaces are instructive on their own. By Microsoft&#8217;s own example, a grounded agent response costs around 12 credits, but flip on reasoning and the same response can cost 112 or more, roughly nine times the price for a single toggle. Microsoft even advises adding a 10 to 20 percent buffer to any estimate, because you cannot fully predict how many calls an agent will make to finish a task.</p><p>Sit with the reasoning multiplier, because it generalizes. Across providers, &#8220;think harder&#8221; is a spend decision. A single high-effort call on a long prompt can burn tens of thousands of reasoning tokens before you get one line of answer. Reasoning is a feature, not a default. Turn it on where it earns its keep and leave it off where it does not.</p><h3>Do not throw money at the fire</h3><p>This brings me to the mindset I actually want you to take from this section.</p><p>I sat in with a team debugging a reporting slowdown, and the tempting fix was on the table: throw more compute at it. They declined. They fixed the inefficient logic instead. That is exactly the instinct token spend demands. Do not brute-force inefficiency with more resources. Find the inefficiency and remove it. Another team I work with is bumping against hard memory ceilings and cannot simply allocate their way out, and that constraint is part of what is pushing them toward a Rust migration. Same lesson from the other direction: you get good when you are forced to optimize under a ceiling you cannot raise.</p><p>The concrete levers map almost one-to-one onto disciplines you already practice:</p><ul><li><p>Prompt caching cuts repeated-input cost by up to about 90 percent. It is not recomputing what you already have, the same logic as a materialized view or an incremental load.</p></li><li><p>Batch processing runs roughly half price for anything that does not need an answer this second. It is scheduling non-urgent jobs off-peak.</p></li><li><p>Model routing sends the easy 80 percent to a cheap model and reserves the flagship for what genuinely needs it. It is right-sizing compute.</p></li><li><p>Concise prompting directly cuts the expensive side of the bill. It is the difference between <code>SELECT *</code> and selecting the columns you actually need.</p></li><li><p>Reasoning effort, as above, is a spend decision rather than a default setting.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!H595!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!H595!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!H595!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!H595!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!H595!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!H595!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:576021,&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://gambilldataengineering.substack.com/i/200468998?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!H595!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!H595!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!H595!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!H595!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e0931ab-b3ef-4ae7-a85e-458d9fffcf98_1200x630.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"><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"><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"><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"><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>None of this is exotic. It is the cost-conscious engineering you would apply to any metered resource. AI is just the newest line item that bills like one, and right now it is one of the least-governed line items in most engineering budgets. Being early to that discipline is a real edge.</p><h3>The exercise I run with teams</h3><p>Here is a thought experiment I have started giving the people I work with, and it does more to build cost intuition than any dashboard.</p><p>I ask them one question: if you were told you could only use one third of the tokens you currently use, what would you change about how you work?</p><p>The first reaction is usually mild panic, which is the point. Then the real answers come, and they are almost always good engineering. People say they would stop dumping entire repositories into context and start being deliberate about what the model actually needs to see. They would cache the system prompt and the reference material instead of resending it on every call. They would draft and iterate on a cheap model and only escalate to the flagship for the final, hard step. They would turn reasoning off for the routine work. They would batch the overnight jobs. They would write tighter prompts and ask for tighter answers.</p><p>Notice what just happened. Every one of those answers is something they could do today, at full budget, and the only reason they were not doing it is that nobody made them think about the meter. The constraint did not make them worse engineers. It made them deliberate ones. That is the entire game. The cap is hypothetical, but the waste it exposes is not.</p><p>If you lead a team, this is a better forcing function than a spending alert, because it changes behavior before the bill arrives instead of after. And if you are an individual contributor, run it on yourself. You will find a third of your spend you did not need.</p><h2>3. The ethics layer</h2><p>Cost is the part people are starting to talk about. Authorship is the part they are still avoiding, and it is the one that will quietly make or break careers.</p><p>When AI multiplies your output, it also blurs the line between what you did and what the tool did. The dishonest move, and it is everywhere, is to let that blur work in your favor. Ship the AI&#8217;s output, take the credit, hope nobody asks how the sausage was made.</p><p>The advice I give every coaching student is the opposite, and it has two halves that have to go together.</p><p>First, understand the foundations before you reach for the accelerant. You need a real grasp of what AI is and what it is not, because the multiplier only works for someone who can judge the output. Use AI to speed up delivery, absolutely, but speeding up delivery of work you could not evaluate is just shipping risk faster.</p><p>Second, be brutally honest about the tool&#8217;s role. In your README, in your write-up, in how you talk about the project, separate three things explicitly:</p><ul><li><p>This is what I used AI to do.</p></li><li><p>This is what I had to make decisions on.</p></li><li><p>This is how it sped up my time to market.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!D_WN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!D_WN!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!D_WN!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!D_WN!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!D_WN!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_webp, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!D_WN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:510628,&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://gambilldataengineering.substack.com/i/200468998?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!D_WN!, /__u/gambilldataengineering.substack.com/w_424, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!D_WN!, /__u/gambilldataengineering.substack.com/w_848, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!D_WN!, /__u/gambilldataengineering.substack.com/w_1272, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!D_WN!, /__u/gambilldataengineering.substack.com/w_1456, /__u/gambilldataengineering.substack.com/c_limit, /__u/gambilldataengineering.substack.com/f_auto, /__u/gambilldataengineering.substack.com/q_auto:good, /__u/gambilldataengineering.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb664e36f-2ca0-4600-9bd0-8034a9eee1ef_1200x630.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"><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"><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"><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"><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>That is not a confession. It is a credential. Step back and think about what a hiring manager actually wants to see. Using tools to work more efficiently has always been the job. That part is not new and not interesting. What they are really screening for is whether you can do that and bring enough foundation and experience to think critically about the output: to adjust it, to make logical calls, to recognize when the model has handed you an anti-pattern and push back toward the right one.</p><p>You cannot demonstrate that judgment by hiding the AI. You demonstrate it by showing exactly where you applied it and where you overrode it.</p><p>This connects to something I keep coming back to with the people I mentor. Show your work. The most valuable thing you can document is not the clean, happy-path result. It is the actual problem-solving path, including the wrong turns and the decisions. A tutorial that only shows the version that worked teaches almost nothing. A write-up that shows how you got there, where AI helped, and where your own judgment redirected it proves the one thing an employer cannot get from a polished repo alone: that there is an engineer in there doing the thinking.</p><p>The ethical use of AI was never about hiding it. It is about showing the reasoning AI helped you reach, and owning which parts of that reasoning were yours.</p><h2>The throughline</h2><p>AI multiplies output. Left unchecked, it multiplies cost and obscures authorship just as efficiently.</p><p>The engineers who win this era treat tokens like a compute budget, because that is exactly what they are, and treat attribution like a professional obligation, because that is exactly what it is. The multiplier is real. So is the meter. And the person standing between the two, deciding what is worth spending and honestly accounting for what got built, is still you.</p><div><hr></div><p><em>I coach engineers on exactly this kind of judgment, the foundations underneath the tools and how to demonstrate them, through <a href="https://gambilldata.com/coaching/">The Gambill Data Coaching Program</a>. A companion piece is coming for the leadership and executive side of this question, how to govern AI spend and authorship at the team and org level, in the <a href="https://gambilldata.com/blog/">Data With Direction</a> blog for leaders on the Gambill Data website. If that is your seat, watch for it.</em></p>]]></content:encoded></item></channel></rss>