<?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[Cu(m^2)ulative]]></title><description><![CDATA[A newsletter for heads of engineering at startups. I cover the joys and challenges of running software engineering organizations at fast-paced startups.]]></description><link>https://www.cummulative.io</link><image><url>https://substackcdn.com/image/fetch/$s_!dJEY!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png</url><title>Cu(m^2)ulative</title><link>https://www.cummulative.io</link></image><generator>Substack</generator><lastBuildDate>Wed, 29 Apr 2026 23:00:10 GMT</lastBuildDate><atom:link href="https://www.cummulative.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Karim Fanous]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[karimfanous@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[karimfanous@substack.com]]></itunes:email><itunes:name><![CDATA[Karim Fanous]]></itunes:name></itunes:owner><itunes:author><![CDATA[Karim Fanous]]></itunes:author><googleplay:owner><![CDATA[karimfanous@substack.com]]></googleplay:owner><googleplay:email><![CDATA[karimfanous@substack.com]]></googleplay:email><googleplay:author><![CDATA[Karim Fanous]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Five years, one acquisition, three lessons]]></title><description><![CDATA[This one&#8217;s a bit different.]]></description><link>https://www.cummulative.io/p/five-years-one-acquisition-three</link><guid isPermaLink="false">https://www.cummulative.io/p/five-years-one-acquisition-three</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Sat, 11 Apr 2026 21:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tX40!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tX40!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tX40!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!tX40!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!tX40!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!tX40!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tX40!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/645767df-01e4-49db-b882-e39096801749_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3141941,&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.cummulative.io/i/193917030?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.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_!tX40!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!tX40!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!tX40!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!tX40!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645767df-01e4-49db-b882-e39096801749_1024x1536.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 role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>This one&#8217;s a bit different. If you&#8217;ve followed my writing, you&#8217;ve probably noticed the long silence &#8212; and I owe you an honest explanation: I was busy. Not the performative kind of busy, the kind where you look up and realize years have passed. This isn&#8217;t a technical post or a framework or a how-to. Think of it as an interlude. An intermission between chapters. Something I needed to write before I could figure out what comes next.</p><div><hr></div><p>I spent nearly five years at StrongDM. Long enough to see it grow from an early-stage company into something real. Long enough to build a team, ship meaningful products, and feel the weight of what it takes to scale.</p><p>I joined because it was one of those rare opportunities where the problem mattered, the ambition was clear, and the early signals on the team were strong. In hindsight, that last part mattered more than anything else.</p><p>Last month StrongDM was acquired.</p><p>When the acquisition became real internally, my reaction wasn&#8217;t what most people expect. It wasn&#8217;t some overwhelming sense of victory or finality. It was quieter than that. A mix of immense pride in what we built, gratitude for the people, and a sharp awareness of just how much I&#8217;d poured into the work &#8212; the hiring calls, the hard sprints, the culture we&#8217;d shaped together over years.</p><p>Over time, what stayed with me wasn&#8217;t the milestone itself. It was how we got there. Five years is long enough to learn a few things the hard way, and when I distill it down, three lessons keep surfacing.</p><p>The first is deceptively simple: talent density is everything. Not in the abstract, but in the day-to-day reality of how a team operates. High talent density compresses time. Decisions happen faster. The quality bar stays high without constant enforcement. You don&#8217;t need layers of process because the people themselves are the system.</p><p>Once you&#8217;ve experienced that kind of density, it permanently changes your expectations. You develop very little tolerance for environments where it isn&#8217;t present &#8212; not out of arrogance, but because you&#8217;ve seen what&#8217;s possible when it is.</p><p>The second is about focus, especially during turbulent periods &#8212; which, in startups, is most of the time. There were moments of uncertainty, shifting priorities, external pressures, and the usual chaos that comes with building something from nothing. It&#8217;s easy in those moments to get pulled into things you don&#8217;t control: market narratives, funding dynamics, organizational noise.</p><p>The only thing that consistently worked was narrowing the aperture. Focus on what you can control. For me, that was building a great product and building a great team. Everything else &#8212; timelines, outcomes, acquisitions &#8212; sits downstream of that.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3d7564de-0969-442f-9ec7-050f32282cd7&quot;,&quot;caption&quot;:&quot;One of the invariable truths about startups is in having way more work than the available resources can possibly do. I have experienced two strategies when trying to deal with this conundrum. One is to prioritize and focus. The other is to multi-task, similar to time division multiplexing. One of those works and the other d&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Narrowing the focus to move faster&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2021-04-17T23:32:58.148Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!oV5E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F84c652a1-b1d4-4185-b493-1ebffe4878b1_1000x605.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/narrowing-the-focus-to-move-faster&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:35274299,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:63090,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dJEY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>The third is about perseverance and grit &#8212; the kind that doesn&#8217;t get talked about in retrospectives because it&#8217;s not glamorous. Startups will test you in ways that are hard to explain until you&#8217;ve lived through them. Missed quarters. Missed deadlines. Key people leaving at the worst possible moment. Macroeconomic conditions shifting overnight and rewriting the rules you&#8217;d been playing by. There were stretches at StrongDM where the emotional weight of it was genuinely heavy &#8212; where showing up and holding the line for your team required something closer to stubbornness than strategy.</p><p>That takes a toll. It&#8217;s cumulative, and it&#8217;s personal. You absorb more than you realize at the time &#8212; the pressure of a quarter that didn&#8217;t land, the gut punch of losing someone you fought hard to hire, the slow grind of leading through uncertainty when you don&#8217;t have all the answers yourself. Grit isn&#8217;t a personality trait you either have or you don&#8217;t. It&#8217;s a practice. It&#8217;s choosing to keep going when the rational case for optimism is thin, because you believe in what you&#8217;re building and in the people building it alongside you. I even had to send myself motivational emails to push through some of these hard times :)</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pLsT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pLsT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png 424w, https://substackcdn.com/image/fetch/$s_!pLsT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png 848w, https://substackcdn.com/image/fetch/$s_!pLsT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png 1272w, https://substackcdn.com/image/fetch/$s_!pLsT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pLsT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png" width="1456" height="232" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:232,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31898,&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.cummulative.io/i/193917030?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.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_!pLsT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png 424w, https://substackcdn.com/image/fetch/$s_!pLsT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png 848w, https://substackcdn.com/image/fetch/$s_!pLsT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png 1272w, https://substackcdn.com/image/fetch/$s_!pLsT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd477f557-317f-4c10-9fb9-39ddccc204d1_1892x302.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>As I think about what comes next, these are the things I&#8217;m carrying forward. Not the mechanics of the acquisition, but the conviction that small, high-density teams can outperform much larger ones. That focus beats noise, especially when things get messy. And that building the right environment matters more than almost anything else.</p><div><hr></div><p>Before any of that, though, I&#8217;m taking a break. A real one. Five years of building at startup intensity takes a toll that&#8217;s easy to rationalize in the moment and impossible to ignore once you stop. The truth is, sustained high performance requires recovery &#8212; and I got better at preaching that to my teams than practicing it myself. So for now, I&#8217;m stepping back, recharging, and giving myself the space to figure out what the next chapter looks like without rushing into it.</p><p>I&#8217;m deeply grateful to the team at StrongDM &#8212; for the craftsmanship, the intensity, and the way we pushed each other to be better. With a team like that, a lot more is possible than people think.</p><p>For now, onto diving the <a href="https://divegaia.com/forgotten-islands/">Forgotten Islands of the Banda Sea</a>. See you in May!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Preparing for a world where humans don’t write code]]></title><description><![CDATA[A deja vu from August 2025]]></description><link>https://www.cummulative.io/p/preparing-for-a-world-where-humans</link><guid isPermaLink="false">https://www.cummulative.io/p/preparing-for-a-world-where-humans</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 09 Feb 2026 16:39:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-Y8e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-Y8e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Y8e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-Y8e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-Y8e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-Y8e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Y8e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3125460,&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.cummulative.io/i/187315256?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-Y8e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-Y8e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-Y8e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-Y8e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefbba8fb-a10d-4fe2-893d-5621b78681d6_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>Most engineering organizations today are racing to adopt AI, but almost all of them are optimizing for the wrong future. They are adding copilots to existing workflows, measuring productivity in pull requests closed, and celebrating incremental gains in developer speed. All of this assumes that the core shape of software development will remain intact&#8212;that humans will continue to write code, review code, and act as the central bottleneck between intent and implementation. That assumption is quietly becoming false. </p><p>I wrote about <a href="https://www.cummulative.io/p/the-last-generation-of-programmers">this</a> last August. I was directionally correct, but I got the time horizon completely wrong. The curtain won&#8217;t fall in five years, the curtain might fall by the end of this year.</p><blockquote><p>4% of GitHub public commits are being authored by Claude Code right now. At the current trajectory, we believe that Claude Code will be 20%+ of all daily commits by the end of 2026. While you blinked, AI consumed all of software development. Source: <a href="https://newsletter.semianalysis.com/p/claude-code-is-the-inflection-point">SemiAnalysis</a></p></blockquote><p>A more honest way to reason about what&#8217;s coming is to start at the limit. Assume a world where all production software is written by agents. Not assisted by AI. Not pair-programmed with AI. Written by it. This is not a prediction about timelines or a claim about general intelligence. It is a design constraint. If code generation becomes cheap, continuous, and autonomous, the human act of writing and reviewing code stops scaling long before it stops feeling familiar.</p><p>This, also, was something I predicted would happen, but admiteddly I didn&#8217;t envision that it would that soon.</p><blockquote><p>The programmer&#8217;s craft will follow the same arc as animation. In place of writing every line, much of the work will involve guiding and integrating what machines produce: defining the architecture, reviewing generated components, making judgment calls on trade-offs and user experience, and ensuring the final system works as intended. Code generation, testing, optimization, and deployment will be handled largely by automated systems. The value shifts from typing instructions into a machine to shaping, supervising, and combining the work of many machine contributors into a coherent, functioning whole.</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0788ebd6-6443-4c06-ba24-0131555fcf4b&quot;,&quot;caption&quot;:&quot;When I wrote about the last generation of programmers, I ended with a thought:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The first generation of programming directors&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-08-18T18:46:37.348Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!iCJc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/the-first-generation-of-programming&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:171014506,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:1,&quot;publication_id&quot;:63090,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dJEY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>Once you accept that asymptote, many of today&#8217;s &#8220;best practices&#8221; collapse immediately. Human code review becomes a bottleneck that cannot keep up with machine-generated change. Readability becomes a proxy for trust rather than a guarantee of correctness. The software development lifecycle&#8212;built around human scarcity and fallibility&#8212;starts to look less like a process and more like a historical artifact. The uncomfortable conclusion is not that engineers are obsolete, but that much of what we currently call engineering exists only because humans used to be the ones writing the code.</p><blockquote><p><strong>If your system needs humans to read code to trust it, it won&#8217;t survive a world where AI writes all software.</strong></p></blockquote><p>At StrongDM, we decided to take this limit seriously rather than treat it as a distant abstraction. Instead of asking how AI could make our engineers faster, we asked a harder question: <em>what would break if humans were removed entirely from the act of writing and reviewing code?</em> </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tQiY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tQiY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tQiY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tQiY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tQiY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tQiY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg" width="1456" height="197" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:197,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hands off&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hands off" title="Hands off" srcset="https://substackcdn.com/image/fetch/$s_!tQiY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tQiY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tQiY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tQiY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ca8ff-cd42-48fd-b4b8-a917c3a36d17_5451x736.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Source: <a href="https://factory.strongdm.ai/">StrongDM</a></figcaption></figure></div><p>That question led us to form a small, dedicated team operating under deliberately extreme constraints. The rules were simple and non-negotiable: no code written by humans, and no code reviewed by humans. Agents were not assistants. They were the builders. We called the combined team of humans and agents the <a href="https://factory.strongdm.ai/">Software Factory</a></p><p>These constraints were not chosen because they were safe or efficient. They were chosen because they surfaced reality quickly. The moment humans stop filling in gaps&#8212;intuiting intent that was never written down, fixing edge cases in reviews, compensating for brittle tests&#8212;the weaknesses of tooling, process, and assumptions become impossible to ignore. Specifications that once seemed adequate weren&#8217;t. Tests that validated implementation rather than intent failed outright. Workflows built around pull requests, ownership, and manual approvals collapsed under the weight of autonomous change. What initially felt reckless turned out to be clarifying. The discomfort was not a signal to stop; it was evidence that we were finally seeing the system as it actually was.</p><p>From those experiments emerged a set of first principles that now anchor how we think about the future of software development. The first is that code is disposable. When generation is cheap and continuous, long-lived codebases are not assets to be preserved but byproducts to be replaced. This has profound implications too. If code is not an asset and code can be readily and easily created, what then is the moat in software? </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;946d6a3c-6692-456d-971f-8076dccc1249&quot;,&quot;caption&quot;:&quot;Economics begins with scarcity. Land, labor, and capital have always been limited, and societies have been organized around how best to allocate them. The theory of abundance argues that artificial intelligence is eroding scarcity in two of those inputs: intelligence and labor. Tasks that once demanded m&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Competing in a world of AI abundance: How to win when code has no value? &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-08-28T17:07:22.024Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!0U6s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/competing-in-a-world-of-ai-abundance&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:171830042,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:0,&quot;publication_id&quot;:63090,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dJEY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>The second is that human readability is not a scalable safety mechanism. Trust in autonomous systems cannot come from inspection; it must come from validation&#8212;scenarios, simulations, invariants, and continuous observation of outcomes. </p><p>The third is that programming is no longer the act of writing instructions, but the act of shaping constraints. Humans define intent, boundaries, and failure modes; agents explore the implementation space within them.</p><p>Taken together, these principles force a reframing of what it means to do engineering. If no human can or should read most of the code, the traditional software development lifecycle stops making sense. Design, implementation, review, and testing collapse into a continuous control loop: generate, validate, observe, adapt. Quality is no longer something you approve at a moment in time; it is something the system proves continuously. This is not a speculative future. It is the logical conclusion of tools that already exist.</p><div><hr></div><p>The question, then, is what a present-day engineering organization should do if it believes this future is real. Below are some of the lessons we learned as we embarked on this journey at StrongDM. </p><p>The first step is to create a small, explicitly AI-first team that operates under these principles. This team should not be measured by features shipped or velocity improved. Its purpose is to discover where reality breaks: where specifications are too vague, where validation is insufficient, where tooling assumes a human will intervene. This team will invest heavily in areas most organizations underinvest in&#8212;scenario frameworks, agent workflows, memory and feedback systems, observability, and outcome-based validation. Their role is to let the future collide with the present in a controlled way. This is the team that built our <a href="https://factory.strongdm.ai/">Software Factory</a>, which is a combination of best practices, tooling, teachings and new processes.</p><p>The second step is to let those learnings spread without coercion. Practices should cross-pollinate into the broader engineering organization organically, not through mandates. Some teams will adopt them quickly; others will move more slowly. That is fine. What matters is that leadership is explicit about direction. This is not a side experiment or a temporary optimization. It is where the organization is heading. Engineers should be free to move at their own pace, but no one should be confused about which way the river flows.</p><p>The third step is to build real software this way&#8212;software that matters to the business. Not internal tools, not prototypes, and not experiments that can be quietly abandoned. Choose a system with real users, real constraints, and real consequences, and build it using these factory principles. No human-written code. No human code review. Agents own implementation end to end; humans own intent, validation, and outcomes.</p><p>This is not a risk-free move, and pretending otherwise would be dishonest. But the real risk is not that agents will fail. The real risk is continuing to insulate organizations from reality by only trusting AI where failure is inconsequential.</p><div><hr></div><p>Organizational change does not happen because people are persuaded by arguments about the future. It happens when existing assumptions stop working. When real systems are built this way, the conversation stops being philosophical. Engineers stop debating whether agents can do the work and start confronting what it takes to let them do it well. Practices spread not because leadership mandates them, but because nothing else scales.</p><p>You don&#8217;t have to move all at once. You don&#8217;t have to move blindly. But you do have to move deliberately. The world where humans write most production code is already receding, whether organizations acknowledge it or not. The only remaining choice is whether you encounter that reality gradually, on your own terms&#8212;or all at once, when the gap between how you build software and how the world builds software becomes impossible to ignore.</p><p>It is a disruptive moment, but also a rare one: a chance to learn faster, rethink fundamentals, and combine AI with human judgment and curiosity to build systems we simply couldn&#8217;t before. What a time to be alive!</p><div><hr></div><p>Related readings</p><ul><li><p><a href="https://newsletter.semianalysis.com/p/claude-code-is-the-inflection-point">Claude Code is the Inflection Point</a> from <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;SemiAnalysis&quot;,&quot;id&quot;:199277296,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aee46dd3-9b3d-43f9-9c64-71479fc992df_320x213.webp&quot;,&quot;uuid&quot;:&quot;092f2efb-6fcc-473d-b6c5-c6445d8a9e01&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://www.anthropic.com/engineering/building-c-compiler">Building a C compiler with a team of parallel Claudes</a></p></li><li><p><a href="https://simonwillison.net/2026/Feb/7/software-factory/">How StrongDM&#8217;s AI team build serious software without even looking at the code</a></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Will AI kill SaaS? The case for and against disruption]]></title><description><![CDATA[Not long ago, the enterprise software stack felt settled&#8212;like a set of tectonic plates that had stopped moving.]]></description><link>https://www.cummulative.io/p/will-ai-kill-saas-the-case-for-and</link><guid isPermaLink="false">https://www.cummulative.io/p/will-ai-kill-saas-the-case-for-and</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Tue, 03 Feb 2026 16:15:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_iYo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_iYo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_iYo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png 424w, https://substackcdn.com/image/fetch/$s_!_iYo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png 848w, https://substackcdn.com/image/fetch/$s_!_iYo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png 1272w, https://substackcdn.com/image/fetch/$s_!_iYo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_iYo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png" width="944" height="539" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:539,&quot;width&quot;:944,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:894878,&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.cummulative.io/i/186374988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.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_!_iYo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png 424w, https://substackcdn.com/image/fetch/$s_!_iYo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png 848w, https://substackcdn.com/image/fetch/$s_!_iYo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.png 1272w, https://substackcdn.com/image/fetch/$s_!_iYo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbc25d4-8a36-41fe-b70b-5a7d2b1f65c5_944x539.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: ChatGPT &amp; the author</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>Not long ago, the enterprise software stack felt settled&#8212;like a set of tectonic plates that had stopped moving. You picked your CRM, your ticketing system, your BI dashboards, your data warehouse, your ERP. You paid your subscriptions, hired specialists to operate the tools, and accepted that progress in business software came in the form of quarterly releases and incremental UX improvements.</p><p>Then vibe coding happened.</p><p>The term sounds flippant, but the implication is serious: software creation is being compressed into language. Andrej Karpathy popularized &#8220;vibe coding&#8221; to describe a mode where you stop writing code in the traditional sense and instead steer an AI system with intent&#8212;describing what you want, iterating in natural language, and letting the model generate the implementation.</p><p>What makes this disruptive isn&#8217;t that engineers get faster. It&#8217;s that the cost of making software is collapsing.</p><h2>The old moat is eroding</h2><p>For decades, the most powerful moat SaaS had wasn&#8217;t a feature set or a UI. It was the reality that building software&#8212;especially enterprise software&#8212;was expensive. It required teams, timelines, coordination, and maintenance. Even when SaaS felt overpriced, it was still cheaper than reinventing it yourself.</p><p>Vibe coding changes that assumption. It drives the fixed cost of producing software down so aggressively that the build-vs-buy calculation begins to tip. When a team can describe an internal workflow in natural language and generate a working app in days, the software itself starts to feel less like a product and more like a commodity.</p><blockquote><p>The SaaS model rested on this asymmetry: companies absorbed high fixed costs to design and maintain software, then scaled to millions of users at high margins. AI destabilizes this model. By automating coding, debugging, and maintenance, it drives the fixed cost of creation toward zero. With both creation and distribution essentially free, the foundations of the industry shift.</p></blockquote><p>And once software becomes cheap to create, the expensive part of enterprise operations becomes harder to ignore: the human labor embedded inside workflows.</p><h2>SaaS is a workflow product</h2><p>There&#8217;s a simple way to describe most SaaS categories: they don&#8217;t do the work, they organize it. Support platforms don&#8217;t resolve issues&#8212;they route them. BI tools don&#8217;t produce insight&#8212;they help humans translate questions into queries. SOC tooling doesn&#8217;t remediate incidents&#8212;it creates queues of alerts for analysts to triage.</p><p>This distinction matters because the economic value of many SaaS products has always been tightly coupled to human effort. The workflow may be digitized, but it is still human-operated.</p><p>Agentic AI changes the structure of this bargain. It turns the workflow itself into something executable:</p><ul><li><p>The agent reads the ticket, opens the Jira, pulls the logs, drafts the customer response, and writes the postmortem.</p></li><li><p>The agent correlates alerts, enriches with threat intel, contains the endpoint, and files the incident report.</p></li><li><p>The agent qualifies the lead, sequences outreach, follows up, and books the meeting.</p></li></ul><p>That&#8217;s not a UI improvement. It&#8217;s labor substitution.</p><p>Most &#8220;AI replaces SaaS&#8221; takes focus on interfaces: chat replaces dashboards, copilots replace forms, natural language replaces clicks. Those shifts are ergonomic, but the deeper disruption is economic. SaaS products have two major cost components: the upfront cost to build the software, and the ongoing cost of operating workflows through it&#8212;including, critically, human effort.</p><p>The thesis in one line: </p><blockquote><p>Vibe coding collapses the build cost. Agents collapse the workflow tax.</p></blockquote><h2>The counterargument: why SaaS may prove stickier than expected</h2><p>The disruption case is compelling in theory. In practice, several forces work against it.</p><h4>Switching costs are brutal</h4><p>Enterprise software doesn&#8217;t exist in isolation. It&#8217;s woven into identity systems, data pipelines, compliance frameworks, and years of accumulated configuration. Salesforce isn&#8217;t just a CRM&#8212;it&#8217;s a system of record that dozens of other tools depend on. Ripping it out to replace it with an AI-native alternative isn&#8217;t a product decision; it&#8217;s a multi-quarter migration project with real risk of data loss, broken integrations, and user revolt.</p><p>Even if an AI-built alternative is functionally equivalent, the cost of switching often exceeds the cost of staying.</p><h4>Enterprises pay for accountability, not just functionality</h4><p>When a SaaS product breaks, there&#8217;s a vendor to call, an SLA to invoke, and a contract that assigns liability. When an AI-generated internal tool breaks, the team that built it owns the problem&#8212;and they may have moved on, lost context, or never fully understood what the AI produced.</p><p>Regulated industries make this even starker. Banks, healthcare systems, and government agencies don&#8217;t just need software that works&#8212;they need software they can audit, explain to regulators, and defend in court. &#8220;The AI wrote it&#8221; is not yet an acceptable answer in most compliance frameworks. Incumbents have an advantage here; they are already in the enterprise. </p><h4>Organizational inertia is a feature, not a bug</h4><p>Large organizations are slow to change not because they&#8217;re stupid, but because they&#8217;ve learned that rapid change is risky. The people who operate existing SaaS tools have built expertise, careers, and political capital around them. Replacing Tableau with an AI-native BI tool doesn&#8217;t just require better technology&#8212;it requires retraining analysts, rebuilding dashboards, convincing executives that the new approach is trustworthy, and managing the inevitable disruption to reporting workflows.</p><p>Many enterprises will rationally choose &#8220;good enough and familiar&#8221; over &#8220;potentially better but unproven.&#8221;</p><h4>Data gravity is real</h4><p>Your data lives in your existing systems. Moving it is painful, risky, and often incomplete. Even if an AI-native tool is superior, it starts cold&#8212;without the years of historical data, learned patterns, and institutional knowledge embedded in your current stack. That&#8217;s one of the reasons Salesforce is starting to lock down access to its data, notably <a href="https://www.reuters.com/business/salesforce-blocks-ai-rivals-using-slack-data-information-reports-2025-06-11/">Slack</a>.</p><h2>What won&#8217;t be disrupted</h2><p>This framework clarifies why some categories are resistant: not because they&#8217;re loved, but because they&#8217;re hard to replicate economically.</p><p>Foundational infrastructure&#8212;database engines, distributed compute, message queues, storage platforms&#8212;is engineered for reliability, performance, and fault tolerance. These systems are already highly optimized ways to minimize compute cost per unit of work.</p><p>Consider this thought experiment: an AI data warehouse. You stream records into an LLM-backed store and query it conversationally. It sounds elegant, until you try to run a real workload. Query performance, concurrency, determinism, caching, and predictable cost behavior are not UX details&#8212;they are the product. Snowflake, Databricks, and data vendors will do just fine in this world.</p><p>An LLM can&#8217;t reason its way into being a better warehouse engine. And if the AI system &#8220;solves&#8221; this by calling DuckDB, Snowflake, or Postgres, it is relying on the very thing it is trying to replace.</p><h2>Where disruption pressure is highest</h2><p>Above infrastructure, the calculus flips.</p><p>The higher you go, the more enterprise software becomes about translating messy human intent into structured steps. That translation layer is expensive in one way: human time.</p><p>Business Intelligence (BI) tools like Tableau, Looker and so on sit above warehouses and translate data into charts and dashboards. But the hidden cost of BI isn&#8217;t compute&#8212;it&#8217;s the labor required to translate business questions into SQL, curate dashboards, maintain reporting logic, and interpret results.</p><p>LLMs can collapse the translation layer. They can query databases with natural language input and generate charts and narratives directly. Even if compute costs rise, the human cost drops sharply, and that&#8217;s what drives displacement pressure. I&#8217;ve lived this at StrongDM and opted to invest in an AI native tool - <a href="https://www.arka.so/">Arka</a> -  vs traditional BI. See <a href="https://www.arka.so/blog/strongdm-case-study">here</a> for a case study</p><p>Support is one of the clearest examples of SaaS as workflow.</p><p>A typical support flow involves reading tickets, searching knowledge bases, pulling customer context, checking logs, coordinating with engineering, escalating, and following up. These are labor-heavy steps coordinated by software, not executed by it.</p><p>AI agents can execute large portions of this workflow directly, which is why support SaaS is highly disruptible under the cost framework.</p><p>If the cost framework is right, disruption won&#8217;t hit SaaS evenly. It will hit where:</p><ul><li><p>workflows are repetitive and text-heavy</p></li><li><p>outputs are verifiable</p></li><li><p>compute requirements are manageable</p></li><li><p>and human effort dominates the cost</p></li></ul><p>Below is a practical view of enterprise SaaS verticals that are most exposed.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/T5DIm/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32e1ab75-e0da-43bb-b35f-09f869dbc764_1220x2974.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce5bc0ac-36ec-4fbc-ba44-81c8aba29cdd_1220x2974.png&quot;,&quot;height&quot;:1514,&quot;title&quot;:&quot;Created with Datawrapper&quot;,&quot;description&quot;:&quot;&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/T5DIm/1/" width="730" height="1514" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h2>The realistic outlook</h2><p>The real takeaway is that the disruption window is open&#8212;but it&#8217;s not wide, and it&#8217;s not moving at internet speed.</p><p>Agent adoption is still early. According to recent research, only about 5% of enterprise respondents are deploying AI agents in production at scale. A full 71% are either in pilots or in production at small scale, and 22% aren&#8217;t deploying agents even in pilots. This makes the &#8220;agents displace humans&#8221; bear case premature in the near term.</p><blockquote><p><strong>AI Agent Adoption is Very Early:</strong> Beyond employee productivity (M365 Copilot), coding (GitHub Copilot) and creative (Google Veo) use cases, the deployment of autonomous AI agents has attracted the most attention and has become a focus area for OpenAI and Anthropic as they look to better penetrate the enterprise. The investor consensus, which we share, is that adoption remains very early-stage. Only 5% of enterprise respondents are deploying AI agents &#8220;in production at scale&#8221;, with a full 71% either in pilots or in production at a small scale. A full 22% aren&#8217;t even deploying AI agents even in pilots. While deployment is too early-stage to support the &#8220;AI agents displacing humans&#8221; bear case, the risk is that enterprise adoption remains slow against a backdrop of many AI technology suppliers &#8211; Nvidia, OpenAI, Anthropic and the apps firms such as Salesforce and ServiceNow &#8211; describing a world in which agents drive material revs and/or GPU consumption. Source: UBS AI Research</p></blockquote><p>But early does not mean irrelevant. Vibe coding is collapsing the upfront cost of building software, and agents are steadily compressing the day-to-day workflow tax that many SaaS products monetize.</p><p>The most plausible outcome isn&#8217;t a sudden SaaS extinction event, but a slower repricing of outcomes. Challengers can win by targeting high-toil workflows with agent-native products. Incumbents can win too&#8212;if they&#8217;re willing to embrace the innovator&#8217;s dilemma and cannibalize their own products with agentic equivalents before someone else does.</p><p>The enterprises that benefit most will be those that recognize which of their SaaS tools are genuinely load-bearing infrastructure and which are expensive ways to coordinate human labor that could be automated. The former are worth keeping. The latter are worth questioning&#8212;even if the replacement isn&#8217;t ready today.</p><p>The disruption won&#8217;t be uniform, it won&#8217;t be instant, and it won&#8217;t be inevitable. But for the first time in a decade, the tectonic plates are moving again.</p><p>Related articles:</p><ul><li><p><a href="https://cloudedjudgement.substack.com/p/clouded-judgement-13026-software">Clouded Judgement 1.30.26 - Software is Dead...Again!</a></p></li><li><p><a href="https://consultingedge.substack.com/api/v1/file/6e6fcc69-5373-4957-9628-021ff77cf706.pdf">UBS Evidence Lab, AI Research; Enterprise AI Adoption is Slow but Ramping </a></p></li><li><p><a href="https://nextword.substack.com/p/the-ambient-ai-and-clawdbot-openclaw-implications">The Ambient AI Era: Clawdbot (OpenClaw)&#8217;s Ripple Effects</a></p></li><li><p><a href="https://www.battery.com/blog/state-of-ai-2025">Battery Ventures - State of AI 2025</a></p></li><li><p><a href="https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/">Menlo Ventures - State of Generative AI in the Enterprise</a></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[AI Agents are here. Security isn’t ready.]]></title><description><![CDATA[AI is no longer just answering questions.]]></description><link>https://www.cummulative.io/p/ai-agents-are-here-security-isnt</link><guid isPermaLink="false">https://www.cummulative.io/p/ai-agents-are-here-security-isnt</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Tue, 20 Jan 2026 15:07:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ED2K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ED2K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ED2K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png 424w, https://substackcdn.com/image/fetch/$s_!ED2K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png 848w, https://substackcdn.com/image/fetch/$s_!ED2K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png 1272w, https://substackcdn.com/image/fetch/$s_!ED2K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ED2K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png" width="1024" height="576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1136666,&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.cummulative.io/i/184984023?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.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_!ED2K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png 424w, https://substackcdn.com/image/fetch/$s_!ED2K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png 848w, https://substackcdn.com/image/fetch/$s_!ED2K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.png 1272w, https://substackcdn.com/image/fetch/$s_!ED2K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7282114-6745-48c6-81fe-2947a7c6baaa_1024x576.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 role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>AI is no longer just answering questions. It&#8217;s taking actions.</p><p>At Google I/O 2025, Sundar Pich`ai offered a definition that quietly reset the stakes: </p><blockquote><p><em>Agents are systems that combine the intelligence of advanced AI models with access to tools, so they can take actions on your behalf, under your control.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></em> </p></blockquote><p>That framing matters, because it marks a shift from AI as software that responds to instructions to AI as software that pursues goals. And that shift is already underway.</p><p>Across enterprises, AI systems are moving beyond chat interfaces and single-shot automations toward agentic architectures that can plan, execute, observe outcomes, and adapt their behavior. These agents write code, query databases, operate browsers, interact with CRMs, deploy infrastructure, and orchestrate workflows across systems that were never designed for autonomous decision-makers.</p><p>Security, meanwhile, is still catching up to the idea that software can decide what to do next.</p><div><hr></div><p>Despite the hype, true agentic AI is still early. Industry data shows that only about 16 percent of enterprise deployments and 27 percent of startup deployments qualify as genuine agents<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>&#8212;systems where an LLM plans and executes actions, observes feedback, and adapts over time. Most deployments today are still fixed workflows wrapped around a model call.</p><p>But the adoption curve is steepening fast. By the end of 2025, roughly a third of enterprises had agentic systems running in production, with nearly half planning to deploy within the following year. Almost nine out of ten organizations experimenting with agents reported positive early ROI. At the same time, reasoning-token consumption exploded by more than 300x year over year, a signal that systems are no longer just generating text but reasoning through multi-step tasks at scale<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5-4R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5-4R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png 424w, https://substackcdn.com/image/fetch/$s_!5-4R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png 848w, https://substackcdn.com/image/fetch/$s_!5-4R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!5-4R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5-4R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png" width="343" height="470.54773869346735" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:796,&quot;resizeWidth&quot;:343,&quot;bytes&quot;:147817,&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.cummulative.io/i/184984023?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.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_!5-4R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png 424w, https://substackcdn.com/image/fetch/$s_!5-4R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png 848w, https://substackcdn.com/image/fetch/$s_!5-4R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!5-4R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60edf4c1-3dea-4b28-98ce-3ad703031947_796x1092.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://www.battery.com/wp-content/uploads/2025/12/Battery-State-of-Enterprise-Tech-Spending-December-2025-1.pdf">Battery Ventures</a></figcaption></figure></div><p>Agents rarely arrive as labeled products. They appear as internal tools. CI jobs. Background services. Automation scripts with tool access and an LLM API key attached. To a security team, they look indistinguishable from ordinary services&#8212;until they start behaving very differently.</p><p>Every major platform shift creates a new kind of shadow IT. SaaS created unsanctioned apps. Cloud created unknown infrastructure. Agentic AI creates something more subtle: autonomous actors embedded inside trusted systems, often without anyone explicitly acknowledging that they&#8217;ve crossed from automation into autonomy.</p><p>Which leads to the first security failure mode.</p><div><hr></div><h3>Discovery comes before security</h3><p>You cannot secure agents you don&#8217;t know exist.</p><p>Discovery in the agentic era isn&#8217;t about inspecting code for the word &#8220;agent.&#8221; It&#8217;s about recognizing behavioral signals of autonomy. Long-lived processes that repeatedly call LLMs. Services that dynamically choose tools based on model output. Workloads that chain actions across systems without human prompts at every step.</p><p>Traditional asset inventories don&#8217;t capture this. IAM systems don&#8217;t flag it. SIEMs record events without understanding intent. As a result, many organizations cannot answer a simple question: how many autonomous systems are currently acting inside our environment, and where do they have reach? The closest proxy they use today to try and answer this question is to discover NHIs.</p><p>This isn&#8217;t a hypothetical risk. It&#8217;s the same pattern security teams saw with early cloud adoption, only now the workloads don&#8217;t just run&#8212;they decide.</p><p>Discovery is the prerequisite for everything that follows. Until agents are identified as agents, governance is impossible. And once they are discovered, a second problem becomes unavoidable.</p><p>What exactly are they doing?</p><div><hr></div><h3>Observability, rewritten for agents</h3><p>Traditional observability tells you what happened. Agentic systems demand that you understand why it happened.</p><p>Agents operate through non-deterministic reasoning loops. They perceive context, reason about goals, act through tools, and learn from outcomes. Logging an input prompt and an output response captures almost none of that. It doesn&#8217;t tell you what the agent considered, what options it rejected, or how it decided that one action was preferable to another.</p><p>In security terms, this creates an observability gap. When an agent behaves unexpectedly&#8212;querying the wrong data, modifying the wrong system, or triggering a cascading failure&#8212;there is often no intelligible explanation available to humans.</p><p>This is why agent observability has become its own discipline.</p><p>The industry has begun standardizing around richer telemetry models, particularly through <a href="https://opentelemetry.io/blog/2024/otel-generative-ai/">OpenTelemetry&#8217;s GenAI</a> semantic conventions. These conventions don&#8217;t just log requests and responses. They capture tasks and subtasks, tool invocations, intermediate artifacts like generated code or retrieved documents, and the persistent memory that allows agents to carry context across steps.</p><p>The result is something closer to a reasoning trace than a log file. You can see the goal the agent was pursuing, the sequence of actions it planned, what it actually executed, and how each decision flowed into the next.</p><p>This level of visibility isn&#8217;t just useful for debugging. It&#8217;s foundational for security. It enables audit. It enables anomaly detection. It enables the most basic form of trust: the ability to reconstruct what happened after the fact.</p><p>But visibility alone doesn&#8217;t prevent damage. It just helps you understand it.</p><p>To prevent harm, agents need to be governed at the points where their reasoning turns into action.</p><div><hr></div><h3>Control starts with identity</h3><p>The first place control breaks down is identity.</p><p>Most agents today operate by impersonation. They inherit a user&#8217;s OAuth token. They reuse a service account. They act as &#8220;someone else&#8221; because existing identity systems don&#8217;t offer a better model.</p><p>This approach collapses accountability.</p><p>When an agent deletes a record, queries sensitive data, or triggers a workflow, security logs show a human user did it. There is no way to distinguish between an intentional human action and an autonomous decision. </p><p>Legacy identity protocols weren&#8217;t designed for this world. OAuth, SAML, and OIDC assume a human is present, authorizing a specific interaction. Agents don&#8217;t behave that way. They delegate to sub-agents. They operate at machine speed. They spin up and down by the thousands. Sometimes they interact with front-end interfaces rather than APIs, leaving no place to pass &#8220;on-behalf-of&#8221; context at all. </p><p>The solution the industry is converging on is authenticated delegation.</p><p>In this model, agents receive their own first-class, non-human identities. Those identities are independent of any single user, but every action the agent takes is explicitly attributed to a human or organizational principal through delegated, time-bound authority. The agent authenticates as itself. Delegated authority is conveyed through short-lived, scoped tokens. Audit logs show not just what happened, but who the agent was, who it was acting for, and under what constraints.</p><p>This restores accountability. It also enables revocation. If an agent deviates from expected behavior, access can be cut without disabling a human user or breaking unrelated workflows.</p><p>Identity is where control begins, but it doesn&#8217;t end there.</p><div><hr></div><h3>Continuous authorization: Governing action without killing autonomy</h3><p>The instinctive reaction to autonomous systems is to lock them down. But agents derive their value from flexibility. Strip that away, and you&#8217;re left with brittle automation dressed up as intelligence.</p><p>The real challenge isn&#8217;t whether to authorize an agent. It&#8217;s how often.</p><p>Traditional security models assume authorization is a one-time event. A user logs in. A token is issued. Access is granted. From that moment on, actions are implicitly trusted until the session expires. That model collapses in the presence of agents.</p><p>Agents don&#8217;t perform a single action and stop. They reason continuously. They branch. They delegate. They observe outcomes and adjust their plans. Each step may touch a different system, invoke a different tool, or operate under different risk conditions than the step before it.</p><p>In an agentic world, authorization can&#8217;t be static. It must be continuous.</p><p>Continuous authorization treats every meaningful action as a decision point. Instead of asking &#8220;is this agent allowed to run,&#8221; the system asks, repeatedly, &#8220;is this action allowed <em>now</em>, given what we know?&#8221;</p><p>That context includes who the agent is, who (or what) delegated authority to it, what goal it is pursuing, what it has already done, and what it is attempting to do next. An agent may be permitted to read data but not modify it. It may be allowed to act for a short window but not indefinitely. It may be authorized to access one system but denied access to another as its behavior evolves. It might be allowed to perform an action if it is acting on a particular user, but not another.</p><p>When agents operate locally, continuous authorization governs what they can execute, what files they can touch, and what network destinations they can reach. Sandboxed environments, minimal file systems, and explicit allowlists ensure that even if an agent&#8217;s reasoning goes off course, its ability to cause harm is constrained.</p><p>When agents interact with other systems, continuous authorization becomes an egress problem. Calls to databases, CRMs, internal services, or MCP servers are not blindly trusted. Each interaction is evaluated against current policy, agent identity, delegated scope, and observed behavior. If context changes, authorization can change with it.</p><p>This is where identity, visibility, and control converge.</p><p>An agent authenticates as itself. Its actions are observed in context, which includes who it is acting on. Authorization is enforced dynamically, not assumed. Permissions can narrow, expand, or be revoked as conditions warrant&#8212;without disabling the agent entirely or breaking unrelated workflows.</p><p>The result is autonomy with guardrails. Agents retain the ability to plan and act, but they do so inside a system that never stops asking whether the next action still makes sense.</p><p>That shift&#8212;from static permission to continuous authorization&#8212;is what makes agentic AI deployable in environments where trust, auditability, and control still matter.</p><p>For a fun little tool that helps you observe what agents are doing both locally and otherwise, take a look at <a href="https://github.com/strongdm/leash">Leash</a> from StrongDM. Leash is both an observability tool - for a single agent - and allows to allow/deny actions both locally and remotely. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cG1K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cG1K!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif 424w, https://substackcdn.com/image/fetch/$s_!cG1K!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif 848w, https://substackcdn.com/image/fetch/$s_!cG1K!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif 1272w, https://substackcdn.com/image/fetch/$s_!cG1K!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cG1K!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif" width="1024" height="577" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:577,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cG1K!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif 424w, https://substackcdn.com/image/fetch/$s_!cG1K!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif 848w, https://substackcdn.com/image/fetch/$s_!cG1K!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif 1272w, https://substackcdn.com/image/fetch/$s_!cG1K!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8acb71d-5902-4f39-9298-22327b5c5424_1024x577.gif 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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>Software no longer just executes instructions. It forms plans, makes decisions, and acts over time. That breaks security models built on static permissions, human identities, and predictable execution paths.</p><p>The constraint on agentic AI is not intelligence. It&#8217;s control.</p><p>Enterprises that cannot continuously discover agents running in their environments, cannot observe what those agents are doing, and cannot continuously authorize their actions will eventually shut them down&#8212;or never deploy them in the first place.</p><p>The next era of software will be autonomous.<br>The next era of security must make autonomy governable.</p><p>Anything less turns agency into risk.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Source: <a href="https://services.google.com/fh/files/misc/google_cloud_ai_agent_trends_2026_report.pdf">Google Cloud &#8212; </a><em><a href="https://services.google.com/fh/files/misc/google_cloud_ai_agent_trends_2026_report.pdf">AI Agent Trends 2026 Report</a></em></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Source: <a href="https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/">Menlo Ventures &#8212; &#8220;2025: The State of Generative AI in the Enterprise&#8221;</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Source: <a href="https://www.battery.com/wp-content/uploads/2025/12/Battery-State-of-Enterprise-Tech-Spending-December-2025-1.pdf">Battery Ventures &#8212; </a><em><a href="https://www.battery.com/wp-content/uploads/2025/12/Battery-State-of-Enterprise-Tech-Spending-December-2025-1.pdf">State of Enterprise Tech Spending (December 2025)</a></em><br></p></div></div>]]></content:encoded></item><item><title><![CDATA[AI made us faster. That’s not the same as better.]]></title><description><![CDATA[About a year and a half ago, the AI coding landscape was a very different place.]]></description><link>https://www.cummulative.io/p/ai-made-us-faster-thats-not-the-same</link><guid isPermaLink="false">https://www.cummulative.io/p/ai-made-us-faster-thats-not-the-same</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Wed, 24 Dec 2025 17:00:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IWSE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IWSE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IWSE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!IWSE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!IWSE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!IWSE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IWSE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2504577,&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.cummulative.io/i/182460115?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IWSE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!IWSE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!IWSE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!IWSE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77b76b8e-96cd-456a-b19d-5549487c6bed_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>About a year and a half ago, the AI coding landscape was a very different place.</p><p>At the time, GitHub Copilot <em>was</em> the category. There weren&#8217;t multiple competing models, no real choice of interaction styles, and certainly no sense that AI was a general-purpose programming companion. Copilot lived inside the editor, completed a few lines ahead of you, and mostly tried to guess where your keystrokes were headed. Claude didn&#8217;t exist in any practical sense. Codex wasn&#8217;t something teams used directly. Chat-based workflows were clumsy, slow, and easy to dismiss as novelty.</p><p>So when I pulsed my engineering team about 1.5 years ago about adoption and value of AI coding assistants, I was really asking whether Copilot was effective. The answer then was unsatisfying but honest: sometimes helpful, often marginal, rarely transformative. Adoption was uneven. Productivity gains were hard to isolate. Code quality improvements were unclear. For many engineers, Copilot was fine for boilerplate, occasionally useful for tests, and largely irrelevant for harder problems. The conclusion wasn&#8217;t that AI didn&#8217;t work&#8212;it was that it hadn&#8217;t yet earned a central place in the workflow. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bcf5b8ba-d9c3-485b-8dca-6ad673aa37ed&quot;,&quot;caption&quot;:&quot;It&#8217;s been about 90 days since we added a Github Copilot license to every member of my software development team. When Copilot was first introduced, I wanted to assess its impact on the team. Would it yield to more or better code? Would the engineering team be happier or more productive with this novel tool?&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Is Github Copilot effective?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-04T16:03:18.113Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!A_Z8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b4a83d-0b4a-4d0c-a9a7-98e6c619167b_1024x1024.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/is-github-copilot-effective&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145235979,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:3,&quot;publication_id&quot;:63090,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dJEY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Back then we abandoned GitHub Copilot and other similar tools. Fast forward to today, and that framing no longer holds.</p><div><hr></div><p>When I recently ran a new survey across the engineering organization, the results reflected that shift immediately. People aren&#8217;t debating whether to use AI anymore. They&#8217;re deciding <em>which</em> AI to use, <em>when</em>, and <em>for what</em>. That&#8217;s a drastic change from the Copilot survey which revealed that most of the engineers weren&#8217;t using it.</p><p>The most important change isn&#8217;t that one tool got better. It&#8217;s that the entire tool landscape shifted. AI is no longer a single autocomplete engine living in your editor. It&#8217;s a constellation of tools with different strengths, latencies, and interaction models. Engineers move fluidly between chat-based systems, in-IDE assistants, reasoning-heavy models, and increasingly, internal tools designed to apply AI to very specific domains. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MKnc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MKnc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png 424w, https://substackcdn.com/image/fetch/$s_!MKnc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png 848w, https://substackcdn.com/image/fetch/$s_!MKnc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png 1272w, https://substackcdn.com/image/fetch/$s_!MKnc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MKnc!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png" width="730" height="225.97717546362338" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:434,&quot;width&quot;:1402,&quot;resizeWidth&quot;:730,&quot;bytes&quot;:105033,&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.cummulative.io/i/182460115?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe46419d1-b4e0-46c8-80dd-d4e3bf4e89d0_1402x434.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MKnc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png 424w, https://substackcdn.com/image/fetch/$s_!MKnc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png 848w, https://substackcdn.com/image/fetch/$s_!MKnc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png 1272w, https://substackcdn.com/image/fetch/$s_!MKnc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecbbba4c-5a11-444b-8ab3-c06f2de7268d_1402x434.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Unsurprisingly the most popular tool, which has been true since the release of Sonnet 3.6 in late 2024, is Claude Code. The tools are used daily, often continuously, and across a wide range of activities&#8212;from implementation to refactoring to debugging to documentation. Additionally, tool usage is not limited to one. Oftentimes engineers use more than 1 tool, mixing and matching between Claude, Codex, ChatGPT and Gemini.</p><p>What stood out right away was how clearly engineers felt the speed difference. Compared to the Copilot-era experiment, the perception of increased velocity is no longer ambiguous. Most people feel that these tools help them complete tasks faster, sometimes marginally, sometimes dramatically. From a throughput perspective, AI is now doing real work. The question &#8220;does this help me move faster?&#8221; has, for most engineers, been 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_!jryt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jryt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png 424w, https://substackcdn.com/image/fetch/$s_!jryt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png 848w, https://substackcdn.com/image/fetch/$s_!jryt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png 1272w, https://substackcdn.com/image/fetch/$s_!jryt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jryt!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png" width="738" height="310.57916102841676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:622,&quot;width&quot;:1478,&quot;resizeWidth&quot;:738,&quot;bytes&quot;:134140,&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.cummulative.io/i/182460115?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517fd70e-0c5c-492e-be3d-bf84cf107f98_1478x622.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jryt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png 424w, https://substackcdn.com/image/fetch/$s_!jryt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png 848w, https://substackcdn.com/image/fetch/$s_!jryt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.png 1272w, https://substackcdn.com/image/fetch/$s_!jryt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a9beec-a9c3-4b66-ae55-27adee9a18fc_1478x622.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 role="img" 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><title></title><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>But if the productivity story has sharpened, the quality story has not fundamentally changed.</p><p>Despite stronger models and better tooling, AI-generated code is still rarely perceived as superior to human-written code. At best, it&#8217;s comparable. Often, it&#8217;s worse. Very little of it is considered truly ready to ship without human intervention. Engineers expect to polish it, restructure it, or in some cases discard it entirely. That instinct mirrors what we saw in the Copilot study: AI can accelerate getting something on the screen, but it does not relieve us of judgment, taste, or responsibility.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JwBz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JwBz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png 424w, https://substackcdn.com/image/fetch/$s_!JwBz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png 848w, https://substackcdn.com/image/fetch/$s_!JwBz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png 1272w, https://substackcdn.com/image/fetch/$s_!JwBz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JwBz!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png" width="762" height="309.27636849132176" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:608,&quot;width&quot;:1498,&quot;resizeWidth&quot;:762,&quot;bytes&quot;:188289,&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.cummulative.io/i/182460115?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b37eff6-6abe-4299-86e2-0c7b094ebfa9_1498x608.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JwBz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png 424w, https://substackcdn.com/image/fetch/$s_!JwBz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png 848w, https://substackcdn.com/image/fetch/$s_!JwBz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.png 1272w, https://substackcdn.com/image/fetch/$s_!JwBz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F278bc877-71ab-4ab7-ad9a-fd0c5e30de20_1498x608.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That skepticism shows up even more clearly in how people review AI-generated code. Trust remains low. Most engineers approach AI output with heightened scrutiny, reviewing suggestions line by line rather than assuming correctness. The model may get the logic roughly right, but factoring, clarity, and long-term maintainability still require human care. In other words, while AI has become faster and more capable, it has not been granted a lower bar. Nor should it be.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PioA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PioA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png 424w, https://substackcdn.com/image/fetch/$s_!PioA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png 848w, https://substackcdn.com/image/fetch/$s_!PioA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png 1272w, https://substackcdn.com/image/fetch/$s_!PioA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PioA!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png" width="740" height="274.41285537700867" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:600,&quot;width&quot;:1618,&quot;resizeWidth&quot;:740,&quot;bytes&quot;:133766,&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://www.cummulative.io/i/182460115?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90bc50a9-06d3-445c-bd0b-098936aa5d49_1618x600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!PioA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png 424w, https://substackcdn.com/image/fetch/$s_!PioA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png 848w, https://substackcdn.com/image/fetch/$s_!PioA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.png 1272w, https://substackcdn.com/image/fetch/$s_!PioA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffc4d43d-bebd-47d6-8c53-a124fde35483_1618x600.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 role="img" 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><title></title><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>This is where the real tension emerges. AI shifts work earlier in the pipeline. It compresses the time it takes to produce code, but it doesn&#8217;t eliminate the need to understand it. In some cases, it increases the surface area of change, making reviews heavier and more cognitively demanding. Without discipline, speed simply pushes cost downstream&#8212;into review, refactoring, and long-term maintenance.</p><p>Flow, too, has re-entered the conversation in an unexpected way. The older Copilot model felt instantaneous but shallow. Today&#8217;s tools are deeper, but not always invisible. Latency matters. Waiting on responses, switching contexts, or iterating through prompts can interrupt concentration in ways that feel familiar to anyone who remembers long compile times. AI can accelerate progress, but it can also fracture attention if used carelessly.</p><p>What I found most encouraging in the new survey wasn&#8217;t that AI &#8220;won,&#8221; or that the tools suddenly became magical. It was the maturity of the posture. Engineers understand the trade-offs. They use AI where it helps and disengage when it doesn&#8217;t. They move faster, but they don&#8217;t pretend that faster automatically means better. The codebase remains a human responsibility. &#8220;The AI wrote it&#8221; isn&#8217;t an explanation&#8212;it&#8217;s just an implementation detail.</p><p>The headline from the Copilot survey was engineers abandoning AI coding assistants.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uvKc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uvKc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png 424w, https://substackcdn.com/image/fetch/$s_!uvKc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png 848w, https://substackcdn.com/image/fetch/$s_!uvKc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png 1272w, https://substackcdn.com/image/fetch/$s_!uvKc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uvKc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png" width="1456" height="901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:901,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!uvKc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png 424w, https://substackcdn.com/image/fetch/$s_!uvKc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png 848w, https://substackcdn.com/image/fetch/$s_!uvKc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.png 1272w, https://substackcdn.com/image/fetch/$s_!uvKc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc99e0ea2-4f71-4f54-aba4-a247eebaa1b6_1600x990.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 role="img" 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><title></title><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>Today&#8217;s headline is markedly different: Engineers are using these tools, perceive productivity gains and generally enjoy using 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_!CL2n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CL2n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png 424w, https://substackcdn.com/image/fetch/$s_!CL2n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png 848w, https://substackcdn.com/image/fetch/$s_!CL2n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png 1272w, https://substackcdn.com/image/fetch/$s_!CL2n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CL2n!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png" width="738" height="334.72131147540983" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:996,&quot;width&quot;:2196,&quot;resizeWidth&quot;:738,&quot;bytes&quot;:105616,&quot;alt&quot;:&quot;Forms response chart. Question title: Do you enjoy using these tools? Do they increase your job satisfaction and how you create software?. Number of responses: 42 responses.&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Forms response chart. Question title: Do you enjoy using these tools? Do they increase your job satisfaction and how you create software?. Number of responses: 42 responses." title="Forms response chart. Question title: Do you enjoy using these tools? Do they increase your job satisfaction and how you create software?. Number of responses: 42 responses." srcset="https://substackcdn.com/image/fetch/$s_!CL2n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png 424w, https://substackcdn.com/image/fetch/$s_!CL2n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png 848w, https://substackcdn.com/image/fetch/$s_!CL2n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.png 1272w, https://substackcdn.com/image/fetch/$s_!CL2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0da9a173-60e6-40a5-b8fb-d08d11b57c9f_2196x996.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 role="img" 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><title></title><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>Looking back, the Copilot experiment wasn&#8217;t wrong. It was early and the tool was premature. What&#8217;s changed since then isn&#8217;t the fundamental nature of software engineering. It&#8217;s the availability of leverage. AI now meaningfully accelerates parts of the job&#8212;but it doesn&#8217;t absolve us of ownership. Used deliberately, it makes good engineers more effective. Used carelessly, it amplifies debt.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[The age of the human bottleneck is ending. The age of human intent is beginning]]></title><description><![CDATA[Prologue]]></description><link>https://www.cummulative.io/p/the-age-of-the-human-bottleneck-is</link><guid isPermaLink="false">https://www.cummulative.io/p/the-age-of-the-human-bottleneck-is</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Thu, 27 Nov 2025 18:39:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A4tj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A4tj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A4tj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!A4tj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!A4tj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!A4tj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A4tj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2555969,&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.cummulative.io/i/179658366?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!A4tj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!A4tj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!A4tj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!A4tj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f6deaa0-063b-4d9f-b62e-5a1698315804_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image by ChatGPT and the author</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><h2>Prologue</h2><p>It might not come as a surprise that I use GenAI to both help me research and edit my content. My usage of GenAI products, at least in relation my posts has been editorial and research versus strict content creation. This article is different. It has been ideated and written entirely by GenAI. My motivation in using various GenAI models to create this article wasn&#8217;t because they can write better than me, which they absolutely do. It was my attempt to use them to project a future world, one in which I am trying to comprehend and predict. </p><p>I gave the following prompt to Gemini, ChatGPT and Claude</p><blockquote><p>You are a futurist technologist. You think about innovation waves, like AI, and how they might shape and change society. You are now thinking about how AI might impact software organizations of the future. I want you to start by benchmarking today&#8217;s software organizations: companies who build software products. How are they staffed and organized. I then want you to project how AI might change that. Be bold, but pragmatic and whenever possible tethered into reality. Try and get examples from current AI-native companies and project forwards into the future. </p></blockquote><p>Each model generated its own content, which I then edited in various modes. First, I challenged some of the assumptions, asking questions, challenging their argument, pushing them to be bolder, yet realistic (although to be honest, is anything unrealistic with the advent of AI now?). I also asked each model to review and edit the content created by the other models. I went back and forth for a few days between probing each model, tossing one model&#8217;s content to another to critique it, until I - or more appropriately <em>we</em> - settled on the below</p><div><hr></div><p>The year is 2035. Eliza stands in what used to be called The Stack&#8212;fifty engineers, bright monitors, the low thrum of a hundred keyboards clattering out React components. It had taken them six months to ship version one.</p><p>Today, the room has a new name: The Engine Room. And it&#8217;s silent.</p><p>Eliza isn&#8217;t an engineer anymore. She&#8217;s a Chief Intent Officer. And there are only two other people in the room.</p><p>But to understand where we&#8217;re going, you need to see what&#8217;s dying right now.</p><h3>The age of the human bottleneck</h3><p>&#8220;It feels like a superpower,&#8221; says an engineer at a seven-person startup in 2024. He doesn&#8217;t know it yet, but he&#8217;s witnessing the beginning of the end&#8212;not of software development, but of software developers as we&#8217;ve known them for forty years.</p><p>A traditional 2020 software company was predictable: 50 people, Series A funded. CEO, CTO, five engineers, three product managers, two designers, four marketing people, three salespeople, two customer success reps. The math was fixed: one revenue-generating employee for every $200K in ARR. A typical startup burned $1 million to reach $1 million in revenue.</p><p>The process was equally predictable. The Product Manager would spend weeks writing user stories. The UX Designer would spend another week mapping pixels. Then came ten engineers&#8212;what Eliza would later call &#8220;the Scribes of the System&#8221;&#8212;painstakingly translating English and Figma into thousands of lines of code.</p><p>&#8220;We were glorified typists,&#8221; Eliza would later say. &#8220;We were paid to translate the same five design patterns over and over.&#8221;</p><p>Then came the Cycle of Hand-Offs: two days for code review, a week for QA testing, a day for DevOps deployment. It was a beautiful, bloated bureaucracy built entirely around managing human error and communication lag.</p><p>It took six weeks to ship a button.</p><p>Until 2024, when the law broke.</p><p>AI-native startups today generate $3.48 million in revenue per employee&#8212;six times higher than traditional SaaS companies. The numbers are almost obscene:</p><ul><li><p>Gamma: tens of millions in ARR from 50 million users with 28 employees. &#8220;If we were part of the previous generation, we would easily have around 200 employees,&#8221; says co-founder Grant Lee.</p></li><li><p>Cursor: $100M ARR in 21 months with 20 people.</p></li><li><p>Bolt: $20M ARR in two months with 15 people.</p></li></ul><p>And here&#8217;s the part that breaks everyone&#8217;s brain: they&#8217;re intentionally capping their size. Runway Financial will stop hiring at 100 employees. Agency plans the same. The growth-at-all-costs mentality&#8212;the defining characteristic of startup culture for thirty years&#8212;is being abandoned.</p><p>Not because they&#8217;re failing. Because they&#8217;re winning so efficiently they don&#8217;t need more people.</p><div><hr></div><p>Eliza remembered the moment she knew the old world was doomed. It was 2026, and she was testing Project Chimera&#8212;the first system built entirely by an Autonomous Agent Pipeline.</p><p>She spent an afternoon writing a five-page specification: <em>Increase widget customization rates by 25% by allowing users to upload custom textures. Must maintain latency under 100ms, cost less than $100 monthly.</em></p><p>She hit GO.</p><p>The system generated an Architectural Proposal&#8212;fully documented backend services, frontend components, optimized database schema, plus a Risk Assessment that flagged three security vulnerabilities <em>before the code was written</em>.</p><p>She handed it to Damon, the sole Agentic Architect. He didn&#8217;t write a single line of application code. He spent his day tuning agent parameters&#8212;adjusting the Code Generation Agent&#8217;s language bias toward Rust, tightening the Testing Agent&#8217;s input validation focus. Within 72 hours, Chimera was in production. Fully tested, fully documented, self-healing.</p><p>The old guard engineers watched in horror. By 2027, it wasn&#8217;t a fluke. It was the new standard.</p><div><hr></div><p>By 2030, a new software company starts with what Eliza calls the Nuclear Core:</p><p><strong>Eliza: The Intent Officer</strong> (formerly &#8220;CEO/Product&#8221;): Doesn&#8217;t manage features; manages simulated futures. Focuses solely on defining high-leverage problems AI should solve next. Writes strategic intents: &#8220;Increase conversion by 15% while reducing support tickets by 20%.&#8221; The AI figures out how.</p><p><strong>Damon: The Agentic Architect</strong> (formerly &#8220;CTO&#8221;): Rarely looks at generated code but obsessively monitors Agent Telemetry&#8212;the metrics of the system that builds the system. Doesn&#8217;t write code; conducts an AI symphony. One developer called it &#8220;God mode&#8221;&#8212;able to conjure code at will. The Architect lives there permanently.</p><p><strong>Maria: The Quality Sentinel</strong> (formerly &#8220;Head of Engineering/QA&#8221;): Final human oversight. Ensures output is secure, compliant, adheres to ethical guardrails. Doesn&#8217;t test code&#8212;tests the systems that test code.</p><p>The Supporting Cast is all AI: coding agents, customer support agents, auto-generated documentation, 24/7 QA testing, self-healing DevOps, marketing content generation, financial modeling.</p><p>By 2035, when Eliza stands in the silent Engine Room, this isn&#8217;t revolutionary. It&#8217;s just how software works. </p><p>Gone is the old way: PM writes epic (2 weeks). Designer creates mockups (1 week). Ten engineers translate to code (3 weeks). QA tests (1 week). DevOps deploys (1 week). Total: 8 weeks minimum.</p><p>Brainstorm in the morning, prototype by midday, polished product by night. This is the new normal.</p><h3>The silence is perfect execution</h3><p>Walk into a software company in 2035 and the first thing you notice is the silence. Not because nothing&#8217;s happening&#8212;because so much is happening seamlessly.</p><p>Eliza&#8217;s display shows Agent Telemetry: thousands of micro-decisions per second, code being generated and tested and deployed, user feedback analyzed and incorporated, A/B tests running in parallel universes of possibility.</p><p>The three humans aren&#8217;t coding. They&#8217;re thinking. They&#8217;re defining the next strategic intent. They&#8217;re asking questions the machines can&#8217;t:</p><p><em>Should we enter healthcare?</em> <em>Is this growth sustainable?</em> <em>What problem are we really solving?</em></p><p>These are human questions requiring judgment that can&#8217;t be automated&#8212;not yet, maybe not ever.</p><p>The office is quiet because the age of human labor in software is over. The age of Human Intent&#8212;amplified by the machine&#8212;has begun.</p><p>Three people. A codebase ten times larger than fifty people managed a decade ago. Output measured not in closed tickets, but in validated strategic outcomes.</p><p>On the wall: three simultaneous development cycles&#8212;a security patch, a UI/UX experiment, a market expansion. No humans involved in execution. Just the Nuclear Core, defining what should happen.</p><p>Then watching it happen.</p><div><hr></div><p>If you&#8217;re building a software company in late 2024, you&#8217;re living through the transition. The Age of the Human Bottleneck is ending. The Age of Human Intent is beginning.</p><p>You can be Eliza, learning to define strategic outcomes rather than manage features. You can be Damon, learning to conduct the AI symphony rather than play each instrument. You can be Maria, learning to audit systems rather than test code.</p><p>Or you can be one of the Scribes, still typing away, convinced this is hype, that humans will always be needed to translate business logic into code.</p><p>The Engine Room is being built right now. The silence is coming.</p><p>The only question left is: will you be one of the three people in the room?</p><p>Or will you be the reason the room is silent?</p><div><hr></div><h2>Epilogue</h2><p>When I first started to work on this article with the aforementioned models 3 weeks ago, I had no intuition as to what they would generate. Somewhat surprising to me, all three painting a picture that is not to different that Eliza&#8217;s world in this article. All three agreed that today&#8217;s world of software development will radically change. </p><p>The question I ponder is this one: Will the change represented here materialize? </p><p>And the answer, at least from my own experience using and observing GenAI being used in software development, is yes. There&#8217;s an separate question on how satisfying this mode of work is relative to how software is built today. It&#8217;s akin to programming a loom versus hand-weaving a rug. The art of the craft dies and is replaced by (cold) automation.</p><p>Todays models can almost certainly build - almost autonomously - a wide class of software applications. These might be simple: a frontend, an API middle-tier and a Postgres database. But that&#8217;s usually how disruption starts, from the bottom and moving upstream. Today the simple three-tier web/mobile application is disrupted, tomorrow the enterprise SaaS product. </p><p>I suppose we will know when we have approached this moment when Anthropic, OpenAI and the other labs stop hiring software developers altogether. </p><p>We have time. All are still hiring :)</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><p></p>]]></content:encoded></item><item><title><![CDATA[The Conversational Platform: The new human-computing platform]]></title><description><![CDATA[AI turns conversation into the new interface and agents into the new apps]]></description><link>https://www.cummulative.io/p/the-conversational-platform-the-new</link><guid isPermaLink="false">https://www.cummulative.io/p/the-conversational-platform-the-new</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 13 Oct 2025 14:54:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!b3BD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b3BD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b3BD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!b3BD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!b3BD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!b3BD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b3BD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2168123,&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.cummulative.io/i/175981583?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!b3BD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!b3BD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!b3BD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!b3BD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d8c2cd-5713-4b2e-8e0b-9100eddfd195_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image by Claude, ChatGPT and the author</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>Last week, I wrote that as AI makes it trivial to create apps it will unleash a Cambrian explosion of software, and consequently new aggregation platforms to curate these new apps.</p><blockquote><p>AI will allow anyone with an idea and curiosity to build something that works. But that flood has consequences. Hundreds of near-identical AI-generated tools will appear overnight, many indistinguishable in function or quality. Just as streaming turned the music economy into a power law&#8212;where a tiny fraction of artists capture the majority of plays&#8212;the software market could polarize between a few aggregators and millions of niche creators barely scraping visibility. The next Spotify or YouTube for software won&#8217;t be a tool that helps people make apps&#8212;it&#8217;ll be the system that helps people find them. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d6315410-c2a9-4232-92b6-fef8892e0300&quot;,&quot;caption&quot;:&quot;For decades, the music and entertainment industries were shaped by scarcity. Recording an album or producing a show required capital, studio access, and a distribution network&#8212;barriers that kept creative output limited and controlled by a few large players. The internet erased those barriers. Platforms like YouTube, Spotify, and TikTok made creation and&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Software&#8217;s Cambrian explosion: How AI might flood the software world&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-09T00:09:11.397Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!WvNI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/softwares-cambrian-explosion-how&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175384864,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:63090,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dJEY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></blockquote><p>It didn&#8217;t take long for the idea to materialize. With OpenAI unveiling <em><a href="https://openai.com/index/introducing-apps-in-chatgpt/">apps inside ChatGPT</a></em>, the Cambrian explosion&#8212;and the aggregation platform I&#8217;d been thinking about&#8212;has begun to take shape.</p><p>The announcement transforms ChatGPT from a product into a platform: an intelligent substrate where anyone can build and distribute software through conversation. It unifies the flood&#8212;one interface, one ecosystem, one operating system for AI-native software.</p><p>The parallels to Apple&#8217;s App Store moment are hard to miss. In 2008, the iPhone was a sleek gadget until Apple opened it to developers and gave them a distribution channel. Suddenly, a device became a platform, and a whole generation of new businesses&#8212;Uber, Instagram, WhatsApp&#8212;emerged from that ecosystem. ChatGPT is stepping into the same role, but at a higher layer of abstraction. Developers can now build apps that live <em>inside</em> the assistant, not on your home screen. You don&#8217;t download them; you summon them by name or by intent. &#8220;Spotify, make me a playlist.&#8221; &#8220;Booking.com, find me a hotel in Lisbon.&#8221; The app materializes in the chat&#8212;interactive, visual, contextual. There&#8217;s no install, no tab switching. The interface is the conversation itself.</p><p>For developers, the opportunity is enormous. ChatGPT already reaches more people each week than most platforms ever do&#8212;hundreds of millions of users&#8212;and the new Apps SDK gives them a direct, built-in audience. Apps can even be surfaced contextually as ChatGPT interprets a user&#8217;s goal: mention moving cities and it might suggest Zillow; plan a trip and it might bring up Expedia or Booking.com. Distribution becomes AI-driven discovery. OpenAI is introducing a directory, a review process, and a commerce protocol for in-chat payments. It looks and feels like an app store reborn for a world where code is abundant and attention is scarce.</p><p>This fits a deeper pattern. Computing platforms tend to evolve in roughly ten-year cycles, each one moving closer to human intent. The PC era revolved around desktop operating systems like Windows. The 2000s shifted power to browsers and search. The 2010s crowned the mobile OS and its app stores as the dominant distribution layer. Now, the AI assistant is emerging as the next platform&#8212;the place where computing begins and ends. ChatGPT&#8217;s leadership calls it a &#8220;<a href="https://www.wired.com/story/openai-dev-day-sam-altman-chatgpt-apps/">chat-driven OS</a>.&#8221; That description feels right: a new layer where software runs through dialogue instead of clicks, and where the AI, not the user, handles the orchestration of tools.</p><p>The difference this time lies in how we interact and how work gets done. The first shift is in interface. For half a century, we&#8217;ve interacted with software through visual metaphors: windows, buttons, icons, menus. ChatGPT replaces that with language. You describe what you want, and it decides which apps or APIs to call. The boundary between your intention and execution dissolves. Software becomes conversational&#8212;adaptive, continuous, and human-shaped. It&#8217;s as if the command line, the GUI, and the touchscreen all evolved into a single interface: dialogue: written or conversational.</p><p>The second shift is orchestration. Until now, users have been the glue between apps. You open Expedia for flights, Booking.com for hotels, OpenTable for restaurants. You copy, paste, compare, confirm. The AI platform reverses that dynamic. It becomes the orchestrator. Tell ChatGPT, &#8220;Plan me a weeklong trip to Lisbon and Valencia in June, budget three hundred a night, walkable neighborhoods, one Michelin lunch and a few cozy bistros,&#8221; and it will coordinate the entire workflow. Expedia finds flights, Booking.com filters hotels, OpenTable reserves dinners, a rail app handles the train. Each app contributes a piece, and the assistant threads them together into a single itinerary&#8212;complete with confirmations, payments, and live updates&#8212;all inside the same conversation. The operating system isn&#8217;t managing windows anymore; it&#8217;s managing your intent.</p><p>What&#8217;s emerging isn&#8217;t just a new way to use software&#8212;it&#8217;s a new way for software to exist. Each platform shift in computing has compressed the distance between human intention and machine execution. The desktop gave us personal control, the web gave us reach, the smartphone gave us immediacy. The AI platform is giving us agency. We no longer tell machines <em>how</em> to do something&#8212;we tell them <em>what</em> we want, and they decide the how. That&#8217;s the deeper revolution hiding inside OpenAI&#8217;s announcement. It&#8217;s not about a new feature or SDK; it&#8217;s about a redefinition of computing itself. The interface becomes language, the operating system becomes intelligence, and the app store becomes a living conversation&#8212;an infinite canvas where creation and coordination happen in the same breath.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Software’s Cambrian explosion: How AI might flood the software world]]></title><description><![CDATA[For decades, the music and entertainment industries were shaped by scarcity.]]></description><link>https://www.cummulative.io/p/softwares-cambrian-explosion-how</link><guid isPermaLink="false">https://www.cummulative.io/p/softwares-cambrian-explosion-how</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Thu, 09 Oct 2025 00:09:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WvNI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WvNI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WvNI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!WvNI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!WvNI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!WvNI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WvNI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generated image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generated image" title="Generated image" srcset="https://substackcdn.com/image/fetch/$s_!WvNI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!WvNI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!WvNI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!WvNI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F263f7d35-0d28-4e62-a321-6ecb8ea7e7f6_1024x1024.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 role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>For decades, the music and entertainment industries were shaped by scarcity. Recording an album or producing a show required capital, studio access, and a distribution network&#8212;barriers that kept creative output limited and controlled by a few large players. The internet erased those barriers. Platforms like YouTube, Spotify, and TikTok made creation and distribution nearly free, flooding the world with new artists and independent producers. The result was a structural shift: creation became abundant, attention became scarce, and the balance of power moved from the producers to the platforms that organized their work.</p><p>Something similar might happen to software.</p><p>AI is driving the cost of making <a href="https://www.cummulative.io/p/competing-in-a-world-of-ai-abundance">software toward zero</a>. A solo founder can summon an application from a prompt, iterate it in hours, and ship globally without touching a line of code. </p><blockquote><p>&#8220;Starting a business may become so cheap and hassle-free that anyone will be able to become an entrepreneur much as anyone can become a YouTuber,&#8221; <em>The Economist</em> - August 2025. </p></blockquote><p>Code, in other words, is about to go the way of music: infinite supply, negligible marginal cost, and a flood of new creators. This is software&#8217;s Cambrian explosion&#8212;a phase of evolutionary overproduction where every niche, every problem, every fleeting idea can spawn its own micro-app.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;97f86e15-a5ea-4d04-9d76-93386644ef30&quot;,&quot;caption&quot;:&quot;Economics begins with scarcity. Land, labor, and capital have always been limited, and societies have been organized around how best to allocate them. The theory of abundance argues that artificial intelligence is eroding scarcity in two of those inputs: intelligence and labor. Tasks that once demanded m&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Competing in a world of AI abundance: How to win when code has no value? &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-08-28T17:07:22.024Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!0U6s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/competing-in-a-world-of-ai-abundance&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:171830042,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:0,&quot;publication_id&quot;:63090,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dJEY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>To see what that might look like, we need to rewind to the internet&#8217;s first great abundance experiment. Before YouTube, TikTok, and Spotify, the entertainment industry ran on scarcity. Access to distribution&#8212;airwaves, stores, or cable channels&#8212;was limited. Record labels and TV networks were the gatekeepers, rationing what reached the public. Then came the platforms.</p><p>A musician no longer needed a label; a teenager with a phone could find a global audience overnight. By 2024, nearly 99,000 songs were uploaded to streaming services every day, amounting to 202 million tracks online by year&#8217;s end. 12 million artists uploaded music to Spotify in 2024, up from 10 million the year before. The scale dwarfs anything the old industry could have imagined.</p><p>But abundance has gravity. Eighty-six percent of Spotify tracks attracted fewer than 1,000 streams, effectively vanishing into the long tail. &#8220;Streaming has allowed millions to easily share their music globally,&#8221; <a href="https://loudandclear.byspotify.com/">Spotify noted</a>, &#8220;but the sheer volume of uploaders means the fraction who find success appears smaller over time.&#8221; The bottleneck shifted: creation was easy, discovery was hard. Algorithms&#8212;once invisible curators&#8212;became the new tastemakers.</p><p>Legacy players didn&#8217;t vanish; they mutated. Labels and studios survived by cutting deals with platforms, licensing catalogs, and feeding the algorithm with steady output. But they ceded the high ground. Power moved from those who produced content to those who distributed and curated it. Spotify, YouTube, and TikTok became the new gatekeepers, filtering the flood through recommendation engines and playlists.</p><p>I believe that software is about to undergo that same transformation.</p><p>As AI makes it trivial to create apps, websites, and agents, the scarcity in software will no longer be code&#8212;it will be distribution, data, and trust. When marginal cost approaches zero, markets explode outward. Problems once too small to attract venture dollars&#8212;say, a dashboard for mushroom farmers or an AI concierge for wedding planning&#8212;suddenly become viable. </p><p>AI will allow anyone with an idea and curiosity to build something that works. But that flood has consequences. Hundreds of near-identical AI-generated tools will appear overnight, many indistinguishable in function or quality. Just as streaming turned the music economy into a power law&#8212;where a tiny fraction of artists capture the majority of plays&#8212;the software market could polarize between a few aggregators and millions of niche creators barely scraping visibility. The next Spotify or YouTube for software won&#8217;t be a tool that helps people make apps&#8212;it&#8217;ll be the system that helps people find them.</p><p>In <a href="https://stratechery.com/aggregation-theory/">Ben Thompson&#8217;s </a><em><a href="https://stratechery.com/aggregation-theory/">Aggregation Theory</a></em>, the internet shifted power from producers to the platforms that organize them&#8212;a pattern now replaying at planetary scale. The winners of the software Cambrian explosion won&#8217;t be the thousands of AI developers churning out clones of each other&#8217;s tools, but the ecosystems that aggregate, distribute, and power them. On one level, these aggregators will take the form of app stores, plugin marketplaces, and trust layers&#8212;Spotify playlists for code, recommendation systems for tools. </p><p>However, underneath that creative surface lies a deeper concentration of power. The abundance of software rests on a foundation of extraordinary consolidation: a handful of companies provide the hardware, compute, and intelligence that make the entire explosion possible. NVIDIA is the pick-and-shovel vendor of this gold rush, minting revenue on every GPU that fuels the boom. Above it sit the GenAI model providers&#8212;OpenAI, Anthropic, Mistral&#8212;each competing to become the default intelligence layer for millions of new applications. Beneath it all hum the hyperscalers&#8212;AWS, Azure, and Google Cloud&#8212;whose data centers, energy contracts, and fiber networks form the physical substrate of abundance. Together, these layers make up the new industrial stack of software: decentralized creation running on centralized infrastructure. The creative layer fragments, but the substrate concentrates.</p><p>The tension between decentralization and concentration defines this new era. Abundance empowers individuals, but dependence on shared infrastructure ensures that power and profit remain concentrated among a few dominant players. For developers and entrepreneurs, this dual reality will demand realism: access and opportunity have never been greater, but so too is reliance on the invisible scaffolding of compute, models, and networks owned by others. </p><p>The Cambrian explosion will produce extraordinary diversity, but the ecosystem that sustains it will remain highly managed, capital-intensive, and vertically integrated. And immensely profitable.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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 vanishing first rung: How AI is hollowing out entry-level jobs]]></title><description><![CDATA[For generations, careers have begun the same way.]]></description><link>https://www.cummulative.io/p/the-vanishing-first-rung-how-ai-is</link><guid isPermaLink="false">https://www.cummulative.io/p/the-vanishing-first-rung-how-ai-is</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 15 Sep 2025 18:10:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vw7B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vw7B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vw7B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png 424w, https://substackcdn.com/image/fetch/$s_!vw7B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png 848w, https://substackcdn.com/image/fetch/$s_!vw7B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png 1272w, https://substackcdn.com/image/fetch/$s_!vw7B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vw7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png" width="725" height="731.3689604685212" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:689,&quot;width&quot;:683,&quot;resizeWidth&quot;:725,&quot;bytes&quot;:964402,&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.cummulative.io/i/173583414?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82145a32-cfe7-4554-817c-914c4d199e97_683x1024.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_!vw7B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png 424w, https://substackcdn.com/image/fetch/$s_!vw7B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png 848w, https://substackcdn.com/image/fetch/$s_!vw7B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.png 1272w, https://substackcdn.com/image/fetch/$s_!vw7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F191b2307-7f37-4955-bd10-bd694af8eb95_683x689.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image by ChatGPT and the author</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>For generations, careers have begun the same way. You took an entry-level role, slogged through repetitive tasks, and slowly built the skills that prepared you for more responsibility. The work wasn&#8217;t glamorous, but it was essential &#8212; it was the first rung on the ladder.</p><p>Artificial intelligence is removing that rung.</p><p>New research from Stanford economists Erik Brynjolfsson, Bharat Chandar, and Ruyu Chen - see the <a href="https://digitaleconomy.stanford.edu/wp-content/uploads/2025/08/Canaries_BrynjolfssonChandarChen.pdf">Canaries in the Coal Mine</a> paper. - shows employment among 22- to 25-year-olds in AI-exposed jobs has dropped sharply since late 2022. In software development, headcount for that group is down nearly 20 percent. Customer service and translation show similar patterns. Older workers in the same jobs are largely unaffected. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6A7R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6A7R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png 424w, https://substackcdn.com/image/fetch/$s_!6A7R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png 848w, https://substackcdn.com/image/fetch/$s_!6A7R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png 1272w, https://substackcdn.com/image/fetch/$s_!6A7R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6A7R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png" width="1068" height="676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:676,&quot;width&quot;:1068,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:139988,&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.cummulative.io/i/173583414?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.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_!6A7R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png 424w, https://substackcdn.com/image/fetch/$s_!6A7R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png 848w, https://substackcdn.com/image/fetch/$s_!6A7R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.png 1272w, https://substackcdn.com/image/fetch/$s_!6A7R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37382524-d1ab-4766-ad50-5fd028e9eadb_1068x676.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Erik Brynjolfsson, Bharat Chandar, and Ruyu Chen</figcaption></figure></div><p>The explanation is clear: AI is replacing codified, rules-based tasks &#8212; exactly the kind that once defined entry-level work &#8212; while leaving tacit, experience-based skills intact. The result is fewer opportunities for new graduates trying to gain a foothold in the labor market.</p><p>Not everyone accepts this as inevitable. Matt Garman, the new CEO of Amazon Web Services, has called the idea of cutting junior developers &#8220;one of the dumbest things I&#8217;ve ever heard.&#8221; His reasoning is simple: junior employees are the cheapest on the payroll, they are &#8220;AI-native&#8221; &#8212; already comfortable with the tools &#8212; and they form the pipeline for tomorrow&#8217;s leaders. Stop hiring them today, and in ten years you&#8217;ll have no bench.</p><p>It&#8217;s a compelling argument, but it has limits. Being &#8220;AI-native&#8221; doesn&#8217;t automatically make someone effective. A novice carpenter with a set of power tools won&#8217;t suddenly produce masterwork furniture. Without experience, they may misuse the tools, make errors they can&#8217;t diagnose, or fail to see how the pieces fit together. The same tools in the hands of a skilled carpenter, however, produce extraordinary results. AI is no different. Pair it with senior developers and the output is amplified; pair it with juniors lacking context and the result can be brittle or even harmful. AI plus seniors is far greater than AI plus juniors.</p><p>So what now? If AI has automated away the first rung of the ladder, how do we create new ways for people to climb? Two paths stand out.</p><p>First, universities and the education system must adapt. Relying on entry-level jobs to serve as training grounds is no longer viable. Schools need to prepare students for a higher starting point, emphasizing problem framing, system design, and AI supervision instead of rote coding or repetitive analysis. The missing rung must be rebuilt in the classroom.</p><p>Second, companies must resist the temptation to cut off entry-level hiring. Business continuity depends on a steady pipeline of talent. Even if juniors are less effective with AI today, firms cannot afford to leave the bench empty. Structured programs, apprenticeships, and explicit training can help bridge the gap, ensuring that new entrants still accumulate the tacit skills machines cannot provide.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3324ce53-4771-4c54-84a2-97ceec32fd89&quot;,&quot;caption&quot;:&quot;In the previous post I outlined some of the challenges an engineering organization will face as it scales. This post will address one of the main elements of scaling an engineering team: recruiting.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Back to school. Why college recruiting should be part of your scaling efforts&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2022-08-29T18:01:08.885Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!0xu5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae71684-fb7c-4f55-8c25-6cb7ff807328_1024x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/back-to-school-why-college-recruiting&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:70647797,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dJEY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>AI has made intelligence abundant, but experience remains scarce. Eliminating the first rung of the ladder leaves the entire structure unstable. If universities reimagine how they prepare students, and if companies continue to invest in new talent, the ladder can be rebuilt. </p><p>If not, abundance risks becoming exclusion &#8212; a world where opportunity exists only for those who already sit at the top, and that&#8217;s very short-sighted.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Competing in a world of AI abundance: How to win when code has no value? ]]></title><description><![CDATA[Economics begins with scarcity.]]></description><link>https://www.cummulative.io/p/competing-in-a-world-of-ai-abundance</link><guid isPermaLink="false">https://www.cummulative.io/p/competing-in-a-world-of-ai-abundance</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Thu, 28 Aug 2025 17:07:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0U6s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.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_!0U6s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0U6s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0U6s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0U6s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0U6s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0U6s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:600589,&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.cummulative.io/i/171830042?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.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_!0U6s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0U6s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0U6s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0U6s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2e00bd-48ff-403c-b52b-554f1d9b81f6_1024x1024.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#8220;The Shattering Monolith&#8221; by Gemini and the author</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>Economics begins with scarcity. Land, labor, and capital have always been limited, and societies have been organized around how best to allocate them. The theory of abundance argues that artificial intelligence is eroding scarcity in two of those inputs: intelligence and labor. Tasks that once demanded months of work by skilled professionals &#8212; writing software, analyzing data, drafting contracts, designing campaigns &#8212; can now be done in minutes, replicated infinitely, and adapted at no meaningful cost.</p><p>The effects of this shift ripple far beyond software. As AI reduces the marginal cost of intelligence-based work, it threatens to automate away millions of jobs, displacing workers in sectors from customer service to law. The abundance of digital labor also creates pressure on wages, polarizing labor markets between those who supervise, govern, and direct AI systems and those who are displaced by them. Society will need to confront the consequences: new definitions of meaningful work, new safety nets, and new forms of inequality. At the same time, AI-driven robotics and scientific discovery could push abundance into the physical world &#8212; lowering the cost of housing, medicine, and energy, and shifting scarcity into areas like trust, distribution, and governance.</p><p>Each of these transformations deserves deep analysis. But to make the discussion concrete, this article will focus on software, the first domain where abundance is already being felt. By examining how AI reduces the marginal cost of software to nearly zero, we can see more clearly how industries are unmade and how new winners emerge. Future essays will return to labor markets, society, and the broader economy.</p><p>Software has always been unusual in its economics. Copying it has been nearly free, but creating and maintaining it has been expensive. The SaaS model rested on this asymmetry: companies absorbed high fixed costs to design and maintain software, then scaled to millions of users at high margins. AI destabilizes this model. By automating coding, debugging, and maintenance, it drives the fixed cost of creation toward zero. With both creation and distribution essentially free, the foundations of the industry shift.</p><p>That shift raises the central question: in a world where software itself is abundant, how does a software company compete, and how can it win? The answer lies in recognizing where scarcity has reappeared.</p><p>One arena is what might be called the outcome economy. If anyone can build a tool, the tool itself no longer commands a price. What is scarce is the ability to credibly guarantee results. Many vendors will claim their product improves conversions or resolves support tickets faster. Very few will be able to measure those outcomes rigorously, integrate into workflows to prove them, and assume risk if they fail. The scarce good is not outcomes in the abstract, but trustworthy accountability: verifiable, contractually guaranteed results.</p><p>Another arena is data. Code may be free, but proprietary datasets remain deeply scarce. They make outcomes measurable, they enable personalization, they fuel trust, and they drive speed. More importantly, they compound: usage generates data, which improves performance, which attracts more users, which generates more data. Companies already recognize this dynamic. Salesforce&#8217;s restriction of AI access to historical Slack data is a vivid example: strategically, it locks in a moat. Only Salesforce can use Slack&#8217;s conversational history to power its models, turning that dataset into both a competitive fortress and a guarantee of trust to its customers.</p><p>Closely related to data is context and attention. Not all data is equal; raw data is abundant, but context-rich data that maps to user preferences and workflows is scarce. It is what makes personalization meaningful, allowing software to become uniquely indispensable to each user. Attention is scarce for the same reason. With infinite personalized tools vying for mindshare, the battle shifts to who can maintain durable engagement and weave themselves into daily routines.</p><p>A fourth arena is the explosion of niche applications. When software creation is practically costless, problems once considered too small to matter suddenly get solved. Millions of micro-apps and AI agents will emerge &#8212; some serving whole industries, some only one company, and some even a single individual. But this proliferation creates fragmentation, and fragmentation shifts scarcity to those who can provide trust, integration, and distribution. This is where Ben Thompson&#8217;s <em>aggregation theory</em> becomes crucial. Thompson showed how internet-era power shifted from producers to <em>aggregators</em> &#8212; platforms like Google, Facebook, and Apple that organize abundance and control demand. The same logic applies here: the winners in the AI era will be those who aggregate countless micro-apps into cohesive ecosystems. They will orchestrate secure environments with identity, billing, compliance, and interoperability baked in, becoming the trusted gateway through which abundance flows.</p><p>Finally, in a world of infinite competitors, speed itself becomes scarce. When anyone can generate an app overnight, the half-life of innovation shrinks dramatically. The scarce factor is the organizational ability to learn, adapt, and deploy faster than the rest of the market. It is not just speed of shipping that matters &#8212; code is abundant &#8212; but speed of learning, iteration, and trust-building. Companies that can close feedback loops quicker &#8212; translating usage data into improvements and then into stronger customer relationships &#8212; will pull ahead in ways others cannot replicate.</p><p>This is how scarcity reappears when software becomes free: it migrates into domains where abundance cannot follow. And it is in these domains that companies must compete.</p><p>In a world of zero-cost software, five scarcities define the new competitive order. Not all of them are equal, and their relative importance determines the depth of the moat they provide:</p><ul><li><p><strong>Data</strong> sits at the foundation. It is the hardest to replicate, compounds over time, and fuels everything else.</p></li><li><p><strong>Trust and Integration</strong> come next. Platforms that aggregate abundance into secure, reliable ecosystems become irreplaceable gateways.</p></li><li><p><strong>Accountability</strong> follows, powerful because customers will pay for outcomes, but dependent on the data and trust that make outcomes measurable and credible.</p></li><li><p><strong>Speed</strong> is critical in the short run, enabling firms to outpace infinite competitors, but it erodes quickly unless anchored by stronger foundations.</p></li><li><p><strong>Context and Attention</strong> are valuable for personalization and stickiness, but the most fragile, as attention is fickle and context loses strength without the anchor of proprietary data.</p></li></ul><p>Software companies will not win by producing code &#8212; anyone can do that. They will win by mastering these scarcities in order of their strategic depth. Those who secure data and trust will build enduring advantages; those who rely only on speed or attention will find their lead fleeting. In the age of abundance, the hierarchy of scarcity will decide the hierarchy of winners.</p><div><hr></div><h3>Suggested Reading</h3><ul><li><p>Sam Altman, &#8220;Moore&#8217;s Law for Everything&#8221; (2021) &#8212; outlines how AI and robotics could make most goods radically cheaper, driving a future of abundance (<a href="https://moores.samaltman.com/?utm_source=chatgpt.com">moores.samaltman.com</a>).</p></li><li><p>OpenAI blog: &#8220;Planning for AGI and beyond&#8221; (2023) &#8212; explores abundance, inequality, and safety in a world of artificial general intelligence (<a href="https://openai.com/research/planning-for-agi-and-beyond?utm_source=chatgpt.com">openai.com</a>).</p></li><li><p>Herbert Simon, &#8220;Designing Organizations for an Information-Rich World&#8221; (1971) &#8212; classic essay introducing the idea that in abundance, attention becomes scarce.</p></li><li><p>Ben Thompson, <em>Aggregation Theory</em> (<a href="https://stratechery.com/company/substack/">Stratechery</a>, 2015&#8211;present) &#8212; the definitive modern analysis of how aggregators organize abundance and capture demand. </p></li><li><p>Nick Srnicek, <em><a href="https://www.amazon.com/Platform-Capitalism-Theory-Redux-Srnicek/dp/1509504877">Platform Capitalism</a></em> &#8212; a critical take on how platforms build power through data and ecosystems.</p></li></ul><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/p/competing-in-a-world-of-ai-abundance?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Cu(m^2)ulative! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/p/competing-in-a-world-of-ai-abundance?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/p/competing-in-a-world-of-ai-abundance?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[The first generation of programming directors]]></title><description><![CDATA[When I wrote about the last generation of programmers, I ended with a thought:]]></description><link>https://www.cummulative.io/p/the-first-generation-of-programming</link><guid isPermaLink="false">https://www.cummulative.io/p/the-first-generation-of-programming</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 18 Aug 2025 18:46:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iCJc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iCJc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iCJc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!iCJc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!iCJc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!iCJc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iCJc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generated image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generated image" title="Generated image" srcset="https://substackcdn.com/image/fetch/$s_!iCJc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!iCJc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!iCJc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!iCJc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef40e0bb-53b4-416b-909b-5749d6047816_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>When I wrote about the <a href="https://www.cummulative.io/p/the-last-generation-of-programmers">last generation of programmers</a>, I ended with a thought: </p><blockquote><p><em>the age of human code is ending. What comes next is not ours to write &#8212; but to imagine.</em> </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;80c695ac-b378-4b53-b4a4-49e23a62ce29&quot;,&quot;caption&quot;:&quot;At the dawn of the industrial loom, few weavers realized they were witnessing the end of their world. The whirring of mechanized looms in distant mills must have sounded like progress, not obsolescence. When electricity began to light city blocks, it arrived first as a novelty&#8212;a flickering bulb in a wealt&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The last generation of programmers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-08-04T16:57:16.804Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Rf2z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/the-last-generation-of-programmers&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:170016786,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dJEY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></blockquote><p>This is one such imagining. If the keyboard is no longer our chisel, what tools will take its place? If the long hours of typing give way to something else entirely, what will the craft look like on the other side? History offers clues. Industries have been here before &#8212; changed not by the vanishing of their purpose, but by the reinvention of their methods. If AI does to software what computers once did to animation, the result may not be an extinction, but a transformation &#8212; one where the craft survives by changing shape, and the credits look very different than they do today.</p><p>In the old Disney studios, the air smelled faintly of paint thinner and coffee. Animators hunched over desks lit by swinging lamps, pencils scratching one frame at a time, walls stacked high with translucent cels like panes of stained glass. Every second of film demanded twenty-four drawings, each one touched by human hands. The workflow was an endless relay of sketches, tracings, and paint &#8212; armies of ink-and-paint artists passing each frame down the line like a sacred scroll.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R7T6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R7T6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp 424w, https://substackcdn.com/image/fetch/$s_!R7T6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp 848w, https://substackcdn.com/image/fetch/$s_!R7T6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp 1272w, https://substackcdn.com/image/fetch/$s_!R7T6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R7T6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp" width="500" height="490" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:490,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Disney:Snow White: Original Production Drawing-1937 - Picture 1 of 2&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Disney:Snow White: Original Production Drawing-1937 - Picture 1 of 2" title="Disney:Snow White: Original Production Drawing-1937 - Picture 1 of 2" srcset="https://substackcdn.com/image/fetch/$s_!R7T6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp 424w, https://substackcdn.com/image/fetch/$s_!R7T6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp 848w, https://substackcdn.com/image/fetch/$s_!R7T6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp 1272w, https://substackcdn.com/image/fetch/$s_!R7T6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1c6c963-c287-4cda-8fa3-486e3c6eece3_500x490.webp 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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Snow White: Original Production Drawing-1937. Source <a href="https://www.ebay.com/itm/375619601227?_trkparms=amclksrc%3DITM%26aid%3D1110006%26algo%3DHOMESPLICE.SIM%26ao%3D1%26asc%3D290149%2C290432%2C290497%26meid%3D876e1dd95c1b45f5a9a365c04f802258%26pid%3D101875%26rk%3D2%26rkt%3D4%26sd%3D125623424606%26itm%3D375619601227%26pmt%3D1%26noa%3D0%26pg%3D2332490%26algv%3DSimVIDwebV4WithCtxRankerV1ECPM%26brand%3DDisney&amp;_trksid=p2332490.c101875.m1851&amp;itmprp=cksum%3A375619601227876e1dd95c1b45f5a9a365c04f802258%7Cenc%3AAQAKAAABEHpsrQN%252BfAdDZYpPJGYWcJeM%252B7kOu0qCwhwpE0jI5WLZbLunKqjjv17aqA5FlcDVykeLXmBlXet2a87hRAdt4iBm32JN7anXZCt1HeWJ4vkdwVUyoyb9yZQFPa5HIORJxojSGwOspBMWIJEGxK64Doy7jUDVcwLLaMbQDoF9w3TrdkO0wIjBjCcwEWi63zhZg%252BDt9PmW8RzhepYHLbFW86hWD0ZfL7yQsskLSoEl%252Bq5IL9n6sFdbWB12Oxd0GyPFIg37%252FqQgFYP26dwOJqCB4Q2esamLaFb9aZR%252BLBPF59kIvU4TBepLnb%252BzuP7GoCcqoGH9bBa4xs18S0P5VpKVMqtc4cJS2gW9kqDe%252FnBuwoCH%7Campid%3APL_CLK%7Cclp%3A2332490&amp;itmmeta=01K2NET5PZFAF1CTX15G3RTVTK">eBay</a></figcaption></figure></div><p>Decades later, the scratching pencils are gone. In their place, the quiet whir of GPU fans. The same craft &#8212; storytelling through movement &#8212; now plays out in sleek software like Maya and Blender, characters rigged with digital bones, worlds rendered by machines that never tire. Frames aren&#8217;t painted; they&#8217;re computed - see <a href="https://www.sidefx.com/community/frozen-ii/">here</a> for more on the making for Frozen 2. What was once an artisanal marathon is now a high-tech relay, where creative leads direct armies of specialized artists, technical directors, and render farms. </p><div><hr></div><p>Animation didn&#8217;t die when computers arrived; it adapted. In the 1980s and 90s, a single Disney feature like <em>The Lion King</em> employed armies of artists &#8212; as many as 600 animators and technicians working across inking, painting, and cel photography to get a film onto the screen. By contrast, when Pixar released <em>Toy Story</em> in 1995, the studio itself had only 129 employees, supported by a render farm of 294 processors. A few years later, <em>Monsters, Inc.</em> was built by a team of around 175 people &#8212; lean by Disney&#8217;s traditional standards, but augmented by the accelerating power of software and hardware. </p><p>What disappeared wasn&#8217;t animation, but the need for vast pools of manual labor. Technology changed how those stories were made, not that they were made. The workflow shifted from one long, linear assembly line to a parallel, multidisciplinary sprint. Modelers built characters, riggers wired their skeletons, animators posed the key moments, and software filled in the frames in between. Render farms took over the grunt work of lighting, shadows, and effects. Entirely new roles emerged &#8212; technical directors, shader developers, effects artists &#8212; titles that didn&#8217;t exist in the cel era but are now indispensable. </p><p>The result? More animation than ever before. A recent estimate pegged the valuation of the global animation industry valued at $270 billion in 2023 with 600 new animated films are released worldwide each year (source: <a href="https://gitnux.org/cartoon-statistics">here</a>). There might be fewer people drawing frames by hand today, but more people overall work in animation today relative to these early halcyon days.</p><p>Today&#8217;s programming still looks, in many ways, like cel animation in its prime. We write code line-by-line, class-by-class, building our own in-betweens. Yes, we have compilers, frameworks, and IDEs, but the human still types the bulk of the logic. AI is our CAPS moment &#8212; the <a href="https://en.wikipedia.org/wiki/Computer_Animation_Production_System">Computer Animation Production System</a> Disney introduced in 1989 to digitize ink-and-paint. It didn&#8217;t automate the whole movie, just the tedious, repetitive parts. But it changed the economics of animation so profoundly that an entire stage of the pipeline vanished in a few short years. The AI coding assistants of today are doing the same. First they autocomplete the boring stuff. Then they scaffold entire features. Tomorrow they&#8217;ll handle full vertical slices: requirements in, production code out. And like CAPS, they&#8217;ll force us to rethink what roles exist in the pipeline.</p><p>In the animation analogy, &#8220;writing every frame&#8221; is giving way to &#8220;directing the scene.&#8221; The programmer of the future will be less the line-by-line scribe and more the maestro &#8212; orchestrating AI agents, code generators, and simulation environments. We&#8217;ll still have people who can code from scratch, just as some animators still draw by hand, but most will work in a hybrid environment, adjusting the AI&#8217;s output, setting creative and technical direction, and managing a much larger scope than any one developer could handle alone. Maybe there will be a niche industry for &#8220;hand-written software&#8221; :) </p><p>The programmer&#8217;s craft will follow the same arc as animation. In place of writing every line, much of the work will involve guiding and integrating what machines produce: defining the architecture, reviewing generated components, making judgment calls on trade-offs and user experience, and ensuring the final system works as intended. Code generation, testing, optimization, and deployment will be handled largely by automated systems. The value shifts from typing instructions into a machine to shaping, supervising, and combining the work of many machine contributors into a coherent, functioning whole.</p><p>The trick is to see AI not as the machine that replaces the human, but as the render farm: tireless, exacting, and utterly useless without a clear creative brief. The animator&#8217;s craft didn&#8217;t vanish when the pencil left the desk; it shifted into new tools, new workflows, and new creative horizons. </p><p>Marginal cost and abundance might also come in play. <a href="https://en.wikipedia.org/wiki/Jevons_paradox">Jevons&#8217; paradox</a> tells us that when a resource becomes cheaper and more efficient to use, demand for it can increase rather than shrink. AI is set to do this for software. As the cost of building and maintaining applications falls, organizations that once couldn&#8217;t justify a custom solution will commission one. Niche tools, one-off internal apps, specialized workflows &#8212; all will become economically viable. </p><blockquote><p>&#8220;If AGI is successfully created, this technology could help us elevate humanity by increasing abundance, turbocharging the global economy, and aiding in the discovery of new scientific knowledge that changes the limits of possibility.&#8221; <a href="https://openai.com/index/planning-for-agi-and-beyond/">OpenAI</a></p></blockquote><p>Our future might see software companies employing far fewer engineers than today, but the total number of companies creating software, and the breadth of what they build, could grow substantially. That&#8217;s the <a href="https://openai.com/index/planning-for-agi-and-beyond/">abundance theory</a> that we hope AI will unleash. </p><p>We&#8217;ll just have to wait and see how &#8220;great plot unfolds&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[The last generation of programmers]]></title><description><![CDATA[At the dawn of the industrial loom, few weavers realized they were witnessing the end of their world.]]></description><link>https://www.cummulative.io/p/the-last-generation-of-programmers</link><guid isPermaLink="false">https://www.cummulative.io/p/the-last-generation-of-programmers</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 04 Aug 2025 16:57:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Rf2z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rf2z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rf2z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Rf2z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Rf2z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Rf2z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rf2z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generated image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generated image" title="Generated image" srcset="https://substackcdn.com/image/fetch/$s_!Rf2z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Rf2z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Rf2z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Rf2z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820dbb0b-3148-4857-a519-79f3cd01dd26_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#8220;The last (human) line&#8221; by the author and ChatGPT</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>At the dawn of the industrial loom, few weavers realized they were witnessing the end of their world. The whirring of mechanized looms in distant mills must have sounded like progress, not obsolescence. When electricity began to light city blocks, it arrived first as a novelty&#8212;a flickering bulb in a wealthy home&#8212;before spreading like wildfire through factories, streets, and lives. History has taught us that technological revolutions do not announce themselves with clarity. They arrive in whispers, scattered breakthroughs, subtle shifts in how we work and what we value. Then, all at once, the ground gives way. In the moment, it never feels like a transformation. It feels like turbulence. Confusion. Even boredom. Only later, in hindsight, do we see the rupture for what it was. </p><p>Today, I can&#8217;t help but wonder: are we in software development the frogs in the pot, warming to a boil we refuse to notice? Is AI merely making us faster&#8212;or quietly making us irrelevant? </p><p>This post explores one extreme of the AI endgame: not collaboration, but complete human displacement from the act of writing software.</p><div><hr></div><p>In 1900, 41% of Americans worked in agriculture. By 1950, that number had dropped to 12%. Today, it's less than 2%. The transformation wasn&#8217;t gradual&#8212;it was a cascade that began slowly, then accelerated with breathtaking speed once mechanization crossed a critical threshold.</p><p>We are now witnessing the opening act of an identical drama in software development. And the final curtain will fall within five years.</p><p>The analogy goes beyond job displacement. Just as the combine harvester didn&#8217;t merely help farmers work faster&#8212;it rendered most of them obsolete&#8212;AI isn&#8217;t simply making programmers more productive. It is redefining what programming is, who can do it, and whether humans should be involved at all.</p><p>Consider the printing press. Scribes didn&#8217;t evolve into &#8220;printing assistants.&#8221; Their profession vanished. Those who adapted became editors, publishers, or moved into entirely new domains. A handful remained as luxury artisans, hand-copying wedding invitations and illuminated manuscripts for the wealthy. This is the future awaiting software engineers: a tiny class serving niche markets, while machines handle the industrial production of code. </p><p>The signs are already here, and traditional software companies should be alarmed. GitHub Copilot now generates nearly half of the code in projects where it&#8217;s enabled (see <a href="https://visualstudiomagazine.com/articles/2023/02/15/copilot-upgrade.aspx?utm_source=chatgpt.com">here</a>). GPT-4 builds entire applications from natural language descriptions. Claude debugs complex systems and refactors legacy codebases. But these are just the opening moves. The real disruption comes as these capabilities compound.</p><p>By 2027, we will see the rise of what I call software synthesis systems&#8212;AI that doesn&#8217;t just autocomplete snippets, but architects entire applications from high-level business requirements. Imagine describing a banking platform to an AI that understands regulatory compliance, scalability, security frameworks, and UX best practices. Within hours, not months, it delivers production-ready code, complete with tests, documentation, and deployment pipelines. This isn&#8217;t science fiction. It&#8217;s the logical evolution of tools we already have.</p><p>The pattern of disruption will follow history: it begins at the bottom and moves up fast. Junior developers will disappear first. Their work&#8212;applying familiar patterns to well-scoped problems&#8212;is precisely what AI does best. We are already starting to see stress signals from the job market, especially for college graduates impacted by this &#8220;hollowing-out&#8221; effect:</p><blockquote><p>At Chicago recruiting firm Hirewell, marketing agency clients have all but stopped requesting entry-level staff&#8212;young grads once in high demand but whose work is now a &#8220;home run&#8221; for AI, the firm&#8217;s chief growth officer said. Dating app Grindr is hiring more seasoned engineers, forgoing some junior coders straight out of school, and CEO George Arison said companies are &#8220;going to need less and less people at the bottom.&#8221; source: <a href="https://www.wsj.com/lifestyle/careers/ai-entry-level-jobs-graduates-b224d624?">WSJ</a></p></blockquote><p>But the cascade won&#8217;t stop there. AI systems are already outperforming senior engineers in narrow domains: optimizing queries, designing APIs, even making complex architectural trade-offs. The hallowing-out will move up the stack.</p><div><hr></div><p>The most profound shift will be in who creates software. Just as desktop publishing democratized design and eliminated the typography profession, AI will make software creation accessible to anyone. Product managers will describe features and see them implemented &#8220;instantly&#8221;. Business analysts will prototype workflows without technical intermediaries. The barrier between idea and implementation will evaporate.</p><p>This will transform the very structure of companies. Today&#8217;s software organizations employ armies of engineers, architects, DevOps specialists, QA testers, and project managers. By 2030, a typical software company might consist of a handful of AI orchestrators, a few domain experts who deeply understand the business, and one or two humans to handle edge cases. The familiar engineering hierarchy&#8212;junior, senior, principal&#8212;will feel as anachronistic as the typing pools of the mid-20th century.</p><p>The economic implications are staggering. Software development today employs millions of highly paid professionals. These are not roles that can be easily absorbed elsewhere. They sit at the apex of the knowledge economy. When agriculture was automated, farmers became factory workers. When factories were automated, many moved into services. But where do programmers go when thinking itself is outsourced?</p><p>The answer lies in identifying what humans alone can contribute. Just as the rise of automobiles created new roles&#8212;traffic engineers, car designers, logistics planners&#8212;AI will open new frontiers. But those frontiers won&#8217;t be about typing code. They&#8217;ll be about directing AI systems toward valuable outcomes, integrating business and ethical context, and shaping the goals of machines that can build anything but understand nothing.</p><p>The most successful companies of 2030 will be those that adapt early. They&#8217;ll hire AI orchestrators instead of programmers, domain experts instead of technical specialists, and creative directors instead of engineering managers. Their edge won&#8217;t come from implementation talent, but from their ability to envision, constrain, and deploy machine intelligence with precision and imagination.</p><div><hr></div><p>This will not be a slow, decades-long handoff between humans and machines. Technological disruption doesn&#8217;t wait politely. It gathers in the background, invisible at first, then arrives all at once. The companies still hiring traditional software engineers in 2029 will resemble newspapers employing typesetters in 1990&#8212;technically operational, but drifting toward irrelevance.</p><p>The last generation of programmers is already among us. Many don&#8217;t realize it yet. They merge pull requests, review PRs, and plan their careers as if the ground beneath them isn&#8217;t shifting. But a few&#8212;the perceptive, the pragmatic, the quietly anxious&#8212;have begun preparing. They are learning how to direct AI rather than outpace it. They are developing deeper domain fluency, ethical intuition, and creative judgment. They are asking new questions.</p><p>Because something else is being lost. And the loss is not just economic.</p><p>It&#8217;s the late-night debugging session that ends in triumph and relief. The click of minds aligning in front of a whiteboard. The slow, quiet transformation from apprentice to master, measured not in promotions but in clarity of thought. That rhythm is fading. In its place: infinite ambiguity, frictionless generation, the disorienting pace of tools that invent faster than we can absorb. Everything is faster, but nothing settles. The future arrives before the present is done loading.</p><p>Still, history reminds us that the end of one practice is often the beginning of another.</p><p>When photography arrived, painting didn&#8217;t die&#8212;it turned inward and reimagined itself. When the synthesizer appeared, music fractured, recombined, and gave birth to entirely new genres. Software may do the same. Stripped of its syntax and tedium, it may evolve into something more expressive, more philosophical, more strange. We may stop writing code not because we&#8217;ve lost the will, but because we&#8217;ve found a better canvas.</p><p>And so the next revolution in software may not be in the writing at all, but in the choosing. In the asking. In the quiet, human work of deciding what should be built when anything can be.</p><p>The age of human code is ending.</p><p>What comes next is not ours to write&#8212;but to imagine.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Platform vs. Product]]></title><description><![CDATA[Why platforms win, and what product startups can do about it]]></description><link>https://www.cummulative.io/p/platform-vs-product</link><guid isPermaLink="false">https://www.cummulative.io/p/platform-vs-product</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 07 Jul 2025 15:10:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jP8K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.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_!jP8K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jP8K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jP8K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jP8K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jP8K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jP8K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg" width="708" height="627.4664484451719" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1083,&quot;width&quot;:1222,&quot;resizeWidth&quot;:708,&quot;bytes&quot;:457459,&quot;alt&quot;:&quot;Media generated by meta.ai&quot;,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Media generated by meta.ai" title="Media generated by meta.ai" srcset="https://substackcdn.com/image/fetch/$s_!jP8K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jP8K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jP8K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jP8K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f7e432-1688-469d-895b-643fbf4325e8_1222x1083.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image by the author and meta.ai</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>In the early days, all startups are products. They solve a narrow, painful problem exceptionally well&#8212;better than anything that exists. Their advantage is sharpness. They can move fast, iterate quickly, and deliver value to a specific user or team without needing buy-in from the entire org.</p><p>But as they grow, they encounter a powerful adversary: the Platform.</p><p>The platform doesn&#8217;t need to be better. It just needs to be broad. It doesn&#8217;t win because it delights users&#8212;it wins because it satisfies buyers. The platform is not about elegance; it&#8217;s about inevitability. The Platform, in the words of Steve Ballmer is:</p><blockquote><p>&#8220;There was IBM man. <em>IBM was still the sun, the moon, and the stars" Source: <a href="https://www.acquired.fm/episodes/the-steve-ballmer-interview">Acquired</a></em></p></blockquote><h3>What Is a Platform?</h3><p>A platform is not just a big product. It&#8217;s a unified system that serves multiple use cases across different teams. It offers extensibility, integration, and a coherent architecture that can absorb new features and surface areas without losing control.</p><p>Salesforce is a platform. It began as a CRM, but expanded horizontally into service, marketing, analytics, and development tooling. More importantly, it opened itself vertically&#8212;via AppExchange and Force.com&#8212;to become programmable and integratabtle. That&#8217;s when it stopped being a product company and became a gravity well.</p><h3>Why buyers prefer Platforms</h3><p><strong>Multi-Use justification</strong><br>Products often serve one team or use case. Platforms can spread their value across many teams and use cases, they can often span the entire organization. That makes the buying decision easier to justify internally.</p><p><strong>One vendor, one contract</strong><br>Procurement prefers fewer vendors. It reduces compliance surface area, legal overhead, and integration risk. Platforms win here by simplifying the relationship&#8212;even if the tools are weaker.</p><p><strong>Pricing power through bundling</strong><br>Platforms can offer &#8220;good enough&#8221; features for free as part of a broader package. A standalone vendor charging six figures for a specialized tool can&#8217;t compete with a bundled checkbox.</p><p><strong>Perception of integration</strong><br>Even if the experience isn&#8217;t perfectly integrated, the illusion of cohesion&#8212;one UI, one login, one data model&#8212;is powerful. Platforms promise harmony, even if it&#8217;s shallow.</p><p>The result? Buyers choose platforms more often than not. Even when products are better. So, if you&#8217;re a startup building a great product, what can you do?</p><div><hr></div><p>So what can a startup that it at the product stage do to counter a platform? There are four paths that I can think of.</p><p><strong>Become a Platform</strong></p><p>The first and most ambitious path is to fight fire with fire: build enough surface area to become a platform yourself.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XFxP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XFxP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png 424w, https://substackcdn.com/image/fetch/$s_!XFxP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png 848w, https://substackcdn.com/image/fetch/$s_!XFxP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png 1272w, https://substackcdn.com/image/fetch/$s_!XFxP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XFxP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png" width="1456" height="233" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:233,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Databricks vector logo in (svg, eps) for free - Brandlogos.net&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Databricks vector logo in (svg, eps) for free - Brandlogos.net" title="Databricks vector logo in (svg, eps) for free - Brandlogos.net" srcset="https://substackcdn.com/image/fetch/$s_!XFxP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png 424w, https://substackcdn.com/image/fetch/$s_!XFxP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png 848w, https://substackcdn.com/image/fetch/$s_!XFxP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png 1272w, https://substackcdn.com/image/fetch/$s_!XFxP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca1e1d-5fc9-4067-a588-3ced2341ab4e_1683x269.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Databricks is the clearest modern example. It started as an execution engine for Apache Spark&#8212;focused on distributed compute for data science. Over time, it expanded across every layer of the data stack. It launched Delta Lake its own table format (it also acquired Tabular), then Unity Catalog (governance and security), added Databricks SQL to support traditional BI workloads, and most recently moved into OLTP via its acquisition of Neon. It now serves ML, analytics, storage, security, governance, and transactions&#8212;all within one programmable control plane.</p><p>Databricks didn&#8217;t just build more features. It built a system. It stitched together a coherent and expanding story that let it compete not just with Snowflake on storage and analytics, but with the entire enterprise data platform ecosystem.</p><p>Becoming a platform means you have to scale your roadmap, your architecture, and your market narrative&#8212;all at once. It is capital intensive, organizationally demanding, and technically non-trivial. But if you succeed, you escape product gravity and create your own.</p><p><strong>Become a 100x better Product</strong></p><p>If you can&#8217;t match breadth, you can still dominate through depth. You can win by being so much better than the platform&#8217;s equivalent that buyers are forced to notice&#8212;and adopt&#8212;even if it creates friction.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1H4N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1H4N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png 424w, https://substackcdn.com/image/fetch/$s_!1H4N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png 848w, https://substackcdn.com/image/fetch/$s_!1H4N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png 1272w, https://substackcdn.com/image/fetch/$s_!1H4N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1H4N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png" width="1260" height="240" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:240,&quot;width&quot;:1260,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Wiz Reviews 2025: Details, Pricing, &amp; Features | G2&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Wiz Reviews 2025: Details, Pricing, &amp; Features | G2" title="Wiz Reviews 2025: Details, Pricing, &amp; Features | G2" srcset="https://substackcdn.com/image/fetch/$s_!1H4N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png 424w, https://substackcdn.com/image/fetch/$s_!1H4N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png 848w, https://substackcdn.com/image/fetch/$s_!1H4N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png 1272w, https://substackcdn.com/image/fetch/$s_!1H4N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a5b4221-0dcc-4e65-807e-e80618bdf6b5_1260x240.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Wiz is the canonical example here. The cloud security market is filled with platform incumbents: Palo Alto, CrowdStrike, Check Point, and more. But Wiz redefined the category with a radically better product. It was agentless, deployed via cloud provider APIs, and delivered full-stack visibility within minutes. It worked across AWS, Azure, and GCP without deep installation work. No agents, no fragmentation, no stitching together consoles.</p><p>Wiz didn&#8217;t try to integrate with the legacy platforms. It ignored them. Instead, it focused on clarity, speed, and usability. In doing so, it made everything else look slow and bloated. That strategy powered it from launch to a $10B+ valuation in less than five years, culminating in a $32B acquisition offer from Google.</p><p>This approach works when the buyer is facing a deep enough pain that &#8220;good enough&#8221; won&#8217;t do. It works when your product reframes expectations, not just improves metrics. But being 100x better isn&#8217;t easy. It means you can&#8217;t just be faster&#8212;you have to be <em>unignorable</em>.</p><p><strong>Own a niche the Platform ignores</strong></p><p>Most platforms follow the money. They build for large markets and common denominators. That creates white space&#8212;edges and verticals where they can&#8217;t, or won&#8217;t, focus.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bd9e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bd9e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png 424w, https://substackcdn.com/image/fetch/$s_!Bd9e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png 848w, https://substackcdn.com/image/fetch/$s_!Bd9e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png 1272w, https://substackcdn.com/image/fetch/$s_!Bd9e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bd9e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png" width="568" height="179.74683544303798" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:250,&quot;width&quot;:790,&quot;resizeWidth&quot;:568,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Unleash Data-Driven Innovation with Unified Analytics and Collaborative  Governance - Dremio&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Unleash Data-Driven Innovation with Unified Analytics and Collaborative  Governance - Dremio" title="Unleash Data-Driven Innovation with Unified Analytics and Collaborative  Governance - Dremio" srcset="https://substackcdn.com/image/fetch/$s_!Bd9e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png 424w, https://substackcdn.com/image/fetch/$s_!Bd9e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png 848w, https://substackcdn.com/image/fetch/$s_!Bd9e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png 1272w, https://substackcdn.com/image/fetch/$s_!Bd9e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6d8718-d388-42ae-a289-e7fd7ae877ca_790x250.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Dremio may represent this play. Competing with Snowflake and Databricks on performance or ecosystem is difficult. But there's a niche hiding in plain sight: on-premises Hadoop modernization.</p><p>There are still thousands of enterprises running on-premises Hadoop clusters&#8212;many of them large, complex, and too risky to &#8220;lift and shift.&#8221; Snowflake and Databricks are largely cloud-native, and neither has invested deeply in hybrid execution or transitional architectures. Dremio, with its roots in Apache Arrow and focus on data lake query acceleration, could position itself as the best migration bridge for organizations stuck on Cloudera-era tech.</p><p>Being a niche player means accepting a smaller TAM. But it also means less competition, more defensibility, and longer customer retention&#8212;especially if the niche is underserved and high-margin. Niches can also be acquisition targets for Platforms. A Platform player might want to acquire a Niche player to extend its Platform into an area the Niche serves. </p><p><strong>Become a zombie</strong></p><p>The final option isn&#8217;t really a strategy&#8212;it&#8217;s what happens by default if you do nothing.</p><p>You stay a product. The platform copies your feature. Or gives it away for free. Or makes the buyer feel like your existence is friction, not leverage. You become a zombie.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6wix!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6wix!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png 424w, https://substackcdn.com/image/fetch/$s_!6wix!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png 848w, https://substackcdn.com/image/fetch/$s_!6wix!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png 1272w, https://substackcdn.com/image/fetch/$s_!6wix!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6wix!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png" width="278" height="278" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:512,&quot;width&quot;:512,&quot;resizeWidth&quot;:278,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Zombie - Free halloween icons&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Zombie - Free halloween icons" title="Zombie - Free halloween icons" srcset="https://substackcdn.com/image/fetch/$s_!6wix!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png 424w, https://substackcdn.com/image/fetch/$s_!6wix!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png 848w, https://substackcdn.com/image/fetch/$s_!6wix!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.png 1272w, https://substackcdn.com/image/fetch/$s_!6wix!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b78afed-8b4b-4a9f-8373-5960733465e6_512x512.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 role="img" 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><title></title><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>Without enough differentiation, and without ecosystem leverage, you drift into procurement purgatory. You get cut in every budget cycle. Your ACVs shrink. Your growth stalls. And eventually, your best customers churn&#8212;because they were only using you until the platform was &#8220;good enough.&#8221;</p><p>This is the quadrant nobody wants to be in&#8212;but one many startups find themselves in without realizing it.</p><div><hr></div><h2>So What should you do?</h2><p>In retrospect, the most successful startups almost always follow one of two paths: they either become platforms, or they become 100x better products. That&#8217;s where outsized outcomes live. That&#8217;s how you change the game.</p><p>Becoming a platform gives you gravity. Becoming a 100x product gives you velocity. One lets you pull others into your orbit. The other lets you break free from theirs.</p><p>But not every startup can get there.</p><p>Becoming a platform requires capital, long-term vision, and organizational range. You need to build surface area fast enough that your expansion feels like momentum, not distraction. That&#8217;s not just a roadmap problem&#8212;it&#8217;s a team, execution, and funding challenge.</p><p>Becoming a 100x product demands deep product insight, technical elegance, and absolute clarity about what pain you&#8217;re solving. It often means ignoring everything that doesn&#8217;t contribute to core value&#8212;and enduring the friction that comes from standing outside the ecosystem.</p><p>If you can't do either, the next best option is to own a niche. A narrow but defensible segment. A vertical where the platform is weak or absent. A buyer persona overlooked by the mainstream. You won&#8217;t win the market, but you can win a market&#8212;and build a durable business on that footing.</p><p>But there&#8217;s no dignity in drifting.</p><p>If you fail to choose, you end up in the dead zone. Not differentiated enough to command attention. Not integrated enough to ride coattails. Not focused enough to dominate a niche. You become a zombie&#8212;just good enough to stay alive, but not good enough to grow.</p><p>So choose. Choose boldly and early. Be a platform. Be a 100x product. Own a niche. But whatever you do, don&#8217;t drift into irrelevance hoping the market will notice. It won&#8217;t.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Securing AI Agents: Lessons from microservices & Zero Trust]]></title><description><![CDATA[This post is a little different than my usual ones.]]></description><link>https://www.cummulative.io/p/securing-ai-agents-lessons-from-microservices</link><guid isPermaLink="false">https://www.cummulative.io/p/securing-ai-agents-lessons-from-microservices</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Tue, 10 Jun 2025 15:20:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!H9dp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.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_!H9dp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H9dp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!H9dp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!H9dp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!H9dp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H9dp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg" width="1280" height="1280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1280,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image generated by meta.ai from prompt A sleek robot AI agent&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image generated by meta.ai from prompt A sleek robot AI agent" title="Image generated by meta.ai from prompt A sleek robot AI agent" srcset="https://substackcdn.com/image/fetch/$s_!H9dp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!H9dp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!H9dp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!H9dp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce28a526-fa48-4f66-aa0b-c7b905888181_1280x1280.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image by the author and Meta.ai</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>This post is a little different than my usual ones. It lives somewhere between my day job&#8212;thinking about identity, access, and governance at StrongDM&#8212;and a topic that seems to have taken over every architecture conversation lately: AI agents. You can&#8217;t swing a virtual stick these days without hitting a demo where an agent is booking meetings, writing code, or orchestrating cloud workflows. But with great autonomy comes great... attack surface. This is a longer, deeper dive into one specific corner of the problem space: how we govern and secure what these agents can actually <em>do</em>. If it reads a little nerdier than usual, that&#8217;s because it is. But if your AI agents are starting to look less like chatbots and more like coworkers with API keys, I think you&#8217;ll find it relevant.</p><div><hr></div><p>AI agents are rapidly becoming a new force in enterprises, evolving into sophisticated digital co-workers. These autonomous, AI-driven programs can perceive, decide, and act within digital systems, offering capabilities far beyond traditional scripted chatbots or robotic process automation (RPA) scripts. From customer support bots that resolve complex issues to finance agents that analyze and even initiate transactions, AI agents are redefining how businesses operate. Unlike their predecessors, modern AI agents possess a remarkable degree of autonomy and adaptability, enabling them to pursue higher-level goals, interact with multiple applications, and make independent decisions. </p><p>The very qualities that make AI agents so powerful&#8212;their autonomy and ability to dynamically plan actions&#8212;also introduce unpredictability. Earlier generations of AI, like simple chatbots or recommender systems, only responded to specific prompts. In contrast, an autonomous agent can initiate actions independently, creating ambiguities in oversight and accountability. For instance, an AI agent integrated with HR and finance systems might decide to issue a refund or reconfigure a server without explicit human intervention. This level of initiative can quickly become a security nightmare if not properly governed.</p><p>At their core, AI agents introduce a new type of non-human identity within our digital systems&#8212;one that can act with substantial independence. This new paradigm has caught many organizations off guard. Just as human users require rigorous authentication, authorization, and oversight, these non-human agents demand similar scrutiny. However, the practices for doing so are still nascent. Key security requirements are emerging, including identifying human users to the agent, enabling the agent to securely call APIs on users&#8217; behalf, managing long-lived agent workflows, and enforcing fine-grained data access so agents only see what the user is permitted to. Enterprises are currently scrambling to address these needs, often building ad-hoc, "DIY" controls due to the lack of an established blueprint for securing AI agents end-to-end.</p><h3>AI Agents ~= Microservices?</h3><p>While securing AI agents presents unique challenges, we can draw valuable inspiration from a field that previously dealt with a similar challenge of distributed, non-human actors: microservices. The shift to cloud and microservices over the past decade forced organizations to secure a complex web of APIs and automated services communicating with each other. This led to the development of robust security patterns that are highly relevant to AI agents today. At a high level, the industry learned to treat every service or workload as an independent principal with strict security controls, embodying the essence of modern zero trust architecture: <em>even within your network, every request between components must prove its identity and be explicitly authorized.</em></p><p>Specifically, microservice architectures adopted several key practices that map well to the security needs of AI agents:</p><p><strong>Workload identity + mTLs + e2e encryption:</strong> Instead of implicitly trusting a service because it resides on the internal network, each microservice is issued a unique cryptographic identity (e.g., an X.509 certificate or JWT). Services authenticate to each other via mutual TLS handshakes or token exchange, cryptographically verifying the origin of every call. This approach, pioneered in cloud-native systems, ensures that no service communicates with another without proof of identity. The same principle applies to AI agents: every agent instance should present credentials (certificates or tokens) that a target system validates on each interaction. By using strong, auto-rotating identities instead of static API keys or passwords, it becomes significantly harder for an attacker to impersonate an agent or intercept its communications. Additionally, all service-to-service communication is typically encrypted and authenticated, often via service mesh infrastructure, ensuring that messages cannot be read or tampered with even if an attacker sniffs the internal network.</p><p><strong>Fine-Grained Access Control (FGAC):</strong> Identity alone is insufficient; it's also crucial to restrict what each service or agent is allowed to do. In microservices, this led to the adoption of fine-grained authorization policies, often implemented via policy engines or attribute-based access control. Instead of a service having blanket "admin" rights, it receives only the minimum permissions it absolutely needs&#8212;the principle of least privilege. For example, a reporting microservice might only be allowed to read customer data but never delete it. Similarly, an AI sales agent designed to draft emails and log notes should only have permission to create records in the CRM, not to drop entire tables. </p><p><strong>Delegated access (OAuth2):</strong> When microservices need to access data on behalf of a user, they commonly use protocols like OAuth2 rather than storing user passwords. A classic pattern involves the OAuth2 client credentials or token exchange flow, where the service obtains a scoped token that specifies, "This is Service X acting for User Y, allowed to do Z." This enables backend services to make delegated API calls with bounded scopes, meaning that if the token is leaked or misused, its powers are limited and time-bound. AI agents should follow this practice. For instance, if an AI customer support agent needs to retrieve a user&#8217;s order history from an e-commerce API, it should use the company&#8217;s OAuth mechanism to request a token scoped to "read order history for user X," rather than logging in with a master admin credential. </p><p>In summary, the microservices world taught us to treat machine identities seriously and eliminate implicit trust. We implemented strong identities, thorough authentication on each request, fine-grained authorization, encryption in transit, and robust auditing. </p><div><hr></div><h3>AI Agents != Microservices</h3><p>While many microservice best practices carry over, AI agents are not identical to microservices. Their unpredictability and learning capabilities introduce aspects where the traditional model falls short, requiring adaptation.</p><p><strong>Dynamic and unpredictable behavior:</strong> Microservices execute code that developers explicitly wrote and vetted. An AI agent, on the other hand, can dynamically devise new action sequences in response to changing inputs. This means an agent might attempt an operation no one explicitly anticipated. Static roles and permissions cannot fully capture the fluid context in which agents operate. What&#8217;s needed are context-aware, just-in-time permissions that adjust based on the agent&#8217;s current task, risk level, and observed behavior. </p><p><strong>Extended privileges and lifecycle:</strong> Microservices typically run with fixed scopes and are often short-lived processes designed to perform a single task. AI agents, however, might persist and evolve over time; some agents even generate new code or spin up sub-agents as part of their operation. This blurs the boundary of what exactly we are securing. If an agent can instantiate new helper processes to handle subtasks, those new processes also need identities and oversight. A misconfigured agent could accidentally launch a tool that bypasses normal controls. In contrast to microservice security&#8217;s assumption of a relatively static topology, agent security must handle a more fluid, self-modifying environment.</p><p><strong>Human+AI :</strong> With microservices, human intervention for routine API calls was rarely considered, as the logic was deterministic. But AI agents can venture into ambiguous territory where a human approval step is prudent. We might need to define which agent-initiated actions require a "checkpoint"&#8212;be it a manager&#8217;s approval, a secondary confirmation from another system, or additional validation. This concept of human-in-the-loop checkpoints adds an extra layer on top of microservice-style controls.</p><p>Its worth noting that, AI agents are susceptible to novel attack vectors, such as prompt injection, where malicious inputs can trick the agent into performing unintended actions. These attack vectors are unique to agents and have no equivalent in the microservices space. Hence, the ability to map security principles from microservices 1:1 to agents will not cover the idiosyncratic security challenges of agents.</p><p>The bottom line is that microservices security provides a necessary foundation, but AI agents demand an even more fine-tuned and vigilant approach. We must assume these agents will surprise us, so our security model has to be dynamic, granular, and infused with skepticism at every turn. </p><div><hr></div><h2>Zero Trust: Agent edition</h2><p>To effectively govern and secure autonomous AI agents, organizations should adopt a forward-looking, Zero Trust mindset combined with granular policy guardrails. In practice, this means treating AI agents as untrusted by default&#8212;just like any external user or service&#8212;and enforcing strict verification, least privilege, and continuous oversight. Therefore, my key principles for robust AI agent security include:</p><p><strong>Trust, but verify:</strong> Every interaction involving an AI agent should require explicit authentication and authorization, as if it were an external entity. No agent gets a free pass simply for being "inside" the firewall. We must "assume the worst"&#8212;that any agent or component could be compromised&#8212;and verify every call and request in your systems accordingly. This includes internal API calls, database queries, file access, and more. Each time, the agent&#8217;s identity, the action it&#8217;s attempting to perform, and the context should be meticulously checked against policy. </p><p><strong>Least privilege access:</strong> As with microservices, granting AI agents the minimum privileges they need is crucial&#8212;arguably even more so, given their inherent unpredictability. If a customer support agent only needs to read knowledge base articles and create support tickets, that&#8217;s all it should be allowed to do. Least privilege significantly limits the damage if an agent malfunctions or is hijacked. </p><p><strong>Dynamic, Just-In-Time access:</strong> Given the fluid nature of AI workflows, it&#8217;s wise to use short-lived credentials and dynamic privilege escalation rather than static keys or permanent admin rights. In cloud security, we&#8217;ve learned to use ephemeral tokens (e.g., AWS IAM roles that issue temporary credentials for 15 minutes). AI agents should be equipped similarly. Issue them short-duration tokens or certificates that expire quickly, so even if leaked, they cannot be abused for long. If an agent needs elevated access for a special task, adopt a just-in-time access model: have it request the higher privilege at the moment of need, obtain approval (automated or human), and then auto-revoke it after a brief window</p><p><strong>Continuous Monitoring and Verification:</strong> AI agents operate continuously, potentially making thousands of decisions. Security cannot be a one-time gate at login; it must be an ongoing process. Organizations should monitor agent behavior in real-time and flag anomalies. This could involve tracking metrics such as: Is the agent suddenly reading an unusual amount of data? Is it accessing systems it has never used before? Such monitoring might feed into an automated risk scoring system that can dial down permissions or alert security staff if an agent acts out of bounds. Equally important is maintaining detailed logs of all agent actions&#8212;every API call, every critical decision&#8212;to enable forensic analysis and accountability.</p><p><strong>Policy-as-Code:</strong> This is arguably the most critical element and is key for FGAC. In a complex, dynamic environment, manual or ad-hoc security rules will not scale. Enterprises should express their AI governance and security rules as code, similar to how infrastructure-as-code revolutionized operations. Using a policy-as-code framework ensures that all these decisions (what an agent can access, when to require human approval, what constitutes abnormal behavior) are defined in a versioned, testable, and automatable way. For example, a policy rule might state: "AI agent X may only access database Y during business hours and must have an active user session token if it&#8217;s reading personal data." By encoding this in a policy engine like <a href="https://www.youtube.com/watch?v=djso4sWHPiw&amp;ab_channel=StrongDM">StrongDM&#8217;s Cedar Policy Engine</a>, enforcement becomes consistent across all systems. Policy-as-code also simplifies audits by providing a single source of truth for agent permissions. It's an approach that vendors have promoted to unify security checks in an auditable, automated framework and is increasingly considered a best practice. </p><p>There&#8217;s one wrinkle to FGAC and policies: where and who evaluates these policies? </p><p>If every system an agent touches&#8212;databases, SaaS APIs, internal services&#8212;enforces policy independently, it becomes nearly impossible to manage or reason about the agent&#8217;s effective privileges. Policies will diverge, gaps will emerge, and no centralized system will have visibility into what the agent is actually allowed to do in any given context. The result is an incoherent security posture vulnerable to drift and privilege escalation. The solution is to shift policy enforcement up to the agent orchestration layer&#8212;the component that mediates between the agent&#8217;s reasoning loop and the concrete actions it takes on enterprise systems. By enforcing FGAC policies in the orchestrator, organizations can apply consistent, context-aware rules across all tools and services the agent might access. Backend systems should still maintain static guardrails, but dynamic policy&#8212;governed by who the agent is, what data it has seen, what user it may represent, and what the current risk posture is&#8212;must be enforced at the orchestration layer, before actions are executed. </p><div><hr></div><p>I started this (lengthy) post drawing on an analogy between AI agents and microservices. At first glance, both appear similar. Both are automated actors operating in distributed systems, invoking APIs, exchanging data, and requiring authentication and authorization. It is natural&#8212;and useful&#8212;to borrow proven patterns from microservices security as a starting point for governing agents. </p><p>But this is ultimately an analogy, and analogies can introduce dangerous biases. Where microservices execute predefined, deterministic code, agents reason dynamically, generate novel actions, and evolve their internal state over time. Microservice interactions are typically bounded; agent workflows are stateful, open-ended, and prone to influence by untrusted inputs. Relying too heavily on the analogy risks underestimating these differences and overlooking the need for new control points&#8212;especially around information flow, prompt lineage, orchestrator policy enforcement, and dynamic privilege management. </p><p>The core lesson is this: we should absolutely leverage the security insights of the microservices era, but we must also recognize where agents fundamentally differ, and design accordingly. The cost of getting this wrong is high&#8212;not just fragmented policy, but real risk of uncontrolled agent behavior.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[The end of (human) coding: What happens when AI writes all the code?]]></title><description><![CDATA[Over the past two weeks, I&#8217;ve been using OpenAI Codex extensively&#8212;and the experience has been nothing short of profound.]]></description><link>https://www.cummulative.io/p/the-end-of-human-coding-what-happens</link><guid isPermaLink="false">https://www.cummulative.io/p/the-end-of-human-coding-what-happens</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 02 Jun 2025 15:24:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VC1d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VC1d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VC1d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!VC1d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!VC1d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!VC1d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VC1d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3323917,&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.cummulative.io/i/164963560?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.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_!VC1d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!VC1d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!VC1d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!VC1d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c242e85-fb05-4a45-bbcd-452445674b5e_1024x1536.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 role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>Over the past two weeks, I&#8217;ve been using OpenAI Codex extensively&#8212;and the experience has been nothing short of profound. It reminded me of the first time I used the internet or sent an email: that jolt of realization that everything was about to change. With Codex, I wasn&#8217;t just writing code&#8212;I was collaborating with a system that could understand intent, anticipate next steps, and translate natural language into functional software. It was equal parts exhilarating and unsettling. In those moments, it became clear to me that we&#8217;ve reached a watershed moment in the history of software development. The tools we use, the skills we prioritize, and even the very identity of a software developer are all on the brink of transformation. This isn&#8217;t just an incremental leap in productivity&#8212;it&#8217;s the dawn of an entirely new era.</p><p>We are approaching a profound inflection point in software development. For decades, writing software meant wrestling with syntax, typing logic line by line, and debugging flows manually. But with the rapid ascent of generative AI, this model is breaking down. Soon, code won&#8217;t be handcrafted&#8212;it will be inferred, synthesized, and generated from natural language. The developer&#8217;s primary task won&#8217;t be writing code, but expressing intent.</p><p>This shift isn&#8217;t a matter of productivity alone. It rewires the fundamentals of what it means to build software. In a future where AI writes most of the code, the role of human developers evolves from coders to intent architects. They won&#8217;t be programming machines&#8212;they&#8217;ll be shaping systems, guiding models, and validating behaviors. And this shift will be as disruptive as it is liberating.</p><h3>Humans as intent architects</h3><p>In the new paradigm, humans define what they want software to do, not how to implement it. Developers articulate goals, constraints, and desired behaviors in natural language or domain-specific formats. AI then translates these specifications into executable code, often generating everything from the user interface to backend services and deployment pipelines.</p><p>This doesn&#8217;t mean the developer disappears. Instead, their expertise migrates upstream. They become curators of clarity&#8212;refining how problems are framed, ensuring that context is captured accurately, and steering the AI toward solutions that align with business and ethical goals. Programming becomes less about syntax and more about intent refinement, architecture shaping, and iterative dialogue with intelligent agents.</p><p>But this upstream shift in responsibility brings with it a new kind of challenge&#8212;one rooted not in creation, but in comprehension. As AI becomes the primary author of software, the scale and volume of code being produced will vastly outstrip human capacity to parse it line by line. The act of reading code, once a cornerstone of engineering rigor, becomes increasingly obsolete. We&#8217;re already starting to see signs of this strain on human software developers with some Amazon developers comparing their jobs now, with AI, <a href="https://www.nytimes.com/2025/05/25/business/amazon-ai-coders.html">resembling that of warehouse workers</a></p><p>In this new landscape, how do we ensure that what the machine builds is correct, secure, and aligned with our goals?</p><div><hr></div><p>As AI systems generate more code than any human could review, the traditional concept of code review breaks down. It simply won&#8217;t be feasible&#8212;or useful&#8212;for humans to read every line. Instead, validation becomes the new review. Rather than inspecting source code, developers will validate behavior: Does the system do what we expect? Does it meet performance constraints? Are security and compliance guarantees upheld?</p><p>Testing becomes both broader and deeper. Developers write declarative specifications of what the software should do, and AI executes thousands of permutations, simulating edge cases and probing for logical flaws. The human engineer becomes the overseer of test outcomes, watching for deviations and updating constraints rather than chasing bugs through lines of code.</p><p>And just as humans can no longer keep up with the sheer scale of code output, we will increasingly rely on AI systems not just to write, but to police each other. This evolution in oversight redefines how trust and reliability are enforced.</p><p>To manage the scale and complexity of AI-generated code, we&#8217;ll deploy AI agents to test and monitor other AI agents. Dedicated watchdog systems will continuously observe application behavior, looking for regressions, performance drifts, or security anomalies. Adversarial agents will attempt to break the system&#8212;stress-testing logic and simulating attacks.</p><p>This creates a self-regulating ecosystem, where AI writes the code, other AIs validate and harden it, and humans supervise the orchestration. Much like modern airplanes are flown by software that is itself monitored by redundant control systems, future software will be created and sustained through layers of autonomous agents designed to cross-check and audit one another.</p><p>And within this AI mesh, the human&#8217;s job becomes less about operational control and more about architectural influence&#8212;designing constraints and guiding principles rather than functions.</p><div><hr></div><p>With AI generating the actual implementation, human developers focus on designing the scaffolding around the system: constraints, boundaries, guardrails. They shape operating envelopes&#8212;what the system is allowed to do&#8212;and define high-level policies that guide AI decision-making. Rather than debugging functions, they define what safe, secure, and ethical behavior looks like.</p><p>This also shifts responsibility. The engineer becomes accountable for the system&#8217;s intent and alignment, not just its output. They must ensure that the AI optimizes for the right objectives and that unintended consequences are caught early. Governance becomes a core skill, as developers act more like system stewards than builders.</p><p>In essence, the nature of software creation becomes more abstract, and in doing so, more holistic. The emphasis moves from construction to choreography.</p><p>Eventually, &#8220;programming&#8221; may resemble simulation and systems design more than traditional development. Developers will construct hypothetical models of what a system should do, simulate its behavior in sandbox environments, and deploy iteratively. Tooling will evolve to provide explanations&#8212;summaries of what each AI-generated module does, how it was derived, and where it diverged from previous behavior.</p><p>In this world, developers will spend more time watching systems behave than typing logic. It will feel less like writing code and more like directing a living organism. The interface between humans and machines will shift from keystrokes to iterative interaction&#8212;hypothesize, test, refine, and observe.</p><p>And yet, with this remarkable transformation comes a subtle loss&#8212;one that developers will feel in ways that aren&#8217;t easy to quantify.</p><h3>The creativity impact: Is intent enough?</h3><p>There is an inherently creative joy in writing software&#8212;the act of shaping ideas into logic, the satisfaction of elegant syntax, the meditative rhythm of solving problems through code. When that work is offloaded to AI, we don&#8217;t just eliminate drudgery; we surrender a part of the artistic process.</p><p>Reviewing code is not creative. Shaping architecture, validating tests, and managing system alignment&#8212;these are necessary and critical, but they are not the same as building from scratch. We risk turning the developer into a curator of behavior rather than a maker of tools.</p><p>Yet perhaps this is a narrow view of creativity. Perhaps the creative act isn&#8217;t writing the code&#8212;it&#8217;s defining the intent behind the code. Maybe creativity now lives in how we describe problems, how we imagine new systems, how we constrain and orchestrate AI&#8217;s execution.</p><p>Still, something changes. The tactile intimacy of code vanishes. And as we enter this new age, we must ensure we don&#8217;t lose sight of the human spark that made software beautiful in the first place.</p><p>Ultimately, the most profound change is philosophical. Humans stop being the authors of software and start becoming the governors of software-producing systems. We stop wrestling with the machine and instead guide the machine that builds the machine. Our job is to test alignment, spot drift, shape ethical boundaries, and ensure that the systems we create serve meaningful human goals.</p><p>This won&#8217;t be easy. It demands new skills, new tools, and a rethinking of software education. But it also offers a path toward unimaginable productivity and creativity. In the end, AI won&#8217;t make developers obsolete&#8212;it will elevate them, allowing them to operate at the level of ideas, not syntax. </p><p>The future of software isn&#8217;t less human. It&#8217;s more human, because we&#8217;ll finally be free to focus on what matters most: vision, values, and intent.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Shipping fast and staying clean: How to tame tech debt in a high-growth startup?]]></title><description><![CDATA[There&#8217;s a moment in every startup&#8217;s life when the code starts creaking.]]></description><link>https://www.cummulative.io/p/shipping-fast-and-staying-clean-how</link><guid isPermaLink="false">https://www.cummulative.io/p/shipping-fast-and-staying-clean-how</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 21 Apr 2025 21:35:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Vb9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.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_!Vb9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg" width="1280" height="1280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1280,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Media generated by meta.ai&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Media generated by meta.ai" title="Media generated by meta.ai" srcset="https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vb9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c5ca0ff-8d54-4513-8275-f7ce9bcba1d7_1280x1280.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image by Karim and Meta AI</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>There&#8217;s a moment in every startup&#8217;s life when the code starts creaking.</p><p>The product is taking off, engineering headcount is doubling, and delivery pressure is peaking. But the codebase &#8212; the quiet foundation beneath it all &#8212; is groaning under the weight of shortcuts, TODOs, and one-off hacks that were never meant to last. The team is shipping fast, but you can sense the drag. New engineers get stuck. Features take longer. Bugs feel familiar.</p><p>Welcome to the invisible gravity of technical debt.</p><p>At a fast growth startup, this moment comes fast and hard. You&#8217;re hiring aggressively, onboarding new engineers weekly, and running sprints at full tilt. There&#8217;s no appetite for a six-month rewrite. But there&#8217;s also no future in letting tech debt accumulate unchecked. So the question becomes: how do you sustain velocity without mortgaging the long-term health of your codebase?</p><p>Here&#8217;s how we think about it.</p><div><hr></div><h3><strong>Integrate tech debt into the sprint &#8212; always</strong></h3><p>Don&#8217;t treat tech debt as a separate initiative. It lives inside the sprint (or whatever working model you are adopting), side by side with feature work. That means that every team, every sprint, is expected to allocate a portion of their capacity to paying down debt &#8212; reviewing brittle code, refactoring awkward abstractions, deleting dead paths. </p><p>Some teams keep it loose, picking up debt items mid-sprint when they hit friction. Others are more structured, blocking off a fixed percentage of sprint time. My preference is to not allocate a fixed capacity and instead deal with it as it arises. Either way, the mindset is the same: tech debt is not a tax, it&#8217;s a part of the work. You don&#8217;t pause to clean the kitchen &#8212; you clean as you cook.</p><p>The upside is obvious: you reduce entropy incrementally, without stalling delivery. The risk, of course, is that tech debt becomes an afterthought &#8212; deprioritized when deadlines loom. That&#8217;s why we pair this practice with something else: visibility.</p><div><hr></div><h3><strong>Visibility: maintain a living backlog of technical debt</strong></h3><p>It&#8217;s tempting to let tech debt live in engineers&#8217; heads. Don&#8217;t.</p><p>You should maintain a shared, visible backlog of known debt &#8212; real items, with descriptions, tags, severity levels, and suggested owners. It&#8217;s treated like any other backlog. Product managers, tech leads, and ICs can all contribute. It&#8217;s a running inventory of the friction points we&#8217;re actively choosing to accept (or not).</p><p>And here&#8217;s the nuance: don&#8217;t just wait for teams to volunteer to fix it. EMs and tech leads should routinely pull from the backlog and assign items into sprints &#8212; often framing them as enabling work for upcoming features. This bridges the gap between debt and delivery: you&#8217;re not just fixing things for the sake of tidiness; you&#8217;re paving the road for what&#8217;s next.</p><p>Visibility turns technical debt from a vague, ambient concern into a trackable, solvable problem. It also has the pleasant side effect of reminding leadership that these issues exist &#8212; and that resolving them pays real dividends.</p><div><hr></div><h3><strong>Invest in a Platform team to fight systemic debt</strong></h3><p>At some point, your product engineers will hit limits they can&#8217;t solve within their own domains. CI pipelines that crawl. Internal tools that nobody maintains. Shared libraries that everyone&#8217;s afraid to touch. This is the territory of systemic debt &#8212; and it demands a systemic solution.</p><p>Enter the Platform team.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7845a0ee-de69-4e98-9be9-0a8b8753277a&quot;,&quot;caption&quot;:&quot;It&#8217;s hard for a day to go by nowadays with reading an article or a Tweet about Platform Engineering. Is the hype warranted? Is Platform Engineering really novel, or is it a rebranding effort for a set of activities that are decades old?&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Platform Engineering: What is it and why the recent hype?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-01-16T15:19:51.131Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9512c0a-f5be-4c35-87f8-3c4bc804b29c_600x600.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/platform-engineering-what-is-it-and&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:96760346,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Platform teams are not a catch-all infra group. It&#8217;s a focused crew tasked with reducing friction across the entire engineering org. Their roadmap is built from pain: slow test runs, flaky deploys, repeated &#8220;how do I&#8230;&#8221; questions in Slack. They abstract, automate, and clean up the places where local debt becomes global dysfunction.</p><p>Crucially, this team isn&#8217;t off to the side. They partner closely with feature teams, embed when needed, and treat developer experience as their customer. Their metric is not uptime &#8212; it&#8217;s flow.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a12eba2d-5a9a-483a-8845-76eb43657fed&quot;,&quot;caption&quot;:&quot;I recently came across the tweet below, which is certainly one I can relate to. Every startup that I know is facing a dire shortage in engineering talent. But, is hiring the only way out of this conundrum?&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;On developer productivity: flow to grow&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2020-08-25T11:02:16.878Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7cdca419-48e2-41b0-a2b4-ca8fd0de3c45_760x412.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/on-developer-productivity-flow-to&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:891268,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>The investment isn&#8217;t cheap. You&#8217;re trading product velocity for foundational improvement. But in a hypergrowth environment, every hour you save across the org compounds. And there&#8217;s no better way to amortize that cost than by making the whole system faster.</p><div><hr></div><h3><strong>Foster a culture of quality</strong></h3><p>Processes and backlogs only get you so far. Culture fills the gap.</p><p>Engineers should be expected to leave the codebase a little better than they found it. That could mean renaming a confusing variable, simplifying a conditional, or deleting a function that nobody uses. These aren&#8217;t grand refactors. They&#8217;re tiny acts of care. Call it opportunistic cleanup. Call it pride. But over time, it adds up.</p><p>Code reviews reinforce this ethos. They should encourage questions like: &#8220;Is this the simplest thing that could possibly work?&#8221; &#8220;Is there an abstraction here we&#8217;re prematurely introducing?&#8221; &#8220;What would this look like if we deleted it instead?&#8221;</p><p>And as new engineers join, this culture needs constant reinforcement. It&#8217;s modeled in onboarding, in pair sessions, in Slack threads. And it&#8217;s protected by the same people who carry the roadmap: EMs and tech leads who know that velocity today means very little if the engine seizes tomorrow.</p><div><hr></div><h3><strong>Putting it all together</strong></h3><p>Here&#8217;s the punchline.</p><p>You don&#8217;t solve technical debt by stopping. You solve it by embedding its maintenance into the rhythm of the org. Debt lives in the sprint. It&#8217;s tracked like any other work. It&#8217;s tackled opportunistically and systematically. And it&#8217;s everyone&#8217;s job &#8212; not a ticket, not a team, not a quarterly offsite.</p><p>The beauty of this approach is that it scales. As your team grows, new engineers adopt the habits they see modeled. Leaders prioritize work that enables the next layer of speed. And your codebase &#8212; imperfect but healthy &#8212; remains a place where people can move fast without fear.</p><p>In a hypergrowth startup, you&#8217;ll never have zero technical debt. But you can keep it low, visible, and shrinking. And that, more than any perfect abstraction, is what keeps the machine running.</p><div><hr></div><p>To dive deeper into the principles and practices behind managing technical debt&#8212;especially in fast-paced, high-growth environments&#8212;here&#8217;s a curated list of standout articles and engineering blogs that have shaped our thinking; they offer firsthand insights, frameworks, and field-tested strategies from teams who&#8217;ve lived through the same scaling challenges.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:95596130,&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/tech-debt-day&quot;,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;title&quot;:&quot;We invested 10% to pay back tech debt; Here's what happened&quot;,&quot;truncated_body_text&quot;:&quot;Anyone who has maintained software for a while knows that it tends to rot over time. It takes deliberate effort to prevent that from happening. In this post I will tell a story about how one team successfully dealt with it and conclude with some practical tips.&quot;,&quot;date&quot;:&quot;2023-01-09T15:03:39.776Z&quot;,&quot;like_count&quot;:51,&quot;comment_count&quot;:2,&quot;bylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;handle&quot;:&quot;alexewerlof&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;profile_set_up_at&quot;:&quot;2022-07-14T22:27:32.130Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-10-11T17:24:45.190Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:947579,&quot;user_id&quot;:87732486,&quot;publication_id&quot;:1002265,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:1002265,&quot;name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;subdomain&quot;:&quot;alexewerlof&quot;,&quot;custom_domain&quot;:&quot;blog.alexewerlof.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Technical Leadership, Reliability Engineering, Growth&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;author_id&quot;:87732486,&quot;primary_user_id&quot;:87732486,&quot;theme_var_background_pop&quot;:&quot;#786CFF&quot;,&quot;created_at&quot;:&quot;2022-07-14T22:27:58.683Z&quot;,&quot;email_from_name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;copyright&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;founding_plan_name&quot;:&quot;VIP supporter&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;alexewerlof&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://blog.alexewerlof.com/p/tech-debt-day?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!_Ur2!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png" loading="lazy"><span class="embedded-post-publication-name">Alex Ewerl&#246;f Notes</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">We invested 10% to pay back tech debt; Here's what happened</div></div><div class="embedded-post-body">Anyone who has maintained software for a while knows that it tends to rot over time. It takes deliberate effort to prevent that from happening. In this post I will tell a story about how one team successfully dealt with it and conclude with some practical tips&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 years ago &#183; 51 likes &#183; 2 comments &#183; Alex Ewerl&#246;f</div></a></div><ul><li><p><a href="https://martinfowler.com/bliki/TechnicalDebt.html#:~:text=Software%20systems%20are%20prone%20to,interest%20paid%20on%20the%20debt">Martin Fowler &#8211; Technical Debt Quadrant</a></p></li><li><p><a href="https://kellysutton.com/2017/10/24/quantifying-technical-debt.html#:~:text=When%20dealing%20with%20estimating%20technical,need%20to%20measure%20two%20things">Kelly Sutton &#8211; Managing Technical Debt Like a Financial Portfolio</a></p></li><li><p><a href="https://www.infoq.com/news/2024/02/prevent-repay-technical-debt/#:~:text=Prioritizing%20technical%20debt%20is%20difficult,will%20become%20in%20the%20future">InfoQ &#8211; Netflix's Tech Debt Reduction Strategies</a></p></li><li><p><a href="https://netflixtechblog.com/">Netflix Tech Blog &#8211; Freedom &amp; Responsibility</a></p></li><li><p><a href="https://stripe.com/blog/refactoring-at-scale">Stripe &#8211; Refactoring at Scale</a></p></li><li><p><a href="https://blog.artemisdata.io/p/the-debt-trap-how-tech-debt-sabotages">The Debt Trap: How Tech Debt Sabotages Innovation</a></p></li><li><p><a href="https://blog.pragmaticengineer.com/tech-debt/">The Pragmatic Engineer &#8211; Tech Debt and the Pragmatic Middle Ground</a></p></li><li><p><a href="https://www.atlassian.com/agile/software-development/technical-debt">Atlassian &#8211; What is Tech Debt? Signs &amp; How to Effectively Manage It</a></p></li><li><p><a href="https://na.thoughtworks.com/tech-debt-guide/">Thoughtworks &#8211; Identify, Manage and Overcome: A Guide to Technical Debt</a></p></li><li><p><a href="https://codeclimate.com/blog/10-point-technical-debt-assessment">Code Climate &#8211; Our 10-Point Technical Debt Assessment</a></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Battle of the LLMs Part 2: Can they code and judge themselves?]]></title><description><![CDATA[In the first experiment, I tested whether LLMs could act as code reviewers, asking them to define a rubric for high-quality code and then critique a given implementation based on their own criteria.]]></description><link>https://www.cummulative.io/p/battle-of-the-llms-part-2-can-they</link><guid isPermaLink="false">https://www.cummulative.io/p/battle-of-the-llms-part-2-can-they</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Tue, 18 Mar 2025 14:41:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kv9a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp" 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_!kv9a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kv9a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!kv9a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!kv9a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!kv9a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kv9a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp&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;:904876,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.cummulative.io/i/159213626?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kv9a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!kv9a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!kv9a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!kv9a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282dee68-39b4-42fa-a73c-fc3f394550c6_1792x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image by ChatGPT &amp; Karim</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>In the first experiment, I tested whether LLMs could act as code reviewers, asking them to define a rubric for high-quality code and then critique a given implementation based on their own criteria. Some models excelled at structured feedback, others were too vague, and a few lacked the depth we expect from a seasoned software engineer.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e141a1fd-306e-4bba-8464-0592bbcbe6b9&quot;,&quot;caption&quot;:&quot;A year ago, GitHub Copilot was the best AI-powered assistant a developer could get. It felt like magic at first&#8212;code autocomplete that worked well enough to be useful, even if it had a tendency to hallucinate, get stuck in repetitive loops, and misunderstand broader context. It was helpful, but it was never quite enough. You could feel the ceiling on it&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Battle of the LLMs: Evaluating LLMs as code reviewers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-12T14:49:38.939Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/battle-of-the-llms-evaluating-llms&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:158888133,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Now, I&#8217;m flipping the test. Instead of just reviewing code, the LLMs have to write the code themselves.</p><p>The challenge? Implement a prefix calculator in Go.</p><p>Each LLM was given the same prompt and asked to generate a function that correctly evaluates a prefix notation expression&#8212;a classic problem in computer science. Then, all five implementations were compiled and fed back to the LLMs, asking them to rank the five versions from best to worst based on the code review criteria they created in the first experiment.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x3wq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x3wq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png 424w, https://substackcdn.com/image/fetch/$s_!x3wq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png 848w, https://substackcdn.com/image/fetch/$s_!x3wq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png 1272w, https://substackcdn.com/image/fetch/$s_!x3wq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x3wq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png" width="1456" height="247" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:247,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:61476,&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.cummulative.io/i/159213626?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.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_!x3wq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png 424w, https://substackcdn.com/image/fetch/$s_!x3wq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png 848w, https://substackcdn.com/image/fetch/$s_!x3wq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png 1272w, https://substackcdn.com/image/fetch/$s_!x3wq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa63e5ade-c6f3-40b8-a070-44aa922dcfba_1534x260.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>This setup created a double-layered challenge:</p><ol><li><p>How well can each LLM write structured, correct, and maintainable code?</p></li><li><p>Can the LLMs objectively evaluate their competitors&#8217; work? Or will they show bias toward their own implementations?</p></li></ol><p>The results? Some clear winners, some biased reviewers, and some models that were more self-critical than expected.</p><h3>Breaking down the rankings</h3><p>After compiling all the rankings, I calculated the average score each LLM received. The lower the score, the better that model performed in the eyes of its peers. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sJe1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sJe1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png 424w, https://substackcdn.com/image/fetch/$s_!sJe1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png 848w, https://substackcdn.com/image/fetch/$s_!sJe1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png 1272w, https://substackcdn.com/image/fetch/$s_!sJe1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sJe1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png" width="1388" height="836" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:836,&quot;width&quot;:1388,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:210543,&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.cummulative.io/i/159213626?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.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_!sJe1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png 424w, https://substackcdn.com/image/fetch/$s_!sJe1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png 848w, https://substackcdn.com/image/fetch/$s_!sJe1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.png 1272w, https://substackcdn.com/image/fetch/$s_!sJe1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5583708-7990-4483-9a66-b2e0f8e238fa_1388x836.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 role="img" 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><title></title><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 rankings alone don&#8217;t tell the full story. The feedback each model provided about its competitors offers an even more insightful look into how LLMs evaluate code. Here&#8217;s a snapshot of some of the feedback each LLM provided to the 5 version of th prefix calculator implementation</p><ol><li><p><strong>Claude 3.7 </strong>&#11088;&#11088;&#11088;&#11088;&#11088; (5/5)</p><ul><li><p>Modular and Extensible: Uses a PrefixCalculator struct with separate methods for tokenization and evaluation, making it highly maintainable and scalable. Best support for multi-digit numbers, structured design with a tokenizer, excellent error handling, modular and maintainable.</p></li><li><p>Error Handling: Thoroughly handles invalid inputs, division by zero, and malformed expressions.</p></li><li><p>Readability: Well-structured code with clear separation of concerns and meaningful method names.</p></li><li><p>Recursive approach may cause stack overflow in deep expressions, slightly more complex than others.</p></li></ul></li><li><p><strong>Gemini Advanced &#11088;&#11088;&#11088;&#11088;&#189; </strong>(4.5/5)</p><ul><li><p>Stack-Based Approach: Uses a stack to evaluate the prefix expression, which is efficient and easy to understand.</p></li><li><p>Error Handling: Covers basic errors like insufficient operands and division by zero.</p></li><li><p>Readability: Code is straightforward but lacks the modularity and extensibility of the top two. Uses helper functions, efficient stack-based approach.</p></li></ul></li><li><p><strong>ChatGPT (Ranked 3rd) </strong>&#11088;&#11088;&#11088; (3/5)</p><ul><li><p>Stack-Based Approach: Uses a stack to evaluate the prefix expression, which is efficient and easy to understand.</p></li><li><p>Lacks modularity, no separate token validation functions</p></li></ul><p></p></li><li><p><strong>DeepSeek (Ranked 4th) </strong>&#11088;&#11088;&#11088; (3/5)</p><ul><li><p>Recursive Approach: Uses recursion to evaluate the prefix expression, which is elegant and easy to understand.</p></li><li><p>Error Handling: Catches edge cases like division by zero, invalid tokens, and malformed expressions.</p></li><li><p>Readability: Code is clean and well-organized, with helper functions for clarity.</p></li></ul></li><li><p><strong>LLaMA 3.0 (Ranked 5th) </strong>&#11088;&#11088; (2/5)</p><ul><li><p>Basic Implementation: Uses a stack-based approach but lacks modularity and thorough error handling.</p></li><li><p>Readability: Code is simple but less structured compared to the top three.</p></li><li><p>Error Handling: Handles division by zero and invalid tokens but misses some edge cases.</p></li></ul></li></ol><p>These rankings align with my own analysis, which found Claude&#8217;s implementation to be the most structured and maintainable, while LLaMA&#8217;s code lacked robustness in several areas.</p><div><hr></div><h3>Did LLMs overrate themselves?</h3><p>One of the most revealing aspects of this experiment was whether LLMs were biased toward their own code. The short answer? Yes, some were.</p><p>DeepSeek, for example, rated its own implementation second, which isn&#8217;t unreasonable&#8212;but other models placed it lower due to its inconsistent style and recursion-heavy approach. Meanwhile, Claude&#8217;s self-ranking closely matched the peer rankings, suggesting a more objective evaluation.</p><p>This indicates that some models are better code reviewers than they are code generators&#8212;and vice versa.</p><div><hr></div><h3>Did LLMs hallucinate?</h3><p>No, not exactly, but some provided in accurate feedback including to their own code. For example, ChatGPT incorrectly flagged its own implementation (and others) as lacking the ability to handle multi-digit numbers, which is incorrect.  I had to prompt the LLM to point it to this error</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GHqy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GHqy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png 424w, https://substackcdn.com/image/fetch/$s_!GHqy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png 848w, https://substackcdn.com/image/fetch/$s_!GHqy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png 1272w, https://substackcdn.com/image/fetch/$s_!GHqy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GHqy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png" width="1456" height="1844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1844,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:369727,&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.cummulative.io/i/159213626?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.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_!GHqy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png 424w, https://substackcdn.com/image/fetch/$s_!GHqy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png 848w, https://substackcdn.com/image/fetch/$s_!GHqy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.png 1272w, https://substackcdn.com/image/fetch/$s_!GHqy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F484e091b-fc6b-45b3-a1da-aca4ca4a3014_1584x2006.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 role="img" 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><title></title><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>Key takeaways</h2><ol><li><p>Last week we  learned that DeepSeek was the preferred LLMs for code reviewing tasks, based on an evaluation by its peer LLMs. The survey I sent out also validated this outcome. Humans and LLMs prefer DeepSeek to review their code :)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W0iS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W0iS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png 424w, https://substackcdn.com/image/fetch/$s_!W0iS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png 848w, https://substackcdn.com/image/fetch/$s_!W0iS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png 1272w, https://substackcdn.com/image/fetch/$s_!W0iS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W0iS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png" width="1456" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129618,&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.cummulative.io/i/159213626?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.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_!W0iS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png 424w, https://substackcdn.com/image/fetch/$s_!W0iS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png 848w, https://substackcdn.com/image/fetch/$s_!W0iS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.png 1272w, https://substackcdn.com/image/fetch/$s_!W0iS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29943dd6-060d-4ed3-965f-c77c6223f470_2078x1068.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 role="img" 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><title></title><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></li><li><p>Claude 3.7 Sonnet is the best overall performer, both in writing and evaluating code. If you&#8217;re looking for an LLM to assist with maintainable, high-quality engineering work, it&#8217;s the top choice. </p></li><li><p>Not all LLMs judge their own work fairly. Some models overrated their own implementations, while others were more even-handed.</p></li><li><p>Trust yet verify LLMs; they can still hallucinate or give incorrect recommendations.</p><p></p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Battle of the LLMs: Evaluating LLMs as code reviewers]]></title><description><![CDATA[A year ago, GitHub Copilot was the best AI-powered assistant a developer could get.]]></description><link>https://www.cummulative.io/p/battle-of-the-llms-evaluating-llms</link><guid isPermaLink="false">https://www.cummulative.io/p/battle-of-the-llms-evaluating-llms</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Wed, 12 Mar 2025 14:49:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RCuQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp" 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_!RCuQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RCuQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!RCuQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!RCuQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!RCuQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RCuQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp&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;:731870,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.cummulative.io/i/158888133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RCuQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!RCuQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!RCuQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!RCuQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55080ff-cabb-4ce2-979c-d6acb36e5031_1792x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>A year ago, GitHub Copilot was the best AI-powered assistant a developer could get. It felt like magic at first&#8212;code autocomplete that worked well enough to be useful, even if it had a tendency to hallucinate, get stuck in repetitive loops, and misunderstand broader context. It was helpful, but it was never quite enough. You could feel the ceiling on its capabilities, and in fact, that is reflected with our experience at StrongDM, using Github Copilot about one year ago.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0391df24-bfcd-4834-a6d9-0faeea33293c&quot;,&quot;caption&quot;:&quot;It&#8217;s been about 90 days since we added a Github CoPilot license to every member of my software development team. When CoPilot was first introduced, I wanted to assess its impact on the team. Would it yield to more or better code? Would the engineering team be happier or more productive with this novel tool?&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Is Github CoPilot effective?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-04T16:03:18.113Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b4a83d-0b4a-4d0c-a9a7-98e6c619167b_1024x1024.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/is-github-copilot-effective&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145235979,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Fast forward to today, and Copilot feels almost primitive compared to the latest wave of AI coding tools. The field has evolved at an astonishing pace. LLMs are no longer just glorified autocomplete&#8212;they&#8217;re becoming fully-fledged engineering collaborators. Take <a href="https://www.cursor.com/en">Cursor</a>, for example. Instead of just completing code, Cursor acts as an agent, iterating, debugging, and even proposing refactors in a way that actually feels context-aware. And it&#8217;s not alone. LLMs today are being fine-tuned for specific coding tasks, trained on massive repositories of open-source software, and integrated directly into development workflows with a level of fluidity that wasn&#8217;t possible a year ago.</p><p>t&#8217;s clear that autocomplete isn&#8217;t the future&#8212;agency is, I think. The real power of modern LLMs isn&#8217;t just in suggesting the next token; it&#8217;s in their ability to step back, analyze, and provide meaningful feedback. And that&#8217;s what we&#8217;re here to test today.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;084ac815-59e0-4af7-a815-a70445fdcee6&quot;,&quot;caption&quot;:&quot;In a previous post I talked about how many members of my software development team at StrongDM found little value in using Github CoPilot. Since then, I have received a lot of feedback which ranges from others finding CoPilot, and more generally GenAI code-completion products, immensely useful, to those that found them to be a waste.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Are agents a better fit for AI in software development?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-07-08T14:22:57.293Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda4d3229-df04-496b-b597-ed45b0d4881b_1280x1280.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/are-agents-are-better-fit-for-ai&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:146371446,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:5,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>The real test: Can LLMs code review like a senior engineer?</h2><p>If LLMs are going to be real engineering assistants, they need to do more than just fill in blanks. They need to think. They need to critique, refine, and evaluate code in the way a strong human engineer would. So today, we&#8217;re running an experiment.</p><p>We&#8217;re going to pit five of the best LLMs against each other&#8212;not to see which one writes the best code, but to see which one thinks the best.</p><p>The challenge is simple but revealing: Who is the best AI code reviewer?</p><p>To find out, I designed a two-part test. First, we asked each LLM to define what makes a good code review&#8212;essentially, to generate a rubric for evaluating code quality. I selected what I thought was a thorough and decent set of criteria and then moved on to the next stage of the test. The selected review criteria is shown below.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kbEi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kbEi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png 424w, https://substackcdn.com/image/fetch/$s_!kbEi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png 848w, https://substackcdn.com/image/fetch/$s_!kbEi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png 1272w, https://substackcdn.com/image/fetch/$s_!kbEi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kbEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png" width="1418" height="2240" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2240,&quot;width&quot;:1418,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:517587,&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.cummulative.io/i/158888133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.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_!kbEi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png 424w, https://substackcdn.com/image/fetch/$s_!kbEi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png 848w, https://substackcdn.com/image/fetch/$s_!kbEi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.png 1272w, https://substackcdn.com/image/fetch/$s_!kbEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40fb9a38-dd24-4f9b-bd03-31cbe96dec07_1418x2240.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 role="img" 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><title></title><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>With the code review criteria defined, I fed them all the same piece of code and asked them to review it based on those criteria. The code I fed each LLM was code I very quickly put together to implement a very <a href="https://github.com/karimfan/battle-of-llms/blob/main/prefix-calculator.go">primitive prefix calculator</a>. I implemented it in golang in two ways; once via recursion and another using a stack. It lacked tests, any sort of validation and didn&#8217;t support dealing with multi-digit numbers (or -ve values for that matter). Quick, dirty and hacky code.</p><p>The real twist? Each LLM was also tasked with ranking the others' reviews, including its own. The contenders in this battle:</p><ul><li><p>ChatGPT 4o (OpenAI)</p></li><li><p>DeepSeek </p></li><li><p>LLaMA 3.0 (Meta)</p></li><li><p>Gemini Advanced 2.0 (Google)</p></li><li><p>Claude 3.7 Sonnet (Anthropic)</p></li></ul><p>Each of these models has its own strengths. Some are optimized for reasoning, others for speed, others for sheer volume of training data. But which one actually feels like a competent senior engineer when reviewing code?</p><p>The ranking per LLM is shown in the table below. Each model rated itself and the other 4, across a 1-5 rating, where 1 is best and 5 is worst. The diagonal cells show each model&#8217;s self-assessment. The average row is simply an average ranking of the model across its own rating and that of its peers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jMs2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jMs2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png 424w, https://substackcdn.com/image/fetch/$s_!jMs2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png 848w, https://substackcdn.com/image/fetch/$s_!jMs2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png 1272w, https://substackcdn.com/image/fetch/$s_!jMs2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jMs2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png" width="1400" height="536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:536,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:84731,&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.cummulative.io/i/158888133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.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_!jMs2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png 424w, https://substackcdn.com/image/fetch/$s_!jMs2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png 848w, https://substackcdn.com/image/fetch/$s_!jMs2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.png 1272w, https://substackcdn.com/image/fetch/$s_!jMs2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e3257c3-76f3-44f1-a1f4-d2e8f493047f_1400x536.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 role="img" 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><title></title><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>A few observations from the above:</p><ul><li><p>DeepSeek and ChatGPT seem to be universally (scoped to a universe of 5 LLMs) regarded as better than the other 3 LLMs in this task. Side observations, DeepSeek&#8217;s output at times was eerily similar to ChatGPTs &#129300;</p></li><li><p>Gemini has an inflated self-worth? It rated itself highest, yet the best it got from its peers was an average rating.</p></li><li><p>Gemini also seems to be polar opposite to its peers. It rated both DeepSeek and ChatGPT the lowest at performing this task whilst its peers tended to rate those two highest</p></li><li><p>Llama is not particularly good at this task. But at least it's aware of that limitation - see its own self-assessment &#128522;</p></li></ul><p>Obviously all the models were able to point out the very many flaws in my code from the obvious ones to some more subtle ones. The difference, at least to me when reading them, was more stylistic and tone vs actual content. Some models excelled at summarizing and providing actionable feedback in the form of recommendations. Oftentimes those would be in priority order too. I also found that the LLM ranking was aligned with how I ranked these models too. I preferred DeepSeek and ChatGPT over the rest. </p><p>In summary, do I believe that this generation of LLMs can craft code review best practices and also help (human) software engineers with code reviews? Yes and yes. </p><p>Lastly, I shared all the model outputs for both review criteria and each model&#8217;s CR for my input code on Github <a href="https://github.com/karimfan/battle-of-llms">here</a>. I also have a very <a href="https://docs.google.com/forms/d/e/1FAIpQLScNkwj6E-0E7K1nkex1okoP5Vh3bCkzk5ePPh93letdARLj_g/viewform">short survey </a>to get human input on which models is the best for CRs. The models have been anonymized in my survey. Please take a minute to fill it out. </p><p>I will share the responses in my next post, which will cover another LLM battle: which one is better at writing code.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/p/battle-of-the-llms-evaluating-llms?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Cu(m^2)ulative! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/p/battle-of-the-llms-evaluating-llms?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/p/battle-of-the-llms-evaluating-llms?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[Scaling engineering teams: Building career ladders]]></title><description><![CDATA[One of the most common challenges engineering leaders face as their organization grows is creating a clear, fair, and scalable career ladder.]]></description><link>https://www.cummulative.io/p/scaling-engineering-teams-building</link><guid isPermaLink="false">https://www.cummulative.io/p/scaling-engineering-teams-building</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Mon, 27 Jan 2025 15:41:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PtaX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp" 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_!PtaX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PtaX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!PtaX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!PtaX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!PtaX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PtaX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;An Escher-inspired illustration of scaling engineering teams and building career ladders. The image features an intricate, surrealistic labyrinth of interconnected stairs and ladders, each step labeled with career levels like 'Engineer', 'Senior Engineer', 'Staff Engineer', and 'Principal Engineer'. Engineers in modern attire are seen ascending, descending, and collaborating on different levels. The structure defies gravity and perspective, with staircases looping impossibly in all directions. The color scheme is a mix of monochromatic tones with subtle technological highlights, evoking a sense of both complexity and inspiration.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="An Escher-inspired illustration of scaling engineering teams and building career ladders. The image features an intricate, surrealistic labyrinth of interconnected stairs and ladders, each step labeled with career levels like 'Engineer', 'Senior Engineer', 'Staff Engineer', and 'Principal Engineer'. Engineers in modern attire are seen ascending, descending, and collaborating on different levels. The structure defies gravity and perspective, with staircases looping impossibly in all directions. The color scheme is a mix of monochromatic tones with subtle technological highlights, evoking a sense of both complexity and inspiration." title="An Escher-inspired illustration of scaling engineering teams and building career ladders. The image features an intricate, surrealistic labyrinth of interconnected stairs and ladders, each step labeled with career levels like 'Engineer', 'Senior Engineer', 'Staff Engineer', and 'Principal Engineer'. Engineers in modern attire are seen ascending, descending, and collaborating on different levels. The structure defies gravity and perspective, with staircases looping impossibly in all directions. The color scheme is a mix of monochromatic tones with subtle technological highlights, evoking a sense of both complexity and inspiration." srcset="https://substackcdn.com/image/fetch/$s_!PtaX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!PtaX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!PtaX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!PtaX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378ce2e1-e101-4a5d-92ea-c937d8473de9_1024x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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><title></title><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>One of the most common challenges engineering leaders face as their organization grows is creating a clear, fair, and scalable career ladder. When your team is small, career progression often happens organically. Engineers take on more responsibility, and their impact naturally grows over time. But as your team scales, the absence of a formal structure can lead to confusion, misaligned expectations, and even attrition.</p><p>An effective career ladder not only provides clarity for your engineers but also serves as a powerful tool for retaining top talent, fostering growth, and aligning individual contributions with business objectives. To build a career ladder that truly works, it must align with the culture you are trying to create or maintain.</p><h3><strong>Aligning Career Principles with Culture</strong></h3><p>Let&#8217;s start by discussing why alignment with culture is so essential. Imagine your culture places a strong emphasis on empowering decision-making at both the individual and team level. To uphold that, your career ladder must reward behaviors that reflect autonomy, ownership and initiative. Engineers who proactively lead projects or experiment with new ideas should see those efforts recognized and rewarded. Similarly, if collaboration is a core value, then your ladder must elevate those who contribute to team success, mentor others, and create environments where everyone thrives. The more clearly your career development framework reflects your cultural values, the easier it becomes to scale that culture as your team grows.</p><h3><strong>Crowdsourcing levels and titles</strong></h3><p>Designing a career ladder can feel particularly challenging if your organization doesn&#8217;t have established levels or titles. Here&#8217;s where a collaborative approach can make all the difference. I&#8217;ve found that crowdsourcing levels and titles is a method that not only aligns with a culture of empowerment but also generates invaluable insights. Begin by gathering your team to brainstorm the distinctions between roles. What separates a &#8220;Senior Engineer&#8221; from a &#8220;Staff Engineer&#8221;? What outcomes and behaviors define success at different stages? Encourage broad participation through workshops or surveys, ensuring diverse perspectives are included. This input not only makes the framework more comprehensive but also fosters a sense of ownership among your team.</p><p>Once you&#8217;ve identified the levels and their accompanying competencies, the next step is to incorporate peer input into the process. Self-leveling, where engineers and their peers evaluate one another against the defined criteria, often yields more accurate and equitable results than decisions made solely by managers. Peers who work closely together can provide nuanced feedback that managers may not see from their vantage point. This approach also reinforces transparency and trust, as it&#8217;s clear how evaluations are conducted and decisions are made.</p><p>As your framework takes shape, you&#8217;ll need to define separate tracks for individual contributors and managers. This distinction allows engineers to pursue growth paths aligned with their interests and strengths. Individual contributors can advance by deepening their technical expertise, driving large-scale initiatives, and mentoring others. Meanwhile, managers grow by developing their teams, fostering alignment with company goals, and ensuring their engineers are supported in their work. These tracks are equally valuable, and your career ladder should make that clear.</p><p>Clarity is key when defining levels. Each level should articulate its scope of impact, technical expectations, and leadership requirements. For instance, a &#8220;Senior Engineer&#8221; might focus on delivering high-quality code and mentoring junior team members, while a &#8220;Staff Engineer&#8221; leads the technical design for cross-functional projects and drives strategic initiatives. Observable behaviors&#8212;such as &#8220;mentors peers&#8221; or &#8220;leads incident post-mortems&#8221;&#8212;help ground these descriptions in reality, making them more actionable for everyone involved.</p><p>Equally important is making your career ladder accessible. Engineers should know exactly what is expected of them at their current level and what they need to do to advance. Publish the framework in a central location, and make it part of ongoing conversations. Regular workshops or one-on-one discussions can demystify the process further, ensuring everyone feels empowered to take ownership of their growth.</p><h3><strong>Avoiding common pitfalls</strong></h3><p>When designing a career ladder, it&#8217;s important to avoid common pitfalls that can undermine its effectiveness:</p><ul><li><p>Overemphasizing tenure instead of impact, leading to promotions based on time served rather than contributions.</p></li><li><p>Leaving criteria too vague, which creates confusion and frustration among engineers.</p></li><li><p>Neglecting growth paths for individual contributors, making it seem like management is the only route to advancement.</p></li><li><p>Providing inequitable access to opportunities, which can leave some engineers feeling excluded based on team or project assignments.</p></li><li><p>Divergent compensation between individual contributors and managers, which can devalue one track over the other. Both tracks should offer equitable compensation for equivalent levels of responsibility and impact.</p><div><hr></div></li></ul><p>Creating a career ladder isn&#8217;t a one-and-done task. It requires regular calibration to ensure fairness and consistency across teams. Managers need to be trained not only in using the framework but also in providing actionable feedback that aligns with it. Calibration meetings, where leaders review and discuss promotion decisions together, help ensure standards are applied evenly. Revisiting the framework annually allows you to adapt it as your organization evolves.</p><p>Supporting your engineers goes beyond defining a ladder. Mentorship programs, stretch assignments, and access to training resources all play a crucial role in helping individuals succeed at their current level while preparing for the next. Career growth isn&#8217;t just about promotions; it&#8217;s about providing opportunities to build skills, expand influence, and deepen impact.</p><p>A well-designed career ladder is more than a tool&#8212;it&#8217;s a reflection of your commitment to your team&#8217;s growth and success. By aligning it with your culture, crowdsourcing input, and fostering transparency, you&#8217;ll create a framework that not only helps your engineers thrive but also strengthens your organization as a whole. As your company grows, so will your career ladder. Iteration and feedback will ensure it remains a living document, one that evolves alongside your team.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Why did Microsoft give GitHub Copilot away for free?]]></title><description><![CDATA[AI-powered code completion tools like Github Copilot, Tabnine, Amazon Q, cursor and codeium have been all the rage over the past year or so.]]></description><link>https://www.cummulative.io/p/why-did-microsoft-give-github-copilot</link><guid isPermaLink="false">https://www.cummulative.io/p/why-did-microsoft-give-github-copilot</guid><dc:creator><![CDATA[Karim Fanous]]></dc:creator><pubDate>Thu, 26 Dec 2024 05:44:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cTDI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.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_!cTDI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cTDI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cTDI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cTDI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cTDI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cTDI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:497737,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cTDI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cTDI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cTDI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cTDI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60307c-ec3e-4a72-b90c-af852172d255_1024x1024.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: ChatGPT &amp; the author</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.cummulative.io/subscribe?"><span>Subscribe now</span></a></p><p>AI-powered code completion tools like <a href="https://github.com/features/copilot">Github Copilot,</a> <a href="https://www.tabnine.com/">Tabnine</a>, <a href="https://aws.amazon.com/q/developer/">Amazon Q</a>, <a href="https://www.cursor.com/">cursor</a> and <a href="https://codeium.com/">codeium</a> have been all the rage over the past year or so. The promise of an all powerful AI that can augment or entirely replace a human software developer is partly behind this immense appeal and promise of these tools. On its most recent earnings call, Google, announced that 25% of its code was generated by AI tools like GitHub Copilot &#129300;</p><blockquote><p>&#8220;Today, more than a quarter of all new code at Google is generated by AI, then reviewed and accepted by engineers." Sundar Pichai</p></blockquote><p>Yet amidst all of this excitement and promise of an all-mighty AI that can write software products on its own, Microsoft dropped this bit of news:</p><blockquote><p>Now automatically integrated into VS Code, all of you have access to 2,000 code completions and 50 chat messages per month, simply by signing in with your personal GitHub account. Or by creating a new one. And just last week, we passed the mark of 150M developers on GitHub. &#127881;</p><p>Copilot Free gives you the choice between Anthropic&#8217;s Claude 3.5 Sonnet or OpenAI&#8217;s GPT-4o model. You can ask a coding question, explain existing code, or have it find a bug. You can execute edits across multiple files. And you can access Copilot&#8217;s third-party agents or build your own extension.</p><p>Source: <a href="https://github.blog/news-insights/product-news/github-copilot-in-vscode-free/">GitHub</a></p></blockquote><p>This decision raises a compelling question: why would Microsoft give away such a powerful tool for free?</p><h2>GitHub monetization</h2><p>GitHub's monetization<strong> </strong>relies fundamentally on its core function: storing source code. As the world&#8217;s leading source version control platform, GitHub underpins a variety of revenue-generating products and services designed to cater to individual developers, teams, and enterprises. Its pricing structure includes tiers like the free plan for basic users, GitHub Pro for enhanced personal productivity, GitHub Team for collaborative work with advanced features, and GitHub Enterprise for large-scale organizations needing enterprise-grade security, compliance, and scalability. These offerings are complemented by add-ons like GitHub Codespaces, a cloud-based development environment, and GitHub Advanced Security, which provides tools for vulnerability detection, code scanning, and secret management. Additionally, GitHub is not just a standalone platform; it is a gateway to Microsoft&#8217;s developer tools and other services available through Microsoft Azure.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IE_h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IE_h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png 424w, https://substackcdn.com/image/fetch/$s_!IE_h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png 848w, https://substackcdn.com/image/fetch/$s_!IE_h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!IE_h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IE_h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png" width="1225" height="1600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1225,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IE_h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png 424w, https://substackcdn.com/image/fetch/$s_!IE_h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png 848w, https://substackcdn.com/image/fetch/$s_!IE_h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!IE_h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F594dc647-9eca-4f47-8d6e-c1edef366269_1225x1600.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 role="img" 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><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://github.com/pricing#compare-features">GitHub</a></figcaption></figure></div><p>To repeat, the foundation of Github&#8217;s monetization model is storing source code files. Said otherwise, if source code files start migrating away to other platforms, GitHub&#8217;s entire ecosystem of products and services&#8212;and their associated revenue streams&#8212;face potential erosion.</p><h4><strong>The strategic paradox: Why free?</strong></h4><p>Microsoft&#8217;s decision to offer GitHub Copilot for free can be explained by two seemingly contradictory rationales. On one end of the spectrum the decision was sparked because of Copilot&#8217;s immense value and on the opposite end for the exact opposite, its complete lack of value. Both perspectives ultimately align with a single goal: protecting and enhancing GitHub as a base platform.</p><h4><strong>Reason 1: Copilot is immeasurably valuable</strong></h4><p>Copilot&#8217;s ability to drastically improve developer productivity is its greatest strength&#8212;and, paradoxically, a potential threat to GitHub&#8217;s core business. As Copilot grows in popularity, the risk emerges that developers might value Copilot more than the platform it runs on. If AI code completion tools like Copilot become the primary driver of developer engagement, developers could shift allegiance to other ecosystems offering similar, or better code-completion capabilities capabilities. In this scenario, the platform (GitHub) risks becoming a secondary consideration.</p><p>In this scenario the primary motivation for storing source code is no longer the core of what GitHub offers: a source version control system, but instead it becomes AI code-completion. Products that offer better AI code-completion capabilities relative to GitHub Copilot can therefore erode all of Github&#8217;s business.</p><p>By offering Copilot for free, Microsoft is protecting itself from such a situation. It set the price of AI code-completion products to $0. All the emerging competitors, with far fewer resources than Microsoft will struggle to compete against a free product.</p><h4><strong>Reason 2: Copilot offers little value</strong></h4><p>On the flip side, Microsoft may have recognized that code completion tools - as a category - offer limited value to end software developers. By acknowledging this, Microsoft acted to protect against the potential defection of its developer base to try alternative platforms that might offer better AI-powered tools. This preemptive move reduces the incentive to try other AI code completion tools and migrate source code en masse. Why bother try if all products offer no to little value and developers already have one for free from GitHub?</p><p>I had earlier published empirical data from our (StrongDM&#8217;s) own usage of GitHub Copilot which showed little to no value. Perhaps this sentiment is felt broadly amongst other software developers, leading Microsoft to just offer it for free vs monetizing it at all.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3d1867a9-e432-447d-8b0c-512afe80eb83&quot;,&quot;caption&quot;:&quot;It&#8217;s been about 90 days since we added a Github CoPilot license to every member of my software development team. When CoPilot was first introduced, I wanted to assess its impact on the team. Would it yield to more or better code? Would the engineering team be happier or more productive with this novel tool?&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Is Github CoPilot effective?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:5235579,&quot;name&quot;:&quot;Karim Fanous&quot;,&quot;bio&quot;:&quot;Startup veteran, 4x engineering leadership at startups: Qumulo, Dremio, Kheiron Medical and presently @StrongDM&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dee0945-3371-4fa3-b8e8-2213e8daf116_260x260.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-04T16:03:18.113Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b4a83d-0b4a-4d0c-a9a7-98e6c619167b_1024x1024.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.cummulative.io/p/is-github-copilot-effective&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145235979,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Cu(m^2)ulative&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80d016-31da-41c5-ad53-6936af1c625b_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Regardless of the motivations, in this scenario too, Microsoft is effectively commoditizing the market. In doing so, it reduces the incentive for developers to switch platforms in search of better AI tools. After all, if GitHub already offers an AI assistant at no cost, there&#8217;s little reason to explore alternatives. This strategy protects GitHub&#8217;s position as the dominant platform for developers and ensures that the value proposition of competitors remains limited.</p><div><hr></div><p>In both scenarios, the underlying strategy is clear: Microsoft is commoditizing  Copilot, and subsequently a very popular developer category to safeguard GitHub&#8217;s position as the world&#8217;s leading developer platform. By keeping developers firmly rooted in GitHub&#8217;s ecosystem, Microsoft strengthens its ability to cross-sell other offerings, from cloud hosting to advanced analytics, not to mention protecting GitHub&#8217;s own revenue streams. Masterstroke.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.cummulative.io/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">Cu(m^2)ulative is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>