<?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[The CTO Substack]]></title><description><![CDATA[Built by a CTO, Etienne de Bruin. For those CTOs still in love with the craft. This weekly email is for tech leaders navigating complexity, AI disruption, and the loneliness of the seat.]]></description><link>https://ctosub.com</link><image><url>https://substackcdn.com/image/fetch/$s_!guvi!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe35d5f5a-b7e3-455f-9f2e-40b9ea50b408_1280x1280.png</url><title>The CTO Substack</title><link>https://ctosub.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 15 Jul 2026 20:07:27 GMT</lastBuildDate><atom:link href="https://ctosub.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Etienne de Bruin]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[7ctos@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[7ctos@substack.com]]></itunes:email><itunes:name><![CDATA[Etienne de Bruin]]></itunes:name></itunes:owner><itunes:author><![CDATA[Etienne de Bruin]]></itunes:author><googleplay:owner><![CDATA[7ctos@substack.com]]></googleplay:owner><googleplay:email><![CDATA[7ctos@substack.com]]></googleplay:email><googleplay:author><![CDATA[Etienne de Bruin]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The CTO’s Second Brain]]></title><description><![CDATA[The note is not the memory, any more than a photograph of a friend is the friend.]]></description><link>https://ctosub.com/p/the-ctos-second-brain</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-second-brain</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Fri, 10 Jul 2026 09:17:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!i6U3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I join the Monday call two minutes early. The tiles fill in. Sarah, a CTO I coach. Her VP of Engineering. Me. Then the rest of the attendee list loads. Otter. Fireflies. Granola. Zoom&#8217;s AI Companion. A bot politely named after Sarah&#8217;s executive assistant.</p><p>Three humans. Five note takers.</p><p>We are outnumbered by our own memories.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i6U3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i6U3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!i6U3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!i6U3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!i6U3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i6U3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6968148,&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://ctosub.com/i/206417652?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.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_!i6U3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!i6U3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!i6U3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!i6U3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0346ab5-d628-4846-90e9-679802f181b6_2048x2048.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>Nobody comments on it anymore. The bots slid into our meetings the way phones slid onto our dinner tables, and we all made the same silent agreement to pretend it&#8217;s normal. Every sentence spoken on this call will be transcribed three times, summarized five ways, and filed into vaults, wikis, and CRMs before we say our goodbyes. We are all frantically collecting. Building the so-called second brain, one meeting at a time.</p><p>Three weeks later, Sarah opens our next session with, &#8220;So I did what we agreed on last time.&#8221;</p><p>And I have nothing. I&#8217;m smiling and nodding while my mind sprints down empty hallways. I have three transcripts of that call. I have a summary with the action items in bold. What I don&#8217;t have is the memory. I attended that meeting.</p><p>My tools attended it harder.</p><h2>The vault I told you to build</h2><p>The second brain promise traces back, more or less, to David Allen, who built Getting Things Done on the idea that your mind is a lousy office and a worse filing cabinet, so you should get everything out of it and into a trusted system. Fair enough, for tasks. Then the note-taking world picked it up and turned it into the founding promise of a movement. Build a second brain. A place outside your head where all your knowledge lives, captured and organized and searchable. Free your first brain for the good stuff. The having of ideas. The thinking.</p><p>I believed it. Two years ago I wrote a piece called <a href="https://7ctos.com/the-ctos-hidden-notebook-by-etienne-de-bruin/">The CTO&#8217;s Hidden Notebook</a> and told you to believe it too. I described my conversion at 35,000 feet, the folder structure, the linking, the beautiful painting of my brain.</p><p>I still stand behind half of that article. The half about elaboration, about writing your way to understanding, holds up. The capture half is the part I need to come clean about. Because after the Priya call, I did what any good engineer does when a system underperforms. I blamed my implementation. More plugins. Better tagging. More note takers in more meetings, on the theory that the vault wasn&#8217;t working because it wasn&#8217;t complete. The vault grew. My recall of what was in it did not. I was maintaining a reference library that referenced nothing, and feeling guilty about it the way you feel guilty about a gym membership.</p><p>The guilt was misplaced. I wasn&#8217;t failing at the system. The system is built on a picture of the brain that is wrong.</p><h2>Pipes, clocks, wires, drives</h2><p>The picture is your brain as a hard drive. Memories are files. Files take up space. Space is limited and unreliable, which you know, because you forget things. So the smart move is to migrate the files off the aging, leaky drive and onto external storage that&#8217;s bigger, permanent, and searchable.</p><p>It&#8217;s such a natural picture that it doesn&#8217;t feel like a metaphor. It feels like a description.</p><p>It&#8217;s a metaphor. And it&#8217;s the latest in a long, humbling line of them. Every era reaches for its most impressive technology to explain the brain, and every era turns out to be wrong. </p><ol><li><p>The ancients described thought as <strong>fluid</strong> moving through the body. </p></li><li><p>Descartes looked at the water-driven automata in the royal gardens and described nerves as <strong>pipes</strong> and the brain as a pump. </p></li><li><p>When Europe filled with clocks, the brain became <strong>clockwork</strong>. </p></li><li><p>The telegraph arrived and the nervous system became <strong>wires</strong>. </p></li><li><p>Then the <strong>switchboard</strong>. </p></li><li><p>Then, in our lifetime, the computer, with its input, processing, <strong>storage</strong>, and retrieval.</p></li></ol><p>Each metaphor felt obvious to the people using it. Each one was the shape of the newest machine, pressed onto the oldest mystery. Each one was eventually set down.</p><p>We&#8217;re living inside the computer one, which is why it&#8217;s so hard to see as a choice. But the science we actually have says memory does not work like storage and retrieval, and it hasn&#8217;t for a long time. </p><div class="pullquote"><p>Frederic Bartlett demonstrated this in the 1930s at Cambridge. Give people a strange story to remember and they don&#8217;t play it back, they reconstruct it, reshaping it toward what makes sense to them, drifting further with each retelling. </p></div><p>Memory is not a recording. It&#8217;s an act. When you remember something, you are not opening a file. You are rebuilding the thing, in the moment, out of fragments and patterns and the state you&#8217;re in right now.</p><p>Now follow the consequence, because it&#8217;s the whole point. If a memory is not a file, if it&#8217;s a pattern in your tissue that gets rebuilt each time you use it, then there is nothing to move to external storage. There is no file to drag off the drive. You can write a note about the memory. You can leave yourself a cue that helps you rebuild it later. But the note is not the memory, any more than a photograph of a friend is the friend.</p><p>Knowledge isn&#8217;t a thing you hold. It&#8217;s a thing you do.</p><h2>The receipt is not the meal</h2><p>The honest objection arrives on schedule. Isn&#8217;t the brain genuinely bad at storage? Yes. Obviously. But that&#8217;s beside the point. Storage was never the job. The job of memory is to let you recognize, generalize, predict, and act. Calling the brain bad at storage is like calling a river bad at being a lake.</p><p>The research here is not subtle, and it did not start with AI.</p><p>In 1992, UCLA memory scientists Robert and Elizabeth Bjork drew a distinction that should be required reading for every knowledge worker. A memory has storage strength, how well-learned it is, and retrieval strength, how easily you can summon it right now. The two are not the same, and their relationship contains a trap. The Bjorks found that the easier something is to retrieve in the moment, the less durable learning you gain from encountering it again. Effortless access produces almost no learning. </p><p>The struggle to recall is not a bug in the process. <em>The struggle is the process.</em></p><p>In 2011, Betsy Sparrow, Jenny Liu, and Daniel Wegner published a study in Science on what they called Google effects on memory. When people expected information to remain accessible later, they recalled the information itself worse and remembered where to find it better. The brain, sensing a reliable external partner, quietly reassigns the job. It stops storing the what and starts storing the where.</p><p>In 2014, Linda Henkel led students through an art museum and found that the ones who photographed the objects remembered fewer of them, and fewer details about them, than the ones who simply looked. She called it the photo-taking impairment effect. The camera captured everything. The photographers retained less. And the detail I can&#8217;t stop thinking about is this: when participants zoomed in on a specific feature of an object, the impairment disappeared. Attention repaired what outsourcing had broken.</p><p>Swap the camera for a meeting bot and tell me the experiment isn&#8217;t running in your calendar right now.</p><p>The newest data point is rougher but hard to ignore. In 2025, researchers at the MIT Media Lab monitored people writing essays with ChatGPT, with a search engine, or with nothing but their own heads. The ChatGPT group showed the weakest neural connectivity of the three, and 83% of them could not accurately quote from essays they had written minutes earlier. Their own essays. Minutes earlier. It&#8217;s a preprint with 54 participants and it has taken methodological criticism, so hold it loosely. But notice how neatly it rhymes with everything from Bartlett forward. The pattern across seven decades of research points one direction. When the tool does the remembering, you don&#8217;t.</p><p>Every time you tell yourself the note is the memory, you skip the part that would have made it one. </p><p>The five uncomfortable seconds of putting the idea in your own words. The effort of connecting it to something you already know. Capture lets you skip that work and feel like you didn&#8217;t.</p><p>You get the receipt and skip the meal, and then you wonder why you&#8217;re still hungry.</p><h2>The closed-book exam</h2><p>Why does this matter to you more this year than it did two years ago? Because capture just became free. The note takers outnumber the humans now, and every meeting ends with the warm feeling that it&#8217;s all handled.</p><p>Meanwhile, consider when your knowledge actually earns its keep. A board member interrupts your slide to ask why infrastructure spend is up 40%. Your CEO turns to you mid-negotiation and asks what the migration really costs. An engineer challenges an architecture decision in front of the team. </p><div class="pullquote"><p>Every moment that defines you as a CTO is a closed-book exam. </p></div><p>Your vault is not in the room. Your transcripts are not in the room. What&#8217;s in the room is your retrieval strength, the one thing none of your tools have been building, the thing Sparrow&#8217;s research says the capture habit has been quietly reassigning away.</p><p>We are the first generation of technology leaders who can outsource remembering entirely, at the precise moment our jobs still depend on the one thing that can&#8217;t be outsourced.</p><h2>Try the blank page first</h2><p>I&#8217;m not going to tell you to delete your vault or kick the bots out of your meetings. Mine are still there, and the elaboration practice I described in The Hidden Notebook is still how I write. What changed is what I ask the vault to be. It&#8217;s a cue library now, not a warehouse. In practice, that looks like this.</p><p>After my next important meeting, before I open the AI summary, I take a blank page and write down what I remember. The decisions, the tensions, the thing someone almost said. Then I open the transcript and compare. The gap between the two pages is not a failure. It&#8217;s a map of what I actually know versus what I merely attended. This is Henkel&#8217;s zoom lens, applied to a Tuesday.</p><p>Once a day, I take one thing a bot captured and rewrite it in my own words, connected to something I already believe or something I recently got wrong. One note. Five minutes. The meal, not the receipt.</p><p>And when I need to recall something, I try before I search. Thirty seconds of reaching for it. The Bjorks&#8217; research suggests the reaching is precisely what builds the strength. Then I search, and the note confirms or corrects me.</p><p>I&#8217;ll be honest about what to expect. This feels slower. It feels worse. The capture habit feels like progress because it&#8217;s frictionless, and this feels like friction because it is. But you already know, from every system you&#8217;ve ever scaled, that the work you defer doesn&#8217;t disappear. It compounds. The remembering you&#8217;ve been deferring to your tools has been compounding too, and the interest comes due in the rooms where your judgment is the product.</p><p>Your brain is for having ideas. It turns out it was holding them all along. Nothing else ever was.</p><p>So, with the laptop closed, what do you actually know?</p><div><hr></div><p><em>Sources: Bjork, R. A. &amp; Bjork, E. L. (1992), &#8220;A New Theory of Disuse and an Old Theory of Stimulus Fluctuation&#8221;; Sparrow, B., Liu, J. &amp; Wegner, D. M. (2011), &#8220;Google Effects on Memory: Cognitive Consequences of Having Information at Our Fingertips,&#8221; Science 333; Henkel, L. A. (2014), &#8220;Point-and-Shoot Memories,&#8221; Psychological Science 25; Kosmyna, N. et al. (2025), &#8220;Your Brain on ChatGPT: Accumulation of Cognitive Debt When Using an AI Assistant for Essay Writing Task,&#8221; MIT Media Lab preprint, arXiv:2506.08872; Bartlett, F. C. (1932), Remembering: A Study in Experimental and Social Psychology.</em></p>]]></content:encoded></item><item><title><![CDATA[The CTO’s Crisis Cadence]]></title><description><![CDATA[A crisis is a bandwidth problem. Your engineers have too little and your CEO has too much. Your job is not to fix the system. Your job is to manage the flow between those two.]]></description><link>https://ctosub.com/p/the-ctos-crisis-cadence</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-crisis-cadence</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Thu, 11 Jun 2026 09:18:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hJze!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m standing at my kitchen counter at 6 a.m., refreshing our signups dashboard with toothpaste still in my mouth. The number keeps climbing. We launched an AI product six weeks ago and people love it. Dana, our CEO, three weeks into the job, has been forwarding me screenshots of prospects begging for access. Sales is closing deals faster than we can spell &#8220;onboarding.&#8221; I feel like a rockstar.</p><p>Then I notice the green line on the dashboard has gone flat.</p><p>Not climbing. Not dipping. Flat. The way a heart monitor goes flat.</p><p>A third-party model provider we depend on has changed something upstream, and our inference pipeline is timing out. New customers can&#8217;t onboard. Existing ones are staring at spinners. The Slack channel I muted last night has 200 unread messages, and the top one is from Dana: &#8220;Are we down?? Customers are emailing me directly. Jumping on a call in 10. Bring the engineers.&#8221;</p><p>I should have known better than to bring the engineers.</p><p>By the time I join, Dana has already pulled Sofia, my strongest backend engineer and the one person who can actually trace the broken dependency, into a live call to explain, in real time, to a non-technical founder, why the system she didn&#8217;t break is broken. Sofia is screen-sharing logs. Dana is asking why we didn&#8217;t catch this. My other two engineers are typing answers into chat instead of into the codebase.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hJze!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hJze!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png 424w, https://substackcdn.com/image/fetch/$s_!hJze!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png 848w, https://substackcdn.com/image/fetch/$s_!hJze!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png 1272w, https://substackcdn.com/image/fetch/$s_!hJze!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hJze!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png" width="800" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/81ad0614-1118-4d88-84e0-481754aeba38_800x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1010918,&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://ctosub.com/i/200862378?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.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_!hJze!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png 424w, https://substackcdn.com/image/fetch/$s_!hJze!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png 848w, https://substackcdn.com/image/fetch/$s_!hJze!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.png 1272w, https://substackcdn.com/image/fetch/$s_!hJze!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81ad0614-1118-4d88-84e0-481754aeba38_800x800.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>I watch this for ninety seconds. I have coached hundreds of CTOs on staying calm in exactly this moment. And I open my mouth and I lose it.</p><p>&#8220;This call is the problem,&#8221; I say. Too sharp. &#8220;Every minute Sofia spends explaining the outage is a minute she&#8217;s not fixing it.&#8221;</p><p>Dana&#8217;s face does something I&#8217;ll think about for weeks. She doesn&#8217;t get angry. She slips sideways. Her eyes go somewhere else. She&#8217;s three weeks in, customers are in her inbox, her CTO just snapped at her in front of the team, and she has no idea whether this company is on fire or whether her CTO is.</p><h2>One vowel-shaped gap</h2><p>Later that day I try to repair it. I tell Dana that the two of us need to put real effort into our own relationship before anything else. That when she has a question about engineering, she should bring it to me and not go around me to the team. That a crisis will test us, and we should invest now, while we still can. She nods. The call ends.</p><p>An hour later she messages a board advisor that her new CTO thinks there&#8217;s going to be &#8220;necessary friction&#8221; between them.</p><p>Effort. Friction. One vowel-shaped gap between what I said and what she carried away.</p><p>I told myself we&#8217;d cleared it up. We hadn&#8217;t.</p><h2>The text she didn&#8217;t send to me</h2><p>The next morning, one of my newest developers pings me. He&#8217;s been with us one week. He forwards a text he just got from Dana, asking how things were going and whether the infrastructure was stable yet. A question that belonged to me, sent around me, to a new guy who&#8217;d been on the team for days if not hours.</p><p>The part I still can&#8217;t get over is this. He came to me before he answered her.</p><p>He didn&#8217;t have to. He barely knew me. He could have replied to the CEO and moved on. Instead he paused and told me what was happening. Whatever I&#8217;d done to bring him into the team, I had at least earned that.</p><p>It did not stop me from being livid.</p><p>That morning was the closest I came to walking away from the whole thing. The broken dependency. The oversold customers. The founder going around me the day after I asked her not to. I could feel the exit in my chest.</p><p>But I knew what walking out would cost me. Relief, and then nothing learned. The same lesson waiting for me at the next company, wearing a different face.</p><p>So I did the unglamorous thing. I coached the developers on how to respond, warmly and briefly, and to route the real questions back to me. Then I invited Dana to call me so we could walk through the day&#8217;s updates together.</p><p>When the conversation reached her text, I asked her plainly why she&#8217;d reached out to him. She told me. Her reasons were human and they were fair. She was scared, she wanted ground truth, and I hadn&#8217;t been giving her enough of it to feel the floor under her feet.</p><p>And then we had the best conversation we&#8217;d had since she joined. She asked me for a plan. She asked for visibility. She asked for a real read on customer health. We went deep into the platform struggles, the dependencies we don&#8217;t own, the part-time resources stretched too thin, the product sprinting to catch up with what sales had already sold. No translation games. No keeping score.</p><h2>The outage was never the emergency</h2><p>That call taught me what the snapped-at engineer and the effort-and-friction slip had been trying to teach me all week.</p><p>I was filtering. Out of some instinct to protect Dana, and probably to protect myself, I had been rationing what I sent her. A clean headline here, a reassuring line there. I thought I was sparing her the noise. What I was actually doing was leaving a vacuum, and a frightened founder will always fill a vacuum. If the information doesn&#8217;t come from you, it comes from your team, your board, or her own worst imagination.</p><p>She wasn&#8217;t going behind my back to betray me. She was starving, and I was the one holding the food.</p><p>Sofia fixed the dependency in four hours once we left her alone. The outage was the easy part. The emergency was that a determined new CEO and a veteran CTO were standing two feet apart and could not hear each other, in the exact week we most needed to.</p><p>I wrote about this in <em><a href="https://7ctos.com/the-ctos-silent-struggle-by-etienne-de-bruin/">The CTO&#8217;s Silent Struggle</a></em>. Being technically correct is cheap. I was technically correct on that first call. And being right bought me nothing, because I delivered it in a way that made the most anxious person in the company more anxious.</p><p>A crisis is a bandwidth problem. Your engineers have too little and your CEO has too much. Your job is not to fix the system. Your job is to manage the flow between those two, and to be the most generous source your CEO has, so she never needs to go find another one.</p><h2>Why the flat line is coming for all of us</h2><p>The AI products we are all rushing to ship sit on top of dependencies we do not control. Model providers, vector stores, orchestration layers, rate limits that change without warning. The surface area for a 6 a.m. flat line has never been larger. I argued in <em><a href="https://ctosub.com/p/the-ctos-incoming-storms">The CTO&#8217;s Incoming Storms</a></em> that the storms are coming for how we communicate under pressure, not only for our architecture. This is that storm, arrived in my kitchen.</p><p>When the flat line shows up, three things happen at once, and they compound. A key dependency breaks. The people who can fix it get pulled into explaining it. And a CEO with no technical vocabulary fills the silence with the worst story she can imagine. Daniel Kahneman called it WYSIATI, what you see is all there is. Dana could see angry customers and a frozen dashboard. That was her entire universe. She wasn&#8217;t being irrational. She was being human with incomplete information, which is the only kind of human there is during an outage.</p><p>The instinct in that moment is to throw bodies at the fire. Pull in the contractor, get everyone on the call, loop in the world. Fred Brooks warned us about this back in 1975. Adding people to a late project makes it later, because every new person has to be brought up to speed, and that speed is paid for out of the time of the people who already have it. A crisis call with eight people on it is not a war room. It is eight people watching one person work, and that one person is now performing instead of fixing.</p><h2>Who fixes, who talks</h2><p>The teams that handle this well learned it from people whose outages can cost lives or millions. When Google wrote down how it runs incidents in its <em>Site Reliability Engineering</em> book, the first move was to split the work into roles. One person commands the incident. One person fixes it. And one person does nothing but communicate outward, so the fixer never has to. That communications role exists precisely so that no engineer is ever forced to choose between resolving the system and calming the executive.</p><p>I had collapsed all three roles into one chaotic call, and then gotten angry that it wasn&#8217;t working.</p><p>So let me give you the cadence I wish I&#8217;d had ready.</p><h4>Decide who fixes, and protect them like the asset they are. </h4><p>The moment you identify the person who can resolve the issue, they leave the call. They do not narrate. They do not reassure. They fix. You stand between them and everyone who wants an update, and you absorb every interruption so they never feel one.</p><h4>Give your CEO a rhythm, not a lecture. </h4><p>Dana did not need to understand inference timeouts. She needed to know a competent adult had her back and would tell her something true at a predictable interval. &#8220;I&#8217;ll send you one line every thirty minutes until this is resolved, even when the line is &#8216;still working, no change.&#8217;&#8221; The predictability is the medicine. A scheduled &#8220;no change&#8221; lowers anxiety more than an unscheduled explanation ever will. Remember the fifteen-minute blocks from <em>The CTO&#8217;s Perfect Week</em>? Same muscle. A small, reliable beat a frightened person can set their nervous system to.</p><h4>Over-communicate, and open the door before she looks for a side one. </h4><p>Under stress, message fidelity falls apart. People hear the scary version of whatever you say, so write the important things down and confirm them back. And invite your CEO in, all the way in, because the alternative is the back channel I earned the hard way. A crisis update needs three things to work. Detail. Frequency. Invitation.</p><h4>Apologize fast and apologize specifically when you show up badly. </h4><p>I had to go back to Dana and say the real thing. Not &#8220;sorry if that came across wrong.&#8221; That I was scared too, that I let it leak out as anger, and that she deserved a CTO who was steady on a morning she couldn&#8217;t be. The apology wasn&#8217;t weakness. It was the first deposit in the relationship I&#8217;d been too proud to invest in before I needed it.</p><h2>Three names and one sentence</h2><p>So what do you do with this today, before your dashboard goes flat?</p><p>You don&#8217;t need a giant incident-response process. You need three names and one sentence.</p><p>Write down who your fixer is for your most fragile system. Write down who communicates outward when it fails. They should not be the same person. If your team is small enough that they have to be, the rule gets simpler, not harder: the fixer fixes, you communicate, and you do not interrupt them for status more often than your own cadence allows.</p><p>Then write the one sentence your CEO can forward to a customer without you in the room. &#8220;We&#8217;ve identified an issue affecting onboarding, our team is on it, and we&#8217;ll update you by [time].&#8221; If your CEO holds that sentence, she stops texting your developers and starts protecting you.</p><p>What happens next surprised me. The fire does not go out any faster. Sofia&#8217;s four hours were going to be four hours no matter what I did. But the panic goes out almost immediately. And panic, not the outage, is what burns the trust between a CTO and a new CEO to the ground. Buy your fixers four quiet hours and you become the steadiest person in the company. Fill those four hours with a frantic all-hands and you become the problem.</p><p>You will also feel less alone, which is the part nobody warns you about. A crisis handled with a cadence stops being a thing happening to you and becomes a thing you are running. That move, from passenger to conductor, is most of the relief.</p><p>You are one person. You cannot make your model provider stable, or your CEO calm, or your dependencies bulletproof. What you can do is be the one steady beat in the room when everyone else&#8217;s tempo falls apart. Do it once and the team remembers. Do it twice and they keep the cadence without you. A new developer starts forwarding you the text he could have answered himself. That is how a single CTO turns a culture of panic into a culture that holds.</p><p>Your dashboard is going to go flat one of these mornings. The only question that matters is whether the people around you will hear a steady voice or a scared one.</p><p>Which one have you been practicing?</p><p>Etienne</p><p>p.s. <a href="https://coachexe.com/contact">reach out to me at my coaching company (EXE)</a> if you want to set up some coaching around this subject.</p>]]></content:encoded></item><item><title><![CDATA[Etienne’s Letter: From Pushkin to GPT]]></title><description><![CDATA[We talk about AI models as if they arrived from nowhere. They didn&#8217;t. They are the industrial-scale descendant of a 113-year-old technique for predicting what comes next.]]></description><link>https://ctosub.com/p/etiennes-letter-from-pushkin-to-gpt</link><guid isPermaLink="false">https://ctosub.com/p/etiennes-letter-from-pushkin-to-gpt</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Sun, 07 Jun 2026 18:05:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DeL_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s January 1913. A Russian mathematician named Andrey Markov is finishing up a fight with a colleague. The colleague has argued that probability theory only applies to events that are independent of one another, coin flips and dice rolls, and Markov is convinced this is rubbish. He picks an unlikely battlefield to prove it on: Alexander Pushkin&#8217;s <em>Eugene Onegin</em>, the verse novel every Russian schoolchild can recite by heart. He takes the first 20,000 letters of the poem, strips out the punctuation and the spaces, and by hand, with a pencil, classifies each letter as a vowel or a consonant and tallies which kind follows which. On January 23, he stands in front of the Imperial Academy of Sciences in St. Petersburg and presents his finding. A vowel in Pushkin&#8217;s poem is far more likely to be followed by a consonant than by another vowel. The letters are not independent. What comes next depends on what came before.</p><p>That paper invented what we now call Markov chains. It was also the first time anyone had built a probabilistic model of human language and proved it by hand.</p><p>A large language model, 113 years later, is the same idea at industrial scale. Given everything that has come before, what is the probability of each possible next token? Markov did it with pencil, paper, and two categories. A modern model does it with billions of parameters and a vocabulary of tens of thousands. The shape of the question hasn&#8217;t changed. The shape of the answer hasn&#8217;t either.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DeL_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DeL_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!DeL_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!DeL_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!DeL_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DeL_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b3fc4fe-537e-461a-856e-4df13c86bcf4_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;:1042256,&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://ctosub.com/i/201032533?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.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_!DeL_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!DeL_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!DeL_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!DeL_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3fc4fe-537e-461a-856e-4df13c86bcf4_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>I find that lineage clarifying because it cuts the mysticism. We talk about these models as if they arrived from nowhere. They didn&#8217;t. They are the industrial-scale descendant of a 113-year-old technique for predicting what comes next. The interesting question is not whether the prediction is magic. It&#8217;s how the prediction is actually made, and that turns out to be something a CTO can hold in their head if it&#8217;s shrunk down far enough.</p><p>So I shrank it. Five words, five numbers per word, every table small enough to fit on one page. I want to walk you through it the way I built it, because I think any CTO making vendor and roadmap bets on this technology benefits from being able to reconstruct the mechanism from memory. Not the math of a production model. The shape of it.</p><p><strong>The core idea: an LLM turns words into numbers, lets every word mix in a little of every other word according to how related they are, repeats that dozens of times, and uses the result to predict the next token. Everything else is scale.</strong></p><h2>Why the fog costs us</h2><p>We aren&#8217;t training models from scratch. We don&#8217;t need to derive backpropagation. So why does a working CTO benefit from the internals?</p><p>Because we are committing budget, architecture, and hiring to a technology our leadership teams find mystifying, and mystification is a tax. It shows up when product asks for something the model structurally cannot do and we can&#8217;t articulate why. It shows up when a CEO reads one breathless essay and wants the roadmap rebuilt around it. It shows up when a senior engineer offers fine-tuning as the answer to every question and the room has nothing sharper than instinct to push back with.</p><p>When we can explain the machine plainly, the wrong things stop impressing us. Our questions about cost and latency get sharper, because we understand where they come from. And we become the person in the C-Suite who can translate, which the past few years have made clear is most of the job.</p><p>Here&#8217;s the page.</p>
      <p>
          <a href="https://ctosub.com/p/etiennes-letter-from-pushkin-to-gpt">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The CTO’s Refactor]]></title><description><![CDATA[Grab my new book for 99c - today only!]]></description><link>https://ctosub.com/p/the-ctos-refactor</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-refactor</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Tue, 02 Jun 2026 12:04:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cgVq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A CTO friend once listened to me rattle off my week. Every architecture review, every priority debate, every hire, every 2am page. I was proud of the list. Then he said, &#8220;You realize you&#8217;re the single point of failure, right?&#8221;</p><p>It stung because it was true.</p><p>My team wasn&#8217;t slow. My processes weren&#8217;t broken. I was the throughput limit. Every decision waited on my calendar, and I had spent years mistaking that bottleneck for importance.</p><p>The hard part to admit is that I liked it. A production outage doesn&#8217;t need a strategy deck. The fix is obvious, the praise is immediate, and for a moment nobody questions your value. Crisis is the cheapest dopamine a technologist can buy. Meanwhile the work that would actually make my company stronger, the systems and the leaders that don&#8217;t need me, kept getting pushed to next week.</p><p>I have watched this pattern in nearly every CTO I coach through 7CTOs. We climb by being the person who can fix anything, and then the same instinct that got us here quietly turns us into the reason everything moves slowly. You feel needed. The company feels fragile. Both are true at once.</p><p>In code, when a system gets tangled and hard to maintain, we don&#8217;t quit and rewrite from zero. We refactor. We reorganize the internals so the thing runs cleaner, without changing what it does on the outside. The function stays the same. The structure gets healthier.</p><p>Your role as CTO is no different.</p><p>The job itself doesn&#8217;t change. You still align technology with the business, steward the budget, and build the machine that builds the product. What can change is how you engage with that function. What you hold onto. What you hand off. What you protect with your whole body, and what you finally let go of.</p><p>That is what <em><a href="https://get.ctorefactor.com">Refactor</a></em> is about. Not a productivity hack. Not a color-coded calendar. A way to redesign the role from the inside so it stops eating your evenings, your focus, and the part of you that fell in love with this work in the first place.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cgVq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cgVq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png 424w, https://substackcdn.com/image/fetch/$s_!cgVq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png 848w, https://substackcdn.com/image/fetch/$s_!cgVq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png 1272w, https://substackcdn.com/image/fetch/$s_!cgVq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cgVq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png" width="849" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:849,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:880776,&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://ctosub.com/i/199998678?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.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_!cgVq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png 424w, https://substackcdn.com/image/fetch/$s_!cgVq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png 848w, https://substackcdn.com/image/fetch/$s_!cgVq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.png 1272w, https://substackcdn.com/image/fetch/$s_!cgVq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8176e68e-c877-49ce-a3f2-e547409f32b1_849x630.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 book walks through three shifts I had to make myself, usually the hard way. Designing your role instead of inheriting it. Building leverage through people and systems instead of pouring more of your own hours into the fire. And reclaiming your time and attention as the scarce, finite assets they actually are.</p><p>I wrote it because too many brilliant technical leaders are privately unraveling while their dashboards stay green. I was one of them. The cost shows up in your health, your marriage, and the quiet question that keeps surfacing: is this really how I want to spend the next years of my life?</p><p>It doesn&#8217;t have to be.</p><p>If any of this feels familiar, the book is yours: <a href="https://get.ctorefactor.com/">get.ctorefactor.com</a></p><p>What part of your role did you design on purpose, and what part did you inherit by accident?</p>]]></content:encoded></item><item><title><![CDATA[The CTO’s Comprehension Debt]]></title><description><![CDATA[The work doesn&#8217;t disappear when you forward the AI&#8217;s summary. It moves.]]></description><link>https://ctosub.com/p/the-ctos-comprehension-debt</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-comprehension-debt</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Fri, 29 May 2026 06:25:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qDHN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s a Wednesday morning and I&#8217;m reading a Slack thread. I&#8217;ve been brought in fractionally to a startup whose star developer gave two weeks&#8217; notice and disappeared. He held the entire system in his head. The founders, both non-technical, were fine with that arrangement for two years. They aren&#8217;t fine with it now. We&#8217;ve contracted a dev shop to keep the lights on. The lead engineer there is Priya. She&#8217;s trying to get her bearings.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qDHN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qDHN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!qDHN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!qDHN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!qDHN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qDHN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_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;:2420590,&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://ctosub.com/i/199699048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.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_!qDHN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!qDHN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!qDHN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!qDHN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9ad28d-619b-4e5a-b3f6-46d821b6fccd_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>Priya is asking the questions a senior engineer asks when she&#8217;s inheriting a system she didn&#8217;t build. Not technical questions &#8212; those she&#8217;ll find in the code. The questions she needs the founders to answer.</p><p><em>What part of the system has been most fragile in the last six months. Which customers are you most worried about losing if we touch the wrong thing. If we&#8217;ve got two weeks before the new onboarding flow has to ship, what should we leave completely alone. Of these product specs, which are current and which were aspirational.</em></p><p>These are the questions only the founders can answer. No transcript says <em>this is what matters.</em> That judgment was supposed to live in their heads. It doesn&#8217;t. For two years it lived in their star developer&#8217;s head. Now he&#8217;s gone.</p><p>The founders cannot answer. So they reach for the only move available to them. They paste.</p><p>A Fathom transcript from a meeting with the old dev, six months ago. A product spec document, eleven pages. A thread of customer feedback. Another Fathom recording, this time of a sales call where architecture came up tangentially. Each one prefaced with some version of &#8220;this might help&#8221; or &#8220;summary from the call attached.&#8221;</p><p>I watch Priya read each one. I watch the gaps between her messages get longer. Her questions get more specific, then more careful, then quieter.</p><p>Then one of the founders pastes what he calls a summary. It&#8217;s a Fathom AI recap of a 90-minute conversation. It is two pages long. I unmute the part of myself that&#8217;s been observing this for three days and I type: <em>you call that a summary?</em></p><p>The founder is genuinely confused by my pushback. He isn&#8217;t trying to hide anything. He isn&#8217;t pretending to understand the system. He&#8217;s doing the opposite. He&#8217;s openly admitting he doesn&#8217;t, and hoping that by sending the material through AI first, the smart people downstream will be able to figure it out.</p><p>That&#8217;s the move I want to name. It&#8217;s not deception. It&#8217;s a kind of naive hope: <em>if I compress this with a model and forward it to someone smarter than me, comprehension will happen somewhere in the chain.</em></p><p>It won&#8217;t. And the founders, exhausted and frightened, are about to learn this the expensive way.</p><h3>A cousin of technical debt</h3><p>Technical debt is the shortcut you ship knowing someone will pay interest on it later. The interest comes due in maintenance, rework, on-call pages, the engineer who spends a day decoding a hack before they can change a line.</p><p>Comprehension debt works the same way. You forward an artifact you didn&#8217;t actually comprehend. A summary. A transcript. A translated spec. A meeting recap. A Linear ticket generated from a Loom.</p><p>The artifact looks complete. It&#8217;s grammatically clean. It moves through the system like a finished thing. But it isn&#8217;t finished. It&#8217;s deferred. The work of comprehending it has been pushed downstream onto whoever opens it next, on the hope that they&#8217;ll do what you couldn&#8217;t.</p><p>The founders weren&#8217;t being lazy. They were being generous, in a strange way. They were sending Priya everything they had and trusting her to be smart enough to extract signal from it. They didn&#8217;t realize that comprehension isn&#8217;t a property of the document. It&#8217;s a property of a human who has held the document long enough to integrate it. No amount of forwarding produces that.</p><h3>Why we do this</h3><p>The human brain is about 2% of your body weight and burns roughly 20% of your daily calories. Thinking is metabolically expensive. The brain is wired to take any cheaper path it can find. This isn&#8217;t a flaw. It&#8217;s the same logic that makes you sit down when you don&#8217;t have to.</p><p>AI is the cheapest cognitive shortcut a knowledge worker has ever been handed. Of course we take it. Especially when we&#8217;re scared. The founder forwarding the Fathom summary isn&#8217;t lazy. He&#8217;s a non-technical founder. His company has six months of runway. His entire technical knowledge just walked out the door. And someone handed him a tool that lets him <em>appear</em> to still have access to that knowledge by passing the residue of it through a model.</p><p>That&#8217;s the part most coverage of AI productivity misses. The dangerous use of AI summarization isn&#8217;t by careless people. It&#8217;s by frightened people, hoping the model will hold something they couldn&#8217;t.</p><p>I notice this in myself too. The urge to paste a long thread into Claude and ask &#8220;what&#8217;s the gist&#8221; instead of reading it. The urge to skim, nod, and forward. I&#8217;m not trying to deceive anyone. I&#8217;m trying to keep moving in a job that has more inbound information than the brain I&#8217;m running on can handle. The hope that compression equals comprehension is intoxicating, and it works just long enough to bury the cost.</p><h3>What comprehension actually is</h3><p>Comprehension isn&#8217;t recall. It isn&#8217;t the ability to paraphrase. A high schooler can paraphrase a paragraph they don&#8217;t understand. So can Claude.</p><p>Comprehension is the act of holding an idea long enough to test it against what you already know, until you could defend it, challenge it, or apply it without the source in front of you. Three things make it real.</p><h4><strong>Attention</strong> </h4><p>Slowing down enough for the words to actually land. Most &#8220;I read it&#8221; is &#8220;my eyes passed over it.&#8221; Real attention is rare and you can feel the difference when someone has it.</p><h4><strong>Integration</strong> </h4><p>Connecting the new idea to what you already believe, and noticing where it doesn&#8217;t fit. This is where the work is. This is the part that costs calories. Until an idea has been integrated, you don&#8217;t own it. You&#8217;re just storing it.</p><h4><strong>Stance</strong></h4><p>Forming a position you&#8217;d sign your name to. Agreement, disagreement, doubt, a position. &#8220;I think the auth layer is going to break under load by Q3.&#8221; Not &#8220;the auth layer has scaling considerations.&#8221; One is a stance. The other is a sentence that survived a summarization pass.</p><p>When the founder pasted the two-page Fathom recap, none of these were present. The information had moved through him without leaving a fingerprint.</p><h3>The literal transfer</h3><p>The founder spends two minutes. Skim the Fathom recap, paste it, send. He feels productive. He&#8217;s resolving inbound requests.</p><p>Priya spends an hour. She reads the two-page summary trying to find the answer to &#8220;what should we leave alone.&#8221; It isn&#8217;t there. The summary is a Fathom AI&#8217;s best guess at what mattered in a meeting it didn&#8217;t understand the stakes of. She asks a sharper follow-up. Gets another pasted artifact. Finally messages her own engineer to start poking at the code and infer priorities from where the most defensive comments and tests have been written. The judgment she needed from the founders, she&#8217;s now reverse-engineering from the codebase. Badly.</p><p>Two minutes saved on one side. An hour spent on the other. Plus the wrong priorities she&#8217;s about to set, which will surface as a missed deadline in three weeks because the team rebuilt something that didn&#8217;t need rebuilding while the actual fragile thing sat there waiting.</p><p>Multiply this across a team. Every Linear ticket whose description was AI-summarized from a customer call the PM didn&#8217;t watch. Every code review comment that was Claude&#8217;s rewording of a thought the reviewer didn&#8217;t actually have. Every executive update where someone pasted the engineering dashboard, asked for &#8220;key takeaways,&#8221; and forwarded those upward with &#8220;fyi.&#8221;</p><p>Most of what&#8217;s currently being called AI productivity is comprehension debt. The leader who shipped it has no idea the bill is accruing. The interest is being paid two steps downstream, by people who don&#8217;t yet have the vocabulary to push back.</p><h3>Where AI summarization actually works</h3><p>AI summarization is genuinely useful for <strong>data</strong>. Log analysis. Regression triage. Pulling the relevant section out of a 200-page compliance doc. Surfacing the three lines in a Slack thread that contain a decision. If the next step is &#8220;trigger an alert&#8221; or &#8220;look up a record,&#8221; summarize away.</p><p>It is dangerous for <strong>judgment and collaboration</strong>. Assigning work. Giving feedback. Aligning a team. Handing off a system. Telling someone what matters. Anything where another human has to act on what you sent, and where your point of view is the value being transmitted, not the information.</p><p>The distinction isn&#8217;t AI versus no AI. It&#8217;s whether the next reader needs the artifact or needs <em>you</em>. Priya didn&#8217;t need a summary of the system. She needed someone, anyone, to tell her what mattered and why. When she didn&#8217;t get that, she didn&#8217;t get nothing. She got something worse than nothing. Confident-sounding paragraphs that pointed in roughly the right direction and obscured the fact that no one upstream knew what they actually wanted.</p><h3>The other direction</h3><p>Now look the other way.</p><p>You aren&#8217;t only the sender of comprehension debt. You&#8217;re also the receiver. You sit downstream of the CEO&#8217;s Loom that got AI-summarized into a Linear epic. You sit downstream of product&#8217;s PRD that was generated from three customer interviews the PM didn&#8217;t watch in full. You sit downstream of the board deck whose engineering priorities slide was pasted in from ChatGPT at 11pm the night before the meeting.</p><p>The CEO isn&#8217;t trying to fool you. The PM isn&#8217;t trying to fool you. They&#8217;re doing what the founders in my story were doing. Hoping that if they compress the material with a model and pass it to the smart technical person downstream, comprehension will happen somewhere in the chain.</p><p>Then you and your team are expected to <em>build</em> against it. You&#8217;re the rung where the debt finally has to be paid, because code doesn&#8217;t run on summaries. It runs on someone, somewhere, having held the thing long enough for it to integrate.</p><p>The harder question isn&#8217;t &#8220;what am I forwarding that I don&#8217;t understand.&#8221; It&#8217;s <em>what am I building from that nobody upstream understood, and am I going to keep paying that interest in silence?</em></p><h3>Three questions before you hit send. And one before you hit accept.</h3><p>Before forwarding anything you generated or summarized with AI, ask:</p><ol><li><p><strong>Can I say this without the doc in front of me?</strong></p></li><li><p><strong>What do I actually think about it?</strong> One line of stance. Agreement, disagreement, doubt. Something you&#8217;d sign your name to.</p></li><li><p><strong>Who is paying the interest on this?</strong></p></li></ol><p>If the answer to one is no, you don&#8217;t send it yet, you read the thing. If the answer to two is &#8220;I don&#8217;t know,&#8221; you don&#8217;t send it yet, you form a position. If the answer to three is &#8220;someone downstream, and they don&#8217;t know it yet,&#8221; you stop.</p><p>And one for everything that lands in your inbox:</p><ol start="4"><li><p><strong>Did anyone upstream actually comprehend this, or am I about to be the rung where the debt comes due?</strong></p></li></ol><p>If the answer is the second one, you don&#8217;t build from it. You send it back up. Ask the CEO what they actually think. Ask the PM what the customer actually said. Refuse to be the place where uncomprehended work gets quietly converted into committed code.</p><h3>The chain</h3><p>The dev shop is still working with that startup. The founders are slowly learning. Priya is slowly figuring out the priorities the founders couldn&#8217;t articulate. The bill is being paid, mostly by her. The founders are starting to see that the bill exists.</p><p>I sat with that Slack thread for three days watching two smart, frightened founders forward material they had never comprehended to a team that needed them to actually know what they were handing over. They thought they were being helpful. They were hoping. The hope was generous. It was also a fantasy.</p><p>There are three rungs in the comprehension debt economy. The <em>originators</em> who never understood. The <em>forwarders</em> who didn&#8217;t read what they passed on. The <em>receivers</em> who build from what they were given. Most CTOs are at least two of those three on any given week.</p><p>Audit the last three things you forwarded today. Then audit the last three things you accepted without questioning.</p><p>The bill is being paid somewhere. The question is which rung you&#8217;re on.</p>]]></content:encoded></item><item><title><![CDATA[The CTO’s Extinction Event]]></title><description><![CDATA[The title on my own job spec started feeling archaic. So I went looking for what the CTOs leveling up are actually doing differently.]]></description><link>https://ctosub.com/p/the-ctos-extinction-event</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-extinction-event</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Sun, 03 May 2026 20:52:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!a_u2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m drafting an email to a recruiter. <br><br>We&#8217;re hiring a senior executive leader to lead AI across one of our portfolio companies. Owning the strategy. Building the team. Deciding what we build versus buy versus partner on. Making the call on which products live, which die, and which get rebuilt around the new economics. The kind of mandate that shapes whether a company makes it through the next two years.</p><p>I get to the line where I have to type the title.</p><p>I pause.</p><p>Then I write something else. Chief AI Officer. Head of AI. VP, AI Platform. I cycle through three or four. None of them are the obvious one.</p><p>The obvious one is CTO. And I cannot bring myself to type it.</p><p>I sit with that for longer than I&#8217;d like to admit. I founded 7CTOs. I&#8217;ve spent fifteen years of my career arguing that the CTO role is the one that decides whether a technology company lives or dies. And here I am, building a job spec for exactly that role, and the title I built my life around feels archaic. It feels tone-deaf. It feels like writing &#8220;Director of Telegraphy&#8221; on a 1950s org chart.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a_u2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a_u2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!a_u2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!a_u2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!a_u2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a_u2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91e27100-4b91-4016-8ea8-b70fff4cde63_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;:1240476,&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://ctosub.com/i/196347237?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.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_!a_u2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!a_u2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!a_u2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!a_u2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91e27100-4b91-4016-8ea8-b70fff4cde63_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>This isn&#8217;t because I think CTOs can&#8217;t do AI work. Most of the best CTOs I know are deep in it. Something else has happened. Something faster than I expected. Almost overnight, the title started carrying a weight it didn&#8217;t carry a year ago. A weight of <em>yesterday.</em></p><p>I closed the laptop and didn&#8217;t write the email that day. I needed to understand what had shifted.</p><p>This piece is what I came back with.</p><h2>The asymmetry that built the role</h2><p>For a long time, the CTO was the only person in the C-Suite who could see into the substrate. Not because we had a crystal ball. Because we understood how things actually worked. We knew why latency mattered. We knew why the architecture decision in March would either save the company in November or sink it.</p><p>That asymmetric understanding made us valuable. The CEO needed us to translate possibility into plan. The CFO needed us to translate plan into cost. The board needed us to translate cost into risk.</p><p>The LLM has taken that conduit and given it to everyone in the room.</p><p>Your CEO can now ask Claude what an event-driven architecture is. Your head of sales can ask GPT-5 to explain vector databases. Your CFO can prompt her way to a competent-sounding question about model evaluation. None of them will be experts. They no longer need you to do the basic translation.</p><p>This should not be a crisis. It is a crisis only because too many CTOs have responded to it by becoming consumers of the same tool that flattened their advantage.</p><h2>The parallel that actually fits</h2><p>I keep thinking about a split that ran through our own field in the seventies and eighties. The split between programmers who understood the machine and programmers who only understood the language.</p><p>Both groups wrote code. Both groups shipped product. Both groups used the high-level languages, the compilers, the abstractions everyone else used. None of them refused the new tools. But the ones who knew how memory worked, what the registers were doing, why a cache miss cost what it did, why the kernel scheduled the way it scheduled, those engineers had an asymmetric advantage that compounded for the rest of their careers. They could see why systems failed. They could see where the abstraction would leak. They could design things the application-layer programmers couldn&#8217;t even describe.</p><p>The same split is forming right now around AI. Most CTOs are choosing the application layer. Some of us are going to choose the substrate. The people who go deeper will run things. The people who only consume the abstraction will be managed by them.</p><p>I want us to be the second group.</p><h2>The data on which way most of us are walking</h2><p>A 2025 study by Microsoft Research and Carnegie Mellon, presented at the CHI conference, surveyed 319 knowledge workers across 936 real AI-assisted tasks. </p><div class="pullquote"><p>Higher confidence in the AI was associated with <em>less</em> critical thinking. Higher self-confidence was associated with <em>more</em> critical thinking.</p></div><p>The people who trusted the AI thought less. The people who trusted themselves thought more. The researchers were direct about why: knowledge workers refrain from critical thinking when they lack the skills to inspect, improve, and guide AI-generated responses.</p><p>The people who don&#8217;t understand the tool can&#8217;t think alongside it. They can only consume it.</p><h2>Two ways we&#8217;re going extinct</h2><p>I see two patterns in our profession and both lead to the same place. I&#8217;ve watched both happen to colleagues I respect. I&#8217;ve caught myself drifting toward the first one more times than I&#8217;d like to admit.</p><h3>1. Token Monkey</h3><p>The first is the Token Monkey. The CTO who has reduced the job to procurement. The week is spent negotiating with Anthropic and OpenAI. We live inside spend dashboards. We run pilots that produce slides. We&#8217;ve become AI buyers with a fancy title. When the CEO asks what&#8217;s next, we answer with vendor names.</p><h3>2. Vibe Coding</h3><p>The second is more dangerous because it looks like work. The CTO who is vibe coding their way through the week, throwing prompts at Cursor, watching agents produce repos, confusing the appearance of building with actual building. We&#8217;re shipping artifacts we couldn&#8217;t defend in a code review. We&#8217;re accumulating output we don&#8217;t fully understand. We feel productive. We&#8217;re not.</p><p>Neither version is going to be replaced by AI. We&#8217;re going to be replaced by the next person who walks into the room and demonstrates that they can still think.</p><h2>The advice we all swallowed</h2><p>For two decades the industry has told CTOs the same story. Get out of the code. Step away from the implementation. Your job is to build the team, set the vision, optimize the workflow, manage the stakeholders. The technical work is what your engineers are for. The strategic work is what you are for.</p><p>I&#8217;ve preached versions of this myself. <em>The CTO&#8217;s Perfect Week</em> is partly built on it. <em>&#8220;Your contribution to the company no longer lies in the code you&#8217;re producing&#8221;</em> was the whole framing of that piece. I still think it was true for the world I wrote it in.</p><p>It is not enough for the world we are in now.</p><p>The orthodoxy worked when the technical landscape underneath you was relatively stable. You could afford to ascend, because the substrate didn&#8217;t shift faster than you could oversee it. You could trust your engineers to keep up with the substrate while you kept up with the business. The split between technical depth and executive altitude was a clean trade.</p><p>That trade is broken. The substrate is now moving faster than any team you build can follow on your behalf. Your principal engineers are using tools that are six months ahead of where they were when you hired them. Your platform team is making model choices that change unit economics. Your product team is shipping AI features whose failure modes nobody on your staff can fully explain to you, because you trained yourself out of being the person who could ask the hard questions.</p><p>The CTO who has spent the last five years optimizing the org chart and running quarterly OKRs is not at the top of their game right now. They are exposed. The role they were trained into is the role most at risk.</p><p>What I&#8217;m asking for is not regression. I&#8217;m not asking you to write JIRA tickets again. </p><p><em>I&#8217;m asking you to become a technical intellectual at a depth you may not have allowed yourself in fifteen years</em>. </p><ul><li><p>To read the papers your engineers are reading and read them more carefully. </p></li><li><p>To understand the math behind the model choice. </p></li><li><p>To argue the architecture at a level your CEO cannot follow you to and isn&#8217;t supposed to. </p></li></ul><p>That&#8217;s not a step backward. That&#8217;s a different kind of seniority. It&#8217;s the kind we let go of, and it&#8217;s the kind that&#8217;s coming back into demand whether or not the industry has admitted it yet.</p><p>The CTOs who survive this aren&#8217;t the best team-builders. They&#8217;re the best technical thinkers who can also build teams. The order of those two things has reversed.</p><h2>What the ones leveling up are actually doing</h2><p>I get to watch a lot of CTOs up close. Some of them are pulling ahead right now. </p><p>Six habits show up in almost every one of them. </p><ol><li><p>They are reading complete white papers, not just the summaries.</p></li><li><p>They can name the architectural choices behind the models they use, and defend them.</p></li><li><p>They are studying the cognitive science underneath, not just the technology. </p></li><li><p>They write to think, not to publish.</p></li><li><p>They are in regular, hard conversation with other CTOs about all of it.</p></li><li><p>When they don&#8217;t know something, they sit in the not-knowing instead of reaching for the model.</p></li></ol><p>None of these six are technically hard. All of them have been trained out of us. The rest of this piece is what I&#8217;ve learned about each one.</p><h2>Confidence comes from the taxonomy, not the demo</h2><p>When you actually understand the taxonomy of AI, something shifts in how you walk into a meeting. You stop using the words wrong. You stop saying &#8220;the AI&#8221; like it&#8217;s a single thing. You know the difference between a foundation model, a fine-tune, a retrieval system, an agent, and an orchestration layer. You know what a context window is, what an embedding is, what a token actually represents. You know what evaluation means in this domain and why eval design is harder than the model design.</p><p>That knowledge changes your executive presence in a way nothing else can right now. Your CEO walks out of the meeting saying <em>&#8220;my CTO actually knows what they&#8217;re talking about.&#8221;</em> Your CFO stops asking the AI for second opinions on your recommendations. The board starts inviting you into conversations you weren&#8217;t in before.</p><p>The confidence is real because it&#8217;s earned. It&#8217;s not the hollow confidence the Microsoft study warned about, where leaning on the AI made people think less and feel more sure. It&#8217;s the opposite. It&#8217;s the confidence that comes from sitting with the hard thing until you understand it.</p><h2>What I want you to learn (and one example of why)</h2><p>Read the papers. Not the summaries. The papers themselves. When Anthropic publishes <a href="https://transformer-circuits.pub/2025/attribution-graphs/biology.html">circuit-tracing work</a>, when DeepMind drops a <a href="https://storage.googleapis.com/deepmind-media/gemini/gemini_v2_5_report.pdf">technical report</a>, when a Stanford team publishes <a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/research-and-development">inference economics</a>, those are maps of the terrain. The CTO who reads the actual map will be looking at a different country than the one reading the AI-generated travel brochure.</p><p>Then learn how the brain works. Is it now more important than ever for a CTO to understand how the brain actually works? Yes. Every paper you read on transformer attention is also, properly digested, a paper about human attention. Every paper on memory retrieval will tell you something about your own. Every paper on reinforcement learning will tell you something about how habits form in your team.</p><p>When you understand attention heads in transformers, that mechanism where the model learns to weight which tokens to attend to in a context, you suddenly have a framework for what&#8217;s happening when one of your engineers is overwhelmed in a sprint. They&#8217;re context-saturated. They have no attention budget. The technical concept and the human concept aren&#8217;t analogies. They&#8217;re the same problem at different levels of abstraction. The CTO who carries that frame leads differently. They redesign the sprint. They change the meeting cadence. They protect attention as a resource because they now understand attention as a resource.</p><p>That is what foundational knowledge does. It grows flowers in domains you didn&#8217;t expect.</p><h2>The two other skills</h2><p>There are two more things I want us to invest in.</p><h3>Writing</h3><p>The first is writing. Not LinkedIn posts. Real writing. The kind where you sit down with a question you don&#8217;t know the answer to and write your way toward an answer that&#8217;s actually yours. I&#8217;ve written about this before in <em>The CTO&#8217;s Hidden Notebook</em>. Writing is the only practice I&#8217;ve found that exposes whether you actually understand something or you&#8217;re just pattern-matching on words you&#8217;ve heard. AI cannot do this for you. The moment you let AI write your thinking, you stop having thinking to write.</p><h3>Discussing</h3><p>The second is talking to other CTOs about hard things. This is why we run the <a href="https://7ctos.com/cto-forums/">7CTOs peer groups every month</a>. We pick a paper or a deep idea, and a small group of CTOs sit around it and argue about it for ninety minutes. No slides. No vendor pitches. Brains in real time, working something out together. White papers don&#8217;t fully come alive on the page. They come alive in discussion, when somebody else&#8217;s interpretation collides with yours and forces you to defend or refine what you actually believe.</p><p>If you don&#8217;t have a peer group like this, build one. If you want into ours, message me. The hardest thinking I do every month happens in those rooms.</p><h2>The frontier is the work</h2><p>The CTOs who come through this well will not be the ones who managed AI spend the best. They will not be the ones who deployed agents fastest. They will be the ones who, when everyone else in the room had outsourced their thinking, were still doing the work.</p><p>That&#8217;s a small group right now. Smaller than it should be. I&#8217;d rather it be a much bigger one, and I&#8217;d rather we get there together.</p><p>So read the papers. Learn the taxonomy until you can defend the architectural choices yourself. Learn how the brain actually works. Write your way to your own positions. Talk to other CTOs who refuse to be consumers. Stop asking the model what you think.</p><p>I still haven&#8217;t sent that recruiter email. When I do, I think I&#8217;m going to write CTO in the title field. Not because the role is the same as it was last year. Because I want the title to mean something again. </p><p>That&#8217;s on us.</p>]]></content:encoded></item><item><title><![CDATA[The CTO’s Incoming Storms]]></title><description><![CDATA[Let me name the six conversations I&#8217;m watching land on CTOs right now, and the stance I&#8217;d want you holding in each one.]]></description><link>https://ctosub.com/p/the-ctos-incoming-storms</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-incoming-storms</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Thu, 16 Apr 2026 00:15:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UnOK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m sitting across from a CTO at a coffee shop in Salt Lake City. He&#8217;s stirring his Americano like he&#8217;s trying to drill through the bottom of the cup. We&#8217;ve been here twenty minutes and he hasn&#8217;t taken a sip.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UnOK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UnOK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!UnOK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!UnOK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!UnOK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UnOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a9cd725-1d64-4165-aef4-f77eb075d2a0_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;:2050890,&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://ctosub.com/i/194356474?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.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_!UnOK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!UnOK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!UnOK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!UnOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9cd725-1d64-4165-aef4-f77eb075d2a0_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>&#8220;They want to cut us to one engineer per product team,&#8221; he says. &#8220;One. The CEO read something on LinkedIn about AI agents and now he&#8217;s convinced we can ship the same roadmap with a third of the team.&#8221;</p><p>I ask him what he said in the meeting.</p><p>&#8220;I told him the math doesn&#8217;t work. I walked him through the velocity numbers, the on-call rotation, the knowledge concentration risk.&#8221; He finally takes a sip, grimaces. The coffee is cold. &#8220;He nodded. Then he asked me to put together a transition plan by end of quarter.&#8221;</p><p>This CTO is brilliant. He has fifteen years of scar tissue, a calm demeanor, and a genuine love for his team. And he is about to lose this fight. Not because he&#8217;s wrong. He&#8217;s right. He&#8217;s going to lose because he showed up to a strategy conversation with a defense brief.</p><p>I&#8217;ve had four conversations like this in the last three weeks. Different cities, different stages, different product categories. Same shape. The CTO knows something is coming at them, the conversation has already started, and they don&#8217;t have a stance ready. They have facts. They have logic. They have decades of experience. What they don&#8217;t have is a position they can hold under pressure when the room turns.</p><p>So let&#8217;s fix that.</p><h2>The conversations already on your calendar</h2><p>Here&#8217;s something true about the storms heading toward technology leaders right now: they don&#8217;t announce themselves. They show up disguised as casual questions in 1:1s, throwaway comments in board meetings, Slack messages from a CFO who &#8220;just had a quick thought.&#8221;</p><p>By the time the conversation feels like a confrontation, it&#8217;s already three weeks deep. The CEO has talked to two board members. The CFO has run the model. The COO has chatted with a peer at another company who &#8220;did the same thing and it worked great.&#8221;</p><p>You walk in thinking you&#8217;re having a discussion. They walk in having already made the decision and looking for your buy-in.</p><p>You need to know what&#8217;s actually being asked, and you need a position before you walk into the room. Let me name the six conversations I&#8217;m watching land on CTOs right now, and the stance I&#8217;d want you holding in each one.</p><h2>1. &#8220;Why can&#8217;t we cut headcount now that we have AI?&#8221;</h2><p>This is the conversation. Every CEO on the planet is having some version of it, even the ones who haven&#8217;t said anything to you yet. Revenue per employee is climbing across software companies, boards are pattern-matching hard, and the productivity stories about AI coding tools are everywhere.</p><p>The trap is to argue against the cut. You&#8217;ll lose. The numbers your CEO is reading are real, the productivity gains in narrow contexts are real, and your defensive posture will read as self-interested protection of your empire.</p><p>The stance to hold: AI doesn&#8217;t reduce the need for engineers, it changes what engineers are for. Your team used to produce code. Now they produce judgment about code. The bottleneck has moved from typing speed to the ability to evaluate, integrate, take responsibility for, and operate systems built faster than any human can fully review.</p><p>If you cut the team, you don&#8217;t get the same roadmap with fewer people. You get a codebase that nobody understands at depth, security posture that decays in months because nobody has time to think about it, and a production environment where every incident takes three times longer to resolve because the people who would have built the system never built it.</p><p>Don&#8217;t say &#8220;we can&#8217;t cut.&#8221; Say &#8220;here&#8217;s what we&#8217;re optimizing for now, and here&#8217;s what that team looks like to deliver it.&#8221; Bring the new shape, not the defense of the old one. If the answer involves a smaller, more senior team with different skill profiles, say that. If it involves the same headcount with a radically different mix, say that. What you can&#8217;t do is fight the premise. The premise has already won.</p><h2>2. &#8220;Can we just have one developer on each product team?&#8221;</h2><p>This is the same conversation in a different costume. It&#8217;s the org-design version of the headcount conversation, and it&#8217;s seductive because it sounds like alignment. One engineer, one PM, one designer, ship faster, fewer dependencies, clear ownership. It reads beautifully on a slide.</p><p>What it actually creates is the bus factor problem at industrial scale. Every product surface depends on a single person who cannot get sick, take vacation, or quit without breaking something. Every architectural decision gets made in isolation. Every cross-cutting concern &#8212; auth, observability, data contracts, security review, deployment infrastructure &#8212; becomes nobody&#8217;s job.</p><p>Six months in you have twelve product surfaces, twelve different ways of doing the same thing, twelve people who&#8217;ve each painted themselves into a corner, and a platform team that doesn&#8217;t exist because you couldn&#8217;t justify the headcount when you were &#8220;moving fast.&#8221;</p><p>Your stance: pods of one are not teams, they are single points of failure dressed up in a process diagram. Engineering work is collaborative because the work itself is collaborative. The code one person writes today will be read by four people next quarter and modified by twelve people next year. The decisions one person makes about how to structure data will constrain every team that touches that data for years.</p><p>Counter-propose. If they want surface area and ownership, give them small persistent teams of three to five with clear product alignment and shared platform infrastructure underneath. That&#8217;s the structure that scales. That&#8217;s the structure that survives someone quitting. That&#8217;s the structure that lets you actually move fast in year two, not just year one.</p><h2>3. &#8220;The board wants to know our AI strategy&#8221;</h2><p>Translation: someone on the board read an article, talked to a portfolio company CEO, and now you have a homework assignment due Friday.</p><p>The wrong move is to produce a deck full of tools you&#8217;re &#8220;evaluating.&#8221; Every CTO is evaluating Cursor, Claude Code, Aider, a handful of MCP servers, and whatever launched on Product Hunt last Tuesday. That&#8217;s not strategy, that&#8217;s shopping. Boards smell shopping immediately.</p><p>The stance: your AI strategy is your engineering strategy. They&#8217;re not separate documents anymore. It&#8217;s how your team writes code, reviews code, handles incidents, makes architectural decisions, and develops junior engineers in a world where the easy work is done by machines. It includes what you&#8217;re building with AI for customers, but the harder and more important half is how AI changes the way your team operates internally &#8212; and what that means for hiring, leveling, performance, and risk.</p><p>Bring three things to the board.</p><ol><li><p>Where AI is creating leverage in your engineering org today, with numbers you trust. Not vendor numbers. Your numbers. </p></li><li><p>Where you&#8217;re investing for the next two quarters and what you expect to learn.</p></li><li><p>What you&#8217;re explicitly not doing and why. The &#8220;not doing&#8221; list is what separates strategy from a wish list. Boards have seen enough wish lists. They want to see judgment.</p></li></ol><p>If you can&#8217;t fill in that third bucket, you don&#8217;t have a strategy yet. You have a backlog.</p><h2>4. &#8220;We need to move faster&#8221;</h2><p>You will hear this every quarter for the rest of your career. It&#8217;s the background radiation of being a CTO. But right now it has a new edge to it, because everyone in the building believes AI should have already made you faster. The question is no longer &#8220;can we go faster&#8221; &#8212; it&#8217;s &#8220;why aren&#8217;t we faster yet.&#8221;</p><p>The bad response is to promise more velocity. The worse response is to explain why velocity is hard. Both lose you credibility.</p><p>Your stance: speed is a function of what you&#8217;re willing to stop doing. The team&#8217;s capacity hasn&#8217;t suddenly tripled because an LLM can write a function. The team&#8217;s capacity to ship features is gated by code review, testing, deployment safety, on-call burden, security review, customer support escalations, and the cognitive load of maintaining everything you&#8217;ve already shipped. AI helps with one slice of that pipeline. The rest is unchanged or, in some cases, worse &#8212; because faster code generation means more code to review, integrate, and operate.</p><p>If you want speed, we make trade-offs. Here are three things we could stop investing in to free up capacity for the new priority. Here&#8217;s what we&#8217;d accept in terms of risk or quality. Here&#8217;s what would break.</p><p>Make the trade-off visible. Make the CEO choose. The conversation shifts from &#8220;the CTO is slow&#8221; to &#8220;the executive team made a prioritization decision together.&#8221; That&#8217;s where it should have been all along. That&#8217;s also where you stop being the person who says no and start being the person who frames the choice.</p><h2>5. &#8220;Are we sure all this AI-generated code is safe?&#8221;</h2><p>This one usually comes from the CFO or General Counsel, and it usually arrives about a quarter after your team has gone all-in on AI coding tools. Sometimes it arrives the morning after a security incident at a peer company makes the news.</p><p>The honest answer is: probably not entirely, and neither is anyone else&#8217;s. Recent research on AI-generated code has found meaningful rates of vulnerable patterns, license contamination, and subtle logic errors that pass code review because they look right. The code is plausible. Plausible is the enemy of secure.</p><p>The stance: AI-generated code needs the same scrutiny as code from a brand new engineer on day one &#8212; which means it needs more scrutiny, not less, even though it arrives faster. Our review practices, our test coverage requirements, our security scanning, our dependency analysis &#8212; none of that gets relaxed because the author is a model. If anything, it gets tightened, because the volume of code is going up.</p><p>Then bring the actual plan. What scanning tools you&#8217;re running. What review standards you&#8217;ve updated. What you&#8217;re tracking. What you&#8217;re going to know in 90 days that you don&#8217;t know today. The CFO doesn&#8217;t need you to promise zero risk. They need to see that someone is actually thinking about this with rigor, not just enthusiasm.</p><p>If you don&#8217;t have that plan, build it this month. This conversation is coming whether you&#8217;re ready or not, and &#8220;we trust our engineers&#8221; is not an answer that survives a board-level question about AI risk.</p><h2>6. &#8220;I don&#8217;t think anyone is listening to me&#8221;</h2><p>This isn&#8217;t a conversation with the C-suite. This is the conversation you&#8217;re having with yourself at 11pm on a Tuesday, and it&#8217;s the most dangerous one on this list.</p><p>I wrote a while back about how being technically correct isn&#8217;t enough. That hasn&#8217;t changed. What&#8217;s changed is the stakes. When the rest of the C-suite is making decisions about AI, headcount, and organizational structure based on incomplete mental models, your inability to make them feel what you see isn&#8217;t a communication problem anymore. It&#8217;s a survival problem. For you and for the company.</p><p>There&#8217;s a particular flavor of isolation that hits CTOs right now. Your CEO is reading the same five Substacks as every other CEO. Your CFO is running models built on industry benchmarks that are six months out of date by the time they&#8217;re published. Your peers in the C-suite are pattern-matching against what they&#8217;re hearing at their own peer dinners. And you, the only person in the room who actually understands what the technology can and can&#8217;t do, are increasingly being treated as the resistant one. The cautious one. The one who doesn&#8217;t get it.</p><p>You start to wonder if you don&#8217;t get it.</p><p>The stance to hold with yourself: if they&#8217;re not hearing you, that&#8217;s data about how you&#8217;re showing up, not data about their intelligence. The work is to translate. Not dumb it down &#8212; translate. Find the version of your concern that lives in their language. Revenue, risk, retention, runway, customer trust, regulatory exposure. Pick the frame they already think in and put your concern inside it.</p><p>And get out of the building. Talk to other CTOs. Not to vent &#8212; to calibrate. The version of reality you&#8217;re living in inside your company is one data point. You need others. You need to know whether your CEO&#8217;s expectations are reasonable, aggressive, or unhinged compared to what&#8217;s actually happening at companies of your size and stage. Without that calibration, you&#8217;ll either capitulate when you should hold, or hold when you should adapt. Both are fatal.</p><p>The CTOs I see weathering this period well all have the same thing in common: they have somewhere to take the hard questions before they have to answer them in front of their CEO. A coach, a peer group, a mentor, a community. Somewhere they can be uncertain out loud and come back with a stance.</p><p>If you don&#8217;t have that, build it this month. It&#8217;s not a luxury anymore.</p><h2>What to do this week</h2><p>Pull out your calendar. Find the next executive meeting on it. Before you walk in, write down two things on a notecard.</p><p>The first is the strongest argument against your current position. Not a strawman &#8212; the real one, the one your smartest skeptic would make. If you can&#8217;t articulate it cleanly, you&#8217;re not ready to defend your position. You&#8217;re ready to be surprised by it.</p><p>The second is the trade-off you&#8217;re asking the team to make. Not a recommendation, a trade-off. &#8220;If we do A, we don&#8217;t get B. Here&#8217;s why I think A is right anyway.&#8221; This forces you out of advocacy mode and into the executive frame, where everything is a choice between imperfect options and the job is to make the choice cleanly.</p><p>Then in your next 1:1 with your CEO, ask one question: &#8220;What&#8217;s the conversation about engineering you&#8217;re having that I&#8217;m not part of?&#8221; Sit with the silence. Let them answer. The answers will tell you which storm is closest, and how much warning you actually have.</p><p>You&#8217;re not going to stop the storms. They&#8217;re coming. Boards are going to ask hard questions about AI. CFOs are going to push on headcount and security. CEOs are going to want more velocity with fewer people. Product is going to want autonomous pods. That&#8217;s the job now.</p><p>What you can control is whether you walk into those rooms with a stance or with a defense. The CTOs I see thriving right now aren&#8217;t the ones with the best technology opinions or the deepest technical chops. They&#8217;re the ones who&#8217;ve already done the work to know where they stand before the conversation starts. They&#8217;ve stress-tested their position with peers. They&#8217;ve translated it into the language of the room. They&#8217;ve identified the trade-offs they&#8217;re willing to make and the ones they aren&#8217;t.</p><p>Get your stance ready. The meeting is already on your calendar.</p>]]></content:encoded></item><item><title><![CDATA[The CTO’s Entropy War]]></title><description><![CDATA[The second law of thermodynamics is coming for your codebase. AI just handed it a flamethrower.]]></description><link>https://ctosub.com/p/the-ctos-entropy-war</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-entropy-war</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Thu, 09 Apr 2026 03:37:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WE97!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m standing behind Marcus, one of my best engineers, watching him demo a feature he built in forty minutes using Claude Code. A reporting dashboard. Clean layout. Responsive. Tests passing. He&#8217;s beaming.</p><blockquote><p><em>Hey my new book <strong>CTO Refactor</strong> is coming out in May 2026 - head over to <a href="https://ctorefactor.com">ctorefactor.com</a> to get advance copies and some bonus treats. - Etienne</em></p></blockquote><p>I pull up the codebase. There are three utility functions doing nearly the same date formatting. The error handling pattern doesn&#8217;t match anything else in the repo. A new data access layer has been introduced that duplicates logic we already have in our services directory. And Marcus has no idea, because he didn&#8217;t write this code. He directed it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WE97!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WE97!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!WE97!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!WE97!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!WE97!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WE97!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cd7ef7f-5db6-4a42-be8a-5807fdf64922_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;:1751220,&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://ctosub.com/i/193604786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.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_!WE97!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!WE97!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!WE97!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!WE97!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cd7ef7f-5db6-4a42-be8a-5807fdf64922_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>I ask him why the date formatter doesn&#8217;t use our existing utility. He scrolls through the file tree. &#8220;We have one?&#8221; He genuinely doesn&#8217;t know. This is an engineer who has been with us for two years.</p><p>I close my laptop and walk back to my desk. The dashboard works. It passed review. It will ship. And it will quietly make our system a little harder to understand, a little more fragile, a little less coherent. Not today. Not next week. But the weight is accumulating. I can feel it in the pull requests, in the onboarding conversations, in the growing silence when I ask why something was built this way.</p><p>That silence is entropy. And fighting it just became the most important part of my job.</p><h2>The Universe Wants Your Codebase to Fall Apart</h2><p>In 1850, Rudolf Clausius articulated what would become the second law of thermodynamics: in any natural process, the total entropy of an isolated system can only increase. Things move from order to disorder unless you put energy into keeping them organized.</p><p>Meir Lehman applied this thinking to software in 1974. His second law of software evolution states that the complexity of a software system increases unless work is done to maintain or reduce it. For fifty years, this has been the quiet backdrop to every engineering organization. Codebases rot. Standards drift. Architecture erodes. Entropy wins unless you fight it.</p><p>We have always fought it. Code reviews. Refactoring sprints. Architectural standards. Style guides. These are the maintenance rituals that keep disorder at bay. The energy we pour into keeping our systems coherent.</p><p>AI just changed the equation. Dramatically.</p><p>A recent large-scale study of over 300,000 AI-authored commits across 6,275 GitHub repositories found that AI-introduced technical debt is growing rapidly, climbing from a few hundred surviving issues in early 2025 to over 110,000 by February 2026. About 24% of those issues still persist in current codebases. GitClear&#8217;s analysis of over 211 million lines of changed code found copy-pasted code up 48% and refactored code declining 60%. Code churn, the percentage of lines rewritten within two weeks, has doubled in teams heavily using AI tools.</p><p>The disorder isn&#8217;t slowing down. It&#8217;s accelerating. And if you&#8217;re a CTO leading 40 to 120 engineers right now, entropy is your fight. Not AI strategy decks. Not model selection. Not prompt engineering workshops. Entropy.</p><h2>Why AI is the Greatest Complexity Generator We&#8217;ve Ever Built</h2><p>When code was slow and expensive to produce, friction was your friend. Every function a developer wrote required them to understand the system they were modifying. They had to read existing code. They had to navigate the architecture. They had to make choices that fit. The very slowness of writing code was a form of quality control.</p><p>AI removed the friction. A junior engineer with Cursor can now produce 500 lines of code that passes lint, follows naming conventions, and looks clean on review. But verifying whether that code fits the system, whether it respects architectural boundaries, whether it introduces hidden coupling, requires the senior reviewer to mentally reconstruct the entire logic flow. And they don&#8217;t. It takes too much energy. When the code looks right, the brain skims. The PR gets approved. The debt gets merged.</p><p>Stack Overflow&#8217;s 2026 developer survey found that 76% of developers using AI tools reported generating code they didn&#8217;t fully understand at least some of the time. Think about that. Three out of four engineers are shipping code into your production systems that they cannot fully explain.</p><p>Forrester predicts 75% of technology decision-makers will face moderate to severe technical debt by the end of this year. DORA&#8217;s research confirms the pattern: AI adoption links to higher throughput but lower delivery stability. More changes ship faster. Each change is slightly more likely to break something.</p><p>Ox Security published a report calling AI-generated code &#8220;highly functional but systematically lacking in architectural judgment.&#8221; That phrase is worth pausing on. The code works. It passes tests. But it doesn&#8217;t <em>know</em> your system. It doesn&#8217;t carry the context of why your team chose to handle errors that way, or why the data access layer was separated from the business logic, or why you migrated off that specific library three months ago.</p><p>AI treats every prompt as a greenfield project. Your codebase is anything but.</p><h2>Your Engineers Aren&#8217;t Getting Worse. The Problem Is Getting Bigger.</h2><p>I wrote about this in my recent article on The CTO&#8217;s New Engineering Ladder. Output used to be a reasonable proxy for engineering talent. It no longer is. When everyone can ship, what separates your Architects from your Apprentices is judgment. The ability to see downstream consequences. The instinct for what will break. The capacity to reason about a system under pressure.</p><p>But judgment depends on understanding the system you&#8217;re working within. And the system is getting harder to understand every day that AI-generated code ships without deep review.</p><p>This is the entropy spiral. AI produces code faster than your team can comprehend it. Comprehension gaps lead to architectural drift. Drift makes the codebase harder to reason about. And a harder-to-reason-about codebase makes AI-generated code even more dangerous, because the AI doesn&#8217;t know what it doesn&#8217;t know, and neither does the engineer directing it.</p><p>CircleCI&#8217;s 2026 State of Software Delivery report, drawn from over 28 million workflows, found that AI-assisted development drove a 59% increase in throughput. But most engineering organizations are leaving the majority of those gains on the table, not because AI isn&#8217;t working, but because their validation, review, and delivery systems haven&#8217;t caught up.</p><p>More code. Fewer releases. That&#8217;s the entropy signature.</p><h2>The CTO as Entropy Fighter</h2><p>The narrative circulating in boardrooms right now is that CTOs are becoming obsolete. Jack Dorsey announced Block would cut nearly half its workforce, telling shareholders that &#8220;100 people + AI = 1,000 people.&#8221; The stock jumped 24%. Atlassian split its CTO role in two, explicitly scoped to the AI era. Gartner predicts 40% of enterprise applications will feature task-specific AI agents by end of 2026.</p><p>If you listen to this noise, you might think the CTO&#8217;s job is shrinking. I think the opposite is true.</p><p>When code was expensive, the CTO&#8217;s primary job was to make sure enough code got written. When code becomes cheap, the CTO&#8217;s primary job is to make sure the system stays coherent. That&#8217;s a harder job. The universe is literally working against you.</p><p>The old CTO managed output. The entropy-fighting CTO manages order. Order across a codebase that&#8217;s being written by humans, AI agents, and hybrid workflows simultaneously. Order across teams that are shipping faster than the architecture can absorb. Order across an organization where product managers, data analysts, and operations leads are all generating code that ends up in production systems.</p><p>This is not an abstraction. I coach CTOs who are living this right now. The ones who are thriving have stopped thinking of themselves as accelerators and started thinking of themselves as governors. Not in the bureaucratic sense. In the mechanical sense. The device that prevents an engine from tearing itself apart at high speed.</p><h2>Three Forces That Create Entropy in AI-Driven Development</h2><h3>Comprehension debt</h3><p>Addy Osmani coined this term in early 2026, and it captures something that traditional technical debt doesn&#8217;t. Comprehension debt accumulates when your team ships code they didn&#8217;t write and don&#8217;t deeply understand. Every AI-generated feature that gets merged without someone building a genuine mental model of how it works adds to this debt. And unlike traditional debt, you don&#8217;t know you&#8217;re taking it on.</p><h3>Architectural amnesia</h3><p>AI doesn&#8217;t remember your design decisions. It doesn&#8217;t know why you chose event-driven architecture for that service, or why the auth layer is isolated, or why you deliberately avoided that ORM. Every prompt is a fresh start. Over time, the architectural intent that held your system together gets diluted by thousands of small, individually reasonable decisions that don&#8217;t add up to a coherent whole.</p><h3>Review collapse</h3><p>When a junior dev submitted 50 lines of code in 2023, a senior could review it meaningfully in ten minutes. When an AI-augmented engineer submits 500 lines that all look syntactically correct, the cognitive cost of genuine review goes through the roof. The natural human response is to skim. Approve. Merge the debt. One API security company found a 10x increase in security findings per month across Fortune 50 companies between December 2024 and June 2025.</p><p>These three forces compound each other. Comprehension debt weakens review quality. Weak reviews accelerate architectural drift. Drift makes comprehension harder. The spiral tightens.</p><h2>Building the Anti-Entropy Machine</h2><p>If you run an engineering organization of 40 engineers or more, you need what I call an entropy budget. A deliberate, protected allocation of engineering time dedicated not to building new things but to keeping existing things coherent.</p><h3>1. Make AI your refactoring engine, not just your feature engine</h3><p>The same tools that generate code at speed can find dead code, consolidate duplicates, generate documentation, and identify architectural drift. Most teams use AI exclusively for production. Flip the ratio. For every four AI-assisted features your team ships, dedicate one cycle to AI-assisted cleanup. Use AI to reduce entropy, not just increase it.</p><h3>2. Treat AI output like a first draft from a talented stranger</h3><p>Because that&#8217;s what it is. A stranger who doesn&#8217;t know your system, your team&#8217;s conventions, or your architectural intent. The code might be excellent in isolation. Your job is to make sure it fits the whole.</p><h3>3. Rebuild your code review around judgment, not syntax</h3><p>If your reviews are catching formatting issues and variable names, you&#8217;re wasting your most expensive engineers on work the linter should handle. Reviews should answer one question: does this change make the system easier or harder to reason about in six months?</p><h3>4. Instrument your entropy</h3><p>Track code churn (lines rewritten within two weeks of being written), module coupling over time, and the ratio of new code to refactored code. If new code is climbing and refactored code is declining, your entropy is accelerating. You can see this in GitClear&#8217;s data at the industry level. You need to see it at the team level.</p><h3>5. Protect the learning pipeline. </h3><p>AWS CEO Matt Garman said it plainly when he heard proposals to replace junior engineers with AI: &#8220;That&#8217;s like, one of the dumbest things I&#8217;ve ever heard.&#8221; A Stanford Digital Economy study found employment for software developers aged 22 to 25 has declined nearly 20% from its 2022 peak. If you stop hiring people who are learning to think about systems, you won&#8217;t have people who know how to think about systems in five years. Entropy will have won by default.</p><h2>Your Agentic Future Depends On This</h2><p>The next chapter of AI development is agentic. Multi-agent systems that plan, execute, and iterate without waiting for a human prompt. Gartner reported a 1,445% surge in multi-agent system inquiries from Q1 2024 to Q2 2025. GitHub&#8217;s Agent HQ, announced in February 2026, lets developers run multiple AI agents simultaneously on the same task.</p><p>An agentic future running on a high-entropy codebase is a disaster. Agents that can autonomously modify code, run tests, and ship changes will amplify whatever state your system is in. Strong foundations get amplified into faster, more reliable delivery. Weak foundations get amplified into faster, more creative destruction.</p><p>The CTO who has spent the last year fighting entropy, keeping architectural boundaries clean, maintaining comprehensible systems, building review processes that catch drift, will have a codebase that agents can navigate and improve. The CTO who chased velocity above all else will have a codebase that agents can barely understand, let alone safely modify.</p><p>Your readiness for agentic AI is directly proportional to how well you&#8217;ve managed entropy today.</p><h2>Three Things to Do This Week</h2><p>Write down the architectural decisions that live only in your head or in the heads of your senior engineers. If your AI tools don&#8217;t know why the system is built this way, they can&#8217;t maintain it. If your new engineers don&#8217;t know, they can&#8217;t review the AI&#8217;s work. Architectural intent must be documented, not folklored.</p><p>Pull your team&#8217;s code churn numbers for the last quarter. How much of what was written last month was rewritten this month? If the number is climbing, your entropy is accelerating and no amount of velocity will outrun it.</p><p>Pick one senior engineer and give them an explicit mandate: spend 20% of their time next sprint making the codebase more coherent. Not shipping features. Not closing tickets. Reducing entropy. See what happens when someone&#8217;s job is to fight disorder instead of produce output.</p><p>The CTO isn&#8217;t dead. The CTO&#8217;s job just got a lot more physical. You&#8217;re fighting thermodynamics now. And the engineers who will build your team&#8217;s future are watching to see if you care more about speed or coherence.</p><p>I know which one keeps companies alive.</p><p>Etienne</p><div><hr></div><p><em>Etienne de Bruin is the founder of 7CTOs and coaches technology leaders through the complexity of scaling engineering organizations.</em></p><div><hr></div><p><strong>Research backing:</strong> The article draws on the March 2026 arXiv study of 304K AI-authored commits, GitClear&#8217;s 211M lines analysis, CircleCI&#8217;s 2026 report (28M workflows), Stack Overflow&#8217;s 2026 survey, DORA findings, Ox Security&#8217;s &#8220;Army of Juniors&#8221; report, the Stanford Digital Economy study on junior dev employment, and Gartner&#8217;s multi-agent inquiry data. I also wove in Lehman&#8217;s Laws (1974) and Clausius for the entropy framing.</p>]]></content:encoded></item><item><title><![CDATA[The CTO’s New Engineering Ladder]]></title><description><![CDATA[How to build a performance ladder that actually means something when everyone in the company writes code]]></description><link>https://ctosub.com/p/the-ctos-new-engineering-ladder</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-new-engineering-ladder</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Thu, 12 Mar 2026 17:26:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Au8G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m sitting across from a senior engineer named Priya on a Tuesday afternoon. Eight years in the industry. Runs the platform team. Every company I&#8217;ve ever worked in would have called her a senior engineer without hesitation. I&#8217;m doing a routine level review and I ask her, as casually as I can, &#8220;What does senior actually mean on your team right now?&#8221;</p><p>She looks at me for a long moment. Then: &#8220;I honestly don&#8217;t know anymore.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Au8G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Au8G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!Au8G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!Au8G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!Au8G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Au8G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1935881,&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://ctosub.com/i/190742189?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.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_!Au8G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!Au8G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!Au8G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!Au8G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2457b2e-d342-41ec-ba23-cbb1becd0c23_1232x928.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>Half her team is using Claude Code and GitHub Copilot to generate entire features in an afternoon. A junior who joined six months ago shipped three production-ready services last week. Another who&#8217;s been around for years is still barely functional without hand-holding. She can&#8217;t tell who&#8217;s performing and who isn&#8217;t because the outputs (features shipping and the pull requests closing) look about the same now. Maybe better for the newer people.</p><p>&#8220;So what do I measure?&#8221; she asks me.</p><p>That question has been sitting in my chest ever since.</p><h2>When the Whole Company Writes Code</h2><p>It&#8217;s not just Priya&#8217;s engineers using AI to generate code. It&#8217;s her product manager, who scaffolded a working prototype last week to win an argument with the CEO. The data analyst who built an internal tool without filing a single ticket. The operations lead who automated her own reporting pipeline in an afternoon.</p><p>Before the seasoned engineers in my audience roll their eyes. I know. A product manager&#8217;s prototype is not production software. The gap between a scaffolded feature and a maintainable, secure, observable system is exactly where engineering expertise still lives. The vibe-coded landing page doesn&#8217;t survive its first security audit.</p><p>But that&#8217;s the point. The things that make an engineer irreplaceable are not the things most performance ladders measure. They measure the stuff AI is getting good at. The irreplaceable stuff: judgment about what to build, instinct for what will break, the ability to reason about a system under pressure at 2am. This gets no column in the spreadsheet. No framework for rewarding it, retaining it, or developing it.</p><p>When your marketing team can ship a prototype and your engineering team can&#8217;t articulate what they do that the prototype can&#8217;t, you have a positioning problem inside your own organization. That&#8217;s the problem worth solving.</p><h2>The World According to Dorsey</h2><p>Jack Dorsey announced recently that Block would cut 4,000 employees, nearly half its workforce, in a move explicitly tied to AI reshaping labor productivity. In a letter to shareholders, Dorsey wrote that &#8220;intelligence tools have changed what it means to build and run a company&#8221; and that a significantly smaller team using AI can do more and do it better.</p><p>Block&#8217;s stock surged 24%.</p><div class="pullquote"><p>His note to employees put it plainly: &#8220;100 people + AI = 1,000 people.&#8221;</p></div><p>Wharton professor Ethan Mollick pushed back, noting it&#8217;s &#8220;hard to imagine a firm-wide sudden 50%+ efficiency gain&#8221; given how new these tools are. He&#8217;s right to be skeptical. Dorsey admitted the company over-hired during COVID and built two separate organizational structures that had to be unwound. Block&#8217;s story is complicated.</p><p>The board reaction is not. A 24% stock pop gets read across every C-Suite in the industry. Your CEO saw it. Your board saw it. They are now wondering whether your team size can be justified by a formula that is no longer theoretical.</p><p>You need to be the one who reframes that conversation with a better framework than Dorsey&#8217;s, one that captures what your engineers actually do that AI cannot.</p><h2>What We&#8217;ve Actually Been Rewarding</h2><p><strong>We have been rewarding output. We need to start rewarding judgment.</strong></p><p>When code was slow and expensive, output was a reasonable proxy for judgment. The friction of development naturally filtered for people who understood what they were building. AI has removed most of that friction. Velocity, story points, deployment frequency. Those were the right measures when humans were the bottleneck. They are not the right measures now.</p><p>The fair objection: judgment can&#8217;t be measured either. Replace one unmeasurable thing with another and you haven&#8217;t built a better system. You&#8217;ve built a more opaque one where your manager&#8217;s subjective read of your &#8220;instincts&#8221; determines your promotion. The five rungs below are my attempt to solve that by making judgment <em>observable</em>. Not measured directly, but identified through specific, concrete behaviors that consistently produce it and specific, concrete behaviors that consistently undermine it. The goal is a set of signals a manager can actually point to in a conversation.</p><p>A 2025 LeadDev survey found that 54% of engineering leaders plan to hire fewer junior engineers because AI copilots are enabling seniors to handle more. On the surface this looks like efficiency. Underneath, it is the slow destruction of the talent pipeline that has produced every senior engineer alive today. A Stanford Digital Economy Study found that by July 2025, employment for software developers aged 22 to 25 had declined nearly 20% from its peak in late 2022. AWS CEO Matt Garman said it best when he heard proposals to replace junior engineers with AI: &#8220;That&#8217;s like, one of the dumbest things I&#8217;ve ever heard. How&#8217;s that going to work when ten years in the future you have no one that has learned anything?&#8221;</p><p>Your engineering ladder is your answer to all of this. If it still measures velocity, story points, and sprint completion (metrics that made sense when humans were the bottleneck) it&#8217;s optimizing for a world that no longer exists.</p><h2>A Ladder Worth Climbing</h2><p>What follows is the engineering ladder I would build for a team operating in 2026. It doesn&#8217;t discard the traditional levels. It reframes what earns each one. The axis shifts from <em>what you produce</em> to <em>what you protect</em>.</p><p>Five rungs. Three signals per rung: what excellence looks like, what struggle looks like, and when someone is ready to move up.</p><p>One note before we start. These rungs do not quietly push great engineers toward management. The Architect, Multiplier, and Strategist are all individual contributor paths. You do not need to manage people or attend CFO meetings to advance. What you need is to demonstrate that your presence raises the quality of work around you. Through code reviews, documentation, standards you set, systems you build. The path is wide. The requirement is impact that compounds beyond your own output.</p><p>Salary ranges reflect 2026 US market data from Glassdoor and the Bureau of Labor Statistics, blending base salary with total compensation. Each range carries a $30K&#8211;$40K spread because that spread is real. It&#8217;s the difference between someone who just crossed the threshold into a rung and someone who has owned it for three years. Where someone lands within a band should track how long they&#8217;ve been operating at that level and how consistently they show the signals below. Use these as calibration points, not contracts. FAANG bands run significantly higher at every level.</p><h2><strong>Rung One: The Apprentice</strong> <em>(formerly Junior Engineer &#8212; $85K&#8211;$120K)</em></h2><p><em>Their question: why might this output be wrong?</em></p><p>Not &#8220;can you ship it?&#8221;. AI can ship it. The Apprentice earns their place by interrogating output rather than accepting it.</p><h4><strong>Excels when</strong> </h4><ol><li><p>They flag inconsistencies before merging, </p></li><li><p>ask for context before shipping, and </p></li><li><p>escalate uncertainty rather than guess through it. Their pull requests include questions, not just solutions. </p></li></ol><p>They build original features and write real code &#8212; the difference from the old junior role is that interrogating AI-assisted output, their own and others&#8217;, is now what signals genuine understanding. Prompting fluently and understanding deeply are not the same thing. The gap between them matters enormously by Rung Three.</p><h4><strong>Struggling when</strong> </h4><ol><li><p>they treat velocity as the goal</p></li><li><p>they ship generated code they cannot explain</p></li><li><p>they hide blockers because they don&#8217;t want to look like they don&#8217;t know something, which at this level is exactly what they should be saying out loud.</p></li></ol><h4><strong>Ready to move up when</strong> </h4><ol><li><p>they can explain <em>why</em> a specific piece of AI-generated code will fail in a specific production scenario, not just <em>that</em> it might</p></li><li><p>they have shipped something end-to-end with minimal guidance and their postmortem was more insightful than their manager expected.</p></li></ol><h2><strong>Rung Two: The Builder</strong> <em>(formerly Mid-Level Engineer &#8212; $120K&#8211;$155K)</em></h2><p><em>Their question: what is this feature protecting the company from?</em></p><p>The Builder owns a feature end-to-end. Not just shipping it, but the definition of done, the edge cases, the production monitoring, the customer impact. In a world where AI can scaffold a service in two hours, their value is in knowing which service is the right one to build and when to throw the generated output away and start again. They write specs before they prompt.</p><h4><strong>Excels when</strong> </h4><ol><li><p>they see around the feature they&#8217;re building &#8212; upstream dependencies, downstream consequences, what happens when it breaks</p></li><li><p>they know what matters to the business, not just the ticket</p></li></ol><h4><strong>Struggling when</strong> </h4><ol><li><p>they are technically proficient but scoped too narrow</p></li><li><p>they deliver features in isolation</p></li><li><p>they need an explicit ticket to know what to work on next.</p></li></ol><h4><strong>Ready to move up when</strong> </h4><ol><li><p>they have proactively identified and resolved a problem nobody assigned them</p></li><li><p>they have mentored an Apprentice visibly and successfully</p></li><li><p>their technical decisions reference company goals without being prompted.</p></li></ol><h2><strong>Rung Three: The Architect</strong> <em>(formerly Senior Engineer &#8212; $155K&#8211;$210K)</em></h2><p><em>Their question: what does this decision cost us in six months?</em></p><p>This is where most performance ladders stop being interesting, which is a shame. It&#8217;s where the real leverage begins. The Architect sees downstream consequences before anyone else does. They translate technical debt into business cost without being asked. Not in a presentation. As a reflex.</p><h4><strong>Excels when</strong> </h4><ol><li><p>they walk into cross-functional conversations with answers before people have finished asking the question</p></li><li><p>the C-Suite understands them</p></li><li><p>their technical instincts show up as financial clarity</p></li></ol><h4><strong>Struggling when</strong> </h4><ol><li><p>they are technically brilliant but organizationally invisible</p></li><li><p>they are right in the code review, wrong in the room</p></li></ol><p>Being correct is not enough at this level. The AI era makes the gap between correct and <em>heard</em> more consequential than ever.</p><h4><strong>Ready to move up when</strong> </h4><ol><li><p>they have demonstrably improved the output quality of a team they don&#8217;t manage</p></li><li><p>they have translated a technical risk into a business risk and been understood by a non-technical executive</p></li><li><p>they have driven a consequential build-vs-buy decision and can show the math.</p></li></ol><h2><strong>Rung Four: The Multiplier</strong> <em>(formerly Staff Engineer &#8212; $210K&#8211;$300K)</em></h2><p><em>Their question: how does the team make better decisions because of you?</em></p><p>Their output is not features. It is the quality of everyone else&#8217;s judgment. If a Multiplier leaves, the team doesn&#8217;t slow down by one; it slows down by the compounded capability they were adding to everyone around them. They define how AI-generated output gets evaluated, trusted, and deployed. They don&#8217;t just use the tools. They determine how the organization relates to them.</p><h4><strong>Excels when</strong> </h4><ol><li><p>engineers leave their code reviews smarter than when they arrived</p></li><li><p>their standards get adopted without being mandated</p></li><li><p>their departure would be felt across teams, not just their own.</p></li></ol><h4><strong>Struggling when</strong> </h4><ol><li><p>they are still primarily an individual contributor</p></li><li><p>they produce excellent work that doesn&#8217;t compound</p></li><li><p>they hoard knowledge because it makes them feel essential rather than building systems that transfer it.</p></li></ol><h4><strong>Ready for expanded scope when</strong> </h4><ol><li><p>they have changed how the engineering organization evaluates an entire category of work. Not just one team but the organization. </p></li></ol><p>The bar is voluntary adoption. People following a standard because they were told to is compliance. People following it because it made their work better is influence.</p><h2><strong>Rung Five: The Strategist</strong> <em>(formerly Principal Engineer &#8212; $280K&#8211;$450K+)</em></h2><p><em>Their question: where do we need to be in two years and what does it cost to get there?</em></p><p>The Strategist&#8217;s domain is the future state of the business, not the current state of the codebase. They have opinions on build-vs-buy decisions that factor in organizational capacity, not just technical preference. They understand the Engineering Efficiency Ratio and know how their decisions move it. They are not waiting to be asked about the business. They are thinking about it before the business knows it has a question.</p><h4><strong>Excels when</strong> </h4><ol><li><p>they are in the room for business decisions before the technical implications surface</p></li><li><p>the CEO treats their input as commercial, not just technical</p></li><li><p>they can quantify the cost of standing still.</p></li></ol><h4><strong>Struggling when</strong> </h4><ol><li><p>they have expert architecture instincts but no strategic patience</p></li><li><p>they want to solve the problem in front of them rather than the problem three years out</p></li><li><p>they can describe the vision but not the price tag.</p></li></ol><h4><strong>Ready for more scope when</strong> </h4><ol><li><p>they can point to two decisions they made that the company is still benefiting from two years later. </p></li></ol><p>Not decisions they recommended. Decisions they drove.</p><h2>When You Let Someone Go</h2><p>You let an engineer go when their judgment is not improving and their presence is actively degrading the judgment of others. Not when they write slow code. Not when they miss a sprint. Not when a feature ships with bugs. Those are correctable.</p><p>What is not correctable is an engineer who ships AI-generated code they cannot explain, who creates production surfaces that no one can reason about, and who trains the Apprentices around them to do the same. In the old world, that engineer was slower. In this world, they are a liability.</p><p>The inverse is more commonly overlooked. The engineer who makes your team smarter (who raises the quality of judgment around them even if they write less code than anyone else) is the person you build around. The Multiplier you can&#8217;t easily measure is often the one holding everything together.</p><p>If you&#8217;re not sure which kind you have, check what happens the week after they go on vacation.</p><h2>What You Build This Week</h2><p>If you run a team of twenty or more engineers without a written performance ladder that addresses AI-augmented work, you are measuring your team against a standard that exists nowhere but in your head. Promotions are political. Feedback is vague. Your best engineers are leaving because they can&#8217;t see a path forward.</p><p>Three things.</p><ol><li><p><strong>Put your current engineers against the five rungs</strong></p><p></p><p>Not to demote anyone &#8212; to understand where the gaps in judgment actually are. You will find Builders being paid like Architects. You will find Multipliers treated like Builders. That is information worth having before someone else delivers it to you with a resignation letter.</p><p></p></li><li><p><strong>Ask every manager what Priya asked me: what does senior mean on your team right now?</strong> </p><p></p><p>If they can answer it without mentioning years of experience or sprint velocity, great. If they can&#8217;t, that is where your work starts.</p><p></p></li><li><p><strong>And before you cut Apprentices to protect headcount, read Garman&#8217;s line again.</strong> </p><p></p><p>The engineers who will run your team in 2030 are learning how to think about code right now. Stop creating the conditions for that learning and you will not have a senior team in five years. You will have AI tools and no one who knows what they are doing.</p></li></ol><p>Dorsey may be right that 100 people with AI can do what 1,000 once did. But someone still has to be smart enough to point the AI in the right direction, and wise enough to know when not to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zGuj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zGuj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png 424w, https://substackcdn.com/image/fetch/$s_!zGuj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png 848w, https://substackcdn.com/image/fetch/$s_!zGuj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png 1272w, https://substackcdn.com/image/fetch/$s_!zGuj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zGuj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png" width="1452" height="1428" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1428,&quot;width&quot;:1452,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:287881,&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://ctosub.com/i/190742189?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.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_!zGuj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png 424w, https://substackcdn.com/image/fetch/$s_!zGuj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png 848w, https://substackcdn.com/image/fetch/$s_!zGuj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.png 1272w, https://substackcdn.com/image/fetch/$s_!zGuj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b3dc461-741f-46e2-b3f6-984b6a82c302_1452x1428.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">Here&#8217;s an example of how I do 1:1s against this new Engineering Ladder. Email me if you want a copy!</figcaption></figure></div><p>Build the ladder that finds those people. Reward them for their judgment. Keep them longer than two summers.</p><p>The rest will follow.</p><div><hr></div><p><em>Etienne de Bruin is the founder of 7CTOs and coaches technology leaders through the complexity of scaling engineering organizations.</em></p>]]></content:encoded></item><item><title><![CDATA[The CTO’s Next Customer]]></title><description><![CDATA[How the zero-interface revolution will make your SaaS product obsolete &#8212; unless you rebuild it for the right user.]]></description><link>https://ctosub.com/p/the-ctos-next-customer</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-next-customer</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Wed, 11 Feb 2026 19:41:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K_1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>The Lobster That Broke My Brain</h1><p>It is a Thursday evening and I am sitting at my kitchen table with a cup of coffee going cold next to my laptop. I have been hearing whispers about OpenClaw for a few days now. An open-source agent that lives inside your WhatsApp or Telegram. Created by Austrian developer Peter Steinberger, released quietly in November 2025, and now &#8212; in early 2026 &#8212; amassing over 182,000 GitHub stars and 30,000 forks. I decide to spend an hour with it.</p><p>I get it running. And then I spend the rest of the evening testing it.</p><p>I type: <em>&#8220;Check my calendar for tomorrow and tell me if I have back-to-back meetings.&#8221;</em></p><p>And it does it.</p><p>I type: <em>&#8220;Draft a quick summary of the last three emails from my CEO.&#8221;</em></p><p>And it does that too.</p><p>I type: <em>&#8220;Find the GitHub issue where we discussed the authentication refactor and pull the key decision.&#8221;</em></p><p>Done.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K_1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K_1I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!K_1I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!K_1I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!K_1I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K_1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1656681,&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://ctosub.com/i/187641226?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.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_!K_1I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!K_1I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!K_1I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!K_1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F869140c5-bfe2-4a8a-9f87-86e92f591a8a_1232x928.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>I sit back. The coffee is cold. And I realize something. For the last two hours, I have been getting work done. Real work. Calendar checks, email triage, repository searches, task creation. And I have not opened a single application. Not my calendar app. Not my email client. Not GitHub. Not my task manager.</p><p>I have just been texting. An assistant that lives on my own machine, connects to the services I already use, and executes whatever I describe in plain language.</p><p>My brain does not feel disrupted. It feels embarrassed. Because I realize I have spent 30 years building products with buttons, forms, menus, and onboarding flows &#8212; and the most powerful thing I have used in months has none of that.</p><h2>Why people are losing their minds over the claw</h2><p>The world&#8217;s AI Tik Tokkers are marveling at OpenClaw&#8217;s impact. And yes, it is a simple architecture. A local gateway running a WebSocket control plane, connecting an LLM of your choice to the messaging apps you already have on your phone. No new surface to learn. No subscription to a separate product. The model is agnostic &#8212; Claude, GPT, DeepSeek, or something running entirely local on a Mac Mini in your office.</p><p>But that&#8217;s not the interesting part.</p><p>The interesting part is why people are losing their minds over it. Not just developers. People. Non-technical users are saying things like <em>&#8220;this is my iPhone moment&#8221;</em> and <em>&#8220;I got up and running and I&#8217;ve been blown away.&#8221;</em> One user described having their agent submit health reimbursements, find doctor appointments, and surface relevant documents. Another had their instance autonomously write code, run tests, and open pull requests &#8212; all without human prompting.</p><p>That enthusiasm has a shadow. In February 2026, Cisco&#8217;s security team found a third-party OpenClaw skill performing data exfiltration and prompt injection without user awareness. Researchers disclosed CVE-2026-25253 &#8212; 42,000 exposed control panels across 82 countries, 386 malicious skills in the community marketplace. One OpenClaw maintainer warned that the project is &#8220;far too dangerous for casual users.&#8221; An agent that can do anything is only as safe as the boundaries you define for it &#8212; which is precisely the argument for building MCP servers with deliberate, scoped permissions rather than handing agents a raw API key and hoping for the best.</p><p>Now, if you are a CTO of a 60-person engineering team in a regulated industry, you may be thinking: my customers are nowhere near this. Their procurement teams, their compliance officers, their enterprise security reviews &#8212; none of them are ready to let an agent loose on their SaaS stack. And you would be right, today. Enterprise adoption of agentic workflows will lag this developer enthusiasm by three to five years, easily.</p><p>But that&#8217;s not the question worth asking. The question worth asking is: <em>what does it tell you about where the gravity is pulling?</em></p><p>What is actually happening with OpenClaw is not a new AI model or a clever piece of infrastructure. It is the first widely-adopted proof that you can eliminate the interface entirely from daily work. For thirty years, software has charged users a tax &#8212; the cost of learning the product. Every SaaS you have ever built asks your users to pay it. They navigate your UI. They learn your vocabulary. They figure out where the filter is. They go through your onboarding. They submit a support ticket when they can&#8217;t find the export button.</p><p>OpenClaw collects no daily tax. Once it is running, you never open another app. You describe what you want in the language you already speak, and the system figures out the rest. Calendar, email, GitHub, task management, file searches &#8212; all of it happens through conversation. What people are mesmerized by is not artificial intelligence. It is the elimination of every learned behavior they had to acquire to use software. You never navigate someone else&#8217;s information architecture again. You never hunt for a feature. You never click through three menus to export a CSV.</p><p>You just ask.</p><h2>We Have Seen This Movie Before</h2><p>Cast your mind back to 2004. Salesforce had been quietly building APIs since day one in 2000, and they had just turned &#8220;Software as a Service&#8221; into &#8220;Platform as a Service.&#8221; Today 90% of Salesforce&#8217;s revenue flows through their API.</p><p>Twilio launched in 2008 with a single API for making phone calls. By 2018, that had grown to $129 million in quarterly revenue &#8212; up 48% year-over-year. Stripe turned payment processing into seven lines of code. By 2015, APIs were responsible for over 60% of all web traffic.</p><p>What drove all of it? Someone removed a tax that developers had been quietly paying for years &#8212; the cost of standing up your own infrastructure for common problems. Twilio didn&#8217;t invent telephony. They made telephony stupid easy to integrate. Stripe didn&#8217;t invent payments. They made payments stupid easy to integrate.</p><p>Crucially, Twilio and Stripe were API-first from inception. They didn&#8217;t have fifteen years of UI-coupled architecture to unpick. They built clean, predictable surfaces and made other systems dependent on their data. That dependency became their moat.</p><p>The CTO thinking about agent-native architecture today is not Twilio. They are the enterprise product that watched Twilio emerge and had to figure out what to do with an existing monolith. That is a harder and more honest problem. And it is the problem worth solving.</p><h2>Your SaaS Has the Wrong Customer</h2><p>The assumption baked into every SaaS product built in the last twenty years is that a human being will open a browser tab and interact with it through a mouse or a touchscreen. Every design decision you have ever made &#8212; your navigation, your information architecture, your feature discoverability, your mobile experience &#8212; exists to serve that assumption.</p><p>That assumption is cracking.</p><p>Anthropic just launched Cowork. OpenAI has its own agentic surfaces. Every major platform is racing toward agent-native workflows. In these models, the thing that integrates with your SaaS is not a person. It is an agent. And agents do not click. They call APIs. They consume structured data. They act on outputs, not on visual interfaces.</p><div class="pullquote"><p>Ask yourself: if an agent were your primary user tomorrow, how much of your product would be completely invisible to it? Your beautiful onboarding flow? Gone. Your carefully crafted dashboard? Irrelevant. Your contextual tooltips? Wasted. The agent goes straight for the data and the actions. Everything else is noise.</p></div><p>A simple test: if an agent called your product&#8217;s API right now, would it get back structured, actionable data &#8212; or frontend scraps? The answer tells you more about your architectural readiness than any roadmap review.</p><p>This is not a reason to abandon your UI. Your human users still need it, and will for years. But it is a reason to ask a design question you have probably never asked: <em>is my business logic separable from my visual layer?</em> In a well-architected product, the answer should be yes. If your core functionality is tightly coupled to your frontend &#8212; and you would be surprised how many products at scale have exactly this problem &#8212; then every agentic integration you try to build will be fighting your own architecture.</p><p>The CTOs who will win the next decade are the ones who recognize this now, while they still have time to do something about it without a crisis forcing their hand.</p><h2>The Protocol That Changes the Question</h2><p>This is where MCP, the Model Context Protocol, Anthropic&#8217;s open standard for connecting agents to data sources, enters the picture. OpenClaw is built to integrate with MCP servers. So is Claude. So is every agent framework worth paying attention to right now.</p><p>MCP servers are to agents what APIs were to the Web 2.0 ecosystem. A standardized way for an LLM-powered agent to reach into your product, retrieve your data, and take actions on behalf of a user. When Salesforce opened their API, they were betting on ecosystem stickiness: get other systems dependent on your data and your logic, and you become infrastructure. The agent workflows that integrate your MCP server will become dependent on your data in exactly the same way.</p><p>A concrete example: Notion published an MCP server. Now an agent like OpenClaw can create pages, update databases, query your workspace, and surface documents &#8212; all without a human ever opening Notion&#8217;s UI. Notion&#8217;s data became reachable by automated workflows that their product team never had to design or build.</p><p>That&#8217;s the bet. Not replacing your product. Making your product&#8217;s value available to users who have stopped using interfaces.</p><h2>The Practical Path</h2><p>You do not need to rebuild your entire product. But you do need to be honest about what the work involves.</p><p>The first step is a design conversation, not a technical one. Draw a line between what your product <em>does</em> and what your product <em>shows.</em> The &#8220;does&#8221; layer, your business logic, your data mutations, your integrations is what agents need. It should be cleanly separable from your visual layer. If it isn&#8217;t, you are looking at non-trivial architectural work. Not a rewrite, but refactoring that will require real engineering time. Go into that conversation with your team clear-eyed about the cost.</p><p>Second, think about your data as a platform. The API economy taught us that the most durable businesses were the ones whose data other systems needed to function. Plaid doesn&#8217;t have a consumer-facing UI to speak of. It is pure data infrastructure. Your product almost certainly has unique data that agent workflows will eventually need. Decide now who should be able to reach it, and under what conditions.</p><p>Third, publish an MCP server. Start small. Pick your three most valuable actions, the things your power users do most often and package those as callable tools for an agent. This is exactly how the API economy started. Twilio put a few phone call actions behind a simple endpoint and watched what developers built. The developers who integrated early became dependent on Twilio. The same stickiness applies here.</p><p>The honest caveat: if your product&#8217;s core logic is tightly coupled to your frontend, step three will be harder than it sounds. You will hit the architectural problem before you hit the MCP server. That is useful information. It tells you something about your codebase that matters beyond agents entirely.</p><h2>The Last Time We Were Here</h2><p>There is a generation of CTOs who lived through the Web 2.0 API explosion and watched their competitors who moved early become platform companies. The ones who waited became integrations: dependent on platforms for distribution, at the mercy of their pricing decisions.</p><p>OpenClaw crossed 182,000 GitHub stars in under two months. It has been adapted for Chinese super-apps running on DeepSeek. SwitchBot just launched what they call the world&#8217;s first local home AI agent with native OpenClaw support. This is moving faster than most of us want to admit.</p><p>The zero-friction interface is not a distant trend. It is a working product that people are using right now to automate their lives by texting in plain English. Your enterprise customers may not be there yet. But the developers building tomorrow&#8217;s enterprise workflows are experimenting with this today. And the products that are agent-ready when that demand arrives will look an awful lot like infrastructure.</p><p>The agent era will sort companies the same way the API era did &#8212; into platforms and integrations.</p><p>Build the MCP server. Make your data reachable. Separate your logic from your UI.</p><p>Don&#8217;t become the integration.</p><p>With Love and Respect for you<br>Etienne</p><div><hr></div><p><em>Are you rebuilding your SaaS architecture with agents in mind? I&#8217;d love to hear how you&#8217;re thinking about it. Email me directly or join one of our 7CTOs peer groups where CTOs are wrestling with exactly these questions.</em></p>]]></content:encoded></item><item><title><![CDATA[The CTO’s Token Treasury]]></title><description><![CDATA[What every technology leader needs to know about the fundamental unit powering AI]]></description><link>https://ctosub.com/p/the-ctos-token-treasury</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-token-treasury</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Thu, 29 Jan 2026 11:48:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bl1h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In 1994, a computer scientist named <a href="https://etiennex.com/a-new-algorithm-for-data-compression-by-philip-gage-1994/">Philip Gage published a short paper in </a><em><a href="https://etiennex.com/a-new-algorithm-for-data-compression-by-philip-gage-1994/">The C Users Journal</a></em><a href="https://etiennex.com/a-new-algorithm-for-data-compression-by-philip-gage-1994/"> titled &#8220;A New Algorithm for Data Compression.&#8221;</a> His technique, Byte Pair Encoding, was designed to shrink files by finding repeating patterns and replacing them with shorter codes. It was clever, efficient, and promptly forgotten by most of the industry for two decades.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ouj3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ouj3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png 424w, https://substackcdn.com/image/fetch/$s_!ouj3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png 848w, https://substackcdn.com/image/fetch/$s_!ouj3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png 1272w, https://substackcdn.com/image/fetch/$s_!ouj3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ouj3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png" width="1270" height="858" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:858,&quot;width&quot;:1270,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148097,&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://ctosub.com/i/185746040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.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_!ouj3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png 424w, https://substackcdn.com/image/fetch/$s_!ouj3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png 848w, https://substackcdn.com/image/fetch/$s_!ouj3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.png 1272w, https://substackcdn.com/image/fetch/$s_!ouj3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70f0f7ca-0429-44ee-9a33-75814a3e63df_1270x858.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>Fast forward to 2016. Researchers at the University of Edinburgh were wrestling with a problem in neural machine translation: how do you handle rare words? Words like &#8220;antidisestablishmentarianism&#8221; or German compound nouns that stretch across half a page. Their solution? Dust off Gage&#8217;s compression algorithm and repurpose it for language. They published their findings, and within a few years, every major language model adopted some variant of this approach.</p><p>The same year that paper dropped, the ICO craze was building steam. By 2017, startups had raised over $5 billion through initial coin offerings. Tokens were everywhere. Bitcoin tokens. Ethereum tokens. Utility tokens. Security tokens. The word &#8220;token&#8221; became synonymous with speculative frenzy and blockchain gold rushes.</p><p>Now tokens are back. But these tokens have nothing to do with blockchain. They have everything to do with how AI reads, writes, and charges you for the privilege.</p><p>The global LLM market hit $6.33 billion in 2024 and is accelerating. Every API call, every ChatGPT conversation, every Claude response is measured and billed in tokens. Yet most CTOs I talk to have only a surface understanding of what a token actually is and why it matters for their technology strategy.</p><p>This is a problem.</p><h2>The Invisible Tax on Your AI Budget</h2><p>When OpenAI introduced GPT-4o mini, they priced it at $0.15 per million input tokens and $0.60 per million output tokens. Claude 3.5 Sonnet runs $3 per million input tokens. Gemini 2.5 Pro charges $1.25 per million input tokens for prompts under 200,000 tokens.</p><p>These numbers seem small until you realize what they mean in practice.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bl1h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bl1h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!bl1h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!bl1h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!bl1h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bl1h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2320222,&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://ctosub.com/i/185746040?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.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_!bl1h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!bl1h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!bl1h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!bl1h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8890bbee-694c-42fc-b9be-38b80c99f53c_1232x928.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">I wanted to create an image that captured the irresponsibility towards token consumption. Like someone swimming in a sea of tokens. This image captured it beautifully IMO.</figcaption></figure></div><p>A token is not a word. A token is not a character. A token is a chunk of text that the model has learned to recognize as a meaningful unit. For English, that usually works out to about 4 characters or roughly 0.75 words per token. The sentence you&#8217;re reading right now? Probably 15-20 tokens.</p><p>But language is messy. And tokenization reveals just how messy.</p><p>Take the word &#8220;running.&#8221; In most tokenizers, that&#8217;s a single token. But &#8220;antidisestablishmentarianism&#8221;? That gets broken into five or six pieces. The tokenizer sees &#8220;ant&#8221; + &#8220;idis&#8221; + &#8220;establishment&#8221; + &#8220;arian&#8221; + &#8220;ism&#8221; and treats each piece as a separate billing unit.</p><p>Code and structured data behave differently. This is where CTOs building production systems should pay close attention. JSON structures, API responses, configuration files: all tokenized according to patterns the model learned during training. A 1,000-word English document might consume 1,300 tokens. The equivalent JSON payload could easily hit 2,000.</p><div class="pullquote"><p><strong>The UUID problem is particularly brutal.</strong> A typical UUID like <code>a90d0d7d-9c5a-44de-8d3c-5b0da661de7c</code> appears to be a simple identifier, yet it consumes roughly 23 tokens of processing capacity. A single enterprise prompt containing a dozen UUIDs can burn through 250+ tokens just on identifiers. Base64-encoded strings, long API keys, and dense log files create similar token explosions. For CTOs processing logs, handling database identifiers, or building systems that shuttle JSON between services, this adds up fast.</p></div><p>And then there&#8217;s the multilingual dimension.</p><p>Research from 2023 found that tokenizers trained primarily on English text created significant cost premiums for underrepresented languages. A sentence in Burmese or Tibetan might require ten times the tokens of its English equivalent. The good news: modern tokenizers are rapidly closing this gap. OpenAI&#8217;s o200k_base vocabulary&#8212;double the size of GPT-4&#8217;s tokenizer&#8212;has reduced premiums for major languages to roughly 1.5x to 4x compared to English. For CTOs building products that serve global audiences, this represents meaningful progress, though the gap hasn&#8217;t fully closed.</p><h2>Inside the Token Factory</h2><p>Understanding tokenization starts with understanding why we need it at all.</p><p><strong>Language models don&#8217;t read text</strong>. They process numbers. Every word, every character, every emoji must be converted into a numerical representation before the model can work with it. The question is: what&#8217;s the right size for these numerical chunks?</p><p>Character-level tokenization treats each letter as a separate token. The word &#8220;hello&#8221; becomes five tokens: h, e, l, l, o. This approach handles any input you throw at it, including made-up words, typos, and foreign scripts. But it creates sequences that are absurdly long and loses the semantic grouping that makes language meaningful.</p><p>Word-level tokenization goes the other direction. Every word gets its own token. Great for common words. Disastrous for the vocabulary explosion problem. English alone has over 170,000 words in current use. Add technical jargon, proper nouns, and the infinite creativity of internet discourse, and you&#8217;re looking at a vocabulary that grows without bound. Any word the tokenizer hasn&#8217;t seen before? It simply cannot process it.</p><p>Subword tokenization splits the difference. The algorithms learn which character combinations appear frequently in the training data and group them into tokens. Common words like &#8220;the&#8221; or &#8220;running&#8221; get their own tokens. Rare words get broken into recognizable pieces.</p><p>Philip Gage&#8217;s Byte Pair Encoding works by counting. Start with individual characters. Find the pair that appears most often in your training data. Merge that pair into a new token. Repeat until you hit your target vocabulary size.</p><p>GPT-2 used a vocabulary of about 50,000 tokens built this way. GPT-4 expanded to roughly 100,000. GPT-4o&#8217;s o200k_base tokenizer doubled that again to around 200,000 tokens&#8212;a major upgrade that dramatically improved efficiency for non-English languages and code. Each merge decision was made purely on frequency. No linguistic knowledge, no semantic analysis. Just counting.</p><p>This creates some interesting side effects.</p><p>Numbers are particularly chaotic. The number &#8220;12345&#8221; might tokenize as &#8220;123&#8221; + &#8220;45&#8221; in one model and &#8220;1&#8221; + &#8220;234&#8221; + &#8220;5&#8221; in another. This has implications for any application doing arithmetic or processing financial data.</p><p>Chinese characters often get tokenized one per token in older systems because they lack whitespace boundaries and weren&#8217;t as heavily represented in English-centric training data. The expanded vocabularies in modern tokenizers have helped here, but a Chinese user and an English user sending the same message still typically pay different rates because of decisions made during tokenizer training.</p><h2>The Three Tokenization Families</h2><p>Modern language models cluster around three main approaches: </p><ol><li><p><strong>Byte Pair Encoding (BPE)</strong> powers the GPT family. Frequency-driven, merging common pairs until reaching target vocabulary size. </p></li><li><p><strong>WordPiece</strong> (BERT, some Google models) considers likelihood rather than raw frequency, adding special prefixes to indicate word continuations. </p></li><li><p><strong>SentencePiece</strong> emerged for truly multilingual models, treating input as raw bytes rather than assuming whitespace marks word boundaries.</p></li></ol><p>The practical differences matter when choosing models for production. A tokenizer trained heavily on English will be cheap for English but expensive for other languages. A more balanced tokenizer costs more per token on English but delivers consistent pricing across languages.</p><h2>What This Means for Your Architecture</h2><p>Every technical decision in an LLM application traces back to tokens.</p><p><strong>Context windows are measured in tokens.</strong> GPT-4 Turbo offers 128,000 tokens. Claude 3 handles 200,000. Gemini 2.5 Pro pushes to 1 million. But here&#8217;s the critical insight that many CTOs miss: filling those windows costs money, and the model&#8217;s ability to use information degrades for content buried in the middle of very long contexts.</p><p>Research published in <em>Transactions of the Association for Computational Linguistics</em> found that LLM performance is often highest when relevant information occurs at the beginning or end of the input context, and significantly degrades when models must access information in the middle, even for explicitly long-context models. Having a 2-million-token context window doesn&#8217;t mean your model will reason equally well across all 2 million tokens. Structure matters.</p><p><strong>Prompt engineering is token engineering.</strong> A verbose instruction like &#8220;Please provide a comprehensive and detailed explanation of the following concept&#8221; consumes about 12 tokens. &#8220;Explain thoroughly&#8221; accomplishes the same goal in 3 tokens. At scale, that&#8217;s a 75% reduction in prompt overhead.</p><p><strong>Caching strategies depend on tokenization and on prompt structure.</strong> OpenAI automatically caches prompts over 1,024 tokens, reducing costs for repeated requests by up to 50%. Anthropic requires explicit cache control headers. But caching only works when your prompts share an identical prefix.</p><p>Here&#8217;s a high-value tip: if your team puts a timestamp at the <em>start</em> of every prompt, you&#8217;re breaking the cache. Every single request gets processed from scratch because the prefix changes with each call. Move static content like system instructions, few-shot examples and reference materials to the beginning where caching can take effect. Dynamic content (user queries, timestamps, variable data) belongs at the end. Get this wrong, and you can burn thousands of dollars on requests that should have been cached.</p><p><strong>Output costs consistently exceed input costs</strong> across all major providers. The ratio typically runs 3-5x, meaning that getting concise responses saves more money than optimizing prompts. Applications that generate verbose outputs pay a premium that accumulates fast.</p><h2>The Emerging Alternatives</h2><p>Here&#8217;s something worth tracking: tokenization itself may be a temporary architectural choice, not a permanent law of physics.</p><p>Research into token-free language models is advancing rapidly. Architectures like MambaByte and MEGABYTE learn directly from raw bytes, removing the inductive bias of subword tokenization entirely. These approaches show competitive performance with state-of-the-art subword Transformers on language modeling tasks while eliminating the entire vocabulary mismatch problem.</p><p>Why does this matter? Token-free models would end the multilingual cost premium entirely. A sentence in Burmese would cost exactly what a sentence in English costs&#8212;measured in bytes, not tokens. Code, structured data, and unusual text formats would all normalize.</p><p>We&#8217;re not there yet. These approaches face efficiency challenges that prevent immediate production deployment. But the research trajectory suggests that in three to five years, the entire token economy we&#8217;re building systems around today could look quite different.</p><p>For CTOs making architecture decisions now, the practical takeaway is to build systems that abstract away the tokenization layer where possible. Don&#8217;t hard-code assumptions about token costs into your economic models. Monitor your actual token usage by feature, by content type and/or by language so you can adapt as the landscape shifts.</p><h2>Building Your Token Intelligence</h2><p>Start by instrumenting your applications to track token usage at a granular level. Not just total tokens per day, but tokens per feature, per user segment, per content type. You need visibility into where your tokens go before you can optimize.</p><p>Test your content against multiple tokenizers. <a href="https://platform.openai.com/tokenizer">OpenAI provides a free tokenizer tool</a>. Run your typical inputs through and compare the results against what you&#8217;d pay with Anthropic or Google. If you&#8217;re processing lots of code, compare tokenization efficiency across models designed for code versus general-purpose models.</p><p>Consider hybrid strategies. Simple queries might route to cheaper models with efficient tokenizers. Complex queries might justify premium models with larger context windows. The token economics should inform your model routing logic.</p><h2>The Token Economy Evolves</h2><p>The LLM API market shows aggressive price competition. Inference costs fell roughly 10x per year through 2024, with some analysts estimating that costs for GPT-3.5-class performance dropped 280-fold between 2020 and 2024. Prices for frontier models continue declining.</p><p>New tokenization methods continue to emerge. Research into morphologically-aware tokenizers promises better efficiency for agglutinative languages. Byte-level models that skip tokenization entirely are showing competitive results for some tasks. The field is far from settled.</p><p>What remains constant is the fundamental insight: tokens are the atomic unit of AI. Every capability, every cost, every limitation traces back to how text becomes numbers and numbers become text again.</p><p>Philip Gage probably didn&#8217;t imagine his compression algorithm would underpin a multi-billion dollar industry three decades later. But the principle he discovered holds: find the patterns, exploit the redundancy, and you can represent complex information efficiently.</p><p><em>For CTOs, the message is clear. Tokens aren&#8217;t just a billing unit. They&#8217;re the lens through which your AI applications see the world. Understand that lens, and you understand what your AI can and cannot do.</em></p><p>The blockchain tokens of 2017 were speculative instruments. The LLM tokens of 2025 are fundamental infrastructure. Both demand the CTO&#8217;s attention. Only one will shape the next decade of technology strategy.</p><p>Time to learn the currency.</p>]]></content:encoded></item><item><title><![CDATA[The CTO’s Methodological Pivot]]></title><description><![CDATA[How AI is forcing CTOs to rethink everything they believed about Agile and Waterfall]]></description><link>https://ctosub.com/p/the-ctos-methodological-pivot</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-methodological-pivot</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Fri, 23 Jan 2026 02:45:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hWZh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In August 1970, Winston Royce stood before an audience at IEEE WESCON and presented a paper that would be misquoted for the next fifty years. His eleven-page document, &#8220;<a href="https://www.praxisframework.org/files/royce1970.pdf">Managing the Development of Large Software Systems</a>,&#8221; contained a diagram showing a sequential flow from requirements to operations. That diagram, later dubbed &#8220;waterfall,&#8221; became the poster child for rigid, phase-gated development.</p><p>Royce never used the word waterfall. More importantly, directly beneath his now-infamous diagram, he wrote something the industry conveniently ignored: &#8220;I believe in this concept, but the implementation described above is risky and invites failure.&#8221;</p><p>The man credited with inventing waterfall was actually warning against it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6koa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6koa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png 424w, https://substackcdn.com/image/fetch/$s_!6koa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png 848w, https://substackcdn.com/image/fetch/$s_!6koa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png 1272w, https://substackcdn.com/image/fetch/$s_!6koa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6koa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png" width="1406" height="940" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:940,&quot;width&quot;:1406,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100179,&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://ctosub.com/i/185467603?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.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_!6koa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png 424w, https://substackcdn.com/image/fetch/$s_!6koa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png 848w, https://substackcdn.com/image/fetch/$s_!6koa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.png 1272w, https://substackcdn.com/image/fetch/$s_!6koa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb59340-999e-48a5-8e50-2690b7c8f2de_1406x940.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">An image taken from Winston Royce&#8217;s paper</figcaption></figure></div><p>Royce spent the remainder of his paper advocating for iteration, prototyping, and feedback loops. His third recommendation was explicit: &#8220;Do it twice.&#8221; Build a pilot model first&#8212;what he called a &#8220;simulation&#8221;&#8212;to test critical design and operational areas before committing to the version delivered to the customer. He described the unique skills needed for this pilot phase: developers who &#8220;must have an intuitive feel for analysis, coding and program design&#8221; and can &#8220;quickly sense the trouble spots in the design, model them, model their alternatives.&#8221; His son, Walker Royce, would later become a principal contributor to the IBM Rational Unified Process, an iterative methodology. The irony is complete.</p><h2>Three Decades of Monuments to a Misreading</h2><p>For three decades, software teams built monuments to a misreading. Requirements documents grew to hundreds of pages. Sign-offs multiplied. Testing became something that happened after all the code was written, right before the panicked realization that nothing worked as expected. Projects hemorrhaged money, missed deadlines, and delivered systems nobody wanted.</p><p>The industry was ready for a rebellion.</p><h2>Seventeen Anarchists in the Mountains</h2><p>On February 11, 2001, seventeen software practitioners drove up <strong>Little Cottonwood Canyon to the Lodge at Snowbird in Utah </strong>(I just moved here btw!!). They represented competing methodologies with names like Extreme Programming, Scrum, Crystal, and Dynamic Systems Development Method. Bob Martin, who organized the gathering, later joked that assembling a bigger group of organizational anarchists would be hard to find.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hWZh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hWZh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp 424w, https://substackcdn.com/image/fetch/$s_!hWZh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp 848w, https://substackcdn.com/image/fetch/$s_!hWZh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp 1272w, https://substackcdn.com/image/fetch/$s_!hWZh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hWZh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp" width="640" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89194,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ctosub.com/i/185467603?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.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_!hWZh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp 424w, https://substackcdn.com/image/fetch/$s_!hWZh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp 848w, https://substackcdn.com/image/fetch/$s_!hWZh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp 1272w, https://substackcdn.com/image/fetch/$s_!hWZh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee00733-cfb1-4467-b27d-182ffc5612ce_640x480.webp 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>They came because the status quo had become unbearable. The average lag between identifying a business need and deploying a software solution had stretched to three years. Documentation had replaced delivery. Process had suffocated progress.</p><h2>What They Agreed On</h2><p>Martin Fowler, one of the attendees, expected little from the meeting beyond making contacts that might turn into &#8220;something interesting.&#8221; Alistair Cockburn had reservations about the term &#8220;lightweight methodologists&#8221; that the group had been using: &#8220;I don&#8217;t mind the methodology being called light in weight, but I&#8217;m not sure I want to be referred to as a lightweight.&#8221;</p><p>What emerged from those two days surprised everyone, including the participants. They agreed on four values and twelve principles that prioritized working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan.</p><p>The only concern with their chosen name came from Martin Fowler, who worried that most Americans didn&#8217;t know how to pronounce the word &#8220;agile.&#8221;</p><h2>The Manifesto&#8217;s Unintended Reach</h2><p>The Manifesto spread faster than any of its authors anticipated. Mike Beedle, one of the signatories, never foresaw its adoption in contexts beyond software, like leadership and sales. James Grenning took years to realize it was &#8220;such a big deal.&#8221; Kent Beck&#8217;s original vision for Extreme Programming was simply to make the world safe for programmers.</p><p>For two decades, Agile became orthodoxy. Sprints replaced phases. User stories replaced requirements documents. Standups replaced status meetings. The pendulum had swung.</p><h2>The Core Idea</h2><blockquote><p><strong>The methodology that wins is the one that matches how you actually build.</strong> </p><p>Waterfall failed because it assumed requirements could be known completely upfront. Agile succeeded because it embraced uncertainty. Now AI is introducing a third variable: when your implementer is an algorithm, the rules change again.</p></blockquote><h2>Why This Matters Now</h2><p>Something unexpected is happening in engineering organizations that have embraced AI coding assistants. Teams are writing more documentation, not less. Design documents are growing longer. Requirements specifications are becoming exhaustive. One engineering leader described the emerging pattern as &#8220;Agile planning, waterfall execution.&#8221;</p><p>The reason is straightforward: AI thrives on precision. As one AI engineer put it, &#8220;the agents we have right now need what waterfall provides even more than people do.&#8221;</p><h2>The High Cost of AI Coding</h2><p>When you hand a vague prompt to Claude or Copilot, you get vague results. The AI will happily generate plausible code, but plausible isn&#8217;t the same as correct. The model makes assumptions at every turn. Sometimes those assumptions align with your intent. Often they don&#8217;t. You end up in a debugging loop that feels less like pair programming and more like archaeology.</p><p>Andrej Karpathy, co-founder of OpenAI, coined the term &#8220;vibe coding&#8221; in February 2025 to describe this loose approach: describing what you want in natural language, accepting AI suggestions without carefully reading the diffs, and iterating until something seems to work. It&#8217;s fast. It&#8217;s fun. And according to a randomized controlled trial published by METR in July 2025, experienced open-source developers using this approach on their own mature codebases actually took 19% longer to complete tasks than those working without AI assistance.</p><h2>The METR Study: What CTOs Need to Know</h2><p>The study deserves a closer look. METR recruited 16 developers who had contributed to large open-source repositories (averaging over one million lines of code and 22,000 GitHub stars) for an average of five years. These weren&#8217;t beginners learning a new codebase. These were experts on home turf, using frontier tools like Cursor Pro with Claude 3.5 and 3.7 Sonnet during the February-June 2025 study period.</p><p>The perception gap was striking. Before starting, developers predicted AI would make them 24% faster. After completing the study, they estimated AI had improved their productivity by 20%. The actual measurement: 19% slower. METR explicitly notes that their results may not generalize to other contexts&#8212;less experienced developers, unfamiliar codebases, or different types of tasks might see different outcomes. But for experts working on systems they know intimately, the vibe coding approach created more friction than it removed.</p><p>The problem isn&#8217;t the AI. The problem is the input.</p><h2>The Distinction That Matters</h2><p>Simon Willison, a programmer who has thought deeply about AI-assisted development, draws a clear line: &#8220;If an LLM wrote every line of your code, but you&#8217;ve reviewed, tested, and understood it all, that&#8217;s not vibe coding. That&#8217;s using an LLM as a typing assistant.&#8221; The distinction matters because it identifies where the value creation actually happens.</p><p>Amazon&#8217;s Kiro, an agentic IDE launched in July 2025 and made generally available in November, embodies this insight. When you start a new project in Kiro, it asks you to choose between two modes: &#8220;Vibe&#8221; for exploratory chat-driven coding, or &#8220;Spec&#8221; for plan-first development. The Spec mode forces you through a structured workflow: first, requirements with detailed acceptance criteria written in EARS notation; then, technical design with diagrams and schemas; finally, implementation tasks sequenced by dependency.</p><h2>Why AWS Built a Project Manager Into an IDE</h2><p>AWS&#8217;s rationale was blunt. As product lead Nikhil Swaminathan and VP Deepak Singh explained: &#8220;When implementing a task with vibe coding, it&#8217;s difficult to keep track of all the decisions that were made along the way, and document them for your team.&#8221; The spec-driven approach emerged because users weren&#8217;t giving AI enough detail to get high-quality results. The tool itself acts like a project manager, guiding teams to plan before coding.</p><p>Research cited by AWS found that addressing issues during the planning phase costs five to seven times less than fixing them during development. This principle has always been true. What&#8217;s changed is that AI agents amplify the difference. A human developer encountering an ambiguous requirement might pause, walk over to a product manager&#8217;s desk, and ask a clarifying question. An AI agent encountering the same ambiguity will make a decision and keep generating code.</p><h2>We&#8217;ve Heard This Before</h2><p>If you&#8217;re experiencing d&#233;j&#224; vu, you&#8217;re not wrong. &#8220;The spec is the code&#8221; echoes promises from the 1990s&#8212;UML, Model-Driven Architecture, CASE tools that would let us draw diagrams and generate applications. Those initiatives failed because the visual specifications became as complex as the code they were supposed to replace. The abstraction didn&#8217;t abstract; it just moved the complexity sideways.</p><p>LLMs are different in one important respect: they handle natural language ambiguity far better than the rigid schema-driven tools of that era. A CASE tool choked on anything outside its formal grammar. An LLM can interpret &#8220;make the button look clickable&#8221; and produce reasonable CSS, even though that phrase would have crashed any 90s code generator.</p><h2>The Maintenance Trap</h2><p>But the leaky abstraction problem hasn&#8217;t disappeared. When the AI-generated code breaks, someone has to debug it. When security vulnerabilities emerge, someone has to patch them. When requirements change, someone has to decide whether to regenerate the module or surgically edit it. That someone needs to understand what the code actually does&#8212;not just what the spec said it should do.</p><p>This is the maintenance trap that keeps CTOs awake. If a spec generates 1,000 lines of code, you now own 1,000 lines of code. The technical debt doesn&#8217;t vanish because you didn&#8217;t type it yourself. The security vulnerabilities don&#8217;t excuse themselves because they came from a model.</p><p>Spec-driven development addresses this partially through synchronization. Kiro, for instance, keeps specs and code connected: developers can author code and ask the tool to update specs, or update specs to refresh tasks. This solves the common problem where documentation drifts from implementation. But it doesn&#8217;t solve the deeper question of how you refactor AI-generated code when requirements change. Do you regenerate everything and lose the human refinements? Do you surgically edit and let the spec drift? The tooling is still immature, and honest practitioners admit that the Day 2 operations story remains incomplete.</p><h2>English Is Not the New Coding Language</h2><p>Karpathy&#8217;s quip that &#8220;the hottest new programming language is English&#8221; makes for a great tweet, but let&#8217;s be serious for a minute. Writing a spec precise enough for an AI to implement correctly is still programming, just with different syntax. </p><div class="pullquote"><p>The hard part of software development was never typing. It was identifying edge cases, handling failure modes, designing for scale, and anticipating how users will actually behave.</p></div><p>If a product manager writes a spec detailed enough that an AI can implement it without clarification, that product manager has essentially written logic. They&#8217;ve specified what happens when the user submits an empty form, what happens when the database times out, what happens when two users edit the same record simultaneously. That&#8217;s programming, whether or not it looks like code.</p><p>The better framing isn&#8217;t &#8220;anyone can code now.&#8221; It&#8217;s that <strong>AI forces engineers to become architects first</strong>. The value shifts from implementation to specification, from typing to thinking. This isn&#8217;t democratization; it&#8217;s elevation. The developers who thrive will be those who can decompose problems, anticipate failure modes, and communicate intent with precision&#8212;skills that were always important but are now existential.</p><h2>The Security Question</h2><p>We also worry about what happens when detailed technical designs flow into an LLM. A comprehensive spec for your core product is, in effect, a &#8220;god prompt&#8221; containing trade secrets, architectural decisions, and competitive advantages. Even enterprise-grade models raise questions about data handling, training pipelines, and access controls.</p><p>The emerging best practice is to keep the spec-to-code pipeline within controlled environments. Tools like Kiro run on AWS infrastructure with options for customer-managed encryption keys and controlled data usage. Organizations with stricter requirements are exploring private VPC-hosted models or retrieval-augmented generation (RAG) architectures that keep sensitive context local while leveraging cloud models for generation. The tooling is evolving, but the principle is clear: if your spec contains your competitive moat, treat it with the same security posture as your source code.</p><h2>When Spec-Driven Development Fails</h2><p>Spec-driven development isn&#8217;t a silver bullet. CTOs should watch for these anti-patterns:</p><p><strong>The Infinite Refinement Loop.</strong> </p><p>Teams get trapped perfecting specs instead of shipping software. The spec becomes a procrastination device. If your team has spent three sprints refining requirements and generated zero working code, you&#8217;ve replaced one form of paralysis with another.</p><p><strong>The Premature Precision Problem.</strong> </p><p>Some features shouldn&#8217;t be specified in detail upfront. Exploratory work, R&amp;D projects, and early-stage prototypes benefit from vibe coding&#8217;s looseness. Forcing exhaustive specs on discovery work kills the discovery.</p><p><strong>The Specification Theater.</strong> </p><p>Teams produce beautiful specs that look comprehensive but contain the same ambiguities in longer sentences. &#8220;The system shall handle errors gracefully&#8221; doesn&#8217;t become clearer by expanding it to three paragraphs of corporate prose. Precision requires thinking, not word count.</p><p><strong>The Ownership Vacuum.</strong> </p><p>When AI generates the code and the spec lives in a shared document, accountability diffuses. Nobody feels responsible for understanding the implementation. Bugs become orphans. The fix is explicit ownership: someone&#8217;s name goes on every generated module, and that person is responsible for understanding what the AI produced.</p><p><strong>The Regeneration Roulette.</strong> </p><p>Teams discover that regenerating a module from an updated spec produces subtly different code. Tests pass, but behavior changes in ways nobody anticipated. Version control becomes treacherous when the &#8220;source&#8221; is a spec and the code is an output.</p><h2>The New Shape of Development</h2><p>If I still have your attention then you are one of the few CTOs who knows that the reading of the methodology needs to evolve. The binary of Agile versus Waterfall is dissolving into something more nuanced.</p><p>The insight from spec-driven development is that front-loading thinking doesn&#8217;t mean returning to six-month requirements phases. It means investing in clarity before asking an AI to execute. The spec becomes the prompt. The better the spec, the better the output.</p><p>Thoughtworks describes this emerging practice as using &#8220;well-crafted software requirement specifications as prompts, aided by AI coding agents, to generate executable code.&#8221; The specification is more than a product requirements document. It includes technical constraints, architectural decisions, interface definitions, and acceptance criteria precise enough that an AI can validate its own work against them.</p><h2>How the Workflow Separates</h2><p>The workflow separates planning and implementation into distinct phases. During planning, you collaborate with the AI to understand requirements, identify edge cases, and document constraints. This is iterative work. The AI asks clarifying questions. You refine your thinking. The spec emerges from the conversation.</p><p>Once the spec is finalized, implementation becomes more mechanical&#8212;though never fully automatic. The AI generates code that conforms to the documented requirements. Tests verify behavior against acceptance criteria. Documentation stays synchronized because the spec is the source of truth, not a byproduct.</p><p>Kiro&#8217;s approach takes this further with what it calls &#8220;hooks&#8221;&#8212;event-driven automations that trigger agent actions when you save or create files. A hook might validate that every new React component follows the single responsibility principle. Another might ensure security best practices are enforced. These hooks encode team standards in a way that the AI can execute automatically, replacing the mental checklists that developers previously carried in their heads.</p><h2>The Validation Stack</h2><p>The tools for validating AI-generated code are maturing rapidly. SWE-bench tests models on real GitHub issues from popular repositories. Code review benchmarks measure whether AI tools catch meaningful bugs without overwhelming pull requests with noise. In one July 2025 evaluation by Greptile, leading AI review tools achieved bug-catch rates ranging from 6% to 82% on fifty real-world pull requests from production codebases. The variance is enormous, which means tool selection and configuration matter.</p><p>Evals&#8212;the systematic evaluation of AI outputs against defined criteria&#8212;are becoming a core competency. Teams are building pipelines that automatically measure functional correctness, code quality, performance, and security. The pass@k metric quantifies whether generated code passes all defined tests. Tools like SonarQube and Semgrep flag issues in readability and maintainability. Security audits detect vulnerabilities before they reach production.</p><p>The goal isn&#8217;t to eliminate human judgment. It&#8217;s to focus human judgment where it matters most: defining what the software should do, validating that it does it, and evolving the system as requirements change.</p><h2>What To Do Monday Morning</h2><p>If you&#8217;re leading an engineering organization, you don&#8217;t need to overhaul your entire methodology. You need to adapt your practices to match how AI tools actually work.</p><p>Start with a single team and a single feature. Before anyone writes a prompt, spend the time to write a proper spec. Include user stories with acceptance criteria. Document the technical design: data models, interfaces, dependencies. Break the work into discrete tasks. Be specific about edge cases and failure modes. If you find yourself writing &#8220;handle errors appropriately,&#8221; stop and specify what appropriate actually means.</p><p>Then hand that spec to your AI coding tool and observe what happens. You&#8217;ll likely find that the output quality improves dramatically. The AI will make fewer assumptions because you&#8217;ve made your intent explicit. Debugging will shift from &#8220;what did the AI think I wanted?&#8221; to &#8220;how do I refine what I actually want?&#8221;</p><h2>Build Validation Into Your Workflow</h2><p>If you&#8217;re generating code at scale, you need tests at scale. Define acceptance criteria that can be automatically verified. Run static analysis on every generated artifact. Treat AI-generated code with the same rigor you&#8217;d apply to code from a new hire: review it, understand it, and hold it accountable. The METR study found that developers who couldn&#8217;t explain what the AI had generated spent more time fixing problems than they saved in writing code.</p><p>Establish clear ownership for AI-generated modules. Someone needs to be responsible for understanding, maintaining, and securing that code. Don&#8217;t let the fact that no human typed it obscure the fact that humans are accountable for it.</p><h2>Invest in Specification Skills</h2><p>Invest in the spec-writing capability of your team. Product managers who can write precise requirements become force multipliers. Engineers who can translate ambiguous requests into unambiguous specifications become the new 10x developers. But be clear-eyed about what this means: spec-writing at this level is a technical skill, not a documentation chore.</p><p>Consider tools that enforce the spec-driven workflow. Kiro is one option. GitHub&#8217;s Copilot Workspace and Cursor&#8217;s agent mode offer similar capabilities. The common thread is structure: these tools separate thinking from typing, planning from implementing.</p><h2>Address Security Upfront</h2><p>Address security upfront. If your specs contain sensitive architectural details or trade secrets, ensure your AI tooling runs in controlled environments. Evaluate whether your compliance requirements allow cloud-hosted models or necessitate on-premise alternatives. Don&#8217;t discover your security posture after you&#8217;ve fed your product roadmap into a model.</p><h2>Track the Outcomes</h2><p>Track the outcomes. Measure time to first working implementation. Measure rework rates. Measure defect rates in production. Measure how long it takes to onboard a new developer to an AI-generated codebase versus a human-written one. If spec-driven development is working, you should see fewer iterations to reach a correct solution, less time spent debugging AI assumptions, and more consistent quality across the team.</p><h2>The Battlefield Has Shifted</h2><p>The methodology wars aren&#8217;t over. They&#8217;ve just shifted to a new battlefield. The CTO who recognizes that AI changes the calculus, who embraces detailed planning not as a return to waterfall but as a precondition for AI effectiveness, will build faster than competitors who are still vibe coding their way to production.</p><p>Royce was right in 1970: the risky approach is the one without iteration. He just couldn&#8217;t have imagined that the iteration would happen in a conversation with an AI, and that the output of that conversation would be a specification precise enough to generate working software.</p><p>The spec is the new prompt. Write it well and own what it produces.</p>]]></content:encoded></item><item><title><![CDATA[The CTO’s AI Provider Predicament]]></title><description><![CDATA[Why getting cozy with your AI coding vendor might be the most expensive decision you make this year]]></description><link>https://ctosub.com/p/the-ctos-ai-provider-predicament</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-ai-provider-predicament</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Tue, 13 Jan 2026 04:08:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!P8q0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>On January 27, 2025, a Chinese startup called DeepSeek released a model that performed on par with OpenAI&#8217;s best offerings. The training cost? $5.6 million. The market reaction? NVIDIA lost $589 billion in market cap in a single day. The largest single-day loss in stock market history.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P8q0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P8q0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!P8q0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!P8q0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!P8q0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P8q0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:769179,&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://ctosub.com/i/184398623?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.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_!P8q0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!P8q0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!P8q0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!P8q0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feada213c-1e34-4369-b365-7a3b16d0da8e_1232x928.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>The AI research community called it the &#8220;DeepSeek Shock.&#8221; Venture capitalist Marc Andreessen called it &#8220;one of the most amazing and impressive breakthroughs I&#8217;ve ever seen.&#8221; But for CTOs watching from the sidelines, the implications were more unsettling than impressive.</p><p>If a small team in Hangzhou could match frontier AI performance at roughly 1/100th the cost, what did that mean for the $200/month coding assistants we were happily paying for? What did it mean for the enterprise contracts we were signing? What did it mean for the vendor relationships we were building our engineering workflows around?</p><p>The answer, as 2025 unfolded, became increasingly clear. And as we move deeper into 2026, the CTO who ignores this shift does so at considerable risk.</p><h2>The Collapse</h2><p>When GitHub Copilot launched, paying $10/month for AI-assisted coding felt like stealing. When Claude Code emerged at $200/month for complex multi-file refactoring, the ROI math still worked. These tools genuinely accelerated development. They still do.</p><p>But the economics underneath them are crumbling.</p><p>DeepSeek&#8217;s R1 model achieved 90.8% accuracy on MMLU compared to GPT-4&#8217;s 87.2%. On the AIME 2024 mathematics benchmark, it scored 79.8% against GPT-4&#8217;s 9.3%. And it did this using &#8220;nerfed&#8221; H800 GPUs that the U.S. government had restricted China to using, thinking the hardware limitations would slow them down.</p><p>They optimized around the restrictions instead.</p><p>The Multi-Head Latent Attention architecture DeepSeek developed reduces memory requirements by 93%. Their Mixture-of-Experts approach activates only 37 billion of the model&#8217;s 671 billion parameters per token. The result is frontier-level intelligence that runs on hardware a well-funded startup can actually afford.</p><p>Within months of DeepSeek&#8217;s release, Chinese AI labs released a cascade of open-weight models that now occupy seven of the top ten spots on global coding benchmarks. Qwen 3 Coder scores 67% on SWE-bench Verified at roughly 1/30th the cost of Claude Sonnet. GLM-4.7 hits 91.2% on SWE-bench, outperforming most proprietary options. Kimi K2 Thinking solves 69% of real GitHub issues, within a few points of GPT-5&#8217;s performance.</p><p>These aren&#8217;t research curiosities. They&#8217;re production-ready models with Apache 2.0 licenses that you can download today and run on your own infrastructure.</p><h2>Why This Matters for Your Engineering Budget</h2><p>IBM&#8217;s Chief Architect for AI Open Innovation, Gabe Goodhart, put it plainly in a recent interview: &#8220;We&#8217;re going to hit a bit of a commodity point. It&#8217;s a buyer&#8217;s market. You can pick the model that fits your use case just right and be off to the races. The model itself is not going to be the main differentiator.&#8221;</p><p>The model itself is not going to be the main differentiator.</p><p>Read that again. If you&#8217;re a CTO currently paying per-seat licensing for AI coding tools, that sentence should make you uncomfortable.</p><p>A 500-developer team using GitHub Copilot Business faces $114,000 in annual costs. The same team on Cursor&#8217;s business tier pays $192,000. Tabnine Enterprise exceeds $234,000. These numbers assume stable pricing, which historically trends upward, not down.</p><p>Meanwhile, Kimi K2 is available at $0.088 per million tokens. GLM-4.5 runs at $0.11 per million tokens. DeepSeek&#8217;s pricing sits as low as $0.07 per million tokens with cache hits. For organizations processing thousands of pull requests, that&#8217;s the difference between a line item that requires budget approval and one that rounds to zero.</p><p>The gap between open-weight and closed proprietary models has effectively vanished for most practical coding tasks. Multiple analysts now predict full parity by Q2 2026.</p><h2>The Vendor Lock-In Problem You Don&#8217;t See Yet</h2><p>I coach CTOs who run engineering teams of 40 to 120 people. When I ask them about their AI coding tool strategy, most describe a single vendor relationship they&#8217;re increasingly dependent on.</p><p>They&#8217;ve trained their developers on specific workflows. They&#8217;ve integrated the tools into their CI/CD pipelines. They&#8217;ve built muscle memory around particular interaction patterns. And they&#8217;ve done this without an exit strategy.</p><p>Vendor lock-in in the AI coding space doesn&#8217;t announce itself the way traditional software lock-in does. There&#8217;s no proprietary file format holding your data hostage. The lock-in is subtler. It lives in the habits your team forms, the workflows they optimize for, and the switching costs that accumulate invisibly over time.</p><p>When your developers spend six months learning the quirks of a specific AI assistant, when your code review process assumes that assistant&#8217;s output format, when your documentation reflects that assistant&#8217;s conventions, you&#8217;ve built dependencies that don&#8217;t show up on any balance sheet.</p><p>The CTO Magazine recently published a piece titled &#8220;The Great AI Vendor Lock-In: How CTOs Can Avoid Getting Trapped by Big Tech.&#8221; Their conclusion: &#8220;The collapse of Builder.ai serves as a stark warning: overreliance on proprietary AI platforms can leave businesses stranded without access to critical systems or data.&#8221;</p><p>The companies most at risk aren&#8217;t the ones using AI coding tools. They&#8217;re the ones using AI coding tools without considering what happens when the economics shift underneath them.</p><h2>What the Smart Money Is Doing</h2><p>Red Hat&#8217;s recent analysis of the open-source AI landscape found that organizations in highly regulated sectors like telecommunications and banking are moving toward open models as a requirement, not a preference. Data residency regulations demand that AI usage stay local. Compliance requirements demand transparency into how models operate.</p><p>These organizations aren&#8217;t choosing open models because they&#8217;re cheaper. They&#8217;re choosing them because closed models create audit risks they can&#8217;t accept.</p><p>But even outside regulated industries, the pattern is emerging. Enterprise teams are adopting hybrid approaches. They use GitHub Copilot for general coding assistance while deploying open-source tools like Aider for sensitive projects that can&#8217;t leave their network. They route simple completions through cheap local models while reserving expensive API calls for genuinely difficult problems.</p><p>The PyTorch Foundation&#8217;s Executive Director, Matt White, identified three forces defining open-source AI in 2026: </p><ol><li><p>global model diversification led by Chinese multilingual releases</p></li><li><p>interoperability as a competitive axis, and </p></li><li><p>hardened governance with security-audited releases and transparent data pipelines.</p></li></ol><p>The organizations paying attention are building optionality into their AI strategy. They&#8217;re ensuring they can swap models without retraining their entire engineering team. They&#8217;re treating AI coding assistance as infrastructure rather than a service relationship.</p><h2>The Models You Should Know About</h2><p>If you&#8217;re going to reduce your dependency on paid AI coding services, you need to understand what&#8217;s available. The open-source landscape has matured faster than most CTOs realize.</p>
      <p>
          <a href="https://ctosub.com/p/the-ctos-ai-provider-predicament">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Made as a Service (MaaS) Will Eat SaaS]]></title><description><![CDATA[AI Made Building Cheaper Than Renting. Now What?]]></description><link>https://ctosub.com/p/made-as-a-service-maas-will-eat-saas</link><guid isPermaLink="false">https://ctosub.com/p/made-as-a-service-maas-will-eat-saas</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Thu, 08 Jan 2026 14:29:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RNSW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In January 2025, Zylo released its seventh annual SaaS Management Index. The headline number should have sent shockwaves through every boardroom in America: organizations are now wasting an average of $21 million annually on unused SaaS licenses. A 14.2% increase from the prior year.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RNSW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RNSW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!RNSW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!RNSW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!RNSW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RNSW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2194849,&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://ctosub.com/i/183745520?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.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_!RNSW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!RNSW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!RNSW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!RNSW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb42acc6-c88f-4811-bd8a-a85ce00727be_1232x928.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>But that number is the polite version of the story.</p><p>Dig deeper into the &#8230;</p>
      <p>
          <a href="https://ctosub.com/p/made-as-a-service-maas-will-eat-saas">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The CTO’s Missing Partner]]></title><description><![CDATA[The one thing I want for you in 2026]]></description><link>https://ctosub.com/p/the-ctos-missing-partner</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-missing-partner</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Tue, 30 Dec 2025 18:36:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xk77!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26891025-97b3-436d-9e71-5170c68a787e_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I want to share three quick stories with you.</p><p>Marcus runs engineering for a fintech company. He has an executive assistant. He also reviews every calendar invitation she sends, rewrites half her emails, and spends Sunday nights reorganizing his week because he doesn&#8217;t trust anyone else to get it right. He tells me he&#8217;s exhausted. He tells me his EA &#8220;help&#8230;</p>
      <p>
          <a href="https://ctosub.com/p/the-ctos-missing-partner">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[$23 Million Is Not a Plan]]></title><description><![CDATA[How to transform vague revenue targets into objectives your technology team can actually deliver]]></description><link>https://ctosub.com/p/23-million-is-not-a-plan</link><guid isPermaLink="false">https://ctosub.com/p/23-million-is-not-a-plan</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Fri, 19 Dec 2025 02:12:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kquw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m standing at a whiteboard in a CTO Compass session. Six executives are seated around a conference table. The CTO who invited me is anxious. He&#8217;s been trying for three months to get his technology roadmap approved, and every conversation ends the same way: more questions, no decisions, mounting frustration.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kquw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kquw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!kquw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!kquw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!kquw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kquw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2667096,&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://ctosub.com/i/182048036?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.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_!kquw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!kquw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!kquw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!kquw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae76b1b-a7eb-4d3e-92c5-c7c4354a7445_1232x928.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>&#8220;Walk me through what happened in your last p&#8230;</p>
      <p>
          <a href="https://ctosub.com/p/23-million-is-not-a-plan">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The CTO’s Translation Failure]]></title><description><![CDATA[Why being technically correct can cost you your job&#8212;and what I wish I&#8217;d known about showing complex work simply]]></description><link>https://ctosub.com/p/the-ctos-translation-failure</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-translation-failure</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Wed, 10 Dec 2025 14:23:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yZ7T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m sitting across from my CEO and CFO in 2018. The air is thick with excitement. They want to build our own real-time video content distribution network. In-house. From scratch.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yZ7T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yZ7T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!yZ7T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!yZ7T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!yZ7T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yZ7T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2224412,&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://ctosub.com/i/181120425?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.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_!yZ7T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!yZ7T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!yZ7T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!yZ7T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc6aec8f-6d88-4899-b733-b3e7248cd49e_1456x816.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>The reasoning sounds compelling enough. More flexibility. Better control over costs. No more dependency on third-party platforms. They&#8217;ve done the math on paper and the numbers &#8230;</p>
      <p>
          <a href="https://ctosub.com/p/the-ctos-translation-failure">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The CTO’s Double Diamond]]></title><description><![CDATA[A two-diamond design model that aligns engineering and product teams through divergence and convergence across four phases: Discover, Define, Develop, and Deliver.]]></description><link>https://ctosub.com/p/the-ctos-double-diamond</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-double-diamond</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Thu, 27 Nov 2025 13:31:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NlQd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cc8c829-0cd3-40ee-90e1-0c6f8be6170d_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m sitting in our weekly product-engineering sync, and the tension is thick enough to cut with a keyboard. Our product manager is presenting wireframes for a &#8220;simple&#8221; customer dashboard. She&#8217;s excited, animated even, walking through user journeys and engagement metrics. Meanwhile, my senior engineers are exchanging those looks&#8212;the ones that scream &#8220;she&#8230;</p>
      <p>
          <a href="https://ctosub.com/p/the-ctos-double-diamond">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The CTO’s Community of Practice]]></title><description><![CDATA[Your participation in both internal and external communities shapes who you become as a CTO. Neither is sufficient alone.]]></description><link>https://ctosub.com/p/the-ctos-community-of-practice</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-community-of-practice</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Thu, 20 Nov 2025 13:28:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cqCI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When a UK tech leadership coaching group surveyed 100 senior technology leaders in 2024, they called the results &#8220;alarming&#8221; and &#8220;in some cases, upsetting.&#8221; Almost 97% had felt lonely as a leader at some point, with 63.5% feeling lonely in their current role sometimes and almost 19% feeling that way all of the time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cqCI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cqCI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!cqCI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!cqCI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!cqCI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cqCI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1456252,&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://ctosub.com/i/179385111?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.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_!cqCI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!cqCI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!cqCI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!cqCI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17f38227-94b3-47c6-b61d-64462d55e40e_1232x928.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>The impact went beyond feelings: 86.5% &#8230;</p>
      <p>
          <a href="https://ctosub.com/p/the-ctos-community-of-practice">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The CTO’s Necessary Friction]]></title><description><![CDATA[When being &#8220;difficult&#8221; is exactly what your C-suite needs from you]]></description><link>https://ctosub.com/p/the-ctos-necessary-friction</link><guid isPermaLink="false">https://ctosub.com/p/the-ctos-necessary-friction</guid><dc:creator><![CDATA[Etienne de Bruin]]></dc:creator><pubDate>Wed, 12 Nov 2025 20:15:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xbRb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaefab11-e58a-40fb-8748-0a5509679d58_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s 2009. I&#8217;m sitting across from my co-founder and CEO in our cramped office, reviewing our quarterly financials. Our SaaS company is barely three years old, pulling in about $1.8M in revenue with a team of 12. It is a very hot summer&#8217;s day in Old Town, San Diego. The air conditioning broke again last week, and I can feel sweat pooling at the small of&#8230;</p>
      <p>
          <a href="https://ctosub.com/p/the-ctos-necessary-friction">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>