<?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[FDE Hub]]></title><description><![CDATA[Inside the fastest-growing role in AI: what Forward Deployed Engineers actually do, and what we're learning by embedding in real businesses.]]></description><link>https://www.fdehub.org</link><image><url>https://substackcdn.com/image/fetch/$s_!a8TB!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a002bf7-2b72-4b8f-ab95-1a3aed06a6bf_500x500.png</url><title>FDE Hub</title><link>https://www.fdehub.org</link></image><generator>Substack</generator><lastBuildDate>Fri, 21 Aug 2026 21:10:05 GMT</lastBuildDate><atom:link href="https://www.fdehub.org/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Milos Mandic]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[fdehub@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[fdehub@substack.com]]></itunes:email><itunes:name><![CDATA[Milos Mandic]]></itunes:name></itunes:owner><itunes:author><![CDATA[Milos Mandic]]></itunes:author><googleplay:owner><![CDATA[fdehub@substack.com]]></googleplay:owner><googleplay:email><![CDATA[fdehub@substack.com]]></googleplay:email><googleplay:author><![CDATA[Milos Mandic]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Someone Has to Tell the Agent the Rules Changed]]></title><description><![CDATA[Collecting context before the build is half the job. Maintaining it afterwards is the half somebody has to own.]]></description><link>https://www.fdehub.org/p/someone-has-to-tell-the-agent-the</link><guid isPermaLink="false">https://www.fdehub.org/p/someone-has-to-tell-the-agent-the</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 18 Aug 2026 15:30:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Vkly!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve spent a lot of this newsletter arguing that the hard part of deploying AI is extraction. Getting the operational logic out of people&#8217;s heads, out of undocumented systems, out of the gap between how a process is described and how it actually runs. I still believe that. But extraction is only half the story, and it&#8217;s the half that flatters us, because it has an ending. You interview the operators, you map the process, you encode the rules, you ship.</p><p>The other half doesn&#8217;t end. Delivery days change. Regions get added and dropped. Approval thresholds move. Pricing tiers get restructured. Suppliers get replaced, exceptions become policies, policies become exceptions. Every project I&#8217;ve worked on, across every industry, has the same property: the business keeps moving after the build is done, and the system keeps acting on the version of the business that existed the day it shipped.</p><p>Context is a live thing. It is not something you collect once and store. And it raises two questions that rarely make it into a project budget. Technically, how does an agent&#8217;s knowledge get updated and, more importantly, invalidated? And operationally, who makes that call, and through what interface?</p><p>To answer either, you have to start with why the model can&#8217;t just handle this itself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vkly!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vkly!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vkly!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vkly!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vkly!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vkly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg" width="1292" height="727" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:727,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:298059,&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://www.fdehub.org/i/211416896?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Vkly!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vkly!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vkly!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vkly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff855416a-2430-4533-9200-20f5e5a7d145_1292x727.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><h2>Working memory is not memory</h2><p>The context window gets described as the model&#8217;s memory so often that it&#8217;s worth being precise about what it actually is. The context window is the sequence of tokens the model can attend over in a single call. That&#8217;s all. Everything the model &#8220;knows&#8221; about your task, beyond what&#8217;s baked into its weights, lives in that sequence. When the call ends, it&#8217;s gone. The weights don&#8217;t update from talking to you. Nothing persists.</p><p>So the context window isn&#8217;t memory. It&#8217;s working memory, and it comes with three constraints that shape everything downstream.</p><p>The first is cost. Attention, in its standard form, works by letting every token look at every other token, which means the compute grows quadratically with sequence length. Frontier models increasingly interleave sparse and sliding-window variants, but in practice the scaling remains effectively quadratic. Double the context, quadruple the attention work. Inference engineering softens this with the KV cache: once a token&#8217;s keys and values are computed, they don&#8217;t change, so the runtime stores them and each new token only computes its own contribution and attends against the cache. That&#8217;s why inference has two distinct phases. Prefill processes your whole prompt in one parallel pass and determines how long you wait for the first token. Decode generates one token at a time against the cache and determines tokens per second. The cache itself is enormous, scaling with layers times heads times sequence length, which makes long-context serving as much a GPU memory problem as a compute problem. This is why context is priced the way it is, and why &#8220;just put everything in the context&#8221; is not a free architecture decision. It&#8217;s a metered one.</p><p>The second constraint is degradation. Even within the window, the model doesn&#8217;t use everything equally. Retrieval quality is empirically strongest at the start and end of the context and sags in the middle, and that positional effect has held across every model generation since it was first measured. There&#8217;s a second effect on top of it, now usually called context rot, where accuracy declines as the input grows even when the evidence sits in a favourable position. Stuff a hundred documents into a long window and you have not given the model a hundred documents. You&#8217;ve given it a well-lit beginning, a well-lit end, and a dim warehouse in between.</p><p>The third constraint is the one that matters most for this essay: no persistence. Whatever you load into the window evaporates when the session ends. A deployment that has to hold knowledge across weeks, months, and personnel changes gets nothing from the window itself. Cross-session continuity is not a model feature. It has to be engineered, outside the model, in the harness.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What actually gets bolted on</h2><p>In practice, agent memory is a hierarchy of systems wrapped around the model, and each layer answers a different question.</p><p>The innermost layer is the in-context scratchpad: the running trajectory of the current task. It grows with every step, and because the model re-reads the entire trajectory on every turn, it gets compacted as it grows. Older turns get summarised, recent ones stay verbatim. Compaction is a craft in itself, because a summary that drops a load-bearing detail poisons every later decision that would have needed it.</p><p>Outside the window sits long-term memory, and it splits naturally into two kinds of store, because two kinds of knowledge behave differently.</p><p>Episodic memory is what happened. Events, decisions, outcomes, each with a timestamp. This is the time-series layer: traces and logs of the agent&#8217;s own behaviour and of the business it operates in. Which orders were processed, what was decided about the mismatched invoice in April, how the exception was resolved. Episodic memory answers &#8220;what did we do last time this happened?&#8221;</p><p>Semantic memory is what&#8217;s true. Entities, rules, procedures, the SOPs. Which regions we deliver to, what the approval threshold is, how a valid purchase order is structured. Semantic memory answers &#8220;what are the rules right now?&#8221; It&#8217;s the layer that most directly encodes the operational logic extracted during the build, and it&#8217;s the layer this whole essay is about.</p><p>At each step, retrieval pulls the relevant slice of both stores into the working window. And below all of it sits durable task state, the plain record of what&#8217;s been processed and what&#8217;s pending, which belongs in a database rather than in any context, because it has to survive crashes, restarts, and model upgrades.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WwaU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WwaU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png 424w, https://substackcdn.com/image/fetch/$s_!WwaU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png 848w, https://substackcdn.com/image/fetch/$s_!WwaU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!WwaU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WwaU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:205082,&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://www.fdehub.org/i/211416896?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WwaU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png 424w, https://substackcdn.com/image/fetch/$s_!WwaU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png 848w, https://substackcdn.com/image/fetch/$s_!WwaU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!WwaU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b19c689-283f-4ff1-b7f1-f49406cf3893_2800x1600.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. Storage and retrieval are, at this point, solved-ish problems. The part that isn&#8217;t solved is the part that makes the whole thing safe to rely on.</p><h2>Invalidation is the hard part</h2><p>Here is the failure mode that should worry you more than hallucination. The approval threshold changes in March. The semantic store still says the old number. In June, the agent retrieves that rule, with full confidence and a clean provenance trail, and acts on it. Nothing in the system flags a problem, because from the system&#8217;s point of view there isn&#8217;t one. Retrieval worked perfectly. It retrieved the truth as of last year.</p><p>Stale memory retrieved with confidence is worse than no memory. No memory makes the agent ask. Stale memory makes it certain.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a5DF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a5DF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png 424w, https://substackcdn.com/image/fetch/$s_!a5DF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png 848w, https://substackcdn.com/image/fetch/$s_!a5DF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!a5DF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a5DF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:131656,&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://www.fdehub.org/i/211416896?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a5DF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png 424w, https://substackcdn.com/image/fetch/$s_!a5DF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png 848w, https://substackcdn.com/image/fetch/$s_!a5DF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!a5DF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a6207aa-a142-4032-b74c-874595eeb3be_2800x1440.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 engineering answer is truth maintenance, and it has three parts. First, every memory carries a timestamp and a source, so any retrieved fact can be traced to when it was true and where it came from. Second, contradiction triggers re-verification rather than silent preference. When a fresh observation disagrees with a stored rule, the system must not quietly pick one. The disagreement is the signal, and the correct behaviour is to surface it. Third, process-type memories get expiry dates. A rule about how approvals work is not a fact about the world; it&#8217;s a fact about an organisation, and organisations change. TTLs and scheduled re-validation force the question &#8220;is this still true?&#8221; onto a calendar instead of leaving it to luck.</p><p>All three mechanisms are buildable today, and parts of them are already shipped. Temporal knowledge graph memory stores, the current research direction for agent memory, attach validity intervals to every fact and invalidate the old edge when a new one contradicts it. But watch how they resolve the conflict: they prefer the newest information. That is a recency heuristic, not a truth decision, and it is exactly the silent preference the mechanism is supposed to avoid, automated. Which exposes what all three mechanisms have in common: every one of them ends in a question that the system cannot answer for itself. Is this still true? The timestamps tell you the rule is fourteen months old. The contradiction detector tells you the last three observations disagree with it. Neither can tell you which version is correct now. That call belongs to a person.</p><p>The world moved and the agent never heard about it. More slow deployment rot traces back to that than to any model limitation I can name.</p><h2>The update flows in two directions</h2><p>So the question stops being technical and becomes organisational: who owns the agent&#8217;s knowledge after the engineers leave?</p><p>The flow everyone plans for runs downward. The business changes something, and somebody updates the system. This is the flow that gets a paragraph in the handover document and then quietly dies, because the person who changes the delivery schedule and the person who can edit the agent&#8217;s rules are rarely the same person, and the path between them is exactly the kind of undocumented process the agent was supposed to eliminate.</p><p>The second flow runs upward, and it&#8217;s the one deployments rarely design for. It&#8217;s also the more interesting one. An agent that operates inside a process all day is in a privileged position to notice that the process has drifted. It keeps seeing orders from a region the rules say doesn&#8217;t exist. It keeps watching a human override the same threshold. The contradiction machinery from the previous section isn&#8217;t just a safety mechanism. It makes the agent a sensor for change. The agent can be the first thing in the organisation to notice that the world moved, provided there&#8217;s somewhere for that observation to go.</p><p>Both flows converge on the same requirement: a named person on the customer side with the standing authority to confirm changes to what the agent believes. And which person that is matters more than most deployments admit. The instinct is to give the role to whoever can technically operate the system, an admin, an analyst, someone from IT. But that person confirms changes to rules they don&#8217;t live inside. They can check that the edit is well formed. They cannot check that it&#8217;s true.</p><p>The person who can verify truth is the one who holds the knowledge, the operator who plans the deliveries, approves the invoices, works the exceptions. That person is rarely technical, and in most organisations they are the last person anyone would hand system access to. Which is exactly backwards. Confirming a change to the agent&#8217;s beliefs is a judgment about the business, not about the system, so the role has to be optimised for the knowledge holder, and everything about how the change is exposed to them has to bend to that choice. If confirming a rule requires understanding the rule engine, the wrong person will end up doing the confirming, and the deployment is back to the gap it started with. In every deployment, the agent&#8217;s knowledge either has an owner who can tell true from stale, or it drifts, and drift is the default.</p><h2>The interface question</h2><p>Which leaves the practical question I keep turning over: what does the owner actually touch? If the right owner is a non-technical operator, the interface stops being a detail and becomes the design constraint.</p><p>My deployments so far have used structured controls, mostly tables. Rules as rows, thresholds as fields. Structured data has real virtues for this job. It can be validated before it&#8217;s accepted, diffed so a change is visible as a change, timestamped per row, and edited by a non-engineer without the risk of quietly breaking something three paragraphs away. Documents are the opposite trade. They capture nuance and exceptions that tables flatten, but they can contradict themselves, they&#8217;re hard to invalidate selectively, and an edit in prose has no natural diff.</p><p>For a while I treated this as a choice between formats. I now think that&#8217;s the wrong frame, because it assumes the human edits the storage directly. The design I keep arriving at instead splits the layers. The interface is natural language. The storage is structured. The approval is the gate between them.</p><p>It works the same in both directions. Downward: the operator tells the agent, in plain words, that deliveries no longer go out on Fridays. The agent drafts the corresponding rule change, shows the diff against the current rule, and asks for confirmation. Upward: the agent notices the standing contradiction, packages it the same way, proposed rule, evidence, diff, and asks the same question. In neither case does anyone hand-edit a table, and in neither case does an unstructured note become live behaviour on its own. The table remains the single source of truth. The conversation is just how you write to it, and the confirmation is what makes the write legal.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p037!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p037!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png 424w, https://substackcdn.com/image/fetch/$s_!p037!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png 848w, https://substackcdn.com/image/fetch/$s_!p037!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!p037!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p037!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png" width="1456" height="811" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:811,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149854,&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://www.fdehub.org/i/211416896?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p037!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png 424w, https://substackcdn.com/image/fetch/$s_!p037!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png 848w, https://substackcdn.com/image/fetch/$s_!p037!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!p037!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b27a1-76c4-41af-be29-451df991cdb7_2800x1560.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>I want to be honest that this is a design direction, not a pattern I can point to at scale. There are open problems inside it. How the agent should behave between noticing a contradiction and receiving a ruling. How to stop an approval queue from becoming the new bottleneck. How to keep the evidence attached to the rule so that next year&#8217;s owner can see why it says what it says. I don&#8217;t have finished answers. I have a strong opinion about the shape of the answer, which is that the human approves changes to the agent&#8217;s beliefs the same way the trust ladder has them approve the agent&#8217;s actions.</p><h2>This doesn&#8217;t age out</h2><p>Two objections come up whenever I talk about this, and they&#8217;re really the same objection. Context windows will get big enough. The labs will solve memory at the model layer.</p><p>Maybe both happen. Neither helps. A ten-million-token window is still working memory, and it still evaporates when the session ends. A lab-built memory layer still stores what it&#8217;s told and retrieves what it stored; it doesn&#8217;t know your approval flow changed in March unless something tells it. The invalidation problem isn&#8217;t a capability gap waiting on a better model. It&#8217;s a property of deploying any system with beliefs into an organisation that keeps changing, over a horizon of months and years, not sessions. Right now, and for any future I&#8217;d plan around, it gets solved in the harness, by engineering, with a human holding the pen.</p><p>We&#8217;ve collectively become good at the first extraction. The discipline that hasn&#8217;t formed yet is the second one, and the third, and the standing arrangement that makes them routine. Somewhere in every organisation that deploys an agent, there&#8217;s a rule that&#8217;s already wrong and a system that&#8217;s still sure of it. Naming the someone is the cheapest piece of engineering in the entire deployment.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Nobody Wanted Your Weird Workflows. Now Everyone Does.]]></title><description><![CDATA[AI made the unsolvable layer of your business buildable. The fight now is over who owns what gets built.]]></description><link>https://www.fdehub.org/p/nobody-wanted-your-weird-workflows</link><guid isPermaLink="false">https://www.fdehub.org/p/nobody-wanted-your-weird-workflows</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 04 Aug 2026 15:35:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OdIA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have lost count of how many times I have seen a company pay a services partner to add a field to their ERP. One column of data with a label on it, quoted at a price that would make a freelance developer blush, and treated by everyone involved as normal. In that world, it was normal.</p><p>Swap the ERP for any system an enterprise runs on and the story holds. Accounting packages, HR platforms, CRMs, ticketing systems. I have seen versions of that quote in most of them, and if you work anywhere near enterprise software, so have you.</p><p>It took me a while to understand that the quote was rational. It was the visible edge of an economic structure that has shaped enterprise software for three decades, and that structure is the reason the FDE role exists at all.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OdIA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OdIA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OdIA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OdIA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OdIA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OdIA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:294710,&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://www.fdehub.org/i/209779628?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OdIA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OdIA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OdIA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OdIA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64cb8020-3142-4304-99f9-7c58f5b4f76b_1700x1133.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><h2>The economy of the gap</h2><p>Off-the-shelf software covers the part of your business that generalises. Call it 70%. Payroll runs roughly the same way everywhere, so a vendor can build payroll once and sell it ten thousand times.</p><p>The remaining 30% is where your company is actually different. The approval chain that exists because of something that went wrong in 2016. The pricing logic that lives in a spreadsheet because no system could hold it. The Tuesday-morning export that one person runs by hand because two tools refuse to talk to each other.</p><p>Vendors never built that layer, and their refusal was the business model working as designed. One company&#8217;s weird workflow doesn&#8217;t scale, so it doesn&#8217;t get built. What filled the gap instead was a Frankenstein arrangement of the software you bought, the people patching around it, and the workarounds everyone stopped noticing years ago.</p><p>Around that arrangement grew an entire secondary economy. In ERP, software licensing represents only 20 to 30% of total cost; the rest is the everything-around-the-software. Implementation services typically run one to four times the annual licence fees. A Panorama Consulting survey found that only 7% of companies use their ERP as-is. The other 93% pay someone, at consultancy rates, over months, to bend the general tool towards their specific reality.</p><p>And the arrangement renews itself. Customisations sit so deep in these systems that every upgrade risks breaking them, which means every upgrade cycle re-bills the same work, which means the partner who understands your customisations becomes impossible to leave. You don&#8217;t pay for the field once. You pay for it forever.</p><p>The scale of this is easiest to see in a number that gets published as a triumph. IDC&#8217;s most recent Salesforce Economy study found that <a href="https://www.salesforce.com/news/stories/idc-salesforce-economy-ai/">the partner ecosystem generated $6.19 for every $1 Salesforce earned, a multiplier projected to reach $6.84 by 2028</a>. Read from the vendor&#8217;s chair, that is a thriving ecosystem. Read from the customer&#8217;s chair, it says that for every dollar of software you buy, more than six dollars of gap exist around it. And the projection has the gap growing.</p><p>For thirty years, that was simply what software cost. The weird 30% was never worth solving properly. Too small for a consultancy to build rather than bill, too specific for a vendor, too far down the internal roadmap to ever reach the top. So it stayed patched, and an industry got paid to maintain the patches.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Buildable, ownable, contested</h2><p>What AI actually changed is the arithmetic on exactly that layer.</p><p>The cost of building bespoke software collapsed. Work that needed a team and a quarter now needs one person and a fortnight, sometimes an afternoon. Which means an enormous backlog of problems that were real but never valuable enough to solve has cleared the feasibility bar, all at once, across every company simultaneously.</p><p>Enterprises can see this happening and mostly cannot respond with headcount. By the time an internal AI department is scoped, hired and trained, the frontier has moved twice. Renting the capability from people who live at the frontier became the rational move, and the FDE is what that renting looks like. The role exists because the newly feasible needs a delivery mechanism.</p><p>But here is the part I find more interesting than the productivity story. Anything that becomes buildable becomes ownable. And anything ownable gets contested.</p><p>For thirty years, nobody fought over the bespoke layer because it was worthless as an asset. It was overhead, owned by nobody, living in operators&#8217; heads and hand-run exports. The closest thing it had to an owner was the services partner, and even they only held the slice that touched the tool they serviced. Nobody held the whole workflow, and the fragment the partner did understand was precisely what locked you in.</p><p>Now that the layer can be built as real software, the question of who owns what gets built has an answer worth fighting for. And everyone has noticed at once.</p><p>The vendor pods build it and the vendor owns it. You get the outcome, they keep the asset, and the learning feeds a product that can eventually be sold to anyone, including the company you compete with. That anxiety is no longer hypothetical: <a href="https://techcrunch.com/2026/07/30/forward-deployed-engineers-are-the-ai-industrys-latest-talent-obsession/">TechCrunch reported last week</a> that enterprises across insurance, fintech and healthcare are hiring their own FDE teams specifically to keep proprietary process knowledge away from the AI firms, on the theory that whoever holds your operational logic can one day compete with you.</p><p>The big consultancies have joined by renaming. The same billing model that maintained the patches now arrives wearing an FDE badge.</p><p>Enterprises themselves are standing up internal teams, and the job titles give the game away. Datasite is hiring Forward Deployed Engineers inside a Transformation Office, and &#8220;transformation engineer&#8221; is starting to circulate as a title of its own. When a role gets named after the outcome rather than the position, you learn what the buyer thinks they are purchasing.</p><p>And independent practitioners build the layer and hand it over, which is the model I have argued for since <a href="https://fdehub.org/p/hand-them-the-keys">Hand Them the Keys</a>.</p><p>Four claimants, one layer. This is also, I think, the real story behind the money. The billions committed to forward deployment this summer, the dedicated organisations announced weeks apart, make a strange kind of sense once you stop reading them as spending on deployment assistance. They are bids to own the bespoke layer of the economy. Land that sat unclaimed for thirty years because it was worthless is suddenly the most valuable real estate in enterprise software, and the fences are going up.</p><p>The vendors will happily absorb the maintenance cost of your bespoke layer, the way Google happily absorbs the cost of your inbox. The old economy charged you services fees for your weird workflows. The new one may charge you the workflows themselves.</p><h2>Who should own it</h2><p>The obvious objection is that all of this is services with a fashionable new title. I take the objection seriously, and I think the ownership question itself is what answers it. The services economy never forced you to ask who owns the bespoke layer, because the layer was a pile of workarounds that nobody would want. The fact that the question now has stakes is the proof that something structural changed.</p><p>So, where should ownership land? I don&#8217;t think there is one answer, and I distrust the people who have one. I think there is a decision rule.</p><p>If the workflow is commodity, let whoever builds it own it. Your expense approval chain is not your competitive advantage. If a vendor&#8217;s FDE can delete the workaround and you get the outcome, that is a good trade, and insisting on owning the result is sentimentality dressed up as strategy.</p><p>If the workflow is your differentiation, the reason you win deals or hold margins that competitors don&#8217;t, then the calculation inverts. Extracting that logic and building it is exactly what a good FDE does, and it is exactly why you should think hard about whose FDE does it. Handing a vendor the extraction means handing them your edge in a form that can be productised. It would be the most expensive field you ever paid for.</p><p>The problem is that most organisations have never sorted their workflows into those two piles, because for thirty years the sorting didn&#8217;t matter. The whole layer was unsolvable, so it was all just cost.</p><p>It matters now. The defaults are being written into contracts this quarter, while everyone stares at the salary numbers, and terms have a way of calcifying long before anyone intended them to be permanent.</p><p>So before the next pod arrives with a statement of work, it is worth asking the question the last thirty years never made you ask. Which of your weird workflows would hurt if your competitor could buy them?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your Pricing Model Decides What Your FDE Team Is For]]></title><description><![CDATA[Everyone is selling outcomes. Who is paying for the build?]]></description><link>https://www.fdehub.org/p/your-pricing-model-decides-what-your</link><guid isPermaLink="false">https://www.fdehub.org/p/your-pricing-model-decides-what-your</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 28 Jul 2026 17:22:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Gvhz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When AWS announced its forward deployed engineering organisation at the end of June, most of the coverage went to the billion dollars. The detail worth reading twice was further down. Pods of five or six engineers, forty-five day cycles, priced on fixed outcomes rather than billable hours.</p><p>Fixed outcomes, committed to before the work starts, on a timeline that leaves little room for the scope being wrong. That is a bold thing to offer, and the interesting question is why a company would be comfortable doing it. The answer depends entirely on what kind of business is underneath.</p><p>There are four ways the deployment work gets paid for. Experienced FDE leaders will have seen several of them, and probably argued about all of them. What I want to do here is lay them out side by side, because each one gives the FDE team a different job, and the differences only become visible when you look at where the money actually moves.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gvhz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gvhz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gvhz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gvhz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gvhz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gvhz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:228544,&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://www.fdehub.org/i/208860788?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gvhz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gvhz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gvhz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gvhz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3347c5-9510-4141-b1db-52147f702189_1700x1133.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><h2>1. The meter pays</h2><p>The first model belongs to the labs and the hyperscalers, and it is the one being discussed most loudly right now.</p><p>If your core business is metered consumption, the deployment is not a revenue line at all. It is acquisition cost. Anthropic has moved enterprise contracts off flat seat pricing to a lower headline seat price with token consumption billed at API rates on top. Once that is the shape of the business, the question of what to charge for the deployment stops being interesting. The deployment exists to install the meter.</p><p>You can see this in the AWS architecture itself, which puts a semantic layer inside the customer&#8217;s own AWS account and feeds a versioned knowledge graph that agents reason over. That is not a deliverable. It is a tap. Microsoft&#8217;s version, a two-platform structure designed to compound the customer&#8217;s proprietary data and workflows over time, is the same idea in different language.</p><p>Which is why offering fixed-outcome pricing costs them almost nothing. If the outcome lands, everybody is happy. If it misses, the semantic layer is still sitting in the customer&#8217;s account, the integrations are still wired, and the consumption still runs. The outcome fee is a rounding error against what flows through afterwards. It looks like risk transfer and it is closer to a promotional offer.</p><p>There is a smaller version of this model that shows up well below hyperscaler scale. A vendor that sells usage credits builds the solution at no charge, and in return asks the customer to commit to a consumption level up front. Fifty thousand in credits, say, purchased or contractually committed before the build begins. The deployment is still free on paper, but the customer has underwritten it. It is a sensible structure for both sides when it is priced honestly, and a quiet trap when the committed consumption was sized to fund the build rather than to match what the customer will actually use.</p><p>None of this is a criticism. It is a rational way to behave when you sell a meter. But if you run an FDE team inside a company that does not sell a meter, and you find yourself under pressure to match those commercial terms, it is worth knowing that you are being compared against a business that is not taking the same risk you would be.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>2. The customer pays, and can see it</h2><p>The second model is the explicit one, and it is less common than you would expect.</p><p>Sierra prices per successful resolution, at around a dollar fifty per case. Alongside that sit setup fees running between fifty and two hundred thousand dollars depending on integration complexity, with deployments taking three to seven months. The per-resolution pricing carries the narrative. The setup fee is where the deployment cost is actually recovered.</p><p>This structure has a lot going for it. It puts the build in front of the buyer as a real thing with a real cost, which means the conversation about scope happens while both parties are still holding a pen rather than six weeks into delivery. It also creates a clean internal boundary. The team doing the build is funded by a specific line on a specific contract, and you can tell whether the funding covers the work. When the assessment is wrong, it is visibly wrong, and the correction is a commercial conversation rather than a silent write-off.</p><p>The catch is that it requires a buyer sophisticated enough not to flinch at a six-figure setup fee, and a market position strong enough to ask for one. Plenty of companies would like to charge for implementation and cannot, because the competitor down the road is not charging for it.</p><h2>3. Nobody pays, because there is barely a build</h2><p>The third model is the one every product team says it is heading towards.</p><p>Fin charges ninety-nine cents per outcome with no integration fee, no setup fee, and no platform charge when it runs on an existing helpdesk. It can do that because it deploys in days rather than months. There is no deployment cost to recover.</p><p>This is the honest end state of productisation, and it is a real achievement rather than a trick. But notice what it implies. The pricing model is downstream of how much deployment the product needs. When someone tells you their pricing is simpler than yours, they are usually telling you something about their product surface rather than their commercial sophistication. And the categories where this works tend to have a narrow, well-bounded job to do. It has not yet happened in the messy middle of enterprise operations, and I am not convinced it is close.</p><h2>4. The customer pays, and never sees it</h2><p>Then there is the fourth model, which is where a large share of mid-market deployment work actually happens.</p><p>The shape is familiar. An FDE assesses how complex the solution is likely to be, that assessment maps to a tier, and the deal is quoted as an annual subscription in that band. Twenty thousand, forty, eighty, a hundred, invoiced monthly from the month after signature. There is no implementation line item. The vendor builds the thing, gets it running, and recovers the build across the term of the contract. One year locked, rolling into the next unless somebody cancels.</p><p>From the customer&#8217;s side this is clean. They see software pricing. They assume the number reflects the product.</p><p>From the vendor&#8217;s side, year one is underwater. You are spending the most expensive people in the company on a build you are not charging for, against a subscription that will take most of the contract term to get back to level. The margin is not in year one. It is in the renewal.</p><p>The bet hiding inside that structure is this. The model makes sense if you believe your solution is genuinely good enough to replace a person, or several people, at a lower cost than employing them. If that is true, the customer has no reason to ever switch it off. Cancelling means rehiring the work back. The renewal is not something you fight for each year, it is the default state, and the long recovery stops being risky and starts being patient. The whole model is a confidence statement about the product, dressed up as a pricing decision.</p><p>It also changes what the FDE team is for. If the money is in the renewal, then adoption is not a soft outcome that makes everyone feel good about the project. It is the entire commercial case. A deployment that technically works and goes unused does not just cost some goodwill. It costs the year you already spent. The slow business of getting a sceptical operator to route real work through the system stops being the unglamorous tail of the project and becomes the part that determines whether the account was ever worth signing.</p><p><a href="https://www.fdehub.org/p/process-debt-a-conversation-with">Tanay Padhi</a> framed the underlying economics well when we spoke: total cost of ownership for enterprise systems has always run at something like sixty to seventy per cent services and thirty per cent licence, and the companies now raising at software multiples are targeting somewhere between one and one and a half million dollars of revenue per FDE. The tiered subscription model does not make that services cost disappear. It moves it out of the invoice and into the margin, where it is harder to see and harder to argue about.</p><h2>The price is set at the moment of least information</h2><p>Whichever of the four you are in, they all rest on the same fragile thing.</p><p>The tier, the setup fee, the outcome definition, the consumption commitment. All of them are fixed at contract time, from a complexity assessment made before anyone has been inside the process. And the outcome has to be written into the contract as strictly as possible, because without a defined outcome nobody can tell when the work is finished. So you write it as tightly as you can, using what you know at the time.</p><p>What you know at the time is what the champion described. The operators, the people whose daily work actually determines how complex the build turns out to be, are usually not in the room yet. So the price and the definition are both set at the point of least information in the entire engagement, and everything that follows is either absorbing the difference or going back to the customer.</p><p>Going back is not fatal. When an assessment turns out wrong, you have the conversation, you reprice or you find the upsell, and sometimes that lands well because by then you have something working to show. But it costs credibility at exactly the moment you are asking for trust, and you only get to do it so many times with the same customer.</p><h2>Stage changes what you are allowed to do</h2><p>One thing I would tell anyone building an FDE team early: you have more room than you will ever have again, and you should use it deliberately rather than accidentally.</p><p>At a small company you care about revenue more than you care about the composition of revenue. You can take a build that was almost entirely custom and call it product licence, because there is no one to tell you otherwise and because you honestly intend to productise it later. That flexibility is real and it is useful. It lets you fund discovery out of customer money instead of investor money, which is a much better trade than it sounds.</p><p>The trouble is that it expires. At some point the revenue mix starts getting looked at properly, and the custom work you were booking as licence has to be recognised for what it is. Palantir spent years walking professional services down from around a quarter of revenue to something closer to a fifth, and built the entire bootcamp motion to reduce how much deployment each new customer needs. That is what deliberate looks like.</p><p>The moment you can no longer blur the line is a stage marker in itself, and it is worth knowing which side of it you are on before somebody else tells you.</p><p>There is one variable I have deliberately left out, which is who owns the budget on the customer side. Engineering-owned, go-to-market-owned and customer-success-owned deals do not price, scope or renew the same way, and I do not yet have a clean framework for why. What I am confident about is this. The commercial model your company runs was picked by somebody, under constraints that made sense at the time, and most FDE teams inherit it without ever being told what it commits them to. Finding out early is cheaper than finding out at renewal.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What Thirty Recruiter Messages Say About the FDE Market]]></title><description><![CDATA[A season of inbound outreach, read as a dataset rather than a compliment]]></description><link>https://www.fdehub.org/p/what-thirty-recruiter-messages-say</link><guid isPermaLink="false">https://www.fdehub.org/p/what-thirty-recruiter-messages-say</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 14 Jul 2026 15:01:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jpH4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Since spring, around thirty recruiter messages about Forward Deployed Engineer roles have landed in my LinkedIn inbox. Most of them arrived in the past few weeks, and the pace is still picking up.</p><p>Before anything else, the obvious caveat. This volume has little to do with me being exceptional and a lot to do with me being findable. Between the FDE role and running FDE Hub, my profile sits near the top of exactly the searches recruiters are now running daily. <a href="https://www.linkedin.com/posts/roryobrien_fdes-should-have-an-expiration-date-over-activity-7442576924918411265-LOGr">Rory O&#8217;Brien observed earlier this year</a> that FDEs are getting spammed while recruiters are &#8220;chasing a moving target of what the ideal candidate even is&#8221;. My inbox is simply where that observation became measurable.</p><p>So rather than treating the messages as noise, I started treating them as data. Thirty messages is a small sample, and a skewed one, since it over-represents whoever runs outbound at volume. But it is also something you cannot get from job boards or press releases: a direct reading of what the market thinks it is buying when it says Forward Deployed Engineer.</p><p>Here is what it revealed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jpH4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jpH4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jpH4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jpH4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jpH4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jpH4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4042574,&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://www.fdehub.org/i/207003643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jpH4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jpH4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jpH4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jpH4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693e2f4b-9128-4237-b21d-66b9deaa3bb4_4608x3456.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><h2>The market has a template, and the template is wrong</h2><p>Two of the messages could have been written by the same person. Different senders, different companies, no connection between them, and nearly identical text: strong Python, SQL, data pipelines, customer-facing engineering. A third asked for deep expertise in Python, SQL, data engineering and system integrations, combining technical problem-solving with direct customer impact.</p><p>Somewhere in the past year, a default FDE job spec got written, and the market copied it. The trouble is what the template describes. Python plus SQL plus pipelines plus customer-facing is a data engineer who attends meetings.</p><p>What the template never mentions is the part of the job that determines whether a deployment survives. Nothing about discovery, or scoping, or sitting with the operators whose workarounds define how the process actually runs. Nothing about earning the trust to move a system from advisory mode to autonomy. Nothing about owning an outcome rather than a backlog. The skills in the template are real prerequisites, but they are the entry ticket, not the job. A market hiring against this spec will fill seats and then wonder why the deployments stall.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The title points in both directions at once</h2><p>The stranger finding is that the label has come loose from the work entirely, and it drifts both ways.</p><p>One message pitched a Forward Deployed Engineer role that, on inspection, involved no customer at all. The job was building an internal AI platform: backend, cloud, Kubernetes, enabling other teams to deploy. Worthwhile work, and roughly the opposite of forward deployment. Someone had stapled the market&#8217;s hottest title onto an infrastructure requisition, presumably because it improves response rates.</p><p>Meanwhile, the most accurate descriptions of FDE work in the entire pile arrived under different names. One healthcare AI role, titled AI Product Engineer, was described as owning the whole thing: talk to users, write the code, ship it, no tickets, no story points. Another, titled Staff AI Engineer at a logistics scale-up, was end-to-end ownership of production agents inside a messy real-world domain. Both are closer to the craft this newsletter covers than most of the messages that used the actual words. One sender split the difference and hedged the title with a slash.</p><p>The purest specimen was an FDE role where Python was, quoting loosely, helpful but definitely not essential. To be precise about what is wrong there: Python does not define this role, engineering does. Being able to build is the floor everything else stands on, and fluency in a language like Python is the cheapest reliable signal of it. A sender can reasonably swap the language. A sender who declares it optional, without asking for any other evidence of engineering ability, has waived the floor itself. At that point there is no role behind the message, only a vacancy.</p><p>The practical lesson for anyone fielding these messages is to read each one twice. Once for the title, which tells you what the market currently rewards, and once for the work, which tells you what you would actually be doing. In this sample the two agreed less than half the time.</p><h2>An industry has formed around the title</h2><p>The messages themselves are only half the dataset. The senders are the other half, and they show a recruiting industry rapidly restructuring itself around a single job title.</p><p>One headhunter now describes himself, in his signature, as a Forward Deployed Engineering headhunter, with regional specialisation across Europe, the Gulf and Singapore. His message contained no role at all. He wanted to understand my motivations for a next move before any specific mandate entered the conversation. That is talent pooling: building inventory ahead of demand, which only makes sense if you expect the demand to keep coming.</p><p>A managing director at an executive search firm reached out about a leadership search, and the interesting part was what she wanted. Not my CV. My network. Visible practitioners are becoming sourcing infrastructure, a routing layer the search industry queries when it cannot find supply on its own.</p><p>Further down the chain sit the sourcers: research consultants at boutique agencies running outbound volume on roles they did not scope and will not close. One of these roles did not appear anywhere on the client&#8217;s own careers page, which means the person most distant from the work was the only person publicly attached to it.</p><p>And then the scene that summarises the whole season. A recruiter messaged me about a role building an agentic AI platform for enterprises. When I asked for details about the company and the role, the reply directed me to a five-minute AI prescreening call, with a link and a privacy notice. A human recruiter, hiring a human to deploy AI agents, delegating the first human conversation to an AI agent. Whatever your position on AI in recruiting, the loop has visibly closed.</p><p>Across all of this, one pattern held with almost no exceptions: message quality degraded with every layer between the sender and the actual work. The template spam came from the outermost layer. The single best message in the pile came from an in-house sourcer at a company standing up a new AI unit, and it described real forward-deployed work in specific terms: owning the customer engagement from adoption readiness through implementation, first hire on a founding team, a path into leadership. Proof that the role is perfectly describable, provided the person describing it sits close enough to it.</p><h2>The inbox does not look like the headlines</h2><p>The final finding is about whose demand this actually is.</p><p>The FDE story of the past two months has been told in billions: captive deployment organisations, thousands of embedded engineers, hiring announced by press release. Going by the headlines, you would expect an inbox full of hyperscalers.</p><p>The count in mine: one. A single message from one of the giants, describing an embedded builder bridging the gap between prototypes and production, language lifted almost directly from its public job descriptions. Accurate, credible, and alone.</p><p>The ratio says less about any individual inbox than about how these two markets hire. A handful of giants against hundreds of startups will always lose on volume. The giants also recruit through their own channels, in-house teams, referrals and hiring managers who are active on LinkedIn themselves, while the startup demand arrives through agencies and sourcers running outbound at scale. What fills an inbox is not the biggest demand. It is the most intermediated demand.</p><p>Everything else came from a different market entirely. European seed and Series A companies. A fintech hiring through an agency platform. A startup a few months past its seed round, whose recruiter presented its handful of early contracts as a sweeping global enterprise footprint. Several companies hiring their first FDE ever, in one case explicitly hire number one of a founding unit.</p><p>So there are two demands running in parallel. The headline demand is concentrated, capitalised and slow, hiring in the thousands through its own channels. The inbox demand is fragmented, small and immediate: companies buying their first forward deployed engineer, often without a settled idea of what one is, frequently through intermediaries who understand the role even less. The first market sets the narrative. The second is where most FDEs will actually end up working, and it is far messier than the narrative suggests.</p><h2>Who teaches the market?</h2><p>Thirty messages, one conclusion: the market has learned to say the words faster than it has learned what they mean. The demand is real at every layer, from the giants to the seed rounds. The definition has not kept up, and every layer of intermediation makes it worse.</p><p>That gap will close eventually, the way it closed for titles like site reliability engineer and product manager before this one. The open question is who does the closing. The companies, through expensive mis-hires that teach them what the role is not. The recruiters, as the specialists among them learn to tell forward deployment from data engineering with meetings. Or the practitioners, by being loud enough about what the work actually is that the template eventually gets rewritten.</p><p>My inbox suggests nobody has claimed the job yet.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Everyone Is Hiring FDEs. Who Are They Going to Hire?]]></title><description><![CDATA[Billions were committed to forward deployment in six weeks. The money was the easy part.]]></description><link>https://www.fdehub.org/p/everyone-is-hiring-fdes-who-are-they</link><guid isPermaLink="false">https://www.fdehub.org/p/everyone-is-hiring-fdes-who-are-they</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 07 Jul 2026 15:51:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DzMZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Two announcements, two days apart.</p><p>On 30 June, AWS announced a dedicated Forward Deployed Engineering organisation backed by $1 billion, staffed in the thousands, sending pods of five or six engineers into customer environments on 45-day cycles. On 2 July, Microsoft went bigger: $2.5 billion for a new operating business called Frontier Company, embedding 6,000 industry and engineering experts at customers, with $1.2 billion of that earmarked for headcount alone.</p><p>That capped a six-week stretch in which OpenAI stood up a deployment organisation with TPG, Advent, Bain Capital and Brookfield behind it at a $4 billion valuation, and Anthropic formed a $1.5 billion services venture with Blackstone, Hellman &amp; Friedman and Goldman Sachs.</p><p>A year ago, when I moved into this role, forward deployed engineering was barely known outside Palantir. Explaining my job at a birthday party took a while. Today, four of the largest technology companies in the world have put roughly $5 billion of committed capital behind it in six weeks, with OpenAI&#8217;s deployment company valued at another $4 billion on top. Gartner projects that 85% of tech providers will have an FDE programme as a core AI delivery model by the end of this year.</p><p>The demand side of this market is now settled. The supply side is the question nobody has answered.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DzMZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DzMZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DzMZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DzMZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DzMZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DzMZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg&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;:5777519,&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://www.fdehub.org/i/205789225?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DzMZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DzMZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DzMZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DzMZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90007b04-926c-4532-8593-c6cc499f3999_5472x3648.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><h2>Run the numbers</h2><p>Microsoft wants 6,000 people embedded at customers. AWS says thousands. Salesforce has reportedly committed to hiring 1,000 FDEs. Postings on Indeed went from 643 in April 2025 to 5,330 in April 2026. The consultancies have piled in too: by one tracker&#8217;s count, Deloitte, Accenture, KPMG and BCG together post more FDE roles than any single product company except Google.</p><p>Set that against the existing pool.</p><p>When I analysed close to 2,000 FDE practitioner profiles for the State of FDE report, one pattern was unmistakable. The population of people with real years in this role is small, and it is overwhelmingly Palantir-shaped. The company had a decade-long head start, and until recently it was more or less the only place you could accumulate this specific kind of experience.</p><p>Where are those people now? The evidence here is anecdotal, but it lines up with what leaders in the space keep telling me. The practitioners with genuine depth, meaning multiple deployments across multiple environments and the scar tissue to prove it, mostly fall into two groups: they are already inside the companies that moved early, or they have gone independent and run their own shops. Not every experienced FDE is spoken for. But if your plan requires hiring a thousand of them this year, the maths does not work.</p><p>Experience in this role accumulates one deployment at a time. Demand grows by press release.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Manufacturing the role</h2><p>So companies will do what companies always do when a labour market runs dry. They will manufacture the workers.</p><p>That happens in three ways, and all three are already visible.</p><p>The first is relabelling. Solutions architects, sales engineers and implementation consultants are being rebadged as FDEs, sometimes with the job description barely touched. The consultancy posting numbers are the clearest evidence. A firm that posts dozens of FDE roles in a quarter did not suddenly discover forward deployment. It renamed a practice it already had.</p><p>The second is retraining. This is where the big money goes. Microsoft&#8217;s $1.2 billion headcount budget explicitly includes AI-readiness training for existing staff, and the unit will be staffed primarily by people already inside the company. AWS says it will fill roles through a mix of external hiring and internal moves, which lands differently when you remember Amazon has cut more than 30,000 corporate jobs since October. A meaningful share of the new FDE workforce will be existing employees walked across an internal bridge.</p><p>The third is new pipelines. Companies in the training business will spin up FDE cohorts and certifications the same way they did for cloud, for data science, and for prompt engineering. Give it a year and there will be a certificate for this.</p><p>None of this is scandalous. Every discipline that grows this fast industrialises its own production, and Palantir itself never waited for experienced FDEs to appear. It hired sharp graduates and built them, and Priya Khandelwal made the case convincingly when we spoke about why new grads make great FDEs. Trainability is not the problem.</p><p>The problem is definitional. When a 6,000-person Microsoft unit, a Deloitte bench and a rebadged solutions architect all carry the same title, the title stops carrying information. Vlad Shulman warned about exactly this in our conversation earlier this year: once the term detethers from the original intent, candidates self-select against the label, employers hire against the label, and everyone ends up sailing wherever the wind blows.</p><p>Worth naming, too, what the industrialised version actually looks like. A pod of five engineers on a 45-day clock is a different animal from an engineer embedded in one customer for a year. The first optimises for repeatable delivery. The second optimises for learning, the thing that made the role valuable to product companies in the first place. Microsoft seems to understand the distinction, because its own announcement pointedly distanced the effort from the FDE label. At some scale, the honest description of what the hyperscalers are building is consulting with better tooling. That is a fine business. It is just not the same job.</p><h2>The self-serve objection</h2><p>There is a longer-term question sitting underneath the hiring one, and it deserves a straight answer.</p><p>The case against the role&#8217;s durability goes like this. FDEs exist to close the gap between a general product and a specific environment. Every deployment teaches the product something. The product absorbs the lessons, becomes more self-serve, and the gap the FDE was hired to close disappears. The role designs itself out of a job.</p><p>Per product, that is exactly right. It is also the point. The FDE who makes a product self-serve has done the job well, and the reward for doing the job well is that this particular gap no longer needs them.</p><p>Per economy, the logic inverts. Gaps are not a fixed quantity that gets worked down to zero. Every new capability that ships creates a new frontier of environments it does not yet fit, and the practitioners who closed the last gap move to the next one. The role is self-terminating per product and permanent in aggregate. That has been the pattern for every implementation discipline before this one, and nothing about AI suggests it breaks here.</p><p>If anything, the coming years look like they will add a category of work rather than remove one. The same Gartner analysts projecting 85% adoption of FDE programmes also project that 70% of enterprises will abandon agentic AI projects born from FDE-led engagements within two years. Read one way, that is an indictment of the whole model. Read another, it is a forecast of the workload. Thousands of systems are about to be built at speed, by pods on 45-day clocks, handed over, and left to drift as models change and upstream systems move underneath them. Somebody will have to go back in. The remediation wave has not started yet, and it will need people who understand why the first deployment decayed.</p><h2>Which version survives</h2><p>The question I keep turning over is not whether the role survives. Between the capital committed, the posting curves and even the abandonment forecasts, its survival looks assured for the foreseeable future.</p><p>The question is which version of it survives, and whether the word still means anything once the money has been spent. Take the original Palantir model: one engineer, embedded deeply in a single customer, feeding everything they learn back into the product. That version is scarce and slow to develop. The second version is the industrial one now taking shape at the hyperscalers, pods of five or six on 45-day clocks, built for repeatable delivery at volume. It is about to outnumber the original many times over.</p><p>There is a third version too, and it is the one I know from the inside: a single practitioner spread across ten or more clients at once, spanning logistics, insurance, finance, manufacturing and wholesale. It trades the depth of the year-long embed for a breadth nobody inside a single vendor gets to see. The same failure modes repeat across industries that have never spoken to each other, and recognising them early is the entire value. This version appears in nobody&#8217;s hiring plan, because it cannot be hired in bulk. It gets built one practitioner at a time, and increasingly it operates independently.</p><p>All of it will get called FDE. Only the first is what the term was coined for.</p><p>A year ago, almost nobody knew what a forward deployed engineer was. A year from now, everybody will have an opinion, and I suspect very few of those opinions will describe the same job.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Deflation Point]]></title><description><![CDATA[The boredom that arrives after a delivered outcome is information, not a flaw.]]></description><link>https://www.fdehub.org/p/the-deflation-point</link><guid isPermaLink="false">https://www.fdehub.org/p/the-deflation-point</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 16 Jun 2026 15:03:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aC-v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;Make us AI-native.&#8221;</p><p>It is the kind of brief that sounds like ambition and works like a trap. There is no version of that sentence an FDE can deliver, because there is no point at which it is finished. You could spend three years inside that mandate and still not be able to say the thing is done, because nobody defined what done would look like before you started.</p><p>Compare it to a real outcome. Get the time to process an exception down from two days to twenty minutes. Take a workflow that currently needs three people reviewing every case and get it to one person reviewing only the cases that genuinely need a human. Those have an end. You can stand in front of them and know whether you got there.</p><p>The difference matters more than it looks, because the FDE&#8217;s only reliable instrument for knowing they have finished is a feeling. And that feeling only works if the finish line was drawn in advance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aC-v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aC-v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aC-v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aC-v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aC-v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aC-v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg" width="1292" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:245827,&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://www.fdehub.org/i/202204602?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aC-v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aC-v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aC-v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aC-v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03ea500-0951-4abf-a3a8-670721e320fb_1292x800.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><h2>The loop</h2><p>The work has a shape, and it repeats.</p><p>You arrive knowing almost nothing about the customer. Sometimes not much about the domain either, though that part is less important. The first weeks go into getting deep enough into how their operations actually run to find the highest-value problem you can solve, the one where the cost is real rather than just annoying. Then everything narrows onto solving it.</p><p>That stretch is intense and fast and completely absorbing. You are learning a business from the inside and building the thing that changes it at the same time, and there is nothing else like it.</p><p>And then you get there. The outcome lands. The numbers move. The people who were sceptical start using it without being asked.</p><p>And you deflate like a balloon.</p><p>There is a version of the next few months where you stay. You hold the account, you answer the questions, you make small incremental improvements, you sit in the standups. You can do this. Plenty of FDEs do. But it is not the work that pulled you into the role, and the flatness you feel is not a character defect to manage. It is information.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The case for moving on</h2><p>Naval Ravikant has talked about getting bored easily, the pattern of finding a challenge, getting good enough at it, and then needing the next one. He landed on angel investing partly because it suited that wiring. The FDE role runs on the same engine. The appetite for a problem you do not yet understand is what makes you good at the front of an engagement, and it is the same appetite that makes the maintenance phase feel like wearing someone else&#8217;s coat.</p><p>This connects to something I have argued before, that FDE teams are an investment in discovery rather than a services business. If that is true, then an FDE&#8217;s time is close to the most expensive research budget the company has. Spending it on steady-state maintenance is less an act of loyalty to the customer than a misallocation of the one resource that exists to find the next thing worth building. The boredom is that budget objecting to being parked.</p><p>The case for moving an FDE on is not really about keeping them entertained. It is that every new engagement is another source of product input, and those inputs are the whole point. A new problem, a new operation, a new set of edge cases, that is where the patterns worth building into the product actually surface. The more times an FDE goes through the loop, the more of that signal they generate. Leave them on one account refining what already works and the stream slows to nothing. You are paying a discovery cost and getting maintenance in return.</p><h2>Where the work actually ends</h2><p>So where does the FDE&#8217;s job end.</p><p>Not at the demo. I want to be careful here, because it would be convenient to claim the work finishes the moment the solution technically functions and the boring part belongs to someone else. It does not. Adoption is the FDE&#8217;s job. Earning the trust that gets people to route their real work through the thing is the job, and it takes longer than the build and it is rarely fun. An outcome nobody uses is not an achieved outcome.</p><p>What is not the FDE&#8217;s job is everything after that. Maintenance. The steady-state support, the small fixes, the questions that have settled answers now. That should sit with a separate team, the way it did before we started blurring these lines, or increasingly with an agent that can absorb the long tail of small requests. The FDE got the customer to the outcome and made it stick. Keeping it running is genuinely different work, and it does not need the most expensive person in the building.</p><p>None of this is a prohibition. You can keep the FDE on the account. You can take the open-ended mandate and bill against it month after month. There is nothing wrong with any of that, and for some companies it is exactly the right business to be in. But it is a services business, and the honest thing is to call it one. The problem is never that an organisation does support work. The problem is an organisation doing support work while telling itself, and its investors, that it runs an FDE team. Once that happens the label stops meaning anything, and you lose the one thing the model was meant to buy you, which is discovery.</p><p>Worth saying that moving on does not have to mean leaving the customer. The next challenge is often inside the same organisation, a different process, a different outcome, a fresh problem worth the immersion. What it cannot be is the same solution on a drip.</p><h2>Telling the difference</h2><p>The danger in all of this becomes obvious the moment you say it out loud. Boredom is not a precise instrument. It can show up early, before the outcome is actually achieved, before any trust has been built, at exactly the point where the unglamorous adoption work begins. Following it then is not discipline. It is abandonment dressed up as temperament. The hard part is telling the two apart, knowing whether you have gone flat because the defined outcome is genuinely behind you, or because the fun part is over and the patient part has started. The first is a signal to move. The second is a signal to stay.</p><p>Which is why the defined outcome carries so much weight. It is the only thing that lets you trust the feeling at all. If you agreed up front what done looks like, and adoption was part of that picture, then the deflation afterwards is real data. If you never defined it, the boredom has nowhere honest to point, and you will either drift into permanent support or leave too early and call it instinct.</p><p>So the vague brief turns out to be the actual enemy. &#8220;Make us AI-native&#8221; does more than waste time. It removes the FDE&#8217;s ability to know when they are done, and a role that runs on knowing when you are done struggles to function without that line.</p><p>There is a simple test in all of this, for an FDE and for whoever runs the team. Look at the gap between an outcome landing and the FDE rotating onto the next defined problem. It should be short relative to how long the outcome took to reach. If they move on quickly, the model is working. If they are still on the same account a long stretch later, making small improvements, one of two things is true. Either the outcome was never defined, so nobody can tell it has been reached. Or it was reached, and the team has quietly become a services business that happens to use the word FDE.</p><p>Neither is fatal, and both are worth knowing. The deflation that follows a delivered outcome is the cheapest diagnostic you have for telling which one you are living in.</p><p>So the question is not really whether FDEs get bored. It is what your organisation does when they do.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Eval Lifecycle: What Actually Happens Between “Proof of Concept” and “Production”]]></title><description><![CDATA[Most AI projects die in the gap between &#8220;it works on my laptop&#8221; and &#8220;it works in production.&#8221; The eval lifecycle is the bridge nobody teaches you to build.]]></description><link>https://www.fdehub.org/p/the-eval-lifecycle-what-actually</link><guid isPermaLink="false">https://www.fdehub.org/p/the-eval-lifecycle-what-actually</guid><dc:creator><![CDATA[The AI Runtime]]></dc:creator><pubDate>Tue, 09 Jun 2026 15:02:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8EC6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This week&#8217;s post is a guest piece by <a href="https://www.linkedin.com/in/kranthimanchikanti/">Kranthi Manchikanti</a>, who writes <a href="https://theairuntime.com">The AI Runtime</a>. Kranthi and I come at the same problem from opposite sides of the table. I write about deploying AI inside other people&#8217;s businesses as an embedded engineer, and he&#8217;s spent the best part of a decade as an AI solutions architect, helping enterprises work out what to actually build and run across every major cloud. We connected over the fact that we&#8217;re both trying to document a job that doesn&#8217;t have a playbook yet, and when I read through his archive this was the piece I kept returning to.</em></p><p><em>The argument underneath it is one I keep circling in my own writing. The moment a demo works is the moment everything looks solved, and it tends to be the most dangerous point in the whole project, because the jump from &#8220;works when I drive it&#8221; to &#8220;works when real users do&#8221; isn&#8217;t a matter of polish. It&#8217;s a different problem entirely, and evals are how you bridge it. I&#8217;ve written before about the <a href="https://www.fdehub.org/p/the-unknown-unknowns-problem-why">unknown unknowns problem</a>, how the hardest part of this work is knowing when a system is quietly wrong. What follows is the disciplined engineering answer to exactly that. It goes deeper into the mechanics than my usual essays, the metrics and the tooling and the gate thresholds, and if you&#8217;re not the one wiring up the harness you can skim those and still take the shape of it. The shape is the point. Over to Kranthi.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8EC6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8EC6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8EC6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8EC6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8EC6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8EC6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg" width="1292" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:446806,&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://www.fdehub.org/i/201043608?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8EC6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8EC6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8EC6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8EC6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F530145af-cb54-4720-97ac-08a7d32d6d39_1292x862.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>There&#8217;s a moment in every AI project where the demo works. The retrieval is pulling relevant chunks, the model is generating coherent answers, and the stakeholders are nodding. This moment is dangerous.</p><p>It&#8217;s dangerous because the gap between &#8220;works in a demo&#8221; and &#8220;works in production&#8221; is not a linear improvement problem. It&#8217;s a <em>category shift</em>. In a demo, you control the inputs, you cherry-pick the questions, and you evaluate by gut feel. In production, real users ask unpredictable questions against messy data, and you evaluate by numbers you&#8217;ve committed to in advance.</p><p>The eval lifecycle is the structured process that bridges this gap. OpenAI&#8217;s enterprise whitepaper sketches it in a single table. Let&#8217;s build the full architecture.</p><h2>Stage 1: Retrieval Evaluation</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m_ms!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m_ms!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png 424w, https://substackcdn.com/image/fetch/$s_!m_ms!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png 848w, https://substackcdn.com/image/fetch/$s_!m_ms!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!m_ms!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m_ms!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png" width="518" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:518,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:677177,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://aiengineerweekly.substack.com/i/194026415?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!m_ms!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png 424w, https://substackcdn.com/image/fetch/$s_!m_ms!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png 848w, https://substackcdn.com/image/fetch/$s_!m_ms!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!m_ms!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0a8aff-995b-4135-8911-d71198a2dfdc_518x1024.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><em>Retrieval Evals</em></p><p>Each stage has its own metrics, its own evaluation set, and its own continue/refine/stop gate. The lifecycle repeats at MVP, pilot, and production scale &#8212; with the evaluation set roughly doubling at each stage.</p><p><strong>The question:</strong> Does the system reliably find the right information?</p><p>This is where most AI products fail first &#8212; not because retrieval is hard to build, but because retrieval is hard to evaluate well. A retrieval system that returns <em>plausible</em> results will pass casual inspection. A retrieval system that returns the <em>right</em> results for edge cases is what separates a demo from a product.</p><p><strong>What you&#8217;re measuring:</strong></p><p><em>Recall</em> &#8212; of all the documents that should have been retrieved, what fraction did the system actually find? Low recall means the system is missing relevant information. For a Q&amp;A agent over company docs, this might mean missing the updated policy while retrieving the obsolete one.</p><p><em>Precision</em> &#8212; of all the documents retrieved, what fraction are actually relevant? Low precision means the model&#8217;s context window is polluted with irrelevant material, degrading downstream generation quality.</p><p><em>Mean Reciprocal Rank (MRR)</em> &#8212; is the most relevant document appearing first, or buried in position five? Models pay more attention to what appears early in context. If your best document consistently ranks third, your answers will be worse than they should be.</p><p><strong>How you build the evaluation set:</strong></p><p>Start with 50-100 representative queries drawn from actual user conversations (or realistic simulations). For each query, a domain expert labels which documents <em>should</em> be retrieved. This labeled set becomes your retrieval ground truth.</p><p>This is tedious and irreplaceable. Automated approaches &#8212; using an LLM to judge retrieval relevance &#8212; are useful for scaling evaluations but unreliable for building the initial ground truth. The domain expert knows that &#8220;Q3 revenue guidance&#8221; should retrieve the board deck, not the press release. The LLM doesn&#8217;t know your organization well enough to make that distinction.</p><p><strong>The gate decision:</strong></p><p>Continue if recall &#8805; 0.85 and precision &#8805; 0.75 on your evaluation set. Refine if metrics are between 0.60 and 0.85 &#8212; this usually means adjusting chunking strategy, embedding model, or retrieval parameters. Stop if recall is below 0.60 &#8212; the retrieval pipeline needs fundamental rework before downstream evaluation is meaningful.</p><p>Track token costs at this stage. Retrieving too many documents burns context window space and money. Retrieving too few misses information. The right balance is specific to your use case.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Stage 2: Summarization and Grounding Evaluation</h2><p><strong>The question:</strong> Does the system synthesize clear, consistent, useful, and cited answers? Did it follow the right steps and access the right data?</p><p>This is the stage where the whitepaper&#8217;s description &#8212; &#8220;evals on traces/logs + SME review&#8221; &#8212; is most dangerously compressed. &#8220;SME review&#8221; alone can mean anything from &#8220;my colleague glanced at five outputs&#8221; to &#8220;three domain experts independently rated 200 outputs on a structured rubric.&#8221; The difference in quality assurance is enormous.</p><p><strong>What you&#8217;re measuring:</strong></p><p><em>Faithfulness</em> &#8212; does the answer only contain claims that are supported by the retrieved context? An answer can be correct according to the model&#8217;s training data but <em>unfaithful</em> to the retrieved context, which means it&#8217;s hallucinating in a way that&#8217;s invisible to the user. This is the most important metric in the entire eval lifecycle and the one most teams measure poorly.</p><p><em>Relevance</em> &#8212; does the answer actually address the question? A faithfully grounded answer that doesn&#8217;t answer the user&#8217;s question is useless.</p><p><em>Completeness</em> &#8212; does the answer cover all the relevant information from the retrieved context? Partial answers erode trust over time even when they&#8217;re technically accurate.</p><p><em>Citation accuracy</em> &#8212; if the system claims &#8220;according to document X,&#8221; is that claim actually in document X? Citation errors are trust-destroying because they&#8217;re verifiable &#8212; a user who checks a citation and finds it doesn&#8217;t match will never trust the system again.</p><p><strong>How you build the evaluation:</strong></p><p>For each query in your evaluation set, have domain experts write the &#8220;gold standard&#8221; answer &#8212; the response a knowledgeable human would give. Then compare model outputs against these references.</p><p>Automated faithfulness evaluation is one of the areas where LLM-as-judge approaches are genuinely useful. Have a separate model (not the one generating the answer) check whether each claim in the output is supported by the retrieved context. Tools like RAGAS, DeepEval, and TruLens provide frameworks for this, but the key insight is: <em>use a different model for evaluation than the one generating answers</em>. Models are unreliable judges of their own outputs.</p><p><strong>The gate decision:</strong></p><p>Continue if faithfulness &#8805; 0.85, relevance &#8805; 0.80, and citation accuracy &#8805; 0.90 on a sample of 200+ queries. Refine if faithfulness is between 0.70 and 0.85 &#8212; this usually means adjusting the system prompt to enforce stricter grounding, or improving the retrieval stage to provide better context. Stop if faithfulness is below 0.70. A system that hallucinates in 30%+ of responses is not ready for any form of user testing.</p><h2>Stage 3: Guardrail Evaluation</h2><p><strong>The question:</strong> Does it stay within approved data, tone, and safety guidelines?</p><p>Guardrails get treated as an afterthought in most AI projects &#8212; the safety review that happens the week before launch. That&#8217;s backwards. Guardrail failures are the ones that make the news, generate legal liability, and destroy user trust in ways that no amount of accuracy improvement can repair.</p><p><strong>What you&#8217;re measuring:</strong></p><p><em>Topic boundary compliance</em> &#8212; does the system stay within its defined scope? A legal Q&amp;A agent that starts offering medical advice has failed a topic boundary guardrail, even if the medical advice happens to be accurate.</p><p><em>Tone and brand consistency</em> &#8212; does the system&#8217;s voice match organizational guidelines? A customer-facing agent that suddenly becomes casual or sarcastic when asked difficult questions has a tone guardrail failure.</p><p><em>Safety filtering</em> &#8212; does the system refuse or redirect harmful, offensive, or manipulative inputs? This isn&#8217;t just about explicit toxicity &#8212; it includes prompt injection attempts, jailbreaking, and social engineering.</p><p><em>PII handling</em> &#8212; does the system avoid exposing, generating, or echoing personally identifiable information? This is both a safety and a regulatory requirement.</p><p><strong>How you build the evaluation:</strong></p><p>Create an adversarial test set. This is distinct from the representative test set used in stages 1 and 2. Adversarial tests specifically probe boundaries: out-of-scope questions, prompt injection attempts, requests for information the system shouldn&#8217;t have, edge cases where tone guidance is ambiguous.</p><p>A strong adversarial test set has 100+ cases across these categories, built by people who actively try to break the system. This is one area where &#8220;red teaming&#8221; (having humans try to elicit harmful outputs) provides signal that automated evaluation cannot replicate.</p><p><strong>The gate decision:</strong></p><p>Continue if guardrail violation rate &lt; 0.5% on the adversarial test set and &lt; 0.1% on the representative test set. Refine if violations are between 0.5% and 2% &#8212; usually by tightening the system prompt, adding output filters, or restricting tool access. Stop if violation rate exceeds 2% on the adversarial set. Safety is not a gradient.</p><div><hr></div><h5>Every threshold in these three gates fits on one page: the continue, refine, and stop cutoffs, the failure signature for each gate, and the tooling for each. Download the <a href="https://theairuntime.com/p/the-ai-eval-gate-cheat-sheet">Eval Gate Cheat Sheet</a></h5><div><hr></div><h2>The Lifecycle Repeats at Every Scale</h2><p>Here&#8217;s what the whitepaper mentions but doesn&#8217;t emphasize enough: this three-stage evaluation runs at <em>every</em> deployment gate, not just once.</p><p><strong>MVP gate:</strong> Run all three stages on your evaluation set. Small scale (50-100 queries for retrieval, 200 for summarization, 100 adversarial). The goal is to validate the architecture, not achieve production quality.</p><p><strong>Pilot gate:</strong> Re-run with production data from pilot users. The evaluation set should now include real queries you didn&#8217;t anticipate. Expand the adversarial set based on actual user behavior. Introduce latency and cost measurements &#8212; a system that takes 30 seconds per response won&#8217;t be adopted regardless of accuracy.</p><p><strong>Production gate:</strong> Full evaluation suite plus continuous monitoring. This is where the eval lifecycle transitions from a build activity to an operational responsibility. The same metrics you used to gate deployment now become the SLOs your team monitors daily.</p><p>The whitepaper&#8217;s &#8220;once proven in a narrow scope, the same checks repeat at pilot and production scale&#8221; is correct, but it undersells the expansion that happens at each gate. Your evaluation set should roughly double at each stage. Your adversarial set should incorporate everything users tried during the previous stage. And your automated monitoring should replace the manual SME review that gates earlier stages.</p><h2>The Tooling Stack</h2><p>You don&#8217;t need to build this from scratch. The eval tooling ecosystem has matured significantly:</p><p><strong>Retrieval evaluation:</strong> RAGAS and DeepEval both provide retrieval metrics out of the box. LangSmith and Arize Phoenix offer tracing that connects retrieval to downstream generation quality.</p><p><strong>Faithfulness and grounding:</strong> RAGAS faithfulness metrics, DeepEval&#8217;s hallucination detection, and custom LLM-as-judge evaluations using structured prompts. Braintrust and HumanLoop provide platforms for managing evaluation datasets and running automated evals at scale.</p><p><strong>Guardrails:</strong> Guardrails AI, NeMo Guardrails (NVIDIA), and Lakera Guard for safety filtering. LangFuse for observability and trace-level analysis.</p><p><strong>End-to-end:</strong> LangSmith, Braintrust, and Arize Phoenix each provide integrated platforms that span all three stages, with tracing, evaluation, and monitoring in a single tool.</p><p>Pick one end-to-end platform and supplement with specialized tools where needed. The worst outcome is building a custom evaluation framework from scratch &#8212; you&#8217;ll spend months replicating what these tools provide on day one.</p><h2>The Real Lesson</h2><p>The whitepaper frames evaluation as Phase 4 &#8212; something that happens when you build products. That&#8217;s wrong. Evaluation is the <em>connective tissue</em> that links every phase.</p><p>Your Phase 1 data access decisions determine whether you <em>can</em> build a retrieval evaluation set. Your Phase 2 fluency programs determine whether you have SMEs capable of writing gold-standard answers. Your Phase 3 prioritization determines whether you&#8217;ve chosen use cases where evaluation is tractable.</p><p>The eval lifecycle isn&#8217;t a step in the process. It&#8217;s the process.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Best AI Work Is Deletion]]></title><description><![CDATA[Most processes were shaped around people and their limits. AI is a reason to ask which parts still need to exist.]]></description><link>https://www.fdehub.org/p/the-best-ai-work-is-deletion</link><guid isPermaLink="false">https://www.fdehub.org/p/the-best-ai-work-is-deletion</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 02 Jun 2026 15:02:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VxBW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Almost every automation project starts the same way. Someone walks me through how a task is done today, step by step, and asks me to build an agent that does the same thing. Take the file from here, check it against that, flag the exceptions, pass it on. The brief is to reproduce the existing motion, faster and cheaper and without the person in the middle.</p><p>Most of the time, that is a reasonable thing to ask for, and a reasonable thing to build. Replication has a clear before and after, the value is easy to point at, and nobody has to renegotiate how the work is organised. I am not going to pretend that kind of project is beneath anyone. A lot of real value gets delivered that way, and for many problems it is exactly the right call.</p><p>But it is worth noticing what you are copying when you copy a process.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VxBW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VxBW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png 424w, https://substackcdn.com/image/fetch/$s_!VxBW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png 848w, https://substackcdn.com/image/fetch/$s_!VxBW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png 1272w, https://substackcdn.com/image/fetch/$s_!VxBW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VxBW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png" width="1456" height="982" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:982,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2433982,&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://www.fdehub.org/i/200184016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VxBW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png 424w, https://substackcdn.com/image/fetch/$s_!VxBW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png 848w, https://substackcdn.com/image/fetch/$s_!VxBW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.png 1272w, https://substackcdn.com/image/fetch/$s_!VxBW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d919ab7-efcb-476f-a11e-e5d1b41e1e68_1700x1146.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><h2>Most steps were built for people</h2><p>A process is a record of the constraints that existed when it was designed. Someone could only hold so much in their head, so the work was split across three roles. Information could not move between two systems on its own, so a person was placed in the middle to carry it across. Nobody trusted the output of the first step, so a second step was added to check it. Over the years these accommodations harden into the way it works, and after long enough nobody remembers that most of them were answers to questions about human capacity rather than questions about the work itself.</p><p>The clearest version of this is almost a century old, and it is one of the most studied episodes in the history of technology. When factories first electrified, many of them simply swapped the large central steam engine for a large central electric motor and changed nothing else. The machines stayed lined up along the same shafts and belts, arranged for a building that had a single source of power in the middle. The productivity gains everyone expected did not arrive. They came later, once a generation of managers stopped treating electricity as a quieter steam engine and put a small motor on each machine, which meant the machines could finally be arranged around the flow of the work rather than the location of the engine. Economists have a name for the gap between having a technology and getting the gains from it, and electrification is the example they reach for. The power had been available for decades. The reorganisation was the hard part.</p><p>We are doing the early version of this now. We are dropping AI onto the spot where the old engine used to sit and asking why the numbers are not better.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The bigger win, and why it is rare</h2><p>The projects I am proudest of are the ones where the customer gave me room to do more than replicate. The brief in those cases was larger than making a step faster. It was closer to a standing invitation: look at this end to end, and tell us which parts of it still need to be here. When that happens, the most useful answer is often that a step should not be automated at all, because it should not exist. The check that was added because the earlier step was unreliable is not needed once the earlier step is reliable. The handoff that existed to move data between two systems disappears when the same agent can read from both. You are not speeding the step up, you are removing it.</p><p>That is where the real gains live, and it is also the thing customers are slowest to allow.</p><p>I have learned not to read that reluctance as timidity. Removing a step is a far larger commitment than automating one. Automating a step leaves the shape of the work intact and gives everyone an easy way to roll back if it goes wrong. Removing a step means someone now owns the risk that the step used to cover, and it usually means crossing into another team&#8217;s territory, or touching headcount, or explaining to an auditor why a control is gone.</p><p>Some of those steps are there for reasons that are not visible from the outside. A lot of what looks like waste is scar tissue. The reconciliation, the second sign-off, the manual review that feels redundant, each one is often the residue of a specific time something went badly wrong, and the step is the organisation&#8217;s memory of it. You cannot tell from the outside whether a step is a relic of an old constraint or a guardrail protecting against a real failure. The only way to know is to understand why it was put there in the first place. That is why the room to redesign a process has to be earned rather than assumed. You get it by being right about the small things first, by showing you understand the work well enough to know which fences are safe to take down.</p><p>So the ideal and the reality sit some distance apart. In an ideal engagement, the customer hands you the whole process and the freedom to question all of it. In a real one, you start by automating the step you were asked to automate, and you earn the right to ask the larger question slowly, if you earn it at all.</p><h2>The same logic, one level up</h2><p>What is true of a single process is becoming true of whole companies.</p><p>A company being built now, with these tools assumed from the start, does not carry these accommodations inside it. It does not have the three roles that exist because one person could not hold it all, or the team whose entire job is to move information between systems. It is designed around what the technology can do, the way the rebuilt factories were designed around the flow of work. It has no old layout to defend.</p><p>An incumbent is the opposite. It is made almost entirely of steps that were shaped around people, accumulated over decades and defended by the teams who run them. Automating those steps one at a time makes the company faster at doing what it already does. It does not change the layout. A competitor that never had the layout in the first place can move in ways that bolting AI onto the old structure cannot match.</p><p>I want to be careful here, because the story of the AI-native upstart eating the incumbent is one that technology people have told many times, and it has disappointed at least as often as it has come true. Incumbents have things that are hard to copy: distribution, data, brand, the trust of customers who would rather not switch, and in regulated work a moat a newcomer cannot wish away. The displacement, when it comes, is usually slower and more partial than the people predicting it expect, and the incumbents that come out ahead are very often the ones that adapt, precisely because they can pair the redesign with assets a newcomer does not have.</p><p>But adapting and bolting on are not the same thing, and the distance between them is the whole story. The companies that treat this as a chance to redraw the layout will pull away from the ones that treat it as a faster engine for the layout they already have. That is less a prediction about which names survive than a prediction about which behaviour wins.</p><h2>What this means if you do this work</h2><p>If you build and deploy this kind of system for a living, that distance is the most important thing happening to your role, and it is worth sitting with what it implies.</p><p>Every established company now has a version of the same project in front of it, and it is not really an &#8220;add some AI&#8221; project. The harder version is this: work out which parts of how we operate were answers to old constraints, and rebuild around the parts that are left. That is an enormous amount of work, and it is exactly the kind of work that does not fit a product bought off a shelf, because the answer is different inside every organisation.</p><p>For most of corporate history, work like that meant hiring a consultancy, spinning up an internal team, or bringing in an agency, because the building itself took a lot of hands. That has changed. One engineer who is good at this, with the tools we have now, can carry what used to need a room full of people. The redesign that needs doing keeps growing while the cost of the person who can do it keeps falling, and that is usually what a wave looks like before it arrives. You are right in its path.</p><p>But demand is not the whole of it, and it is worth being honest about which version of this role is the one that matters. The building is turning into the easy part, the piece the tools increasingly handle on their own. What stays scarce is the judgement to look at how a company works and see which parts of it no longer need to be there, and the standing to take them out. The engineers who define this field will not be the ones who automate the fastest. They will be the ones who know what to delete.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Explore, Then Exploit: A Conversation with Leo Mehr]]></title><description><![CDATA[Director of Engineering at Ramp]]></description><link>https://www.fdehub.org/p/explore-then-exploit-a-conversation</link><guid isPermaLink="false">https://www.fdehub.org/p/explore-then-exploit-a-conversation</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Thu, 28 May 2026 15:02:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GFpA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Leo Mehr leads Forward Deployed Engineering at Ramp, where he has grown the function from a handful of engineers to fifteen-plus, and also runs the Agent Developer Platform team. Before Ramp he co-founded Lumos and ran its engineering team, and before that he worked at Hudson River Trading and Google, studied engineering physics at Cornell, and spent a year on computer science and philosophy at Oxford. We talked about why he left physics, what former founders bring to FDE, how Ramp is trying to scale the function with agents rather than headcount, and why he thinks every B2B company is heading toward some version of this role.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GFpA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GFpA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GFpA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GFpA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GFpA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GFpA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg" width="1399" height="699" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:699,&quot;width&quot;:1399,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127762,&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://www.fdehub.org/i/199520665?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GFpA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GFpA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GFpA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GFpA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafb4d9a-be05-468c-805e-5e4722c1b284_1399x699.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><strong>You did plasma physics research at Cornell and presented at the American Physical Society. That is a long way from where you ended up. What pulled you away from physics?</strong></p><p>You do all sorts of things early in your career. My first jobs were at an office supply store and being a soccer referee. But physics was the thing I fell in love with first. It was my favourite subject in high school, and I thought computer science was fun but more of a toy. You could make cute little programs, but I did not directly see it as a way to have a massive impact on the world. That was 2010, and I had not really been exposed to the world of startups or how fast tech could move.</p><p>So I went to Cornell as an engineering physics major. Plasma research was genuinely cool, the extremes of it, insane temperatures and conditions you cannot find anywhere in the world but can create with science, and then studying what happens as a result.</p><p>The turning point was a conference in Denver where we presented some of our work. The median age in the room must have been in the sixties, and there was not a lot of energy. The growth potential of the field, where it was heading, did not feel as promising as tech. Around the same time I got an internship at Google and saw the pace the company was moving at and scale of impact. That energy was hard to ignore.</p><p><strong>You also spent a year at Oxford studying computer science and philosophy. That combination is uncommon in tech. Is there anything from the philosophy side you still use?</strong></p><p>First, I have a pretty basic understanding of philosophy. But Oxford is one of the renowned places to study it, and part of what drew me in was the sense that I would never otherwise get to do something like that.</p><p>I do think philosophy and tech overlap more than people realise. A lot of the ideas around existential risk and effective altruism came out of that world. Nick Bostrom ran the Future of Humanity Institute at Oxford, and those ideas were a big part of the early discussions and culture at OpenAI, and arguably part of what led to Anthropic. My understanding is that a lot of Anthropic&#8217;s founding arc traces back to ideas in the sphere of existential risk and effective altruism, which came very directly from philosophy. So a company like Anthropic exists, in part, because of ideas from philosophy that found their way into tech. There is more overlap there than people give it credit for.</p><div><hr></div><p><em>Leo&#8217;s path into FDE did not run through Palantir, the way many do. It ran through founding a company.</em></p><div><hr></div><p><strong>You are a former founder, not a career FDE. What about Ramp made this the right place to land after building your own company?</strong></p><p>What I have found is that former founders often make excellent FDEs. As an early-stage founder you are talking to customers, building the product, and figuring out what to build. As an FDE it is very similar. You are talking directly to customers, working on unshaped and ambiguous problems, deciding whether to hack something together or build something robust, and doing a mix of customer, product, and engineering work. The tie between FDE and entrepreneurship is close in both directions. It is a strong fit for former founders, and it is also good training for anyone who wants to found a company later.</p><p>As for Ramp specifically, I had followed the company for a couple of years and had a lot of respect for it. It was one of the fastest-growing organisations I had seen, founded in 2019 and at an enormous valuation within a couple of years. By the time I had stepped back from my startup and was thinking about what to do next, I wanted to be somewhere that was going to grow, in an environment that rewards ambitious individuals, and where I could still draw on my startup experience. If I had gone to big tech or somewhere more mature, I do not think I would have been able to use everything I had learned, and I do not think I would have grown the way I have.</p><p>I am extremely bullish on the company&#8217;s trajectory and on what it offers ambitious builders. If your direct aspiration is to found a company, go and do that first. But if you want to see what high-calibre execution looks like, or you are early and do not yet have the conviction to start your own thing and want to build the skills and experience, and maybe meet a future co-founder along the way, this is a strong place for that.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>A large share of FDEs at Ramp are former founders. That looks deliberate. What does founder experience give people that you cannot get from senior engineering experience alone?</strong></p><p>It is less the fact of having been a founder and more what it implies about your character, skills, and motivations. The thing I care about most, and that a lot of people are thinking about now, is intrinsic drive. How genuinely motivated are you to achieve a business or customer outcome? That is hard to assess in an interview, so one of the best signals is what someone has actually done. Starting a company from scratch, and especially getting any traction, usually says something strong about ownership and motivation. Those are the characteristics that make people effective in front of customers, because they are driven to solve the customer&#8217;s problem and build good technology rather than just complete a task.</p><div><hr></div><p><em>Ramp&#8217;s FDE function has grown from a handful of engineers to fifteen or twenty. I asked what changes at that size.</em></p><div><hr></div><p><strong>You have scaled the team from around five to fifteen or twenty. What do you have to pay attention to when you scale an FDE function?</strong></p><p>My view is that FDE has emerged as a way to grow a B2B business, particularly through delivery to large customers. You cannot serve thousands of customers with dedicated humans, so the model is built around contracts large enough to justify dedicated engineering time. Scaling looks different at every organisation. Palantir is the extreme and the most mature.</p><p>Ramp&#8217;s FDE function is a little different from the more traditional version. We are oriented around unblocking our largest customers and helping us reach product-market fit in enterprise, rather than embedding a single engineer inside one customer for three to six months. Because we sit close to core product, it became impossible for everyone to be productive across the entire surface area. Ramp has a couple of hundred engineers, and no one can know every surface. So the way we scaled was to split into areas of specialisation and embed engineers in each. One team focuses on bill pay and procurement, another on the core card and reimbursement and expense experience, another on reading and writing data from Ramp in a low-effort, high-automation way.</p><p><strong>Most leaders I speak to are trying to scale non-linearly, not just by hiring more people. Is there anything you can share about how you are approaching that?</strong></p><p>The way you scale is by scaling with tokens, not headcount. Any time a human is doing something through their own cognition, you want that documented, you want the context available, and you want the read and write interfaces available to an agent, so that an agent can eventually do the work the human was doing. The fundamental requirement is getting context into a single place. We are heavy Notion users at Ramp, and I am excited about the shift from FDEs doing a lot of manual work to agents doing tasks on our behalf.</p><p>One concrete example. Every customer blocker or request for FDE involvement comes through a single Slack channel called FDE-Requests. In the past, someone from solutions or sales would write up notes and post them, and then we would wait, sometimes a day or two, for an FDE to pick it up, understand it, scope it down, and figure out what was needed. Now we have a Notion agent that searches our knowledge base, looks at past requests, categorises the new one, asks clarifying questions, and tags the submitter. We are starting the scoping process with an agent immediately.</p><p>To use a driving analogy, this is not full self-driving. It is closer to going from a manual to an automatic transmission. We are a long way from full autonomy on the request process, but that is the direction we are working towards.</p><p><strong>In that fully automated world, what does an FDE actually do?</strong></p><p>There will be plenty for FDEs to do. I am not worried about that yet. The first real challenge is managing the quality and token efficiency of agentic systems, and that architecture is not easy. Building high-quality agentic systems still takes real engineering. Agents do not just go and solve the world&#8217;s problems. You need people who understand how to do engineering well to craft and guide them. Eventually they may become stable enough that many people stop thinking about them, the way I do not think about TCP, IP, or DNS anymore. The internet just works, and we move on to the next problem.</p><p>The way the pipeline would look is a request comes in from solutions or sales, gets scoped down by an agent that is good at the back-and-forth of figuring out exactly what is being asked, possibly producing documents that go to the customer. Once you know the minimum viable request, another agent can scope the technical work by looking at the product roadmap, specs in flight, and where the feature would live in the codebase. Then a coding agent can execute and validate the change. You can imagine no human involvement from the moment a request comes in through to the feature being live. I think that is six to twelve months away.</p><div><hr></div><p><em>Leo also runs Ramp&#8217;s Agent Developer Platform. He was clear it is separate from FDE, though it grew out of it.</em></p><div><hr></div><p><strong>You run the Agent Developer Platform too. How did that come about?</strong></p><p>It is a little separate from the core FDE function, though it has roots there. On the FDE team we interfaced heavily with the developer API because we built on top of the platform, so we had a lot of opinions about it. I took on the developer API team about a year ago. It was clear that AI was going to massively change how you work with programmatic interfaces, so we started investing early in MCP and built our MCP server over a year ago. We ran experiments, including one a few months back where we had an agent try to run its own little business and use Ramp to pay for things. Those experiments into the boundaries of what the developer platform could be turned into what we now call the Agent Developer Platform. It happened gradually, and it originally came from FDE.</p><p><strong>What changes when the customer interacting with the product is not a human but an agent?</strong></p><p>It will still be a while, but we are seeing it more and more. MCP usage on Ramp has skyrocketed in the last six months. For about a year there were a lot of people building on MCP and almost no usage, but with Claude adoption took off. Having a good API is becoming a necessity. If you do not have one, you risk becoming obsolete.</p><p>At the same time, the interfaces humans see will become much more custom. If you think about the modalities for consuming information, audio has clear limits, text has limits too, and a two-dimensional visual representation on a screen is a very powerful interface that is here to stay. Humans will keep using software, but the experiences will become richer and far more specific to what the individual actually needs. A lot of the tedium people feel with software today, clicking through a checkout flow, waiting for something to load, should start to disappear.</p><div><hr></div><p><em>Leo also invests and advises, mostly among founders he knows. I asked what he tells them about FDE.</em></p><div><hr></div><p><strong>You are an investor and advisor as well as an operator. What do you tell founders when they start thinking about an FDE team, and what do you pay attention to in the startups you work with?</strong></p><p>Investing is a small part of my mind space. It started the way it usually does. Once you start a company and get some traction, your startup friends emerge, you exchange notes, you hire early employees who care about the world of startups, and many of them go on to found companies themselves. A lot of my first investments were friends and former early employees starting their own things. Living in San Francisco, you meet a new founder almost every day, so it is a fairly normal path.</p><p>The other part is knowing how much it means in the early days to have someone understand and support your vision. One of the first people who really believed in me and my co-founder back in 2020 was Ali Partovi at Neo, which has grown into one of the most impressive early-stage firms, early in companies like Cursor and Cognition and Kalshi. Having someone with some experience and standing say they get it, that they think you can do it, and then make introductions, meant a lot. Part of why you invest later is to pay that forward.</p><p>On FDE specifically, it is just a well-established business model now. If you are doing B2B, the biggest growth levers tend to come from landing large contracts, and that naturally puts you on the path to having an FDE function.</p><p><strong>Most readers of this newsletter are still getting familiar with the role. Why do you think FDE is going to spread across so many companies?</strong></p><p>It is the trend of the last year or two, and trends can change, but from what I can tell every early-stage B2B company with any enterprise ambition is creating something like FDE. They might call it something different. It is some combination of what large customers expect, how software is delivered, and how much easier coding agents have made the actual building. That mix of industry dynamics and the evolution of tech has created the role, and the growth has been an absolute explosion. I think it is roughly a hundred times year over year.</p><div><hr></div><p><em>We finished where we started, with the path that got him here.</em></p><div><hr></div><p><strong>Last question. You have moved across physics, high-frequency trading, search, teaching, founding, FDE, and agents. Do you have a theory for why you have crossed so many domains, or did you just take what felt right at the time?</strong></p><p>I actually don&#8217;t think my background is nearly as extreme as some people I&#8217;ve met, like a former colleague who dropped out of college, worked on video games, then high-frequency trading, then AI. I do not think my path is a wild outlier. Everyone is on their own path to find a place where the work aligns with their skills and values, and it took me a while to find what I was most passionate about. I have found something I feel I&#8217;m thriving in and highly aligned with now.</p><p>It is a big journey of self-discovery. Some people genuinely love big tech, the stability, the consistency, working on a specific set of problems that do not change dramatically over time. There is a wide range of archetypes for what people look for, and everyone should be seeking out the one that fits them, especially early on. Explore, and then exploit later.</p><div><hr></div><p><em>Leo Mehr is Director of Engineering at Ramp, where he leads Forward Deployed Engineering and the Agent Developer Platform.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Wrapped Too Tight]]></title><description><![CDATA[Why architectural decisions age faster than the projects that produce them]]></description><link>https://www.fdehub.org/p/wrapped-too-tight</link><guid isPermaLink="false">https://www.fdehub.org/p/wrapped-too-tight</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 26 May 2026 15:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!x5qh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x5qh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x5qh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x5qh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x5qh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x5qh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x5qh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg" width="1292" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:193677,&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://www.fdehub.org/i/199239159?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!x5qh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x5qh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x5qh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x5qh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9da301-a189-442e-b75b-4415a52282d9_1292x861.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><h2>The coating project</h2><p>We are working on a project in aerospace right now. The client receives metal parts that need to be coated according to a long list of industry specifications. Each part has its own attributes. The job is, given a part and the relevant specifications, to produce the exact sequence of steps to coat it correctly. A human engineer verifies the output before it lands in a system that walks factory workers through the steps on the shop floor.</p><p>I built it as a workflow.</p><p>Collection stage pulls the part attributes and the library of relevant specifications. Transformation stage does the structured extraction, the cross-referencing, the validation. Decision stage produces the ordered steps that get routed for human review. There are LLM calls at specific points where the work demands them. Everything else is deterministic.</p><p>It works. The client is happy with it. But sitting with it now, I think it probably should have been an agent.</p><p>The reasoning step is where the actual work happens. The combinations of part attributes and applicable specifications are too varied to enumerate, so the matching requires real judgement. I built deterministic plumbing around an LLM call that was making the only genuinely hard decision in the system, and then I added retrieval and validation layers because I wanted to verify each step in isolation. The result is more rigid than the underlying work needs to be.</p><p>An agent version would have given the model the tools to query specifications when it needed them and the room to iterate on partial matches. It would have been harder to verify. It would have shipped slower. And it would probably have been a better fit for the shape of the problem.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The direction of my errors</h2><p>This is not an isolated case. If I am being honest about the direction of my errors, I have built workflows that should have been agents. I have not built agents that should have been workflows.</p><p>The cause is conservative bias. When I started building these systems, the models were less reliable, and every additional degree of freedom felt like risk. So I leaned toward deterministic flows with LLM calls at very specific points where I could verify each step. The systems shipped, the systems work, but some of them are more rigid than the problems they were solving.</p><p>I think this is also the bias I see most often in other practitioners. Engineers tend to over-constrain. We trust deterministic code more than probabilistic reasoning, and we reach for the workflow because it is easier to debug, easier to explain, and easier to defend in a postmortem.</p><p>That bias is becoming out of date faster than I would like to admit. The models today are reliable enough that some of the determinism I wrapped around them is doing more harm than good. It adds latency, it limits flexibility, and it papers over the fact that the genuinely hard part of the system is the reasoning step.</p><h2>What changes now</h2><p>If a coating project landed in my queue today, I would still draw the same shape. Collect the attributes, gather the relevant specifications, produce ordered steps, hand to a human. That part does not change.</p><p>What changes is how much determinism I would wrap around the reasoning stage. The question I would ask first is whether the work inside each stage is actually deterministic, or whether it requires reasoning over input I cannot fully anticipate. For the matching stage on coating, the answer is reasoning. That should have told me to give the model more freedom, not less.</p><p>The threshold for what counts as reasoning territory moves with the model. The systems I built when the models were less capable were workflows because I did not trust the models with more freedom. Today I would build some of them differently. The pace of model improvement now means architectural decisions in AI have a shorter shelf life than the projects that produced them. The build always has a sequel, and the sequel arrives sooner than it used to.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[When AI Is a Commodity]]></title><description><![CDATA[Capability is commoditising. Lock-in is the next move.]]></description><link>https://www.fdehub.org/p/when-ai-is-a-commodity</link><guid isPermaLink="false">https://www.fdehub.org/p/when-ai-is-a-commodity</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 12 May 2026 15:01:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2Icx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week OpenAI announced a $4 billion vehicle called the OpenAI Deployment Company, designed to put OpenAI engineers inside enterprise customers to help them, in the company&#8217;s words, move from pilot to production. McKinsey, Bain &amp; Company, Capgemini, and BBVA are among the founding investors, and OpenAI is acquiring a London-based consultancy called Tomoro to staff it with roughly 150 forward deployed engineers from day one. Anthropic announced a similar $1.5 billion vehicle the week before. The official framing across both is straightforward. Model performance is no longer the bottleneck. Deployment is. The labs are stepping up to close the gap.</p><p>That framing is correct as far as it goes, but it&#8217;s also a tell. Frontier model capability has started to look an awful lot like a commodity, and the labs know it. Lock-in is the next move, and a multi-billion-dollar FDE army inside customer environments is the cleanest way to get it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2Icx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2Icx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2Icx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2Icx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2Icx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2Icx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg" width="1292" height="727" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:727,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:294153,&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://www.fdehub.org/i/197354689?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2Icx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2Icx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2Icx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2Icx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd197ef9-c409-492b-bc84-369ea7259887_1292x727.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><h2>Capability is commoditising</h2><p>There are at least half a dozen frontier-class models now, from OpenAI, Anthropic, Google, Meta, DeepSeek, Qwen, Kimi, and a few others, that swap places on benchmarks every few months. They&#8217;re all good. The marginal difference between the best model on a given task and the second-best is usually within the range of what a slightly better prompt or a slightly better retrieval pipeline would close anyway.</p><p>The economics tell the same story. Inference costs for equivalent quality are falling at something close to an order of magnitude per year. Anthropic&#8217;s gross margins came down to around 40% in 2025, from a projected 50%, and their break-even isn&#8217;t on the horizon until 2028. None of the frontier labs are profitable yet, and the unit economics on their consumer subscriptions are visibly under strain.</p><p>The Claude Code regression saga earlier this year is the cleanest community signal of where this is heading. Anthropic eventually traced the issue to three product-layer changes affecting Claude Code, the Agent SDK, and Cowork, while the underlying API was unaffected. Despite the post-mortem explanation, for me, Opus 4.6 was the peak, and the experience has felt downhill ever since Opus 4.7 shipped. The point is that we don&#8217;t actually know what we&#8217;re being served on any given day. The wrapper changed, and the people paying for it couldn&#8217;t tell. That isn&#8217;t unique to Anthropic. It&#8217;s the structural condition of paying a subscription for a service whose internals you can&#8217;t see.</p><p>When capability stops differentiating, and customers can&#8217;t fully trust that the thing they bought yesterday is the thing they&#8217;re getting today, the strategy has to shift. The play becomes embedding so deep in customer workflows that switching becomes painful even when it looks economically obvious. Microsoft did this for thirty years. The model labs are doing it on a compressed timeline.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Most enterprise AI work doesn&#8217;t need a frontier model</h2><p>This is the part that doesn&#8217;t get said often enough. Most of what we actually deploy at enterprise clients isn&#8217;t frontier work. It&#8217;s classifying inbound emails into one of four categories. Extracting line items from invoices and matching them against purchase orders. Drafting first-pass replies to support tickets. Summarising call transcripts into action items. Routing tasks between systems. Reading a sales order and turning it into the right ERP transaction.</p><p>Almost none of this requires Opus 4.7 or GPT-5.5. A 7B to 70B open-weight model handles all of it well enough, and the gap between &#8220;well enough&#8221; and &#8220;best in class&#8221; usually shows up nowhere except in a benchmark sheet. The frontier earns its keep on a small slice of genuinely hard problems: novel agentic workflows, complex multi-step reasoning, edge cases that haven&#8217;t been seen in training, low-resource languages, long-context retrieval where every percentage point of accuracy compounds. In my work at Lleverage, across logistics, wholesale, manufacturing, insurance, and finance, that hard slice is maybe 5% of what actually lands in production. The other 95% is workhorse stuff that an open-weight model trained six months ago handles without anyone noticing.</p><p>I&#8217;ve been running Qwen, Gemma, and Mistral on my own hardware over the last few months. Not in production for any client yet, but enough to form a view. For the kinds of tasks I&#8217;d typically reach for a frontier API to do, they&#8217;re not quite as good, but they are good enough for the work most enterprises actually need done. Good enough is the only threshold that matters in production, and the gap to good enough closes faster every quarter.</p><h2>A return to owning the machine</h2><p>There&#8217;s a useful parallel here to the first wave of enterprise computing in the 1970s. The trailblazers were the companies that bought IBM mainframes when nobody else did, brought the machine in-house, built applications around it, and accepted the operational burden of owning the silicon, the workloads, and the upgrades. That model gave way to client-server, then to the cloud, where compute became something you rent. For two decades, owning the machine felt like an artefact of an older era.</p><p>I think AI is going to bend that line back. The companies that take this transformation seriously will, increasingly, buy ready-made machines for running LLMs and treat them as a core piece of their infrastructure, the way an earlier generation treated their first AS/400 or their first VMware cluster. Not for everything. But for the routine workloads that already touch sensitive data and don&#8217;t need a frontier model in the first place. The hardware exists in 2026 in a way it didn&#8217;t a year ago. NVIDIA&#8217;s DGX Spark, Apple&#8217;s M-series workstations, Lenovo&#8217;s ThinkStation PGX, AMD&#8217;s MI-series, and a handful of other options have made on-premise inference economical at a scale that wasn&#8217;t true even twelve months ago. A Quad DGX Spark setup runs roughly 18 to 20 thousand dollars and pays for itself in three to seven months for any team whose API spend regularly exceeds three to five thousand dollars a month.</p><p>The interesting consequence is that once you own the machine, the model running on it becomes a choice rather than a dependency. You can swap Qwen for Mistral for Gemma without re-implementing anything around it. The vendor relationship moves from the model layer down to the silicon, and silicon competition is, historically, a much healthier kind of competition than software lock-in.</p><p>The questions clients have started asking line up with this shift, even when nobody at the table uses these words. Where does the inference actually happen, on what continent, under what jurisdiction. Whose audit logs can you request. Whether anyone can promise the model isn&#8217;t being retrained on the data you&#8217;re sending it. A year ago these questions came mostly from engineering teams curious about latency. Now they come from procurement and compliance, and they tend to surface around the IT security review when somebody finally reads the fine print. The regulatory direction of travel reinforces the same shift. The EU AI Act&#8217;s high-risk obligations land in August 2026. France and Germany have launched a sovereign AI initiative with Mistral and SAP. The UK established a Sovereign AI Unit with up to &#163;500 million of funding in mid-2025. The questions aren&#8217;t an early signal anymore. They&#8217;re the direction the rules are moving in.</p><h2>Who actually does the wiring?</h2><p>This is what explains why a $4 billion deployment company makes strategic sense even when frontier capability is commoditising. The bottleneck in enterprise AI isn&#8217;t the model. It&#8217;s everything around the model. The ERP that has no API. The operator whose tacit knowledge is the only documentation of how the process actually runs. The firewall rules that need re-negotiating with an implementation partner who left the client three years ago. The compliance team that needs to sign off on what data leaves which jurisdiction. The change management work that gets a sceptical operator to trust an agent&#8217;s output for the first time.</p><p>That&#8217;s the work. It&#8217;s what I&#8217;ve written about in almost every post on this newsletter. It&#8217;s unglamorous, slow, deeply context-dependent, and impossible to automate away. And it&#8217;s exactly what FDEs do. The reason OpenAI is willing to pay $4 billion to staff up an in-house FDE army is the same reason every AI company serious about enterprise revenue has been quietly building FDE teams for the last three years. The model is becoming the cheap part. Wiring it into a working system isn&#8217;t. The lock-in critique still applies, of course. Once an OpenAI engineer has spent six months inside a customer&#8217;s environment, mapping systems and building agents tightly coupled to OpenAI&#8217;s specific APIs, switching to a different lab stops being a model swap and becomes a re-implementation. That&#8217;s by design. It&#8217;s the same playbook every enterprise software vendor has run since SAP.</p><p>Which surfaces the bigger question. Who actually executes this transformation, across all these companies, globally?</p><p>Every mid-sized manufacturer, wholesaler, insurer, and logistics operator on the planet has to go through their version of what their bigger counterparts went through with the move from mainframes to client-server, and then again with client-server to cloud. The big four consultancies took the bulk of those last two waves. McKinsey, Bain &amp; Company, and Capgemini being on the OpenAI Deployment Company cap table suggests they intend to take this one too. They have the relationships, the brand, and the procurement preference baked into thirty years of enterprise IT decision-making.</p><p>The trouble with that answer is that the work this time is more technical, more bespoke, and more dependent on the kind of context that doesn&#8217;t transfer well from one consultant&#8217;s slide deck to another. It&#8217;s FDE work. And there aren&#8217;t anywhere near enough FDEs on the planet to do it for every company that needs it. The OpenAI Deployment Company is starting with 150 engineers. Anthropic&#8217;s vehicle will scale similarly. McKinsey can throw people at projects, but the gap between a generalist consultant who knows the AI talking points and someone who can actually wire an agent into a customised ERP is real, and it&#8217;s a gap that doesn&#8217;t close in a quarter.</p><p>So who actually does it? The labs are betting on their in-house FDE armies, the consultancies on the relationships and bench they've built over thirty years, and the market is probably bigger than both put together. The question I'm sitting with isn't who wins. It's who gets the work done for the companies neither side is structured to serve.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Clarity Compounds]]></title><description><![CDATA[Most projects are decided in pre-sales, not delivery]]></description><link>https://www.fdehub.org/p/clarity-compounds</link><guid isPermaLink="false">https://www.fdehub.org/p/clarity-compounds</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 05 May 2026 15:03:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hWAl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A use case lands on my desk. The deal is closed. The headline outcome on the contract reads something like &#8220;automate invoice processing&#8221; or &#8220;build a finance assistant&#8221; or &#8220;improve capacity planning.&#8221; All real, all signed, all wide enough to drive a truck through.</p><p>I sit down with the customer to scope it. Within a week we&#8217;ve narrowed the wide outcome into something we can actually deliver in a meaningful timeframe. Then the pushback comes. &#8220;But you said you&#8217;d solve our whole invoice problem.&#8221; Not in those words always, but that&#8217;s the shape of it. The customer bought one thing. We&#8217;re now describing a smaller thing. Someone has to absorb the gap, and that someone is usually us.</p><p>This has happened often enough across our portfolio that it&#8217;s not a one-off. It&#8217;s the shape of a problem.</p><p>And the problem isn&#8217;t really at the scoping stage. The damage was done weeks earlier, before any FDE was in the room.</p><p>Every decision made in pre-sales compounds. A use case framed too widely in the sales call becomes a contract framed too widely. A contract framed too widely becomes a kick-off with mismatched expectations. A kick-off with mismatched expectations becomes a project that spends its first month renegotiating what it&#8217;s supposed to be. By the time you reach delivery, you&#8217;re not building. You&#8217;re recovering.</p><p>So we changed how we start.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hWAl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hWAl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hWAl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hWAl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hWAl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hWAl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg" width="1292" height="793" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:793,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:616145,&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://www.fdehub.org/i/196344958?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hWAl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hWAl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hWAl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hWAl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc324eac-a958-4971-a6b4-685a2e360f8c_1292x793.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><h2>Get an FDE in the room early</h2><p>The first move was to stop letting sales scope alone.</p><p>This idea came from a recent conversation I had with <a href="https://www.fdehub.org/p/sensors-in-the-field-a-conversation">Rahul Agarwal at Medplum</a>, who runs his FDE team as what he calls sensors in the field. He described a rotating delegate system where one FDE each week is on the hook for early-stage sales calls, answering the &#8220;can it do X&#8221; questions across all prospects. The point isn&#8217;t to assign that FDE to any of those projects. It&#8217;s to make sure FDE thinking is in the room before the deal hardens.</p><p>We adapted this for our team of four. Every week, one of us is the rotating FDE. They join all pre-sales calls in the 30 to 70 per cent probability band. Below 30, it&#8217;s too speculative to spend FDE capacity on. Above 70, the project is real enough that we want a dedicated FDE rather than a rotating one. The 30 to 70 band is the window where the customer is serious but the scope is still soft, and that&#8217;s the window where an FDE can change the trajectory.</p><p>What does the rotating FDE actually do on these calls? They ask better questions than a salesperson would think to ask. Not because salespeople aren&#8217;t smart. We&#8217;re all chasing the same outcome, which is the biggest value we can credibly deliver. The difference is that an FDE can sharpen where that value actually sits, given what&#8217;s possible and what&#8217;s optimal to build first.</p><p>There are four things we want answered before a deal moves forward:</p><ol><li><p><strong>What does the process look like end to end today?</strong> Walk me through a single transaction, from trigger to completion. What systems are touched, what decisions are made, and by whom. This is the question that surfaces the gap between the label the deal was sold under and what&#8217;s actually going on.</p></li><li><p><strong>Where does the data live, and who controls access?</strong> Which systems are involved. Cloud or on-premise. Are APIs available. Is there an external IT partner managing any of this. Integration risk and IT-partner dependency block more projects than anything else, and you want to know about both before you sign.</p></li><li><p><strong>Who actually does this work every day?</strong> Can we speak to the operators, not just the champion or sponsor. How many people touch this process. Champions know what they want. Operators know how it works. You need both, and you need to confirm access to the second early.</p></li><li><p><strong>What does success look like in three months?</strong> What specific outcome would justify the investment. How will the customer measure it internally. This forces them to articulate something concrete, and gives us a yardstick to scope against rather than an open-ended engagement.</p></li></ol><p>The rotating FDE isn&#8217;t promising delivery. They&#8217;re often not even going to be the one delivering. The value of the rotation isn&#8217;t continuity. It&#8217;s that the customer hears these questions early, and the team gets to flag concerns before they get baked into a contract.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Dedicate an FDE before the deal closes</h2><p>Once a deal crosses 80 per cent likelihood of closing, the rotation ends and one FDE takes ownership. Sometimes that&#8217;s the rotating FDE who&#8217;s been in the calls. Often it isn&#8217;t. What matters is that ownership transfers cleanly, and that it happens before the deal officially closes rather than after.</p><p>The reason for that timing is simple. The week between contract signature and project kick-off is wasted week. If a dedicated FDE is named once a deal looks close to certain, they can start absorbing context while the commercial paperwork moves in parallel. By the time the contract is signed, the FDE has been in the late-stage calls, has read whatever documentation exists, and is ready to run the kick-off.</p><h2>Run the kick-off before doing anything else</h2><p>The kick-off isn&#8217;t where work begins. It&#8217;s where we explain what work begins, and what we need from the customer before it does.</p><p>The kick-off has two jobs. First, set expectations for the engagement: what we&#8217;re building, what we&#8217;re not building, how we&#8217;re going to work together. Second, hand the customer their list. Credentials for the services we need to integrate with. Test environments we can break without consequence. Ground truth sample data, real cases the system should handle and real cases it currently gets wrong. A high-level overview of the process from the people who actually run it. Named partners in IT who can unblock us when we hit access issues, because we will hit access issues.</p><p>The customer then has one to two weeks to deliver that list. Nothing else happens in the meantime.</p><p>This sounds rigid and it is. The reason it&#8217;s rigid is that the cost of starting without the list is enormous and invisible. You begin building against assumed integrations, you discover the assumptions are wrong in week three, and now you&#8217;re rebuilding while explaining why the timeline is slipping. Or you start without ground truth data and ship something that works on the synthetic examples and falls over on the real ones.</p><p>If the customer can&#8217;t get us tool access in two weeks, that&#8217;s also information. It tells us something about how their organisation moves, and it predicts how the rest of the project will go.</p><h2>Spend one to three days on site</h2><p>Once the materials are in, we go on site.</p><p>The duration depends on the complexity of the process, which usually correlates with the contract size. One day for something narrow, three for something with multiple stakeholders and handoffs.</p><p>What we do on site is shadow. We sit with the operators who currently do the work. We watch them do it. We interview the champion, but we don&#8217;t only talk to the champion, because champions know what they want and operators know how it actually works. We ask questions that probably feel obvious to them and reveal things that aren&#8217;t obvious at all. Why do you check this twice. What happens when this field is blank. Who do you call when the system is down. Is there a spreadsheet on someone&#8217;s desktop that this depends on.</p><p>There&#8217;s no shortcut for this. Calls don&#8217;t surface it. Documentation doesn&#8217;t capture it. The tacit operational knowledge that determines whether a project succeeds is in people&#8217;s hands and habits, and you have to be next to them to see it.</p><p>A common worry is that this is paternalistic, or that customers won&#8217;t want us in their offices. In practice the opposite is true. Customers are usually relieved to have someone take their process seriously enough to sit with it. The ones who don&#8217;t want us on site are usually the ones whose projects we should be more cautious about anyway.</p><h2>Define the scope</h2><p>Only now do we write the statement of work.</p><p>By this point we&#8217;ve been in pre-sales calls, we&#8217;ve owned the project for two or three weeks, we&#8217;ve received everything we asked for, and we&#8217;ve watched the work happen. The scope we now write is grounded in that, not in the wide framing from the sales call. It defines what we will deliver to call the engagement complete, broken into specific capabilities with timelines and an estimated FDE budget. That&#8217;s the document the customer signs off on. Reaching the end of it is what ends the project.</p><p>Internally, alongside the full scope, we pick a first slice. Something inside the scope that we can deliver end-to-end in roughly a week, so the customer starts getting real value almost immediately. It might be ten per cent of the total scope, sometimes thirty, occasionally more. The exact size matters less than the shape: it has to be end-to-end, it has to run on real data, and it has to be something an operator can actually use rather than a demo we click through ourselves.</p><p>That first slice is deliberate. The point is to get something in front of operators that they can poke at, react to, complain about, and start building habits around. A live solution processing real data teaches us more in a week than months of planning. It surfaces the integration edges, the undocumented system behaviour, the IT-partner responsiveness, all of it, while there&#8217;s still time to do something about it. From there we keep building against the agreed scope, with each iteration landing in something the customer is already using.</p><p>Wide scoping at the start kills upsell. If phase one was framed too broadly and underdelivered, there is no phase two. A scope that&#8217;s well-defined and well-delivered is the only reliable path to the second engagement. Customers don&#8217;t buy more from teams that disappointed them on the first thing. They buy more from teams that shipped something useful in the first month and earned the right to do harder things.</p><h2>What we&#8217;ve seen so far</h2><p>We&#8217;ve run two projects through this full sequence. That&#8217;s not enough to call it proven, but it&#8217;s enough to notice that both have started cleaner than projects we ran the old way. Less mid-project reframing. Less of the conversation that begins with &#8220;but I thought you were going to do.&#8221; Faster path to a deliverable that an operator can actually use.</p><p>We&#8217;re going to keep running it and refining as we go. The four questions the rotating FDE walks into a call with will keep evolving. The criteria for what makes a good first slice are still being learned. The tradeoff between rigour and speed at the front of the project will keep adjusting.</p><p>But the underlying bet feels right. Everything that&#8217;s unclear early compounds. Every assumption left unexamined in pre-sales becomes an argument in week six. The leverage isn&#8217;t at delivery, where most teams focus their energy. It&#8217;s at the start, where most teams aren&#8217;t even paying attention.</p><p>Scope is a contract, not a conversation. The work we do before the build is the work that decides what the build will be. Clarity early is the cheapest part of the project. It&#8217;s also the part most likely to be skipped, because nothing seems to be happening when you&#8217;re waiting on credentials or sitting in a sales call you&#8217;re not going to deliver. But that&#8217;s exactly when the project is being decided. The build is just where the decision becomes visible.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Two Archetypes: A Conversation with Kanav Bhatnagar]]></title><description><![CDATA[Senior Forward Deployed Engineer at Rippling]]></description><link>https://www.fdehub.org/p/two-archetypes-a-conversation-with</link><guid isPermaLink="false">https://www.fdehub.org/p/two-archetypes-a-conversation-with</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Thu, 30 Apr 2026 15:02:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kRpC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Kanav Bhatnagar spent almost three years as a software engineer at Amazon before moving into forward deployed work. He was one of the early FDEs at Actively AI, an AI-native sales platform, where he ran enterprise deployments with a 100% pilot-to-paid conversion rate. He&#8217;s now on the founding FDE team at Rippling, helping build out the function from the ground up. We talked about the two very different shapes the FDE role takes depending on whether you&#8217;re at an AI-native startup or a mature SaaS company going AI-forward, how to scope a pilot that actually converts, and why the role feels like a founder bootcamp.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kRpC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kRpC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kRpC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kRpC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kRpC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kRpC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg" width="1400" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:133218,&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://www.fdehub.org/i/195918026?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kRpC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kRpC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kRpC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kRpC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41f1dbf5-c6b6-4fc9-9d32-afbb0245e1b9_1400x700.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><strong>You&#8217;ve now worked as an FDE at two quite different companies. How do the roles compare?</strong></p><p>There are a lot of differences, and part of it boils down to the fact that Actively is an AI-native company that started as AI-native. Rippling is a SaaS company that&#8217;s existed for a while and is moving to be AI-forward. It is very much AI-forward now, but the archetypes are very different.</p><p>You see a lot of AI-native companies that are smaller, younger, newer, that emerged in the past two or three years and employ FDEs. And then there are these SaaS giants that have pivoted to be more AI-forward over the last couple of years. Rippling is an example. Ramp, Salesforce, Databricks and Snowflake all have FDEs now. These are companies that existed for years before AI adoption was the thing.</p><p>The role differs quite a bit between the two. At a smaller AI-native company the day-to-day work is heavily agentic, heavily focused on building the AI product itself. At a larger company it&#8217;s AI-focused too, but you&#8217;re also building custom code on top of a mature platform for a particular customer. The platform is more mature, so you can.</p><p>At a younger company you also do a lot more pre-sales POC work, because the company is still trying to find its footing. At Rippling there isn&#8217;t really time for that. There are already so many customers and a robust sales motion that handles winning the deal. Your job becomes filling in gaps in the product for a given customer, rather than putting time and effort into convincing someone to sign.</p><p><strong>At Actively you had a 100% pilot-to-paid conversion rate. What does it actually take to get a pilot to convert?</strong></p><p>The main purpose of a pilot is to prove out ROI. And with AI that can be tricky. You can talk about boosting productivity, or boosting revenue, or moving some other metric. But at the end of the day it needs to tie back to the P&amp;L. You&#8217;re paying us X, we&#8217;re netting you Y, and Y needs to be much greater than X for you to be convinced to buy.</p><p>The customer is usually evaluating other tools in the space at the same time. So the path you take as an FDE is not just implementing the thing. Before you even implement it, you decide on the metrics with the customer. If we can prove out this percentage increase on this productivity or revenue metric, that is the success criterion for this POC.</p><p>It&#8217;s hard to measure AI workflows. You can&#8217;t just run the pilot for a month and at the end say, here are the reports. It has to be something you track from the beginning. Some metrics are genuinely impossible to track, but as much as you can, you need to be forthcoming with the numbers. It&#8217;s less of a technical problem than it is about managing customer expectations and building trust in the fact that you&#8217;re both looking at the same metrics.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>On the POC itself, do you prefer to go narrow and end-to-end, or wide with a big magical moment?</strong></p><p>Narrow and end-to-end, almost always. You prove out one part of the product that truly works, with measured metrics against it. You acknowledge there are other parts of the product that will have tangible or intangible benefits over time, but you have one clear thing to measure against.</p><p>The risk with going wide is that you don&#8217;t actually end up proving ROI, because that isn&#8217;t how the product will be used in practice. You can also build something so bespoke to one person&#8217;s workflow that it just doesn&#8217;t generalise. Starting narrow also sets up the next conversation. If you delivered something concrete in a week, it&#8217;s easier to make the case for what five weeks would look like.</p><p><strong>How do you handle context gathering? No FDE I&#8217;ve spoken to has managed to collect everything up front.</strong></p><p>I don&#8217;t think the answer is getting 100% of the information you want up front, and I don&#8217;t think it&#8217;s unique to being an FDE. This is a customer success problem that&#8217;s existed for as long as companies have been working with each other.</p><p>It does become easier in the age of AI. If the customer is already using AI tools, or has a bunch of documents scattered everywhere, you can ingest it, build a vector database, index it, and get somewhere. But the business end of it is never a technically hard problem. It&#8217;s that they don&#8217;t know what to send over, and we don&#8217;t know what they have unless we ask for it.</p><p>The approach I like is separating it into high-level and low-level. You have an initial high-level discussion to determine feasibility, scope the work, and agree on an architecture. Once you have that, you have enough confidence to move into implementation, where the nitty-gritty details surface.</p><p>A common one is approval processes. A lot of them are very unique to a business. It&#8217;s not even based on roles, it&#8217;s &#8220;Samantha is the approver here.&#8221; And what happens if Samantha leaves? Who knows. That kind of data isn&#8217;t something you can scope up front. You just have to know, going in, that someone is approving this, and build to that shape. You figure out who the someones are later. By asking the big questions you get 80% of the way there. The last 20% is what&#8217;s painful, and it just sits in the tail of the project.</p><p><strong>When is a project actually done? How do you close the loop without endless scope creep?</strong></p><p>This was something we had to figure out at Actively, because we would never stop. At Rippling we realised we needed a harder boundary, otherwise the model doesn&#8217;t scale.</p><p>The way you solve it is the way any SaaS product tends to solve it. Contracts and guidelines that outline the scope. This is what we are going to deliver. Once we deliver it, your problem should be solved. The initial scope becomes a document both parties sign and are beholden to. It works the other way too. If we don&#8217;t implement what we said we were going to, you can hold us accountable.</p><p>Whether the scope document is pre-commercial or post-commercial doesn&#8217;t really matter. I&#8217;ve talked to FDEs at other SaaS companies and it varies a lot. There is a difference in how much leverage you have in that conversation depending on the stage of the company. A larger, more established player can push back on scope in a way that a seed-stage company doing forward deployed work simply can&#8217;t, because they don&#8217;t yet have the leverage.</p><p><em>The FDE job description tends to read like a unicorn spec. Kanav spent almost three years at Amazon before moving into the role.</em></p><p><strong>What was the hardest part of that transition, coming from a core software engineering background?</strong></p><p>Two things stood out. The first was context switching. Whatever size of company you&#8217;re at, as a core software engineer you have layers of separation from the customer. PMs, sales, customer success, sometimes your own manager. That shielding lets you dive into your technical environment, and that&#8217;s what it was for me at Amazon.</p><p>As an FDE you might be on one customer call right now, another half an hour from now, and you have that half an hour in between to code something. You never get to truly lock in. That&#8217;s a hard skill to master, and I don&#8217;t think you fully can. Humans have a context window, like agents do. You try to minimise context switching where you can, but you also have to build the muscle of doing both parts of the job.</p><p>The second thing was interfacing with customers directly. You think there&#8217;s always a layer of separation, where you have to be professional because you&#8217;re representing the company. But true discovery happens when you&#8217;re fully comfortable with the customer and they&#8217;re fully comfortable with you. Being able to embed in their process, learn their business immediately, pick up the nuances of it, and ask the right questions to get them to open up. That&#8217;s a muscle I had to build over time.</p><p><strong>On the depth question, Palantir is famous for sending FDEs to embed with one customer for months at a time. That&#8217;s obviously not feasible at most AI companies. How do you think about depth versus breadth?</strong></p><p>Unfortunately, it isn&#8217;t really something you get to decide as a company or as an individual. It&#8217;s decided by account size, by ACV, by ARR. It becomes a question of economics. Whether you can afford to embed a whole FDE into one customer&#8217;s workflow.</p><p>Palantir is one of one. As you move to AI companies, or AI-forward companies, the FDE almost always has to manage multiple implementations in parallel. With the Palantir model, you have the advantage of learning one business really deeply. With the multi-customer model, you want depth but you also need breadth. Over time breadth becomes more important, as does the ability to pick up new things about new businesses quickly.</p><p>If you&#8217;re dealing with a large enterprise tech customer versus a big restaurant chain versus a retail store, their workflows differ drastically. You have to be able to pick it up and embed in all of them at once. You probably won&#8217;t reach the same depth as someone working on a single project. But that isn&#8217;t within the control of an individual. It&#8217;s dictated by the economics of the situation.</p><p><strong>We&#8217;re software engineers by training and we tend to aim for close to perfection, but the role doesn&#8217;t always allow it.</strong></p><p>It&#8217;s something you have to get used to while using AI products anyway. A lot of traditional software is deterministic. AI products mostly aren&#8217;t. You can make parts more strongly typed, you can build strict guardrails around certain components, but as a whole, software is moving in a non-deterministic, directionally correct direction. That has to be good enough. Even if most of your end-to-end solution is deterministic, one probabilistic link makes the whole solution probabilistic.</p><p><strong>You&#8217;ve described the FDE role as a kind of founder bootcamp. Why?</strong></p><p>I&#8217;ll call on what one of the co-founders at Actively used to say. There are really only two things that make money if you think about it abstractly. Building things and selling things. Engineering and sales. The FDE role sits right in the middle of that.</p><p>A founder goes through a process where they&#8217;re building a product and also doing customer discovery. Who wants this, what are their pain points, what would help them do things faster, or eliminate manual work. You figure that out in the customer discovery part, but you also have to immediately tie it back and build it. That&#8217;s what I feel like I do every day, whether it was at Actively or now at Rippling.</p><p>At both companies I&#8217;ve had the benefit of a sales team and a core product team supporting me. My job is to create the link between them. Because of that link I&#8217;ve learned a huge amount about the sales process that I never would have as a core software engineer, and a lot about building things I wouldn&#8217;t have picked up in sales. And it isn&#8217;t only sales. It&#8217;s marketing, customer success, RevOps. All these teams I converse with and learn from, whose workflows I end up observing. The same thing on the engineering side. It isn&#8217;t just building. It&#8217;s making product management decisions, small ones, but real ones, to build the software correctly.</p><p>You do a little bit of everything. And as such, it helps you build the skills to run your own company one day.</p><p><strong>Anything you&#8217;d want other FDEs to keep in mind?</strong></p><p>The role is still rapidly changing. If you discount Palantir and look only at the AI world, the oldest FDEs at AI companies are maybe a year in. Everyone is still figuring out processes. Part of the job is understanding that this is a role filling a gap that exists right now. AI makes it easier to build software and easier to talk to customers, so I think the role is here to stay. But what the FDE role looks like now versus a year from now could be very different. The core products we use and the industry we&#8217;re in are changing that fast.</p><p><em>Kanav Bhatnagar is a Senior Forward Deployed Engineer at Rippling, where he&#8217;s on the founding FDE team building out the function from the ground up. He was previously an FDE at Actively AI and a software engineer at Amazon.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What Scaling Means When You Can't Keep Hiring]]></title><description><![CDATA[A four-tier framework for deciding what still needs a human]]></description><link>https://www.fdehub.org/p/what-scaling-means-when-you-cant</link><guid isPermaLink="false">https://www.fdehub.org/p/what-scaling-means-when-you-cant</guid><dc:creator><![CDATA[Rory John O'Brien]]></dc:creator><pubDate>Tue, 21 Apr 2026 17:00:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZFTW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This week&#8217;s post is a guest piece by Rory O&#8217;Brien. Rory was one of the <a href="https://www.fdehub.org/p/startup-within-a-startup-a-conversation">first interviews I ran on FDE Hub</a> and that conversation ended up being one of the most popular pieces I&#8217;ve published, so when he offered to write something original for the newsletter, it was an easy yes. Rory has spent the last decade building and scaling FDE and adjacent customer delivery teams, most recently as VP at HappyRobot and before that at Tonkean. The piece below isn&#8217;t about FDEs specifically, but it&#8217;s about the operating model that makes FDE work either valuable or wasteful, which is something I think about constantly. Over to Rory.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZFTW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZFTW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZFTW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZFTW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZFTW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZFTW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg" width="1292" height="870" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:870,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:234739,&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://www.fdehub.org/i/193878640?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZFTW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZFTW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZFTW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZFTW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cbc739d-a8a0-4d8a-a3b4-851e73b54b29_1292x870.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>The playbook for scaling a team used to be pretty simple: revenue goes up, headcount follows, hire enough people to cover the volume, then hire more to manage the people you just hired. Everyone understood the math, boards expected it, and forecasts were built around it with almost no questioning of the underlying assumptions.</p><p>That model is broken, and I don&#8217;t think it&#8217;s coming back.</p><div><hr></div><p>Let me tell you about a project I saw running at every enterprise I worked with over the last decade. None of this will be new to you.</p><p>They called it different things: company ontology, knowledge graph, single source of truth, shared data model. Different vocabulary, same project: get the entire organization operating from one common language. Product called them &#8220;customers.&#8221; Finance called them &#8220;accounts.&#8221; Customer Success called them &#8220;clients.&#8221; Legal called them &#8220;counterparties.&#8221; Four words for the same human being, living in four different systems, with four slightly different definitions of what counted as active, churned, or at risk.</p><p>The result: most of the coordination overhead in a large company isn&#8217;t strategic, it&#8217;s definitional. You&#8217;re not having a meeting to make a decision; you&#8217;re having a meeting to establish what the numbers even mean before anyone can start making a decision, then scheduling a follow-up because someone pulled a different number from a different system, and by that point the actual work has been sitting untouched for two weeks. This is the information layer that runs through humans because there was no other place for it to live.</p><p>AI (properly implemented) has changed the cost of fixing this dramatically. You don&#8217;t have to perfectly unify every system before you start getting value; you can build a working model of how your organization describes itself, connect it to your preferred AI provider, and the CS manager who used to spend three hours hunting down renewal data and the QBR template to copy from, can query it and create the deck in four minutes. The constant &#8220;hey, what&#8217;s going on with X&#8221; that accounted for 40% of most people&#8217;s communication overhead largely disappears. That&#8217;s the setup. Here&#8217;s the framework that actually determines whether any of it matters.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The four tiers. Embarrassingly simple, almost universally ignored in the right order.</p><p><strong>1. AI it.</strong></p><p>Try this first, always, even when you&#8217;re confident it won&#8217;t work. The attempt is the point, because even when it fails it usually tells you something useful about the underlying process that you didn&#8217;t have explicit language for before.</p><p>What this looks like in practice for anyone in post-sales or implementation work: drafting account health summaries, generating first-pass renewal risk assessments, summarizing call transcripts into action items, building the skeleton of a QBR deck, triaging incoming tickets/customer requests by urgency and category, writing the first draft of a playbook that a human then edits. The output isn&#8217;t always usable. An 80% draft that takes two minutes still beats a blank page that takes two hours, and more often than not, the 20% gap is specific and fixable rather than fundamental. When AI fails at a task, the failure is almost always informative: it&#8217;s pointing at the part of the process that was never clearly defined in the first place.</p><p>The biggest mistake here is treating &#8220;it didn&#8217;t do it perfectly&#8221; as a verdict. It&#8217;s not a verdict; it&#8217;s a data point about the process.</p><p><strong>2. Automate it the old way.</strong></p><p>Rules, triggers, scripts, workflows. Pre-2023 thinking, still valid and still underused for anything deterministic. If the output of a process is predictable given a set of inputs, a human should not be the mechanism that connects them.</p><p>Most organizations have already paid for this capability and aren&#8217;t using it. If a support ticket comes in with a specific keyword from a customer in a specific segment, it should route automatically. If an account&#8217;s health score drops below a threshold, something should happen without anyone manually noticing and then manually deciding to act. If a contract hits a 90-day renewal window, the motion should start on its own. These are not complex problems; they&#8217;re rules that nobody built because defaulting to a human was easier than writing the rule once.</p><p>The 90% of SaaS tools you&#8217;ve already bought are effectively capable of doing this, or were designed to. Salesforce workflows, HubSpot sequences, Zendesk triggers, Gainsight playbooks. The access is there. The will to sit down and configure it usually isn&#8217;t. That&#8217;s the actual gap, and it&#8217;s a choice gap, not a technology gap.</p><p>And increasingly, tier one can handle the setup and configuration of tier two for you, which blurs the line between them.</p><p><strong>3. Write a better SOP.</strong></p><p>If a human genuinely has to do it, at least make it repeatable, trainable, and documented well enough that the next person doesn&#8217;t have to rebuild it from memory. The teams that are hardest to automate are almost always the ones that never wrote anything down; you can&#8217;t AI a process you haven&#8217;t described, and you can&#8217;t automate a workflow that exists entirely inside one person&#8217;s head.</p><p>These SOPs matter beyond the immediate documentation value: they&#8217;re the training data for whatever comes next. Every process you document today is a process you can hand to an agent later with something approaching confidence. The teams skipping this step aren&#8217;t just making their lives harder now; they&#8217;re making the transition to tier one harder when it becomes unavoidable.</p><p><strong>4. Throw a person at it.</strong></p><p>Hire someone, add headcount, default to humans. This is the right call for a narrow set of things. Judgment calls where someone needs to be personally accountable. Relationships where trust is the product. Situations where the context is too specific and too recent for any system to have it. An enterprise renewal going sideways because of an executive relationship problem is a tier-four problem. A QBR deck is not.</p><p>The problem isn&#8217;t tier four existing; it&#8217;s that it became the default for everything, including work that isn&#8217;t complex, high-stakes, or relationship-dependent. Tiers one and two were either never seriously attempted, or when they were, expectations were miscalibrated and solutions were designed by humans who assumed human involvement was necessary, which is a surprisingly hard assumption to challenge when you&#8217;re the human doing the designing.</p><div><hr></div><p>For most of the last decade, tiers two through four were the real options, and the mature move was knowing which tier a problem belonged in. That&#8217;s not quite the situation anymore. Tier one is now a mandate, coming loudly from every CEO in every all-hands, which is not a strategy; it&#8217;s a mandate, and mandates without methods don&#8217;t produce what the people issuing them want. The organizations that actually get there are the ones where individuals built the habit before anyone told them to. Tier two is still valid and underused, especially now that the technical barriers to accomplishing them are effectively non-existent. Tiers three and four are becoming the exception, and the only work that should land there is work that has genuinely exhausted the first two.</p><p>I think this is where it&#8217;s heading: the healthiest org you can show an investor is one where 70% or more of your headcount is built around humans (employees) talking to other humans (customers/suppliers). The remaining 30% is the rest of the org, and even that number gets blurry, because as AI absorbs more of the operational and analytical work, roles like engineering, marketing, and product naturally spend more of their time interfacing with customers too. The metric I&#8217;d start watching: <strong>what percentage of your people woke up today and actually talked to a customer?</strong> That number should be going up.</p><p>The scaling playbook isn&#8217;t gone; it&#8217;s just running on different assumptions. Start stress-testing AI against your own work, not because your company told you to, but because every attempt builds a reflex that&#8217;s going to matter for the rest of your career. Even when it fails, especially when it fails, you learn something about the process you didn&#8217;t know before. That muscle comes from repetition, not mandates.</p><p>That&#8217;s pretty much the whole job now.</p><div><hr></div><p><em>Rory O'Brien is an advisor and fractional CXO for seed to Series B startups, with 15+ years scaling post-sales and customer experience organizations. He previously served as VP of CX at HappyRobot and Tonkean, where he built and scaled FDE/Implementation, deployment strategy, and customer experience teams. You can find him on <a href="https://www.linkedin.com/in/roryobrien/">LinkedIn</a>, <a href="https://tehror.substack.com/">Substack</a>, and <a href="http://x.com/tehror">X</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Sensors in the Field: A Conversation with Rahul Agarwal]]></title><description><![CDATA[Co-founder and COO at Medplum]]></description><link>https://www.fdehub.org/p/sensors-in-the-field-a-conversation</link><guid isPermaLink="false">https://www.fdehub.org/p/sensors-in-the-field-a-conversation</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Thu, 16 Apr 2026 15:01:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iDfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Rahul Agarwal is co-founder and COO at Medplum, an open-source developer platform that digital health companies use to build custom healthcare applications. Before Medplum he was Customer Impact Lead at Applied Intuition and spent several years on the Forward Deployed Machine Learning team at Palantir. We talked about running an FDE function without product managers, the rotating delegate system that keeps his team from each lobbying for their own customer, why he hires for slope over Y-intercept, and why he tells his FDEs that the role is essentially founder school.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iDfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iDfg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iDfg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iDfg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iDfg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iDfg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg" width="1400" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:124388,&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://www.fdehub.org/i/193976248?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iDfg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iDfg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iDfg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iDfg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F074a2caf-e443-4cff-8ce7-aa5069b1b2f8_1400x700.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><strong>To set the scene for readers who don&#8217;t know Medplum, what do your FDEs actually do day to day?</strong></p><p>Medplum is an open source healthcare toolkit for developers. We make a set of Lego blocks for the most common healthcare applications, mostly EHRs, the systems doctors and nurses use to document clinical notes and order lab work and prescriptions. There&#8217;s a whole new breed of digital health companies building these at scale, fifty states, tens to hundreds of thousands of patients a month, but only for a narrow slice like specialty pediatrics. They need bespoke solutions. We took what a standard EHR does, exploded it into modules, made them open source, and let developers at these companies put the pieces together for their care model.</p><p>The hard part for our customers is making all those choices. Our FDEs have to be highly technical because they&#8217;re working with developers on the other side. You can&#8217;t just be a product person. A lot of our daily interactions are, &#8220;what is this error message, why didn&#8217;t my lab order go through to the lab.&#8221; But they also have to be good with people. Each of our FDEs supports between five and ten customers. We don&#8217;t send a team to a customer. One FDE supports many.</p><p>We didn&#8217;t found the company saying we&#8217;d have engineering, product, FDE. We don&#8217;t actually have a product team right now. The FDE function was born out of necessity, which I imagine is true for most companies hiring FDEs.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>Most FDEs I speak to work directly with operators. Yours work with engineers who are building products for operators. How much harder does that make it to surface the tacit operational knowledge healthcare is famous for?</strong></p><p>It&#8217;s a real challenge. The ideal is that engineers are our day to day but we have direct access to operators too. In healthcare there are two flavours. There&#8217;s clinical staff, the doctors and nurses doing care. And there&#8217;s an operational layer doing scheduling and billing, making sure patients move through the workflow. We want to get to both, or at least have a champion who can give us ground truth on the actual workflow.</p><p>Our engineering counterparts are strong developers but they&#8217;re often new to healthcare themselves. They don&#8217;t always know the right questions to ask. And when you do talk to operators, they describe how they currently do things, not how things should or <em>could</em> work. A lot of doctors at digital health companies aren&#8217;t doing it as their day job. They work in a hospital during the day and take telehealth visits on their off days, so when you ask them to design a system they bring all the baggage of their day job into the company.</p><p>So there&#8217;s a balance. We have to earn the right to talk directly to product or to clinical, but we also don&#8217;t want to get sucked into talking to ten physicians ourselves. Someone has to own the synthesis, and someone is always going to be unhappy with the result. We&#8217;d rather the customer&#8217;s internal stakeholders own that decision, with us guiding them based on best practice.</p><div><hr></div><p><em>The reason that synthesis question is so loaded is that at Medplum, the FDE team is also doing the work a product organisation would normally do. I asked Rahul to walk me through how that actually functions.</em></p><div><hr></div><p><strong>Your CEO Reshma has talked publicly about Medplum running without traditional product managers, with the FDE team being how customer reality gets into the product. How does that actually work?</strong></p><p>We probably won&#8217;t have PMs for at least another year. I&#8217;m not saying never, but FDEs are sensors in the field. They&#8217;re with customers every day, so they have a strong understanding of what customers need.</p><p>The challenge is combining those needs into generalised feature requests rather than building a hundred features that look almost identical, where this one is the way customer one wanted it and that one is the way customer two wanted it. That&#8217;s part of the argument for keeping core engineering separate. They have to build things that are general purpose by necessity. The organisational challenge is the connective tissue between FDE and core engineering.</p><p>Everyone has access to all code bases. FDEs are encouraged to contribute to the core. There&#8217;s no gatekeeping. It&#8217;s a division of labour.</p><p>The core engineering team has a weekly standup, and we send one rotating delegate from the FDE team to it. The FDE team does pre-work the day before to collate all the burning issues from customers and stack-rank them into one unified list across all features and all customers. The point is to avoid the anti-pattern I see at other places where every FDE is advocating for their own customer at the expense of others. If everyone goes directly to engineering and throws a ticket over the fence, the squeakiest wheel gets the grease. &#8220;Oh my God, this customer needs this tomorrow, this one is a high revenue deal, we need to do this thing that we all know is a bad feature.&#8221;</p><p>We make intentional tradeoffs among the FDEs. I know this customer is upset, but I will take the heat. We can talk about workarounds until the right thing is built. The unified list also gives the whole team visibility on what&#8217;s being requested. So if you hear a request that sounds like one from another customer, you have the familiarity to say, that feature is already in development, the thing in flight will suffice.</p><p>That&#8217;s how we do reconciliation without product managers. We might need PMs in a year as the team grows and these meetings stop scaling. But adding another layer is just another game of telephone between customer, FDE, and engineering. We&#8217;re trying to reduce telephone, not add to it.</p><p><strong>One of the failure modes I hear about is core engineering and FDE turning into adversaries. How do you avoid that?</strong></p><p>It&#8217;s a real anti-pattern. Core engineering starts to think FDE is always asking for everything tomorrow, because customers ask for things on customer timelines, not six-month timelines. The FDE team starts to think core is too slow, too much exploration.</p><p>The rotating delegate is partly an empathy-building exercise. Everyone gets exposure to engineering, inside their standard processes. You have to understand the trade-offs. If we did this the quick and dirty way, here&#8217;s what we lose. As a leader, you can say these are the same function with different responsibilities, but the teams have to actually trust each other. The FDEs need to understand that even if their customer needs something tomorrow, a hacky implementation has long-term costs. Core engineers need to understand that not everything can be perfectly designed, that there are real commercial factors and real customer pain. Even when customers aren&#8217;t doing things the way we&#8217;d like, they&#8217;ve made certain choices and we have to support them within a framework.</p><p>The other piece is the narrative inside the company. Even if it&#8217;s not true, the story can develop that FDEs are lower-quality engineers, body shop. Keeping the technical bar high is one defence against that. It&#8217;s easier said than done because you&#8217;re already asking for people skills and product judgement on top of engineering. But the bar matters.</p><p><strong>You&#8217;ve got a public repo, a Discord, an issue tracker, paying customers and enterprise contracts running in parallel. Where does the FDE responsibility actually start in the customer lifecycle?</strong></p><p>It&#8217;s a bell curve where the tails extend to infinity, but there&#8217;s a middle. We have a delegate to the sales process the same way we have one to engineering.</p><p>The sales process for an enterprise platform like ours has distinct phases. The first is, &#8220;hi, how are you, is this even a fit.&#8221; Salespeople handle that. Then there&#8217;s a technical capabilities Q&amp;A. &#8220;Can it do this, how would it handle that?&#8221; I call it the &#8220;can Medplum do X?&#8221; phase. The important thing is that it&#8217;s stateless. It&#8217;s more about us than about the customer. So in that phase we have a rotating FDE on the hook for whatever calls come up that week, just to answer can-it-do-X questions across all prospects.</p><p>As we get deeper into the funnel, around a seventy per cent chance of close, we pre-assign a dedicated FDE. That&#8217;s before the deal actually closes, because close itself is fuzzy. There&#8217;s close-a-pilot and there&#8217;s close-for-real. By that seventy per cent mark things get stateful. You have to know a lot about the customer&#8217;s care model, their business model, their legacy system, their migration challenges. So we assign the dedicated FDE then, and by the time real building starts that person is already ramped up. Earlier than that, when they&#8217;re just kicking the tires, it&#8217;s too noisy to pre-assign.</p><p><strong>Once the deal closes and the project starts, how do you make sure you have enough context to build the right thing?</strong></p><p>That is the fundamental challenge. You need to get all the way into the belly of the beast of the customer, really understand what they want, what they need, even when they&#8217;re not asking for it. The key skill is telling them what they should be building (based on our experience), not just what they asked for.</p><p>The methodology we use is what we call our enterprise workshop. It works under the assumption that you&#8217;re not going to know everything. The goal isn&#8217;t to spend three months gathering all the context. You won&#8217;t, you never will. The goal is to prove that our product solves a problem in a very short time. We target one to two weeks.</p><p>When I tell customers we&#8217;re going to pick one thing and build it in two weeks, people lose their minds at first. &#8220;That&#8217;s too small. We&#8217;re a core system of record, we expected Medplum to solve all these problems.&#8221; But three months is forever. People dilly-dally until the last month anyway. They&#8217;re slow to respond, slow to get you information. By reducing the scope to one or two weeks, it forces customers to think smaller, and to actually pick one problem instead of saying everything is high priority but nothing is actionable. Decision-making on the customer side is the slowest part of all this. We can always match or exceed the customer&#8217;s energy.</p><p>The problem we pick has to be end to end, from user to back end, not three back-end features with no user input. And it has to be something better than their existing system, not a re-implementation. I want to focus on <em>why</em> they came to us in the first place. Their old system can&#8217;t do X, that&#8217;s why they&#8217;re considering us, so let&#8217;s work on X first.</p><p>Sometimes in two weeks we can&#8217;t get real usage, but we did force their engineers to talk to their clinicians and to their ops team. It sounds paternalistic, but I think of it as the connective tissue. Now they know <em>how</em> to build on Medplum, and they know <em>who</em> needs to be consulted for the rest. Over the following months they&#8217;re often already accelerated by that connective tissue alone.</p><p><strong>If you were hiring your next FDE tomorrow, what&#8217;s the signal that matters most? And how much does healthcare background matter?</strong></p><p>We assume no healthcare background. I had none before I started this company. My co-founders did, which was essential as a founding team, but we don&#8217;t require it.</p><p>When we hire we think about slope versus Y-intercept. We&#8217;re looking for high-slope people who have demonstrated they learn fast, that they&#8217;re motivated to own a whole thing and eat pain. They don&#8217;t have a lot of preconditions about what their work looks like.</p><p><strong>Give me an example of someone who showed that.</strong></p><p>A few stories. We have one person who was in an engineering department at their previous company and had been told not to talk to customers. Just focus on your job, head down. They learned a customer was suffering, disregarded orders, went and built the feature, and then built the internal buy-in for the broader migration. When the thing shipped and they wanted to follow up, the customer manager said that&#8217;s someone else&#8217;s job. But they wanted to break the mould and actually solve the problem.</p><p>Others came from more traditional sales engineering or solutions backgrounds and volunteered for the hardest customers. There are always little bugs at go-live, and they were the ones running into the fire. With others you just see them going beyond their job description. Even when they handed something off to a salesperson, they followed up to make sure the problem actually got solved, not just that they did their job.</p><p><strong>A lot of leaders starting FDE teams now don&#8217;t have an FDE background themselves. What&#8217;s your advice to them?</strong></p><p>I get the question a lot. Is FDE product, sales, engineering? There are different ways to make it work, but my bias is towards engineering. Treat it as an engineering function. Putting the team structurally inside engineering is one defence against the cultural anti-patterns. Keeping the technical bar high is another.</p><p>The rest is in the messaging. I deliberately use the terms division of labour and separation of responsibilities. These are the same function with different jobs to do, not different tiers of engineer. A leader can say that, but the teams have to actually live it, which is why the rotating delegate exists. It&#8217;s as much a trust-building ritual as it is a process.</p><p><strong>Hiring is one thing. Keeping good FDEs is another. People don&#8217;t talk enough about retention. How do you keep someone who&#8217;s an excellent engineer, a good communicator, and has product instincts, when on paper they could do anything?</strong></p><p>At least once or twice a month when I address the team, I remind them that FDE is basically founder school at Medplum. You&#8217;re going to be so pluripotent. You&#8217;re working on sales, you&#8217;re at the head of commercial conversations, you&#8217;re doing tech, you&#8217;re doing product. You&#8217;re already doing all the functions. If you put your founder hat on, even if you&#8217;re not an expert in all of them, you&#8217;ll have enough familiarity to go found your own company, hire those roles, and have judgement over them.</p><p>So it makes the good ones really hard to retain. If they&#8217;re good they&#8217;re going to go off and do their own thing at some point. I have to price that in and just keep hiring. We haven&#8217;t had churn on this dimension yet, but I&#8217;m not holding my breath. In some ways we&#8217;d want it to happen, to know we&#8217;re providing an environment that grows people.</p><p>I had this problem when hiring FDEs myself. Everyone I grew up with at Palantir has founded their own company. I can&#8217;t get my best FDEs to come work for me because they have their own companies.</p><p>The other thing that helps is that because we hire more for slope than Y-intercept, we can accept slightly more junior candidates than we would on the core engineering side. That creates a real opportunity for mentorship. We&#8217;ve defined an FDE lead role and an FDE mentor role. New FDEs need to hit the ground running. If I&#8217;m putting them in front of a customer in two weeks, they have to own those customers within the first one to two weeks. There&#8217;s a lot of content knowledge involved. Rather than me teaching them everything, senior FDEs mentor junior FDEs. So we&#8217;ve built a progression in, where you&#8217;re responsible not just for your own customers&#8217; outcomes but for your mentee&#8217;s outcomes too.</p><p><strong>Anything else you wanted to share?</strong></p><p>One thing on AI and agentic coding. The question I always get is whether that means FDEs can be more or less technical because of the coding tools. I&#8217;m coming down conclusively on more technical. If an FDE is technical enough to actually read our codebase and understand the architecture, not just talk about it, they can sometimes ship a small bug fix in between meetings. We just got off the call, we already filed the fix, and because we&#8217;re open source we can point them to the PR. As a developer tool, there are so many small one-off things, and shortening that cycle is where the delight comes from.</p><div><hr></div><p><em>Rahul Agarwal is co-founder and COO at <a href="https://www.medplum.com/">Medplum</a>. He&#8217;s <a href="https://www.medplum.com/careers">hiring</a> FDEs in the San Francisco Bay Area.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Skills You Need for AI FDE Roles at OpenAI, Anthropic, NVIDIA, Databricks & Salesforce]]></title><description><![CDATA[What top AI companies really expect from forward&#8209;deployed engineers]]></description><link>https://www.fdehub.org/p/skills-you-need-for-ai-fde-roles</link><guid isPermaLink="false">https://www.fdehub.org/p/skills-you-need-for-ai-fde-roles</guid><dc:creator><![CDATA[Prasad Rao]]></dc:creator><pubDate>Tue, 14 Apr 2026 09:00:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2fY_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>A note from Milos:</strong></em></p><p><em>I&#8217;m trying something new on FDE Hub. Alongside my own writing and interviews, I want to start sharing work from other people writing about Forward Deployed Engineering and adjacent roles. There&#8217;s a small but growing group of us thinking and writing about this craft, and the more we can cross-pollinate, the better for everyone trying to figure out what this work actually is.</em></p><p><em>First up is <a href="https://www.linkedin.com/in/kprasadrao/">Prasad Rao</a>, who writes <a href="https://newsletter.bigtechcareers.com/">Big Tech Careers</a>. Prasad spent years as a Principal Solutions Architect at AWS and has been covering the Solutions Architect and FDE roles from the angle I don&#8217;t really touch on FDE Hub: how to break in. His audience is largely engineers and architects looking to level up their careers, and his pieces on the AI FDE role have been some of the clearest writing out there on what these jobs actually require on paper.</em></p><p><em>I write a lot about what FDEs do once they&#8217;re in the role. Prasad writes about how to get there in the first place. The two perspectives complement each other well, and I think his piece below is one of the most useful things you can read if you&#8217;re either considering an FDE role or trying to understand what hiring teams at the big AI companies are actually looking for.</em></p><p><em>Over to Prasad.</em></p><p><em>&#8212; Milos</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2fY_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2fY_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2fY_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2fY_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2fY_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2fY_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg" width="1292" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170437,&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://www.fdehub.org/i/193895782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2fY_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2fY_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2fY_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2fY_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d57c99f-efa0-4be7-94fe-478dc6ac9184_1292x861.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><em>This is a follow&#8209;up to my earlier article on <a href="https://newsletter.bigtechcareers.com/p/how-to-transition-from-a-developer">transitioning from Developer/Architect to AI FDE roles</a>. In that piece, I argued that the knowledge gap is smaller than you think if you already work as an Solutions Architect (SA) or Software Engineer (SWE).</em></p><p>In this article, I go one level deeper: I analyze what AI Forward Deployed Engineer&#8211;style roles actually look like at five of the most sought&#8209;after companies&#8212;OpenAI, Anthropic, NVIDIA, Databricks, and Salesforce&#8212;and distill the skills you really need to break into them.</p><p>You&#8217;ll notice a pattern: the <strong>core skills</strong> are the same, but each company has its own weightage for each of these skills that they look for in candidates.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ia75!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ia75!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png 424w, https://substackcdn.com/image/fetch/$s_!Ia75!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png 848w, https://substackcdn.com/image/fetch/$s_!Ia75!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png 1272w, https://substackcdn.com/image/fetch/$s_!Ia75!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ia75!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png" width="1456" height="882" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:882,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1785551,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.bigtechcareers.com/i/185888886?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Ia75!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png 424w, https://substackcdn.com/image/fetch/$s_!Ia75!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png 848w, https://substackcdn.com/image/fetch/$s_!Ia75!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png 1272w, https://substackcdn.com/image/fetch/$s_!Ia75!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760f51db-97a6-4e72-9268-306c9401c434_2162x1310.png 1456w" sizes="100vw" loading="lazy" 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><div><hr></div><h2><strong>The Common DNA: What All AI FDE Roles Expect</strong></h2><p>Before we pick apart company&#8209;specific nuances, it&#8217;s worth summarizing the shared core of these roles.</p><p>Across these five companies, an AI FDE is expected to:</p><ul><li><p>Embed with customers or strategic internal teams, not just sit in a central platform group.</p></li><li><p>Own end&#8209;to&#8209;end delivery: discovery, design, implementation, deployment, and post&#8209;go&#8209;live iteration.</p></li><li><p>Work directly with modern LLM tooling: RAG systems, agents, vector stores, observability, and cost controls.</p></li><li><p>Translate messy business requirements into durable technical systems and then back into business value.</p></li><li><p>Operate under ambiguity, time pressure, and partial information.</p></li></ul><p>As you can see, these are combination of SA, SWE and AI skills including both technical and behavioral skills.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>OpenAI: Deep AI Fluency + Full&#8209;Stack Ownership</strong></h2><p><strong>Positioning:</strong> OpenAI&#8217;s forward&#8209;deployed roles skew toward <em>high&#8209;stakes, high&#8209;impact deployments</em> with customers who are building on top of frontier models. The expectation is that you act as both a product engineer and a field architect.</p><p><strong>What they really test for:</strong></p><ul><li><p><strong>LLM depth, not just API usage</strong></p><ul><li><p>Solid understanding of tokenization, context windows, function calling, system prompts, rate limits, and failure modes.</p></li><li><p>Ability to choose between RAG, fine&#8209;tuning, and prompt&#8209;engineering tradeoffs and justify them with cost/latency/quality reasoning.</p></li></ul></li><li><p><strong>Full&#8209;stack + infra skills</strong></p><ul><li><p>Comfortable shipping production systems: backend (Python/TypeScript), basic frontend (React/Next), infra (Docker, K8s, cloud).</p></li><li><p>Can design data pipelines for logging, analytics, safety signals, and feedback loops.</p></li></ul></li><li><p><strong>Customer&#8209;facing ambiguity handling</strong></p><ul><li><p>You walk into &#8220;we want AI&#8221; conversations and shape them into concrete use cases, milestones, and guardrails.</p></li><li><p>You&#8217;re comfortable saying &#8220;no&#8221; to unrealistic expectations while offering a simpler path that still delivers value.</p></li></ul></li></ul><p><strong>How to prepare for OpenAI&#8209;style FDE interviews:</strong></p><ul><li><p>Build and ship at least one real product on OpenAI APIs (not a toy chatbot): for example, a workflow assistant with RAG, role&#8209;based access, analytics dashboard, and guardrails.</p></li><li><p>Be ready with case studies that show: discovery &#8594; design tradeoffs &#8594; shipping under constraints &#8594; post&#8209;launch iteration.</p></li><li><p>Practice explaining LLM tradeoffs to a non&#8209;technical VP in simple language.</p></li></ul><p><strong>Current FDE open roles at OpenAI</strong></p><ul><li><p><a href="https://openai.com/careers/search/?q=FDE">https://openai.com/careers/search/?q=FDE</a></p></li></ul><div><hr></div><h2><strong>Anthropic: Safety&#8209;First Applied AI + Long&#8209;Term Customer Stewardship</strong></h2><p><strong>Positioning:</strong> Anthropic&#8217;s forward&#8209;deployed engineers lean heavily into <em>applied AI with a safety and reliability lens</em>. You&#8217;re expected to think about not just &#8220;does it work?&#8221; but &#8220;does it behave safely and predictably under pressure?&#8221;</p><p><strong>What they really test for:</strong></p><ul><li><p><strong>Applied AI engineering with a safety mindset</strong></p><ul><li><p>Familiarity with Claude&#8209;style models, safety policies, red&#8209;teaming concepts, and failure&#8209;mode thinking.</p></li><li><p>Ability to design flows that mitigate prompt injection, abuse, and misuse scenarios.</p></li></ul></li><li><p><strong>Structured reasoning &amp; evaluation</strong></p><ul><li><p>Designing evaluation harnesses, test datasets, and metrics for &#8220;quality&#8221; beyond simple accuracy: helpfulness, honesty, harmlessness.</p></li><li><p>Iterating on prompts and policies in a structured, data&#8209;driven way.</p></li></ul></li><li><p><strong>High&#8209;trust, long&#8209;term client relationships</strong></p><ul><li><p>You&#8217;re more steward than &#8220;hit&#8209;and&#8209;run&#8221; implementer; you help customers evolve their AI maturity over months, not just ship a single feature.</p></li><li><p>Strong written communication: architecture docs, safety considerations, decision logs.</p></li></ul></li></ul><p><strong>How to prepare for Anthropic&#8209;style FDE interviews:</strong></p><ul><li><p>Build at least one &#8220;safety&#8209;aware&#8221; AI feature: think moderation, red&#8209;teaming tools, or evaluation dashboards that track failure modes, not just latency.</p></li><li><p>Prepare stories where you caught risks early (data misuse, policy issues, security gaps) and navigated them with stakeholders.</p></li><li><p>Practice walking through how you&#8217;d design an AI system for a regulated domain (finance, healthcare, gov) and what safety levers you&#8217;d include.</p></li></ul><p><strong>Current FDE open roles at Anthropic</strong></p><ul><li><p><a href="https://job-boards.greenhouse.io/anthropic?keyword=FDE">https://job-boards.greenhouse.io/anthropic?keyword=FDE</a></p></li></ul><div><hr></div><h2><strong>NVIDIA: Systems&#8209;Level Performance + AI Infrastructure</strong></h2><p><strong>Positioning:</strong> NVIDIA&#8217;s forward&#8209;deployed/architect roles are closest to <em>AI infrastructure and performance engineering</em>. Instead of &#8220;which prompt?&#8221; the conversation is often &#8220;which GPU, which optimization, which deployment pattern?&#8221;</p><p><strong>What they really test for:</strong></p><ul><li><p><strong>Strong systems &amp; performance orientation</strong></p><ul><li><p>Comfortable reasoning about GPU utilization, batching, concurrency, throughput, and cost per token or per request.</p></li><li><p>Understanding of how model choices, quantization, and deployment frameworks impact latency and cost.</p></li></ul></li><li><p><strong>Platform and ecosystem fluency</strong></p><ul><li><p>Familiarity with NVIDIA&#8217;s AI stack (CUDA basics, Triton, TensorRT, NIMs, etc.) is a strong plus.</p></li><li><p>Bonus points for comfort with multi&#8209;cloud deployments and hybrid/on&#8209;prem setups.</p></li></ul></li><li><p><strong>Architect&#8209;level customer guidance</strong></p><ul><li><p>You can sit with a customer&#8217;s infra team and co&#8209;design reference architectures that fit their budget, latency needs, and compliance constraints.</p></li><li><p>You&#8217;re credible in conversations with both CTOs and senior infra engineers.</p></li></ul></li></ul><p><strong>How to prepare for NVIDIA&#8209;style FDE/architect interviews:</strong></p><ul><li><p>Take an existing LLM application and run simple performance experiments: batching, caching, model size swaps; document how these affect latency/cost.</p></li><li><p>Learn at least one NVIDIA&#8209;branded component end&#8209;to&#8209;end (e.g., deploy a small model using Triton or a NIM&#8209;style setup) and be able to explain the architecture.</p></li><li><p>Prepare a &#8220;customer workshop&#8221; style narrative: how you&#8217;d guide a bank or telco from &#8220;we want AI&#8221; to a GPU&#8209;backed architecture.</p></li></ul><p><strong>Current FDE open roles at NVIDIA</strong></p><ul><li><p><a href="https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite?q=Forward+Deployed+Engineer">https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite?q=Forward+Deployed+Engineer</a></p></li></ul><p>New to Big Tech Careers? Join 26,000+ subscribers to elevate your tech career through behavioral skills!</p><div><hr></div><h2><strong>Databricks: Data + GenAI + Enterprise Platforms</strong></h2><p><strong>Positioning:</strong> Databricks&#8217; AI Engineer / FDE roles sit at the intersection of <em>data platforms and generative AI</em>. Think &#8220;build AI on top of the lakehouse and ship it into customer workloads.&#8221;</p><p><strong>What they really test for:</strong></p><ul><li><p><strong>Data engineering + GenAI hybrid</strong></p><ul><li><p>Strong skills in Spark, SQL, and data modeling, combined with hands&#8209;on experience building RAG/LLM apps.</p></li><li><p>Ability to design retrieval over large enterprise datasets, not just a handful of PDFs.</p></li></ul></li><li><p><strong>Platform thinking</strong></p><ul><li><p>You don&#8217;t just hack a one&#8209;off script; you build reusable patterns that can be productized or repeated across customers.</p></li><li><p>You understand how feature stores, governance, and lineage matter for enterprise AI.</p></li></ul></li><li><p><strong>Field engineering &amp; enablement</strong></p><ul><li><p>You can work side&#8209;by&#8209;side with a customer&#8217;s data team, co&#8209;building notebooks, pipelines, and MLflow/observability setups.</p></li><li><p>Strong skills in making complex architectures understandable through diagrams, demos, and &#8220;day&#8209;2 operations&#8221; docs.</p></li></ul></li></ul><p><strong>How to prepare for Databricks&#8209;style FDE interviews:</strong></p><ul><li><p>Build a full RAG system backed by a real data lake: ingest docs, create embeddings, store in a vector DB, expose as an API, and add monitoring.</p></li><li><p>Practice telling the story of a data&#8209;intensive project: ingestion &#8594; transformation &#8594; governance &#8594; AI feature &#8594; monitoring.</p></li><li><p>Be ready to whiteboard how you&#8217;d integrate Databricks with a customer&#8217;s existing warehouse, BI tools, and downstream apps.</p></li></ul><p><strong>Current FDE open roles at Databricks</strong></p><ul><li><p>https://www.databricks.com/company/careers/open-positions?department=Professional%20Services&amp;location=all (search for FDE)</p></li></ul><div><hr></div><h2><strong>Salesforce: AI Agents, Business Workflows, and Enterprise &#8220;Last Mile&#8221;</strong></h2><p><strong>Positioning:</strong> Salesforce&#8217;s AI FDE roles are deeply tied to <em>AI agents and business workflows</em> inside the Salesforce ecosystem. The emphasis is on customer outcomes, not just model sophistication.</p><p><strong>What they really test for:</strong></p><ul><li><p><strong>Workflow&#8209;centric AI design</strong></p><ul><li><p>You can map sales, service, or marketing workflows and decide where AI agents add value: drafting emails, suggesting next best actions, summarizing cases, etc.</p></li><li><p>You understand how to chain tools, data sources, and prompts into reliable &#8220;agentic&#8221; flows.</p></li></ul></li><li><p><strong>Ecosystem fluency</strong></p><ul><li><p>Enough understanding of Salesforce platform primitives (objects, flows, Apex, integration patterns) to wire AI into real orgs.</p></li><li><p>Comfortable mixing declarative tools with code and external AI services.</p></li></ul></li><li><p><strong>Elite customer&#8209;facing skills</strong></p><ul><li><p>You spend a lot of time with business stakeholders: directors of sales, heads of service, program managers.</p></li><li><p>You can peel back the layers of &#8220;we want an AI bot&#8221; into root business problems and define measurable outcomes.</p></li></ul></li></ul><p><strong>How to prepare for Salesforce&#8209;style FDE interviews:</strong></p><ul><li><p>Build an &#8220;agentic&#8221; AI prototype around a business workflow: e.g., an AI that triages support tickets and drafts responses while logging everything into a CRM.</p></li><li><p>Practice explaining AI capabilities in pure business language: pipeline impact, CSAT, handle time, revenue lift.</p></li><li><p>Prepare examples where you shaped requirements, pushed back on purely &#8220;flashy demo&#8221; ideas, and delivered something that actually moved metrics.</p></li></ul><p><strong>Current FDE open roles at Salesforce</strong></p><ul><li><p><a href="https://careers.salesforce.com/en/jobs/?search=forward+deployed+engineer&amp;pagesize=20#results">https://careers.salesforce.com/en/jobs/?search=forward+deployed+engineer&amp;pagesize=20#results</a></p></li></ul><div><hr></div><h2><strong>Skill Map: How the Five Companies Differ</strong></h2><p>Here&#8217;s a simple way to visualize the emphasis areas. All five require all of these skills, but the &#8220;dial&#8221; is turned up differently.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-b5p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-b5p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png 424w, https://substackcdn.com/image/fetch/$s_!-b5p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png 848w, https://substackcdn.com/image/fetch/$s_!-b5p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png 1272w, https://substackcdn.com/image/fetch/$s_!-b5p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-b5p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png" width="1434" height="1194" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1194,&quot;width&quot;:1434,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2092636,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.bigtechcareers.com/i/185888886?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!-b5p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png 424w, https://substackcdn.com/image/fetch/$s_!-b5p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png 848w, https://substackcdn.com/image/fetch/$s_!-b5p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.png 1272w, https://substackcdn.com/image/fetch/$s_!-b5p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4407c366-8925-49b9-89c8-2230071790e8_1434x1194.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>Use this to <em>target</em> your preparation. You don&#8217;t need to be equally strong on everything to start; you need one or two companies where your natural strengths line up with their focus areas.</p><div><hr></div><h2><strong>A 6&#8211;8 Week Targeted Plan for These Five Companies</strong></h2><p>If my earlier article was about &#8220;closing the general AI FDE gap,&#8221; this is the <strong>company&#8209;specific</strong> version.</p><p><strong>Weeks 1&#8211;2: Core LLM + One Deep Project</strong></p><ul><li><p>Revisit LLM fundamentals and RAG.</p></li><li><p>Build one serious end&#8209;to&#8209;end app and treat it as your &#8220;OpenAI/Anthropic case study&#8221;:</p><ul><li><p>Backend API, basic frontend, RAG, observability, cost tracking, and a simple safety policy.</p></li></ul></li></ul><p><strong>Weeks 3&#8211;4: Pick a &#8220;Platform Anchor&#8221;</strong></p><p>Choose one based on your target:</p><ul><li><p>OpenAI<strong>:</strong> Build an end&#8209;to&#8209;end app on OpenAI APIs: for example, a customer&#8209;support assistant with RAG over real docs, role&#8209;based access, analytics dashboard, and basic safety/guardrail checks.</p></li><li><p>Anthropic<strong>:</strong> Build a Claude&#8209;based internal assistant (e.g., policy QA or contract reviewer) with an evaluation harness that tracks quality, safety failures, and red&#8209;team prompts.</p></li><li><p>NVIDIA: do a small performance&#8209;oriented deployment, experiment with latency and throughput, document tradeoffs.</p></li><li><p>Databricks: build a RAG system on top of a small lakehouse&#8209;style dataset.</p></li><li><p>Salesforce: build a workflow&#8209;centric agent that automates part of a sales or support process (with a mock CRM if needed).</p></li></ul><p><strong>Weeks 5&#8211;6: Storytelling and Behavioral Prep</strong></p><ul><li><p>Turn your projects into 3&#8211;4 crisp case studies: problem &#8594; constraints &#8594; decisions &#8594; results &#8594; lessons.</p></li><li><p>Practice behavioral stories that highlight: discovery, production debugging, stakeholder management, expectation management.</p></li><li><p>Tailor your resume bullets and LinkedIn to explicitly mention &#8220;AI Forward Deployed Engineer&#8211;style work&#8221; and name these companies as your target pattern.</p></li></ul><p>If you already have SA/SWE experience, this plan is less about learning everything from scratch and more about <em>relabeling and aiming</em> the skills you already use daily.</p><div><hr></div><h2><strong>The Bottom Line</strong></h2><p>AI FDE roles at OpenAI, Anthropic, NVIDIA, Databricks, and Salesforce are deep enough in AI and engineering to ship, and deep enough in customer reality to matter.</p><p>If you&#8217;re a seasoned SA or SWE, you&#8217;re already 60&#8211;70% of the way there. The remaining 30&#8211;40% is:</p><ul><li><p>Gaining AI fluency</p></li><li><p>Picking 1&#8211;2 ecosystems to anchor on them (the focus of each of them is bit different)</p></li><li><p>Learning to talk about your work through the lens of &#8220;forward&#8209;deployed impact,&#8221; not just &#8220;feature delivery.&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ul>]]></content:encoded></item><item><title><![CDATA[Hand Them the Keys]]></title><description><![CDATA[On FDE onboarding, early ownership, and what we learned from getting it mostly right.]]></description><link>https://www.fdehub.org/p/hand-them-the-keys</link><guid isPermaLink="false">https://www.fdehub.org/p/hand-them-the-keys</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 07 Apr 2026 20:01:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!06Cw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When a new software engineer joins a team, the traditional playbook is well established. Spend the first week reading documentation, getting familiar with the codebase, setting up your local environment. In week two, maybe pick up a small bug. By month two or three, you start owning a feature. It&#8217;s a gradual handoff of responsibility, widening in scope over time. AI tooling has probably compressed this timeline significantly by now, but the underlying logic is the same: start small, expand slowly.</p><p>When we onboarded our newest FDE at Lleverage, he was running his own client within two weeks. That&#8217;s not because we were reckless. It&#8217;s because FDE onboarding operates on a fundamentally different logic.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!06Cw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!06Cw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png 424w, https://substackcdn.com/image/fetch/$s_!06Cw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png 848w, https://substackcdn.com/image/fetch/$s_!06Cw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png 1272w, https://substackcdn.com/image/fetch/$s_!06Cw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!06Cw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png" width="1292" height="705" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:705,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1158112,&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://www.fdehub.org/i/193505463?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!06Cw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png 424w, https://substackcdn.com/image/fetch/$s_!06Cw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png 848w, https://substackcdn.com/image/fetch/$s_!06Cw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.png 1272w, https://substackcdn.com/image/fetch/$s_!06Cw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe63c10b-9df2-44a4-9abf-c558ffe75982_1292x705.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><h2>Ownership from day one</h2><p>The core difference between onboarding an engineer and onboarding an FDE is that FDEs need to own things end-to-end from the very beginning. The unit of ownership isn&#8217;t a module or a ticket. It&#8217;s an outcome for a client.</p><p>The scope starts small, of course. A proof of concept. An extension to an existing solution. But even when the scope is small, the ownership is complete. You&#8217;re not fixing someone else&#8217;s bug. You&#8217;re figuring out what the client needs, how to build it, and how to deliver it.</p><p>When I started at Lleverage, my first two days looked like what we do when we begin any client engagement: gathering context. Meeting after meeting, absorbing everything I could about the sales process, the platform, the technology, existing customers, how the team operates. Two days of listening and asking questions.</p><p>On day three, a colleague from the sales team walked over. We need someone to run a PoC for a prospect. Can you pick it up? The demo was due in two days.</p><p>I said yes, obviously. You don&#8217;t join a role like this and hesitate when someone hands you a real problem to solve. But looking back, that moment was the best onboarding decision anyone made for me. It forced me to learn the platform not by reading about it, but by building something on it under a real deadline. I was paired with someone who could show me the basics, give me that initial push, and then I had to figure the rest out.</p><p>By the end of my first week, I was already picking up existing clients, maintaining their solutions, and starting to think about where those solutions could go next.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The layers underneath</h2><p>What makes FDE onboarding uniquely dense is the number of dimensions you&#8217;re absorbing simultaneously. It&#8217;s not just &#8220;learn the codebase.&#8221; There are distinct layers, and they all matter.</p><p>There&#8217;s the platform itself: how you build on it, its capabilities, its constraints. There&#8217;s the project management side: how we track work, communicate progress, manage timelines across multiple clients. There are the clients themselves: their industries, their systems, their stakeholders, their particular expectations. And then there&#8217;s the internal layer: how the team works, how decisions get made, what the culture around quality and pace looks like.</p><p>A software engineer might absorb these layers over months, one at a time. An FDE has to take them all in more or less at once, because the moment you sit in a client meeting, all of these layers are active.</p><h2>Calibration, not probation</h2><p>When our newest FDE joined a couple of months ago, we followed the same instinct. He shadowed me on an existing client for about two meetings. Then he started picking up tasks. Within two weeks, we&#8217;d done the full knowledge transfer and he was in charge of that client relationship. By the end of his first month, he&#8217;d taken on a completely new client from scratch. He&#8217;s now onboarding with a third and fourth in his second month.</p><p>That pace might sound aggressive, but it reflects something important about how we think about onboarding. If you&#8217;ve done the hiring process right, you should be at least 95% confident that this person can do the job. The hiring process itself, its entire purpose, is to establish that baseline.</p><p>So the onboarding period isn&#8217;t a trial. It&#8217;s a calibration. You&#8217;re not figuring out whether someone can do the work. You&#8217;re figuring out how quickly you can increase scope, how soon they can handle bigger clients, more complex projects, more simultaneous engagements. The approach is to stretch people relatively quickly, to find out where their ceiling might be, without actually pushing them to a breaking point. That&#8217;s very different from the cautious approach of holding back responsibility because you&#8217;re worried about overloading someone.</p><p>Our newest hire came from a technical background, fresh from university but with a couple of years of building his own companies behind him. The entrepreneurial experience was a strong signal: someone who&#8217;s built products, talked to customers, handled the pressure of making things work with limited resources. That profile told us a lot. It was just a question of how quickly he&#8217;d adapt to this specific context. He adapted faster than we expected.</p><h2>Staying close</h2><p>How do you actually monitor all of this without micromanaging? For us, it starts with regular check-ins. Bi-weekly conversations between mentor and mentee, in addition to the normal managerial ones. Those check-ins are a mix of practical and personal: how are you feeling, what&#8217;s blocking you, but also let&#8217;s talk through this specific client situation.</p><p>Beyond the structured check-ins, physical proximity matters. I don&#8217;t mean this in a &#8220;remote work doesn&#8217;t work&#8221; way, plenty of FDE teams operate remotely and do it well. But in our case, sitting next to each other in the office made a real difference. I told my mentee early on that I don&#8217;t mind being interrupted. That I&#8217;m available for questions whenever they come up, within reason, but that it has to come from them.</p><p>That last part is deliberate. I&#8217;m not going to chase someone down and ask if they need help every hour. I make myself available, I show that I care, and then I let them come to me. There&#8217;s a practical reason for this: I have my own clients and my own work. But there&#8217;s also a diagnostic element. A big part of the FDE role is asking questions. When you&#8217;re with a client, you need to ask constantly, probe, clarify, push back on assumptions. You should never be embarrassed to say &#8220;I don&#8217;t understand, can you explain that again?&#8221; If someone is hesitant to ask their own mentor for help, that&#8217;s a signal. It might mean they&#8217;ll also hesitate to ask the client, and instead build something based on what they think they understood rather than what actually needs to happen.</p><p>In the early days, I sit in on client calls so the new FDE can shadow. One or two calls to observe the dynamic, understand how we communicate, see how conversations flow. Then they start taking over gradually: leading parts of the call, then running the whole thing while I observe, and eventually handling it independently.</p><p>The KPI through all of this isn&#8217;t code quality or technical elegance. It&#8217;s whether the client is happy and the solution is delivering value. That&#8217;s what&#8217;s measurable, and that&#8217;s what matters. If the solution works and the client sees results, the code behind it is secondary.</p><h2>The gap we found</h2><p>If I had to identify the one thing we got wrong, it&#8217;s that we didn&#8217;t spend enough time walking through existing solutions.</p><p>When I started, I got a broad overview of what was in production: the different clients, the different use cases, the general landscape. But the emphasis was, rightly, on the clients I&#8217;d be taking over. With our newest FDE, we did even less of this. We jumped straight into client work, gave him context on the solutions he&#8217;d be owning, and moved quickly.</p><p>It worked, but in retrospect, we left something on the table. There&#8217;s real value in sitting down with a new FDE and walking through a range of completed and in-progress solutions. How we typically collect data. How we handle integrations that aren&#8217;t native to the platform, where we&#8217;re relying on HTTP requests. How we move from development to production. How we manage credentials. When we use LLMs versus structured workflows versus full agentic setups.</p><p>These are patterns. And you only develop an instinct for them by seeing enough examples. Our mentee said it himself: seeing more of the existing work earlier would have accelerated him further. He was already moving fast. But that kind of pattern recognition, knowing that &#8220;oh, this new client&#8217;s problem looks a lot like what we already solved for another client,&#8221; saves real time and produces better solutions.</p><p>If I were redesigning the onboarding, I&#8217;d keep the same structure of short, focused sessions spread across the first week, anywhere from one to two hours each, covering different aspects of the platform, the solutions, and the workflow. But I&#8217;d add a dedicated track that walks through the architecture and patterns of existing solutions, not just the ones the new FDE is picking up. And I&#8217;d leave room between those sessions for them to explore on their own, to identify their own gaps and focus where they feel weakest.</p><p>When I started, for example, I was coming from six years of working directly with enterprise customers. I was confident in how I communicate with stakeholders, how I run meetings, how I manage expectations. But I was rusty with coding and building. So that&#8217;s where I put my own focus in those early days. Everyone&#8217;s profile is different, and the onboarding needs to accommodate that.</p><h2>Good enough is good enough</h2><p>One more thing that&#8217;s important to instil early, especially in a startup environment, is the idea that things need to be done well but not perfectly.</p><p>Every good engineer has high standards. That&#8217;s a feature. But in an FDE role, those standards need to be in service of the client&#8217;s outcome, not your own sense of craft. Sometimes you ship something that you&#8217;re not 100% happy with. The architecture isn&#8217;t as clean as you&#8217;d like. The edge case handling is functional but not elegant. If it&#8217;s delivering value to the client and it&#8217;s working reliably, then it&#8217;s good enough. Chasing perfection at the expense of pace is a luxury that FDEs, particularly in a startup, can&#8217;t afford.</p><p>This doesn&#8217;t mean you cut corners recklessly. It means you develop judgement about where the bar needs to be high and where good enough genuinely is good enough. That judgement, like most FDE skills, comes from exposure and repetition.</p><h2>Still figuring it out</h2><p>I&#8217;m not presenting this as a finished playbook. We&#8217;ve onboarded exactly one new FDE at Lleverage, and my own onboarding was only about nine months ago. The sample size is small. But the principles are becoming clearer with each iteration: ownership early, scope that grows based on calibration, proximity and availability, pattern recognition through exposure, and the confidence to stretch people when you&#8217;ve hired well.</p><p>I know a lot of FDEs read this newsletter, and I&#8217;m genuinely curious how your onboarding looked. Whether you were thrown into the deep end or eased in gradually. Whether your team had a structured process or figured it out as they went. And for those of you who lead or mentor FDEs, how you think about shaping someone into this role. I&#8217;d love to hear about it in the comments.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Don't Shy Away from Services: A Conversation with Kabir Sial]]></title><description><![CDATA[Investor at Emergence Capital]]></description><link>https://www.fdehub.org/p/dont-shy-away-from-services-a-conversation</link><guid isPermaLink="false">https://www.fdehub.org/p/dont-shy-away-from-services-a-conversation</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Thu, 02 Apr 2026 15:03:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kjak!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Kabir Sial is an Investor at Emergence Capital, investing in early-stage B2B companies. Before moving into venture, he spent five years at Palantir in engineering and product roles across the commercial business. He studied Computer Science and Applied Mathematics at UC Berkeley and earned an MBA from Harvard Business School. We talked about how FDE shaped his view of product, why founders shouldn&#8217;t fear the services label, and what he&#8217;d tell FDEs thinking about their next move.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kjak!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kjak!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kjak!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kjak!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kjak!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kjak!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg" width="1456" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:191778,&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://www.fdehub.org/i/192897764?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kjak!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kjak!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kjak!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kjak!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a167dd4-6377-4f48-87eb-241eb335f9f0_1600x800.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><strong>You studied CS and Applied Maths at Berkeley, went to Harvard Business School, spent five years at Palantir, and now you&#8217;re investing at Emergence. That&#8217;s a lot of different seats. How did FDE lead to venture?</strong></p><p>When I was at Berkeley, the rite of passage for anyone studying CS was to go be a software engineer at Google or big tech. I had interned there and I didn&#8217;t really enjoy it. It was slow. The scope of your work tends to be very limited.</p><p>What excited me about Palantir was that I&#8217;d be responsible for spending time with customers, scoping out what they&#8217;re trying to do, and then just going and building it myself. A lot of the value came from hearing how customers were trying to do something with the product and where it failed, and then literally building something in the next two days and showing it to them. Sometimes completely from scratch. At that stage of my career, that felt like a really good learning opportunity for someone who wants to maybe one day start a business.</p><p>After five years, I went to HBS looking to start a company. I played around with a few ideas, and in that journey I met a bunch of VCs. I was a scout for a fund called Contrary, got a chance to intern at Notable Capital for about eight or nine months. During that period, I just enjoyed the day-to-day work enough that I ended up wanting to do it full-time.</p><p>There are trade-offs. When you&#8217;re deeply embedded in a specific problem as an engineer or PM, you only think about that one problem. You think about all the things that could go wrong and everything you need to fix to make it work for a customer. As an investor, you don&#8217;t get that depth. But the entire job is meeting really smart people and hearing about how they view the world and how they want to shape certain problems. The energy I got from that was enough to compensate for the lack of depth.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>Kabir also spent time as a product manager at Verkada and in engineering roles at Amazon. I asked how those stints in more traditional product and engineering organisations changed his view of the FDE model.</em></p><div><hr></div><p><strong>Did those experiences show you that FDEs have gaps compared to traditional product managers, or that they have advantages?</strong></p><p>It&#8217;s definitely an advantage. I started doing product work while I was still at Palantir, towards the end of my time there. A big reason I was able to do that was because I&#8217;d spent so much time actually building parts of the product and hearing across many different customers and verticals how they used it. That helps you inform your intuitions about both how to build and what to build.</p><p>Verkada was a slightly different experience. Product is not as tightly coupled with engineering there. You only think about what you want to build, not necessarily how to build it. For my personality and background, I had a lot more fun in the Palantir style of doing product, which was much more tightly coupled with FDE and core software engineering.</p><p>But there&#8217;s also a disadvantage. The biggest thing I felt as a PM was a natural inclination to overfit to a very specific customer&#8217;s feature requests. That inclination is probably fine at a business like Palantir, which has a couple of hundred customers that tend to be very large. You benefit from overfitting to what those customers want.</p><p>At a business like Verkada, which has many more, smaller customers, you have to be more disciplined about which features and workflows you actually support. I remember speaking to a customer that was not very large and I started scoping out exactly how we&#8217;d build this one thing they really wanted, something highly specific to them. My manager told me, why are you doing this? It doesn&#8217;t make any sense. We need to make a business case. We need to decide where this fits from a priority perspective. That was a good lesson.</p><div><hr></div><p><em>Kabir&#8217;s FDE background now shapes how he evaluates founders. At Emergence, he&#8217;s drawn to companies that look messy early on, the ones doing hands-on, customer-specific work before they&#8217;ve figured out the product. I asked how he tells the difference between a smart path and a dead end.</em></p><div><hr></div><p><strong>Your bio at Emergence says you love founders who do what might initially look like unscalable things to solve customer problems. That&#8217;s basically the FDE job description. How do you distinguish between a founder doing unscalable things as a path to product versus one who&#8217;s just building a services company that won&#8217;t scale?</strong></p><p>You can&#8217;t scale what you don&#8217;t know. Early on in a company, it&#8217;s pretty natural to be doing unscalable things.</p><p>If you&#8217;re primarily serving enterprise customers, doing unscalable things is actually really good because it buys you a level of trust with users that is very hard to get otherwise. If I&#8217;m a young person selling to a large Fortune 500 company, I&#8217;d be very lucky to get my foot in the door. If during the pilot I severely constrain the set of things I want to do relative to the set of things my users want me to do, it gives me less opportunity to build trust. And with enterprises, you want trust to expand within them over time.</p><p>Of course, it&#8217;s important to productise in some shape or form. You don&#8217;t have to productise the external thing, at least not early to mid-stage. But it is good to be productising the set of primitives you see come up again and again, at least internally.</p><p>As an example at Palantir, even when I was there, Foundry was relatively nascent. FDEs would build custom front-ends to support very specific workflows and applications. In maybe a year and a half to two years, a lot of what FDEs had built across deployments provided learnings into what a more generic application builder could look like. One that actually works well, because there were a ton of other application builders in the market that couldn&#8217;t do very specific things, like allowing users to configure complex business logic beyond simple SQL queries. That kind of stuff could not have come without the &#8220;unscalable&#8221; work.</p><p>Today, with AI coding tools, the road you can travel doing unscalable things can go a lot further. If you want to build custom applications, custom React front-ends, you can do them a lot quicker with tools like Claude Code. That can incentivise founders to keep the services journey going very long.</p><p>But it&#8217;s still important to try and productise, because every moment you spend building or supporting something customer-bespoke distracts you from building the thing that&#8217;s eventually going to be your product. At a minimum, internally, founders should be productising the set of primitives they see over time.</p><div><hr></div><p><em>This naturally led us to a question about defensibility in a world where building is getting easier by the day.</em></p><div><hr></div><p><strong>If it&#8217;s easier than ever to build things, what counts as a moat?</strong></p><p>Brand and trust. That as a moat has not changed. You tend to look for whether there&#8217;s a lot of customer love. Even if it&#8217;s easy to build things, not every product will have tons of customer love. Are users going to be super sad if this product was ripped out? If it became 5x more expensive?</p><p>You do see a real bifurcation. Today, there are a bunch of coding tools. But people are still spending thousands of dollars every month on Claude Code, on those really expensive tokens, even though there might be cheaper tools out there.</p><p>Where you have to be careful is investing in companies that are very thin layers over the model. You have to look for what level of depth they&#8217;ve actually gotten within an industry or a workflow.</p><div><hr></div><p><em>Towards the end, Kabir brought up a topic I hadn&#8217;t planned to ask about. Historically, VCs have avoided services businesses because of thin margins and slow growth. He&#8217;s seeing that change.</em></p><div><hr></div><p><strong>You mentioned AI-enabled services businesses as a real opportunity. What&#8217;s shifted?</strong></p><p>The thing most people point to about services businesses is that the gross margin profile is not there. Most services businesses tend to be 25 to 35% gross margin, whereas software has historically been 70 to 80%.</p><p>I would push most founders to think about that, because you can probably get to the 60s or even 70s. There are startups in the Valley that have been able to get to 70-plus percent gross margins offering purely a service.</p><p>The trade-off between product and services doesn&#8217;t actually have to be as explicit as we historically believed. For a lot of industries, like accounting or healthcare, the cost of mistakes is so high that customers want a human in the loop. There is still an opportunity to build a true venture-scale services business that is more enabled by AI. There are already examples, including some companies in our portfolio like Strala, that are taking this approach where they&#8217;re not selling product, they&#8217;re selling a service.</p><p>Founders should not shy away from that.</p><div><hr></div><p><em>I had one last question. Many FDEs eventually start their own companies or move into product. Kabir has done both. I asked what he&#8217;d tell FDEs thinking about what comes next.</em></p><div><hr></div><p><strong>You&#8217;ve been an FDE, a PM, and now an investor. What advice would you give to people entering the FDE role, or FDEs thinking about their next step?</strong></p><p>It&#8217;s probably the most exciting time to be an FDE because there&#8217;s so much more you can actually do for more customers with the tools being built today.</p><p>From a core advice perspective, the job of an FDE is evolving. A lot of companies outside of Palantir would structure this role historically as someone who does configurations and integrations. Every FDE should be thinking hard about how they can shape the product. They are the people providing the most direct signal and feedback. A key thing that sometimes gets missed about the FDE model is that the reason you have deployed teams is not just because the product doesn&#8217;t work. It&#8217;s about finding more use cases to tackle, more users to enable.</p><p>For people thinking about what&#8217;s next, FDE is becoming more of an independent function. You can be a true head of deployments at your company. If that&#8217;s not the direction, starting a company is a great option. Product is a natural progression too, but honestly those roles are converging. A lot of what you&#8217;re already doing is spending time with customers. You are already shaping product and doing product-style work.</p><p>I&#8217;d even say that going into core product engineering is a strong path. That used to be the most common move at Palantir. People who&#8217;d been there a long time would build stuff in the field, then build a more generic version of it that would be used across the fleet of customers. Pretty much all the best engineers at Palantir across the years were former FDEs.</p><div><hr></div><p><em>Kabir Sial is an Investor at Emergence Capital.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Context Gap]]></title><description><![CDATA[The real bottleneck in enterprise AI isn't intelligence. It's everything around it.]]></description><link>https://www.fdehub.org/p/the-context-gap</link><guid isPermaLink="false">https://www.fdehub.org/p/the-context-gap</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 31 Mar 2026 15:03:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FmWm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I had a client in manufacturing where the entire project hinged on creating sales orders in their ERP. The agent that could read and process those orders was ready in days. But the ERP was completely custom, built by a single developer over more than a decade, with no API, no documentation, and no obvious way in.</p><p>The client was still in touch with the original builder, so they shared the contact and I got on a call with the guy. Nothing dramatic, but every piece of logic, every business rule, every edge case in that system lived in one person&#8217;s head. If he&#8217;d moved on or been unreachable, there was no project. The AI was perfectly capable. There was just no door to walk through.</p><p>The agent works. The system it needs to talk to does not. These systems were never designed to be talked to by an agent. They were designed for a person who already knows how everything works.</p><p>The distance between what an agent can reason about and what it can actually access and act on is the context gap. Right now, it&#8217;s the single biggest bottleneck in enterprise AI.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FmWm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FmWm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FmWm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FmWm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FmWm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FmWm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg" width="1292" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:172116,&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://www.fdehub.org/i/192664505?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FmWm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FmWm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FmWm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FmWm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59b1fff1-d3c9-4b64-89f9-6f0c65440f9d_1292x861.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><h2>Demos are easy. Integrations are not.</h2><p>Building an agent that can read a sales order and extract line items is a weekend project. Building one that can take that sales order, match it against the right customer in an ERP, check inventory across three warehouses, apply the correct pricing tier, and book it into the accounting system with proper GL codes? That&#8217;s months of work. And most of that time isn&#8217;t spent on the agent itself. It&#8217;s spent getting access to the systems around it.</p><p>Another client, a wholesaler, ran an old on-premise version of Business Central. Getting a connection required weeks of back-and-forth with their implementation partner over firewall restrictions, whitelisted IPs, and specific port configurations. Once we finally had access, we discovered the system had been customised with internal actions and triggers that nobody fully understood. We&#8217;d call a seemingly straightforward endpoint and something unexpected would fire in the background. Weeks were spent mapping undocumented behaviour that only revealed itself through trial and error.</p><p>This is the reality across almost every deployment. APIs are undocumented or don&#8217;t exist. Every customer&#8217;s setup is customised in ways that generic documentation doesn&#8217;t cover. And the people who originally configured the system have often moved on.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>System archaeology</h2><p>When documentation doesn&#8217;t exist, you discover the system yourself. I&#8217;ve started thinking of this as system archaeology. Software archaeology is an established concept, but what FDEs do in the field is a specific version of it.</p><p>In practice, it looks something like this. You hit an endpoint that returns all available objects. You fetch a thousand of them and immediately you&#8217;re looking at field names that only make sense if you&#8217;ve worked in that specific industry for a decade. This is where an LLM becomes genuinely useful. You feed it the response and it helps you interpret the data, connect the dots between cryptic field names and domain concepts, and start mapping the structure of what you&#8217;re looking at. You filter by type until you find the ones you actually need, often going back and forth with the model to make sense of what each type represents in the context of the client&#8217;s business.</p><p>Then you need to learn how to create that type. So you start with the absolute minimum number of fields and try to post an object. It fails. The LLM helps you build the next request and interpret the error in context. You add fields, try again. Eventually it succeeds, and you check what you&#8217;re missing compared to what a properly created object should look like. You iterate until the object looks right.</p><p>That gets you basic reads and writes, and through most of that process the LLM is a genuine partner. But the real complexity shows up when you need to figure out how to perform actions. Creating an object is one thing. Triggering the right downstream behaviour, posting it to a ledger, moving it through a status chain, firing the correct workflow, is another entirely. At that point the LLM can only really help you verify what happened, and verification itself is hard. You&#8217;re checking whether the system ended up in the right state, often across multiple tables and processes, with no specification to compare against. That&#8217;s where the undocumented behaviour lives. That&#8217;s where the system does things nobody told you about, because nobody remembered it did them.</p><p>Fetch. Interpret. Request. Validate. Repeat.</p><p>It&#8217;s painstaking work, but it&#8217;s the work that actually gets an agent into production, and no amount of model improvement will eliminate it. The problem isn&#8217;t the agent&#8217;s reasoning. The problem is that the context the agent needs is locked behind firewalls, buried in legacy databases, or sitting in the head of an operator who&#8217;s been doing the job for fifteen years.</p><h2>Where this leaves us</h2><p>Companies have access to the most capable AI models ever built, and most of them are still running on spreadsheets, disconnected tools, and manual processes. The gap between what the models can do and what the systems around them allow remains enormous, and nobody has done the work to close it.</p><p>I think the instinct for a lot of companies right now is to look at AI as a way to leapfrog the infrastructure problems they&#8217;ve been ignoring, to automate the messy process and let the agent figure it out. But AI is not a magic cure for undermaintained systems. If anything, it makes the mess more visible. The moment you try to connect an agent to a process, you discover exactly how undocumented, fragile, and human-dependent that process really is.</p><p>The organisations that get real value from AI will be the ones willing to do the unglamorous work first: mapping the processes, connecting the systems, documenting what was never documented, and building the doors before expecting agents to walk through them.</p><p>The question I keep coming back to is simple. How many companies are prepared to do that work? And what happens to the ones that aren&#8217;t?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Champion Trap]]></title><description><![CDATA[Why the person most eager to help you is the wrong person to build with]]></description><link>https://www.fdehub.org/p/the-champion-trap</link><guid isPermaLink="false">https://www.fdehub.org/p/the-champion-trap</guid><dc:creator><![CDATA[Milos Mandic]]></dc:creator><pubDate>Tue, 24 Mar 2026 15:02:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1OWt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1OWt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1OWt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1OWt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1OWt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1OWt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1OWt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg" width="1292" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:611680,&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://www.fdehub.org/i/191746059?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1OWt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1OWt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1OWt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1OWt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f9a0a62-7d60-4a43-b44e-bee1697f1bd2_1292x969.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>You might have noticed I went quiet for almost ten days. I spent a few days in San Francisco, attending meetings and delivering a talk at the FDE Conference, organised by Nixo, Rippling and ElevenLabs. Between the travel and the talk prep, I decided to skip a week rather than rush something out.</p><p>This week, I want to share what I talked about. The talk was called &#8220;The Champion Trap,&#8221; and it&#8217;s based on a pattern I&#8217;ve seen across roughly 20 client engagements so far. The pattern is simple: the person most excited to work with you is often the one most likely to send you in the wrong direction.</p><p>That sounds ungrateful. It&#8217;s not meant to be. The champion is usually someone incredible. But there&#8217;s a gap between knowing what a team does and knowing why they do it the way they do it. And that gap will cost you months if you don&#8217;t catch it early.</p><p>Let me walk you through how I learned this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Z83!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Z83!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!7Z83!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!7Z83!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!7Z83!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Z83!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png" width="1440" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60501,&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://www.fdehub.org/i/191746059?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7Z83!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!7Z83!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!7Z83!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!7Z83!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a775131-fc03-4217-b18d-4bf373e89bbf_1440x810.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></figure></div><h2>The setup</h2><p>Global customer. A major music label with offices across the UK, US, and the Netherlands. The project: accounts payable automation.</p><p>On paper, accounts payable doesn&#8217;t sound too complicated. But their suppliers are music artists, and artists are not always comfortable with invoicing. Formats ranged from proper PDFs to handwritten notes, Word documents, Excel files, things that barely qualified as invoices at all. Tens of thousands of suppliers. 150 possible approval paths across seven levels of hierarchy.</p><p>One invoice sticks with me. We flagged it for a missing purchase order number. The operator reached out to the creditor and asked them to add it. They sent back a revised invoice. We processed it, flagged it again. The purchase order was still missing. I double-checked. They had literally typed the words &#8220;purchase order&#8221; on the invoice instead of providing the actual number.</p><p>That&#8217;s the kind of territory we were operating in.</p><p>We had a champion on the client side, and she was excellent. This project was her top priority. She was available, responsive, senior enough to make decisions, and deeply motivated to get it done. Every instinct said: this is the person to build with. This is the person who&#8217;s going to get us to a solution fastest.</p><p>We spent two months building the solution with her.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Death by a thousand details</h2><p>Then we gave it to the operators.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uXkl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uXkl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!uXkl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!uXkl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!uXkl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uXkl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png" width="1440" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75315,&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://www.fdehub.org/i/191746059?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uXkl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!uXkl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!uXkl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!uXkl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156551da-8584-45d9-9ff6-655df1e1ee07_1440x810.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>It wasn&#8217;t one big dramatic failure. It was dozens of small things. Operators were changing data directly in the ERP that we didn&#8217;t know about, which meant we needed two-way sync instead of the one-way push we&#8217;d built. The approval process ran on a spreadsheet that had been growing for over a decade, with paths and exceptions nobody had fully documented. We&#8217;d built around how accounts payable should work, not how it actually did.</p><p>There were hidden workarounds everywhere. Dozens of micro-decisions per hour that the champion had never seen, because she didn&#8217;t do this work every day. The operators did.</p><p>And because this was finance, there was no room for partial wins. Either the invoice books correctly, or it doesn&#8217;t. There&#8217;s no &#8220;almost right&#8221; in AP.</p><p>The champion wasn&#8217;t wrong about anything. She genuinely believed she knew how the process worked. But there&#8217;s a difference between overseeing a process and living inside it, eight hours a day, handling the exceptions and edge cases that never make it into a summary.</p><h2>The cost</h2><p>Two to three months of redesign. The AI worked fine. We&#8217;d just built with the wrong person&#8217;s understanding.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KA7Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KA7Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!KA7Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!KA7Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!KA7Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KA7Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png" width="1440" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94098,&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://www.fdehub.org/i/191746059?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KA7Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!KA7Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!KA7Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!KA7Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0208fd25-3d3c-4b48-a87c-0e0ee1eb5018_1440x810.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 mistakes in one project. First, we built with the champion&#8217;s version of reality instead of the operator&#8217;s. Second, we tried to automate a broken process instead of simplifying it first.</p><p>We spent months building infrastructure around that ten-year-old approval spreadsheet, faithfully replicating every path and exception. When we finally pushed back and said this is going to take longer and be harder to maintain if we cover every path, they realised the process could be significantly simplified. The framing that unlocked it: faster delivery, easier maintenance. Everyone wants both.</p><p>The project is in a much better place now. But those extra months were the tuition fee for a lesson I won&#8217;t forget.</p><h2>Right customer, right stage</h2><p>Four people matter in every FDE project: the sponsor, the champion, the operator, and the FDE. Each one is essential, but at different stages.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MAes!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MAes!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!MAes!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!MAes!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!MAes!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MAes!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png" width="1440" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:84346,&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://www.fdehub.org/i/191746059?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MAes!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!MAes!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!MAes!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!MAes!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c87e17-d2c2-481f-bedb-214c23cf4cd4_1440x810.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 sponsor unlocks the deal in pre-sales and approves expansion at the end. During the build, they just need updates.</p><p>The champion gives you context and vision. They&#8217;re invaluable during pre-sales and for alignment checks throughout. But their role during the build itself should be periodic check-ins, not daily collaboration.</p><p>The operator is where the real knowledge lives. They should be your primary partner during scoping and the build phase. They hold the &#8220;why&#8221; behind every workaround, every exception, every process that looks irrational from the outside but makes perfect sense when you understand the constraints.</p><p>Champions know what the team does. Operators know why they do it the way they do it. If you only have the &#8220;what,&#8221; you&#8217;ll build something that looks right but doesn&#8217;t work in practice.</p><h2>What it looks like done right</h2><p>Different project, different client, different approach. Sales order processing.</p><p>This time, we pushed hard from the very first call to get connected with the operators. Before the deal closed, before scoping was even finished. We did a thorough discovery call where we actually mapped the process before signing anything. At kickoff, we confirmed everything with operators from day one. No assumptions from the sales phase carried over unchecked.</p><p>Then we built fast, iterated with operators synchronously and intensely, and delivered in six weeks from first contact.</p><p>The difference wasn&#8217;t that we built faster. It&#8217;s that we knew who to sit with from the start.</p><p>This part is worth being honest about: operators are not always eager to work with you. There&#8217;s real fear around AI. People wonder if you&#8217;re there to replace them, restructure their role, or hand their job to a machine. I&#8217;ve been fortunate that in almost every engagement I&#8217;ve worked on, the company&#8217;s intention has been to free operators from repetitive work and give them more meaningful things to do. But the operators don&#8217;t always know that when you first walk in. Earning their trust, warming them up enough to share how the work really gets done, that&#8217;s part of the job. Maybe the most important part.</p><h2>The closing thought</h2><p>This matters more now than ever. AI is getting better at the intelligence layer. It can process invoices, route approvals, handle data entry. But the &#8220;why,&#8221; the judgment, the decision-making, that still lives with the people doing the work every day. And the only way to get it is to be in the room with the people doing the work. With them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!us-B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!us-B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!us-B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!us-B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!us-B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!us-B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png" width="1440" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64911,&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://www.fdehub.org/i/191746059?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!us-B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png 424w, https://substackcdn.com/image/fetch/$s_!us-B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png 848w, https://substackcdn.com/image/fetch/$s_!us-B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.png 1272w, https://substackcdn.com/image/fetch/$s_!us-B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757c9846-5553-46dc-852a-91fd2139cddf_1440x810.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>Every project has someone eager to help you build. The hard part is finding who knows how the work gets done.</p><p>The value of an FDE isn&#8217;t building faster. Tools are making building easier every month. The value is knowing who to sit with. And it&#8217;s almost never the person raising their hand.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.fdehub.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading FDE Hub! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>