﻿<?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 Engineering Manager]]></title><description><![CDATA[Tools, tips and discussions for current and aspiring engineering leaders.]]></description><link>https://theengineeringmanager.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Is2O!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f4dc3c-8c75-492c-90cf-ffeaaa8095af_501x501.png</url><title>The Engineering Manager</title><link>https://theengineeringmanager.substack.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 10 Jun 2026 21:31:41 GMT</lastBuildDate><atom:link href="https://theengineeringmanager.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[James Stanier]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[theengineeringmanager@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[theengineeringmanager@substack.com]]></itunes:email><itunes:name><![CDATA[James Stanier]]></itunes:name></itunes:owner><itunes:author><![CDATA[James Stanier]]></itunes:author><googleplay:owner><![CDATA[theengineeringmanager@substack.com]]></googleplay:owner><googleplay:email><![CDATA[theengineeringmanager@substack.com]]></googleplay:email><googleplay:author><![CDATA[James Stanier]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Distilling yourself]]></title><description><![CDATA[Using LLMs to find out]]></description><link>https://theengineeringmanager.substack.com/p/what-do-you-actually-believe</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/what-do-you-actually-believe</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Tue, 19 May 2026 16:30:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/73774857-f8cd-4785-a628-9f99c708f54b_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Thanks for being here for the May subscriber edition, and for your ongoing support.</p><p>Most experienced leaders I&#8217;ve worked with operate on principles they can&#8217;t quite articulate. They make consistent decisions, give consistent advice, and have strong instincts about what&#8217;s right, but if you asked them to write down the ten things they actually believe, they&#8217;d struggle. The principles are <em>implicit</em>, revealed through behaviour rather than stated outright.</p><p>This article is about making them <em>explicit</em>, using the same distillation technique from this month&#8217;s free article, but pointed at <em>yourself</em>. Because once your principles are visible, you can check decisions against them, share them with your team, and notice when your thinking has drifted without you realising. You might even surface beliefs you didn&#8217;t know you held.</p><p>The end product is a document: a tiered list of ten to twenty-five personal leadership principles, extracted from your own writing by an LLM, organised by strength of conviction, and mapped to the tactical frameworks you already use.</p><p>But it&#8217;s not something you file away and revisit occasionally: the real power comes from dropping it into your AI assistant&#8217;s context, where it becomes a living part of your workflow. Every decision you draft, every strategy you review, every piece of writing you produce can be checked against what you&#8217;ve said you believe, automatically and on demand.</p><p>Here&#8217;s what we&#8217;ll cover:</p><ul><li><p><strong>Why bother?</strong> How your principles can drift without you noticing, and why making them explicit changes that.</p></li><li><p><strong>The raw material.</strong> What counts as your body of work, and why writing is uniquely powerful for this kind of extraction.</p></li><li><p><strong>The extraction process.</strong> A step-by-step walkthrough, including the actual prompts I used.</p></li><li><p><strong>What I learned.</strong> The results of running this on my own archive of two years of newsletter articles.</p></li><li><p><strong>Principles as a daily driver.</strong> How to integrate the output into decisions and daily workflows.</p></li><li><p><strong>Keeping principles alive.</strong> Why they go stale, and how to maintain them.</p></li><li><p><strong>The conversational alternative.</strong> A different path for those who don&#8217;t have an archive to work with yet.</p></li></ul><p>If you&#8217;d like to dig deeper, here are some related articles from the archive:</p><ul><li><p><a href="https://www.theengineeringmanager.com/growth/gather-decide-execute-reflecting-on-my-daily-system/">Gather, decide, execute</a> describes the kind of second-brain system that naturally generates the archive this process could feed from.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/invert-always-invert/">Invert, always invert</a> explores how principles help you know what <em>not</em> to do.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/heartbeats-keeping-strategies-alive/">Heartbeats: keeping strategies alive</a> covers why frameworks need maintenance cycles, which applies to principles too.</p></li><li><p><a href="https://www.theengineeringmanager.com/managing-managers/a-weekly-mind-meld/">A weekly mind meld</a> shows how sharing your thinking at scale builds alignment, which a principles document enables.</p></li></ul><p>Let&#8217;s get into it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Why bother?</strong></h2><p>So, what&#8217;s the risk of leaving these principles unspoken? Because your team doesn&#8217;t just observe your principles, they <em>absorb</em> them. The decisions you make, the things you reward, and the behaviour you tolerate become the template for how everyone around you operates.</p><p>Guy Kawasaki, Apple&#8217;s former chief evangelist, once described Apple as &#8220;Steve Jobs with ten thousand lives&#8221; in Leander Kahney&#8217;s <em><a href="https://www.goodreads.com/book/show/2363692.Inside_Steve_s_Brain">Inside Steve&#8217;s Brain</a></em>: Jobs had imprinted his principles so deeply that the company became a mirror of its founder. The same dynamic plays out at every level, because every leader shapes the culture around them, whether they&#8217;re doing it deliberately or not.</p><p>The problem is that consistency <em>drifts</em>, often without you noticing. You don&#8217;t wake up one morning having abandoned a principle: it happens gradually, one exception at a time, until what you&#8217;re doing no longer matches what you think you believe.</p><p>There&#8217;s an important distinction here between <em>evolution</em> and <em>drift</em>. Evolution is when you consciously revise a principle because your thinking has genuinely changed: you&#8217;ve seen new evidence and arrived at a different conclusion. Drift is when you contradict yourself without realising, because you&#8217;ve simply forgotten what you used to believe.</p><p>When I ran this process on my own writing, one of the surprises was a principle I&#8217;d call <em>scepticism, not cynicism</em>: the idea that new technologies deserve critical evaluation, but blanket dismissal is intellectually lazy. I&#8217;d been applying that distinction without ever articulating it, which meant it was invisible to the people around me.</p><p>The first step is figuring out where those principles are hiding, which brings us to the raw material.</p><h2><strong>The raw material</strong></h2><p>Where do your principles actually manifest? They&#8217;re embedded in the things you&#8217;ve written, the decisions you&#8217;ve made, and the advice you&#8217;ve given, scattered across long-form documents, emails, proposals, and messages.</p><p>All of it is an externalisation of your thinking process, and that&#8217;s what makes it useful: your body of work is the raw material for this extraction, and the richer and more varied it is, the clearer the picture you&#8217;ll get.</p><p>Not all sources are equal, though. Writing is uniquely powerful for this kind of extraction, because <em>writing is thinking</em>: it forces a clarity that speaking rarely does, and it leaves a permanent record of what you actually believed at the time, not a reconstruction after the fact.</p><p>Larry McEnerney&#8217;s famous <a href="https://www.youtube.com/watch?v=vtIzMaLkCaM">lecture on writing</a> from the University of Chicago captures this perfectly: you don&#8217;t think first and then write, the process of writing <em>is</em> the thinking. The clarity comes afterwards, when you revise what you&#8217;ve produced into something the reader can follow. That&#8217;s why your writing is such a rich source of principles: it caught your thinking in the act.</p><p>Writing also tends to represent your <em>best</em> self, which makes it especially useful here. Whether it&#8217;s an internal memo or a public article, you probably took time to think through your position, choose your words carefully, and present a considered view. The messy day-to-day pulls you away from that considered version, but the writing preserves it, which makes it useful as a source of raw material.</p><p>So, what&#8217;s the minimum viable corpus? Ideally, two or more years of documents across different contexts: technical decisions, people management, strategy. But you can get a useful extraction from as little as six months of significant writing, whether that&#8217;s internal strategy memos, promotion cases, project retrospectives, decision records, or even detailed interview feedback you&#8217;ve written for hiring panels.</p><p>One thing to keep in mind is recency weighting: your most recent writing reflects your current thinking, while older material shows where you came from. Both are useful, but they serve different purposes. When I was thinking about doing this, I found that two years was a good cutoff for work that still felt present to me, both in terms of the articles I&#8217;d written on here and the capacity I&#8217;d been operating in at work.</p><p>If you don&#8217;t have much of an archive yet, don&#8217;t worry: there&#8217;s an alternative approach later in this article. But if you do have the material, let&#8217;s walk through how to turn it into something useful.</p><h2><strong>The extraction process</strong></h2><p>You&#8217;ve got a body of work: documents, articles, decision records, emails. It&#8217;s sitting in various folders and inboxes, and somewhere inside it are the principles that actually guide your behaviour. The question is how to get them out. What follows is the process I used on my own newsletter archive, but it works on any collection of writing where you&#8217;ve been thinking out loud: for example, weekly journal posts, weekly brag docs, or regular writings you&#8217;ve shared with your team.</p><h3><strong>Gather and organise</strong></h3><p>Since the LLM is going to do the heavy lifting, the format of your documents doesn&#8217;t matter much, though plain text works well. The first step is to get everything into one place: export your documents into a folder you can navigate, and organise them by date so you can weight recent material more heavily.</p><p>You don&#8217;t need every email you&#8217;ve ever sent, just the ones where you were genuinely thinking through a problem, making a case, or articulating a position. Strategy memos, decision records, proposals or RFCs you&#8217;ve written, project retrospectives, internal blog posts: anything where you were doing real <em>thinking</em> and having your leadership embodied in your writing, not just relaying information.</p><h3><strong>First-pass extraction</strong></h3><p>Point the LLM at the folder and give it a prompt that explains what you&#8217;re trying to achieve. Here&#8217;s the one I used:</p>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/what-do-you-actually-believe">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Distilling leadership wisdom]]></title><description><![CDATA[Get your very own Jeff, Larry or Steve.]]></description><link>https://theengineeringmanager.substack.com/p/distilling-leadership-wisdom</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/distilling-leadership-wisdom</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Fri, 15 May 2026 16:31:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5f94b0ee-2775-45a8-b628-24dc76165743_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month, we&#8217;re going to explore a practical technique for learning from leaders you&#8217;ll never have access to: distilling their thinking into an AI role you can query on demand.</p><p>Throughout history, those who&#8217;ve succeeded the most have often had something in common: access to the best people, whether as mentors, advisors, or sounding boards. That access has always been scarce and unevenly distributed. But now there&#8217;s an opportunity to democratise it: you can create your own coaches and advisors from some of the smartest minds out there, using nothing more than their interviews, podcasts, and talks.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>You&#8217;ve probably experienced this: you read an interview with someone whose thinking you admire, the insights resonate deeply, and for a few days you see your work differently, but then the ideas slip away, dissolved into the background of the day-to-day. This technique is about making that wisdom <em>stick</em>, not by memorising it, but by creating something you can return to whenever you need a different perspective on a problem.</p><p>To be clear, this isn&#8217;t about impersonation, and it&#8217;s certainly not about outsourcing your judgment to someone else&#8217;s thinking. It&#8217;s about having <em>a different set of questions</em> available when you&#8217;re stuck: the questions that someone you admire might ask, applied to your own context.</p><p>It also opens the door to something else: trying out your thinking with people you&#8217;d find <em>challenging</em> to work with, without the friction of actually being in the room with them.</p><p>We&#8217;ll start with how to choose who to distil, then cover how to gather the raw material from interviews and podcasts, and walk through the step-by-step process for turning it into something usable. Finally, we&#8217;ll look at how to build and use the role in practice, and I&#8217;ll hint at how the same technique works in <em>reverse</em>: extracting your <em>own</em> thinking from your <em>own</em> body of work.</p><p>If you&#8217;d like to dig deeper, here are some related articles from the archive:</p><ul><li><p><a href="https://www.theengineeringmanager.com/growth/councils-of-agents-group-thinking-with-llms/">Councils of agents: group thinking with LLMs</a> explores a lighter-weight version of this idea: using AI to simulate multiple perspectives in a single conversation.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/use-it-or-lose-it/">Use it or lose it</a> covers the importance of not outsourcing your thinking entirely to AI, which is relevant here: this technique <em>augments</em> your judgment, it doesn&#8217;t replace it.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/coaching/">Coaching</a> is a reminder of what coaching looked like <em>before</em> AI: the push and pull of directive guidance versus helping someone work through their own problems. What we&#8217;re building here is a version of that, on demand.</p></li></ul><p>I&#8217;ll be honest: this started as a bit of fun. I was curious whether I could make an AI channel the thinking of a founder I admire, and the initial experiment was more novelty than anything serious. But, actually, it turned out to be genuinely useful.</p><p>Having those questions available when I&#8217;m stuck on a decision, or when I want to stress-test an idea, has changed how I work through problems. What began as an experiment became a tool I actually reach for.</p><p>Let&#8217;s get going. Or, as Jeff would say: it&#8217;s Day 1.</p><h2><strong>Choosing who to distil</strong></h2><p>Not every leader is a good candidate for this. The technique works best when three conditions are met: there&#8217;s enough source material to work with (a few hours of interviews, ideally more), you genuinely want to apply their thinking to your own context (not just consume their content passively), and their frameworks are somewhat transferable (they think in principles, not just anecdotes).</p><p>Founders with extensive podcast appearances are often good candidates, as are authors who&#8217;ve done multiple interviews about their books, and executives who speak at conferences. The pattern to look for is someone who&#8217;s been asked similar questions from different angles, which surfaces their underlying principles rather than rehearsed soundbites. You want enough material to triangulate on how they actually <em>think</em>.</p><p>To give you a sense of what works: Claire Hughes Johnson has <em><a href="https://www.goodreads.com/book/show/63063173-scaling-people">Scaling People</a></em> plus hours of podcast interviews on <a href="https://www.lennysnewsletter.com/p/lessons-from-scaling-stripe-tactics">Lenny&#8217;s Podcast</a> and First Round Review, and her thinking is structured enough to extract clear frameworks. Charlie Munger&#8217;s &#8220;latticework of mental models&#8221; is perhaps the most codifiable leadership thinking available, spread across <a href="https://www.mymoneyblog.com/charlie-munger-compilation-letters-speeches.html">shareholder letters</a> and his <a href="https://www.acquired.fm/episodes/charlie-munger">Acquired interview</a>. Naval Ravikant has been interviewed extensively on <a href="https://tim.blog/2020/10/14/naval/">Tim Ferriss</a> and <a href="https://fs.blog/knowledge-project-podcast/naval-ravikant/">The Knowledge Project</a>, and his ideas on decision-making are applicable to any field or domain.</p><p>They&#8217;re working in completely different worlds, but the pattern is the same: there&#8217;s plenty of material to work with, their thinking is rooted in principles rather than anecdotes, and what they&#8217;ve learned travels beyond their specific context.</p><h2><strong>Gathering the raw material</strong></h2><p>The simplest approach is YouTube. Most podcast interviews end up there, and YouTube has a built-in transcript feature: click the three dots below the video, select &#8220;Show transcript&#8221;, and you get the full text. I copied each transcript into its own file, one per interview, which made it easier to process them separately before synthesising across sources.</p><p>If you want to go deeper, there are more elaborate options. Some podcasts publish their own transcripts: Tim Ferriss has <a href="https://tim.blog/2018/09/20/all-transcripts-from-the-tim-ferriss-show/">an archive of over 800 episodes</a>, and Lex Fridman publishes <a href="https://lexfridman.com/category/transcripts/">full transcripts on his site</a>. Aggregators like <a href="https://www.tapesearch.com/">Tapesearch</a> let you search across millions of podcast transcripts to find every appearance by a specific person. But for most purposes, YouTube and a few tens of minutes of copy-paste will get you everything you need.</p><p>Here&#8217;s what a raw YouTube transcript typically looks like when you copy it:</p><blockquote><pre><code><code>0:00
today I want to talk about something that
0:02
I think is really important which is the
0:04
idea of working backwards and so you
0:07
know at Amazon we we famously start with
0:10
the customer and work backwards from
0:12
there and I think that's that's
0:14
something that a lot of companies say
0:16
but don't actually do right they they
0:18
sort of pay lip service to customer
0:20
obsession but then when push comes to
0:22
shove they optimise for something else</code></code></pre></blockquote><p>It&#8217;s not pretty: timestamps interrupt every few seconds, there&#8217;s no punctuation, and sentences break mid-thought across lines. Don&#8217;t worry about cleaning this up yourself: we&#8217;ll do that next. What matters is capturing the full conversation.</p><h2><strong>The distillation process</strong></h2><p>The work now is to turn those messy transcripts into something structured: cleaned up, synthesised across sources, and organised into principles you can actually use. The good news is that this can happen in a single conversation. Feed your transcripts to an AI with a prompt like this:</p><blockquote><p><code>I have transcripts from several interviews with [name]. Please:</code></p><ol><li><p><code>Clean up each transcript: remove timestamps, fix punctuation, and mark who&#8217;s speaking (interviewer vs [name])</code></p></li><li><p><code>Extract the key principles, mental models, and decision-making frameworks that [name] articulates</code></p></li><li><p><code>Identify patterns that recur across multiple interviews &#8212; these are likely their core beliefs</code></p></li><li><p><code>Organise the output by domain (e.g., decision-making, people, product, strategy)</code></p></li><li><p><code>Include direct quotes where they&#8217;re particularly memorable</code></p></li><li><p><code>Output everything as a structured principles document I can reference later</code></p></li></ol><p><code>The transcripts are below.</code></p></blockquote><p>Within minutes, you&#8217;ll have a working principles document. Resist the temptation to have the AI research further or expand on each principle: the value is in capturing <em>their</em> thinking from <em>their</em> words, not generic material found online about the same topics. I&#8217;ve found it useful to keep the distillation <em>specific</em>: it makes the role you create from it more pointed and useful as a coach.</p><h2><strong>Building the role</strong></h2><p>Once you have a principles document, you can turn it into a role: a structured definition that tells the AI how to apply those principles to your questions. If you want to see how this fits into a larger system of roles, I covered my full daily driver setup in the <a href="https://theengineeringmanager.substack.com/p/my-cto-daily-driver">April subscriber edition</a>, but here&#8217;s the core structure you need.</p><p>A role typically includes:</p><ul><li><p><strong>Description:</strong> Who this persona represents and why you&#8217;re using it</p></li><li><p><strong>Core questions:</strong> The questions this person tends to ask when evaluating ideas</p></li><li><p><strong>Mental models:</strong> The frameworks they apply</p></li><li><p><strong>Tone:</strong> How it should behave (direct, challenging, supportive, etc.)</p></li><li><p><strong>Reference:</strong> A pointer to your principles document so the AI has the full context</p></li></ul><p>Here&#8217;s a short generic example to give you a flavour of what to aim for:</p><blockquote><p><code>Founder Lens</code></p><p><code>Description: Applies the mental models of [leader name] to my current context. Not pretending to be them, but using their frameworks to surface angles I might miss.</code></p><p><code>Core questions:</code></p><ul><li><p><code>Is this derived from first principles or copied from others?</code></p></li><li><p><code>Does this require courage? If not, is it ambitious enough?</code></p></li><li><p><code>What would someone who genuinely cares do here?</code></p></li><li><p><code>What are the unstated assumptions?</code></p></li></ul><p><code>Mental models:</code></p><ul><li><p><code>First principles thinking starts from atomic building blocks</code></p></li><li><p><code>Change your opinion when you get better information</code></p></li><li><p><code>The best ideas often feel uncomfortable</code></p></li></ul><p><code>Reference: See context/founder-lens/principles.md</code></p><p><code>Tone: Direct, challenging, focused on clarity over comfort. Asks questions rather than giving answers. Pushes for specificity.</code></p></blockquote><p>If you&#8217;re using Claude Code, this role definition goes in your CLAUDE.md file, and the principles document lives as a separate file in your project. I keep mine in a <code>context/</code> folder with subfolders for each role.</p><p>Activating a role just means asking for it: &#8220;founder lens on this decision&#8221; or &#8220;what would [name] think about this approach?&#8221; The AI reads the role definition and the principles document, then applies that perspective to your question. Other tools will have their own way of handling system prompts and context files, but the structure is the same: a role definition that points to a richer source of material.</p><h2><strong>Using it in practice</strong></h2><p>What it feels like in use is less &#8220;chatbot pretending to be someone&#8221; and more &#8220;having their guidance available when you&#8217;re stuck&#8221;. So I often find that it surfaces an angle you wouldn&#8217;t necessarily have considered on your own, because they may see the world differently to you. The value isn&#8217;t in the answers, it&#8217;s in the <em>reframing</em>: the questions force you to articulate assumptions you hadn&#8217;t examined, or to defend choices you&#8217;d been making on autopilot.</p><p>I find it most useful before committing to a significant decision, even when I have consensus with my own group, because I want to stress-test my thinking before it becomes expensive to change course. It&#8217;s also valuable when I&#8217;ve been circling the same problem for too long and need a way to break out of my own perspective.</p><p>With that in mind, it&#8217;s worth considering whether there are any founders or notable people out there who would have a very contrarian perspective to yours. Including them as part of this exercise can surface blind spots that a like-minded advisor never would. The role doesn&#8217;t tell you what to do, but it does make you defend your reasoning to a different persona.</p><p>Here&#8217;s what this might look like in practice. Imagine you&#8217;ve distilled Elon Musk&#8217;s thinking into a founder lens, and you&#8217;re using it to stress-test a timeline your team has given you:</p><blockquote><p><strong>You:</strong> Founder lens on this: my team says migrating our payment system to the new provider will take six months. I&#8217;ve pushed back but they&#8217;re confident that&#8217;s realistic.</p><p><strong>[Founder]:</strong> What&#8217;s actually in those six months? Break it down for me. Not the project plan &#8212; the actual work. If you had to ship something in six weeks instead, what would you cut?</p><p><strong>You:</strong> We&#8217;d probably skip the automated rollback tooling and do manual rollbacks if needed. And we&#8217;d run the systems in parallel for longer rather than building a full reconciliation dashboard upfront.</p><p><strong>[Founder]:</strong> So the core migration is six weeks, and the other four and a half months are de-risking. Is that de-risking based on something that&#8217;s actually happened before, or is it fear of something that might happen?</p><p><strong>You:</strong> Honestly, it&#8217;s fear. We&#8217;ve never had a payment migration go wrong, but the consequences would be severe.</p><p><strong>[Founder]:</strong> Severe how? Quantify it. What&#8217;s the actual blast radius if you migrate and something breaks? Are we talking about lost revenue, angry customers, regulatory problems? And what&#8217;s the cost of moving slowly &#8212; four months of carrying two systems, delayed features, team context-switching?</p><p><strong>You:</strong> I hadn&#8217;t thought about the cost of delay that concretely.</p><p><strong>[Founder]:</strong> That&#8217;s the question. You&#8217;re insuring against a risk you haven&#8217;t priced, with a premium you haven&#8217;t calculated. Maybe the six months is right. But you should know what you&#8217;re buying with that time.</p></blockquote><p>The lens didn&#8217;t tell you what to do, but it made you defend your reasoning to a different set of priorities.</p><h2><strong>The mirror</strong></h2><p>The same technique works in reverse. Instead of encoding someone else&#8217;s thinking into a role, you can extract your own: feed your writing, decisions, and documentation to an AI, and ask it to identify your patterns. The output is a principles document that captures how you actually think, not how you imagine you think.</p><p>I recently ran this process on my own writing: several years of newsletter articles, fed through the same extraction steps. The output was a set of principles organised by how often they recur. Some I expected to find: &#8220;<a href="https://www.theengineeringmanager.com/growth/constraints/">constraints are superpowers</a>&#8220; shows up repeatedly, as does the conviction that managers should stay technical. Others surprised me: I hadn&#8217;t realised how consistently I return to the idea that autonomy and ownership are non-negotiable, or how often I argue recently for being in the details rather than delegating everything, which is a marked change from how I used to be when I first started out in management.</p><p>The value isn&#8217;t just in having the list. Your previous writing, whether internal memos or public articles, tends to represent your best self: considered, articulate, thoughtful. The messy day-to-day often pulls you away from that. Having your principles explicit means you can check whether you&#8217;re still aligned to what you actually believe, or whether you&#8217;ve drifted without noticing.</p><p>This is another reason to write, even if only to yourself. Writing has always been a tool for thinking, but now it&#8217;s also a tool for self-knowledge: the more you write, the more material you have to analyse, and the clearer the picture of who you actually are. This month&#8217;s subscriber edition goes deeper into the inward-facing version of this technique: how to gather your own material, what prompts to use, and what to do with the principles once you have them.</p><h2><strong>Your turn</strong></h2><p>The technique is straightforward enough to try this week. So why not give it a go?</p><ul><li><p><strong>Find your candidate.</strong> Have a look through all of the podcasts and interviews that you&#8217;ve read, listened to, or watched recently, and see whether anyone that you found particularly inspiring could form a coach that can be your go-to in your day-to-day.</p></li><li><p><strong>Gather the material.</strong> Find two or three interviews with them and run them through the distillation process: clean the transcripts, extract principles, and organise them by domain.</p></li><li><p><strong>Build a simple role.</strong> Create a role definition with a handful of their core questions and mental models, and don&#8217;t worry about getting it perfect on the first pass.</p></li><li><p><strong>Try it on a real decision.</strong> Pick something where you&#8217;d value a different perspective and see what surfaces.</p></li><li><p><strong>Iterate.</strong> Refine the role based on what&#8217;s useful and what isn&#8217;t: the first version is never the final one.</p></li></ul><h2><strong>Wrapping up</strong></h2><p>And remember: this isn&#8217;t about hero worship, and it&#8217;s certainly not about replacing your judgment with theirs. It&#8217;s about making the wisdom of people you admire more accessible to yourself, on demand, when you need a different perspective. The insights you read in interviews don&#8217;t have to fade anymore; they can become tools you reach for.</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[My CTO daily driver]]></title><description><![CDATA[A deep dive into my Claude Code setup that's given me superpowers.]]></description><link>https://theengineeringmanager.substack.com/p/my-cto-daily-driver</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/my-cto-daily-driver</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Thu, 23 Apr 2026 16:30:57 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8c9f097e-d96a-4f8a-8489-93ed428f7130_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Thanks for being here for the April subscriber edition. As ever, I appreciate your support, and the chat is always open if you want to share thoughts or suggest topics.</p><p>In February, I showed you some tools I&#8217;d built with AI: a bragdoc generator, a planning tool, and a few others. This month, let&#8217;s go even wider and deeper into tooling.</p><p>I don&#8217;t mean broadening to <em>more</em> individual tools, but zooming out to see the whole system I&#8217;ve constructed around them: a personal workspace that&#8217;s become central to how I work day-to-day as a CTO. Think of this article as a peek behind the curtain: it&#8217;s what my setup actually looks like, how it evolved, and why it makes me more productive than I have ever been.</p><p>Here&#8217;s what we&#8217;ll cover in my <a href="https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview">Claude Code</a> setup:</p><ul><li><p><strong>What is a daily driver?</strong> How it differs from one-off AI interactions, and why persistence matters.</p></li><li><p><strong>How the workspace is organised.</strong> Directories, information flow, and the central configuration file.</p></li><li><p><strong>The roles.</strong> Eleven different personas that Claude can adopt, from Executive Assistant to Sparring Partner, each with distinct behaviours and triggers.</p></li><li><p><strong>The integrations.</strong> What&#8217;s connected and why: Linear, Notion, BetterStack, and more, all working together.</p></li><li><p><strong>The workflows.</strong> Daily bookends with <code>/morning</code> and <code>/eod</code>, weekly operations reports, and ad-hoc commands for triage and tracking.</p></li><li><p><strong>The composability insight.</strong> Why the whole is greater than the sum of its parts, and what this enables that separate tools don&#8217;t.</p></li><li><p><strong>Evolution.</strong> How it started, what&#8217;s changed, and how to know when to add something new versus just doing it manually.</p></li></ul><p>If you&#8217;d like context before diving in, <a href="https://open.substack.com/pub/theengineeringmanager/p/just-build-the-tools-yourself">Just build the tools yourself</a> from February covers the topic of using AI to quickly roll your own internal tooling. For related themes, <a href="https://www.theengineeringmanager.com/managing-managers/being-in-the-details/">Being in the details</a> explores why staying close to what your teams are building matters, and <a href="https://www.theengineeringmanager.com/growth/should-managers-still-code/">Should managers still code?</a> tackles the perennial question.</p><p>Let&#8217;s get into it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>What is a daily driver?</strong></h2><p>In <a href="https://open.substack.com/pub/theengineeringmanager/p/just-build-the-tools-yourself">February&#8217;s article</a>, I mentioned that I use Claude Code as my &#8220;daily driver&#8221;: a unified interface for managing tasks and complex workflows, doing research, drafting documents, and synthesising information from a multitude of external sources.</p><p>But I glossed over what that actually looks like in practice. What does a daily driver look like? How is it different from just using Claude Code to interact with Linear or Notion?</p><p>At its core, it&#8217;s the creation of a continually improving system tailored to <em>you</em>. Consider the opposite: when you use Claude Code for a one-off task, you open a session, do the thing, and close it, and all of that context disappears.</p><p>A daily driver is something different: it&#8217;s a personalised workspace that has memory, both internally via files and externally via other systems that act as sources of truth. It has your opinions baked in, and it&#8217;s less a tool you pick up than an environment you quite literally drive your whole day from, one that only gets better with time.</p><p>Here&#8217;s what that looks like in practice. On Friday mornings, I run a single command that queries all of our Linear teams for bugs by severity, separating production issues from internal ones. It checks all of our production monitors for uptime across regions, calculates availability percentages, and pulls from our incidents database. It identifies any SLAs at risk of breach, then delivers a formatted briefing based on a template I&#8217;ve defined, ready to share.</p><p>This is just one of many composite operations the daily driver performs. For example, there&#8217;s <code>/morning</code> for a start-of-day briefing, <code>/eod</code> for capturing thoughts before logging off, <code>/triage</code> for processing my inbox into structured tasks, <code>/check-sla</code> for spotting at-risk bug fixes, and <code>/dora-report</code> for deployment metrics. And that&#8217;s not mentioning the numerous different roles that help me with analysis, writing, dissecting ideas, and planning.</p><p>What used to take an hour of clicking around now takes thirty seconds, and the fact that it is now so easy to think, pull data, derive insights, and be creative is <em>game changing</em>. It&#8217;s the result of structure, integrations, and workflows that have accumulated over time. Let me show you how it&#8217;s built.</p><h2><strong>How the workspace is organised</strong></h2><p>If you haven&#8217;t used Claude Code before, here&#8217;s the short version: it&#8217;s a terminal-based interface to the Claude models, which means it can directly read and write files on your filesystem and connect to external services like Linear, Notion, and monitoring tools via something called <a href="https://modelcontextprotocol.io/">MCP</a> (Model Context Protocol).</p><p>The key to making it useful isn&#8217;t just having access to these capabilities, though; it&#8217;s steering Claude&#8217;s behaviour so it knows what to do with them. That steering happens through a <code>CLAUDE.md</code> file: a markdown file that defines how Claude should behave, what roles it can adopt, what context it has access to, and what workflows it can execute. When I open a terminal session in my workspace, Claude reads this file first and orients itself accordingly.</p><p>The structure is a little like a codebase: you organise it into modules using a file structure that makes sense, then you tell Claude what each part does and how to interact with them. My workspace is organised into distinct zones, and I&#8217;ll walk you through some of them before we dig into the details in the rest of this article.</p><p>There&#8217;s an <code>inbox.md</code> file for quick capture: anything I need to get out of my head goes there first, unstructured and raw. There&#8217;s a <code>bragdoc/</code> directory where wins get logged week by week, a <code>decisions/</code> directory for significant decisions with their rationale, and a <code>context/</code> folder containing reference material like team rosters, writing style guides, and even synthesised wisdom from leaders I admire.</p><p>Reports flow to <code>reports/</code>, organised by cadence. The structure reflects how I actually think about information: some things are temporary and need processing, some things are permanent records, some things are reference material I&#8217;ll query repeatedly. All of my interactions with these modules happen through natural language in the terminal: I don&#8217;t click around in different apps, I just ask Claude to do what I need. The whole thing is backed by a private repository on GitHub, which keeps everything in sync and versioned.</p><p>One pattern worth highlighting: I deliberately separate quick capture from task tracking. <code>inbox.md</code> is temporary and unstructured; it&#8217;s where thoughts go when I need to get them out of my head quickly. Linear is our ticket tracking system at work, and I have a private team on there called CTO that I use as the backing store for all of my todos.</p><p>The distinction matters because it removes <em>friction</em> from <em>capture</em>. I can dump anything into the inbox without worrying about whether it&#8217;s a real task, what priority it should be, or which project it belongs to. Later, when I run <code>/triage</code>, Claude helps me process the inbox: categorising items as actions, reference, or done, converting the actions into Linear tickets, and clearing out what&#8217;s no longer relevant.</p><p>The result is a system where information has a natural lifecycle: capture in the inbox, triage into tasks or reference, execution tracked in Linear, wins recorded in the bragdoc, and decisions logged for future reference. The <code>CLAUDE.md</code> file ties it all together, defining not just where things live but how Claude should behave when working with them.</p><p>What I find most useful is that it specifies eleven different roles Claude can adopt depending on what I&#8217;m doing, from Executive Assistant for routine tasks to Sparring Partner for stress-testing ideas. It defines slash commands that orchestrate complex workflows across multiple systems. And it encodes working principles, so Claude&#8217;s default behaviour aligns with how I actually want to work.</p><p>At a very high level, this is my information loop:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hvtc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hvtc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png 424w, https://substackcdn.com/image/fetch/$s_!Hvtc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png 848w, https://substackcdn.com/image/fetch/$s_!Hvtc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png 1272w, https://substackcdn.com/image/fetch/$s_!Hvtc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hvtc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png" width="482" height="687.788961038961" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1758,&quot;width&quot;:1232,&quot;resizeWidth&quot;:482,&quot;bytes&quot;:126405,&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://theengineeringmanager.substack.com/i/186185637?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.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_!Hvtc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png 424w, https://substackcdn.com/image/fetch/$s_!Hvtc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png 848w, https://substackcdn.com/image/fetch/$s_!Hvtc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png 1272w, https://substackcdn.com/image/fetch/$s_!Hvtc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4556064e-31eb-4078-b77e-50c19f547057_1232x1758.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That&#8217;s the architecture at a high level, but I&#8217;ve skimmed over a lot of the detail. Through the rest of this article, we&#8217;ll dig deeper into how it all actually works: what the roles do and why they matter, how the integrations combine to produce real outputs, and what the daily workflows look like in practice.</p><h2><strong>The roles</strong></h2><p>I&#8217;ve always liked the idea of having a <a href="https://www.theengineeringmanager.com/growth/councils-of-agents-group-thinking-with-llms/">council of advisors</a> available around the clock: people I can consult when I&#8217;m stuck, who can challenge my thinking, help me prepare for difficult conversations, or just sanity-check a decision before I commit to it.</p><p>In practice, of course, that&#8217;s not how leadership works: your peers have their own priorities, your exec isn&#8217;t available at 11pm, and your team shouldn&#8217;t be your sounding board for everything. But you can build that council synthetically, and defining roles is how you get there.</p>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/my-cto-daily-driver">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Who will be the senior engineers of 2035?]]></title><description><![CDATA[And what do we need to do about that right now?]]></description><link>https://theengineeringmanager.substack.com/p/who-will-be-the-senior-engineers</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/who-will-be-the-senior-engineers</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Mon, 13 Apr 2026 16:30:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/279ca703-82b6-4a9c-94d3-7847b262c35d_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month, we&#8217;re going to explore a question that is a pertinent topic right now: where are the senior engineers of the future going to come from?</p><p>After years of post-Covid layoffs, hiring has slowed across the board as companies wait to see how AI efficiency gains and the economy play out. Unfortunately, juniors are caught up in that slowdown: it&#8217;s a hard time to be graduating with a computer science degree.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Meanwhile, AI is absorbing the small changes and bug fixes that used to be perfect training tasks for junior engineers, and the managers who traditionally developed early-career talent are stretched thin or being cut entirely. When viewed purely as profit and loss, <em>some</em> short-term rationale can be derived. However, the long-term consequences are worrying.</p><p>We&#8217;ll start by looking at the pipeline we used to have: how senior engineers traditionally emerged through years of mistakes, mentorship, and low-stakes learning. Then we&#8217;ll examine what&#8217;s replacing it, and hypothesise whether AI will actually fill the gap. We&#8217;ll explore three possible scenarios for 2035, and finish with what this means depending on where you sit in the industry.</p><p>If you&#8217;d like to dig deeper, here are some related articles from the archive:</p><ul><li><p><a href="https://www.theengineeringmanager.com/growth/coaching/">Coaching</a> explores how managers develop people at different experience levels, and why the approach needs to change as someone grows.</p></li><li><p><a href="https://www.theengineeringmanager.com/managing-managers/delegation-creates-career-progression/">Delegation creates career progression</a> looks at how handing over tasks is an act of trust and an opportunity to learn.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/use-it-or-lose-it/">Use it or lose it</a> covers the risk of skill atrophy in the AI era, and why deliberate practice still matters.</p></li></ul><p>Let&#8217;s explore.</p><h2><strong>The programmer&#8217;s path</strong></h2><p>For decades, the path was well-worn: you got hired as a junior, paired with someone more experienced, and were given tasks that existed as much for <em>your</em> development as for the work itself.</p><p>As part of your ramp-up into real-world programming, you&#8217;d follow this loop: write some code (often pairing with others), submit a pull request, get feedback that made you rethink your approach, fix it, and learn something. Over time, through repetition and correction, you built judgment: one of the key skills that separates senior engineers from those with less experience.</p><p>Learning with other people was not the only path. Some of the most influential figures in computing taught themselves to code before they were adults, tinkering with whatever hardware they could access; learning through curiosity and obsession rather than formal training. I was no different (although I do not claim to be influential): I learned to code on our family computer, building websites with HTML and simple tools in Visual Basic.</p><p>Yet, although they may have begun alone, many autodidacts eventually joined or created teams and companies, and there they learned a different set of lessons: how to collaborate, how to navigate trade-offs, how to build things that outgrow your singular contributions. And these are things that are very hard to learn in formal education or on your own.</p><p>However, what both paths shared was this: you had to <em>do</em> the work yourself and with others, and the <em>doing</em> was the point.</p><h2><strong>What&#8217;s replacing it</strong></h2><p>The traditional pipeline is breaking down in several places at once. Hiring freezes, driven by <a href="https://www.cnn.com/2023/01/22/tech/big-tech-pandemic-hiring-layoffs/index.html">post-pandemic correction</a> and <a href="https://www.cnbc.com/2025/11/14/ai-to-impact-89percent-of-jobs-next-year-cnbc-survey-finds.html">uncertainty about AI&#8217;s impact on headcount</a>, mean fewer junior roles: <a href="https://www.rezi.ai/posts/entry-level-jobs-and-ai-2026-report">entry-level tech postings have dropped 67% since 2022</a>, and a <a href="https://spectrum.ieee.org/ai-effect-entry-level-jobs">Stanford study</a> found that employment for software developers aged 22-25 has declined nearly 20% from its late 2022 peak.</p><p>A <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5425555">Harvard study</a> found the effect is even sharper in firms actively adopting AI: junior employment fell 7.7% relative to non-adopters within six quarters. The managers who used to mentor early-career engineers are being cut or stretched across larger teams. And the tasks that once served as training ground, such as the small bug fixes and incremental features, are increasingly being handed to AI tools instead.</p><p>For leadership purely concerned with cost, the assumption is compelling: AI will keep improving, so we&#8217;ll need fewer humans, so why invest in growing them? A <a href="https://stackoverflow.blog/2025/12/26/ai-vs-gen-z/">LeadDev survey</a> found that 54% of engineering leaders plan to hire fewer juniors, reasoning that AI enables seniors to handle more.</p><p>On a balance sheet, the short-term economics make sense. But there&#8217;s an incredibly important question that needs to be addressed: what happens to the skills that juniors used to develop along the way, if AI is taking them and there are fewer juniors to do them in the first place?</p><p>The answer matters because much of the judgment of an experienced craftsperson comes through being in the details, making mistakes, and learning from them.</p><p>Consider judgment under ambiguity, organisational navigation, the instinct for when a shortcut will come back to bite you and when it&#8217;s the right call; these aren&#8217;t skills you acquire by reading documentation or even prompting AI for answers, but through <em>years</em> of making mistakes in environments where the stakes were low enough to fail safely.</p><p>There&#8217;s a term that comes to mind for how one progresses from junior to senior: <em>scar tissue</em>. The scars come from shipping something that broke in production and staying up to fix it, from proposing an architecture that didn&#8217;t scale and having to rebuild it, from navigating a difficult stakeholder relationship and learning, the hard way, what actually works.</p><p>AI can answer questions in the same way that revising for an exam can help you memorise an answer, but it can&#8217;t give you the scars that you can then apply to new problems in the future.</p><p>So what happens if we continue down this path? There are a number of possibilities that could all prove true to some degree. Analysing them, and where they could lead, is one of the ways we can steer towards a future that makes sense for the industry.</p><h2><strong>Three possible futures</strong></h2><p><strong>The talent crunch.</strong> We&#8217;ve seen a version of this before. During the pandemic hiring boom of 2021-2022, tech job postings <a href="https://www.hiringlab.org/2025/07/30/the-us-tech-hiring-freeze-continues/">more than doubled</a> and salaries hit record highs. Top candidates fielded multiple offers; poaching was rampant. Companies that weren&#8217;t seen as desirable places to work found themselves outbid by those that were.</p><p>Now imagine that dynamic, but <em>worse</em>. Senior engineers don&#8217;t appear from nowhere: they&#8217;re the juniors you hired five or ten years ago who learned, failed, recovered, and grew.</p><p>Cut the pipeline today, and the shortage doesn&#8217;t show up immediately. Instead it shows up in 2035, when the industry finds itself desperate for engineers with the scar tissue that comes from years of real-world experience. When the critical system goes down at 3am, there&#8217;s no one left who knows how it works. The parallels to other industries that neglected their pipelines, such as <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC9912424/">nursing</a> and <a href="https://www.mckinsey.com/capabilities/people-and-organizational-performance/our-insights/tradespeople-wanted-the-need-for-critical-trade-skills-in-the-us">skilled trades</a>, become impossible to ignore.</p><p><strong>The bifurcation.</strong> Instead of a shortage, a split emerges. On one side: vibe coders who move fast, shipping features by orchestrating AI tools, comfortable with velocity but shallow on fundamentals. On the other: engineers who understand how things actually work, but who are increasingly rare and expensive.</p><p>The middle disappears. A <a href="https://www.hackerrank.com/blog/the-engineering-hiring-dilemma/">HackerRank advisory board</a> described this as a &#8220;hollowed-out career ladder&#8221;: seniors at the top, AI handling the grunt work, and very few people learning in between. The traditional path from junior to mid-level to senior breaks down because the rungs in the middle are gone.</p><p>This pattern shows up elsewhere. Economists have documented <a href="https://www.stlouisfed.org/publications/regional-economist/january-2013/job-polarization-leaves-middleskilled-workers-out-in-the-cold">job polarization</a> for decades: automation eliminates middle-skill routine work while high-skill and low-skill jobs grow. The same dynamic appears in wealth distribution, where the <a href="https://www.pewresearch.org/social-trends/2020/01/09/trends-in-income-and-wealth-inequality/">middle class has steadily shrunk</a> across developed economies. In retail, analysts call it the <a href="https://fortune.com/2026/01/14/when-will-us-enter-recession-middle-class-barbell-k-shaped-economy/">barbell economy</a>: luxury and discount thrive while the mid-market hollows out. Software engineering may be next.</p><p><strong>The tinkerer&#8217;s precedent.</strong> There&#8217;s a more optimistic reading, grounded in computing history. Formal computer science education was still in its infancy: <a href="https://en.wikipedia.org/wiki/Cambridge_Diploma_in_Computer_Science">Cambridge offered a diploma-level course from 1953</a>, but the first dedicated department wasn&#8217;t established until 1962 when <a href="https://www.cs.purdue.edu/history/index.html">Purdue established theirs</a>. The first undergraduate degree followed in 1967. Yet computing advanced for <em>decades</em> before that, driven by aforementioned autodidacts who taught themselves from manuals, blueprints, and tinkering: messing around for curiosity&#8217;s sake.</p><p>Each new abstraction layer was supposed to be the end of entry-level programming. Before software existed at all, &#8220;computers&#8221; were humans doing calculations by hand. Then came machine code, then assembly, then BASIC: <a href="https://time.com/69316/basic/">created at Dartmouth for liberal arts students</a>, it came pre-installed on home computers and enabled a generation of bedroom coders.</p><p>The browser brought JavaScript, which democratised web development. Cloud computing abstracted away infrastructure. Each time, instead of eliminating entry points, the new layer created different ones. And with each step up, we wouldn&#8217;t wish to go back: would you want to write everything in assembly today? I thought not.</p><p>If AI follows the same pattern, we could see a world where everyone becomes part product manager, part engineer, part designer. Building software gets faster, and <a href="https://www.theengineeringmanager.com/growth/one-bottleneck-at-a-time/">the bottleneck shifts elsewhere</a>: to sales, to go-to-market, to the hard work of finding customers and convincing them to pay. The constraint moves, but it doesn&#8217;t disappear.</p><p>There&#8217;s an alternative version of this future: the number of software engineers a company needs seriously dwindles, teams of fifty become teams of five, and average company size shrinks. The engineers who thrive are the entrepreneurial ones, those who can ship whole products rather than just features. Everyone else competes for fewer and fewer seats.</p><p>What makes this scenario different from the first two is that it still offers a path. Each earlier abstraction layer required you to understand programming logic; you were just expressing it at a higher level. AI potentially abstracts away programming itself: describe what you want and let the model figure out how. That could mean the ultimate democratisation, or the elimination of the ladder entirely. But if history is any guide, new entry points will emerge, even if we can&#8217;t yet see what they look like.</p><h2><strong>What this means for you</strong></h2><p>Which scenario plays out, and in what combination, depends partly on choices being made right now: not just by industry leaders, but by individuals at every level, including yourself.</p><p>We still have years ahead in which these effects will compound, and that means years in which deliberate choices can steer us toward a better future than the one we might waltz into without thinking. Here&#8217;s what you can do depending on where you sit.</p><p><strong>If you&#8217;re a senior engineer</strong>, your expertise is becoming scarcer, not more common. This is an extremely strong position to be in, especially if you&#8217;re investing heavily in AI-first engineering skills. The scar tissue you&#8217;ve accumulated, the instinct for where the edge cases hide, the ability to debug systems you&#8217;ve never seen before: these take years to develop and can&#8217;t be downloaded. Three things you can do:</p><ul><li><p><strong>Mentor actively.</strong> Find a junior and invest in their growth, even if nobody&#8217;s asking you to. This is actually more fun than it used to be: you&#8217;re exploring AI tooling together, learning alongside each other rather than just handing down wisdom.</p></li><li><p><strong>Make your knowledge visible.</strong> Use AI to generate excellent documentation and diagrams, and use it to level up the knowledge you transfer to the rest of the organisation. The tribal knowledge in your head is worth far more when it&#8217;s shared, and the barrier to doing so has never been lower.</p></li><li><p><strong>Invest in engineering-led initiatives.</strong> The increased velocity you get through AI has to go somewhere. Instead of just shipping more features, use that time to work on the problems that often get deprioritised: performance, latency, resilience, and the kind of deep technical work that builds lasting competitive advantage.</p></li></ul><p><strong>If you&#8217;re a manager</strong>, the juniors you develop aren&#8217;t a cost centre; they&#8217;re a strategic bet. Every engineer you grow into a capable mid-level or senior is one you won&#8217;t have to poach from a competitor when the talent crunch bites. Remember the 2021-2022 hiring war? It could look mild by comparison. Three things you can do:</p><ul><li><p><strong>Make the case for junior hiring.</strong> Frame it as risk mitigation, not charity. Show leadership the cost of senior attrition, the salary inflation in the market, and what happens when institutional knowledge walks out the door. Juniors are cheaper to hire and, with good mentorship, can become your most loyal senior engineers.</p></li><li><p><strong>Rethink what training looks like.</strong> The tasks that used to be training ground are being absorbed by AI. So create new ones: pair juniors with seniors on complex problems, give them ownership of small but real projects, let them lead incident retrospectives. OpenAI is <a href="https://newsletter.pragmaticengineer.com/p/san-francisco-is-back">experimenting with a &#8220;super senior + super junior&#8221; model</a> for exactly this reason. The goal is scar tissue, not busywork.</p></li><li><p><strong>Invest in your own internal tooling.</strong> AI has made building custom tools almost as easy as building a spreadsheet. Instead of waiting for engineering to prioritise your visibility needs or settling for off-the-shelf software that doesn&#8217;t quite fit, build the tools yourself. Whether it&#8217;s a planning dashboard, a bragdoc generator, or a way to track knowledge distribution across the team, the friction between &#8220;I wish I had a tool for this&#8221; and actually having it has never been lower. I covered this in detail in <a href="https://open.substack.com/pub/theengineeringmanager/p/just-build-the-tools-yourself">Just build the tools yourself</a>.</p></li></ul><p><strong>If you&#8217;re early in your career</strong>, the path is harder than it used to be, but it&#8217;s not closed. The key is to seek out the experiences that build judgment, even when the system isn&#8217;t handing them to you. Three things you can do:</p><ul><li><p><strong>Seek scar tissue deliberately.</strong> Volunteer for on-call rotations. Take the messy migration project nobody else wants. When something breaks, be the one who stays to understand why. None of this is new: the tooling changes and the level of abstraction shifts, but the engineers who learn the most have always been the ones actively seeking scar tissue.</p></li><li><p><strong>Don&#8217;t outsource your understanding.</strong> AI tools are incredible accelerators, but they can also become a crutch. When the model gives you an answer, take the time to understand why it works. Read the documentation. Trace the code path. The goal isn&#8217;t to reject AI; it&#8217;s to use it without losing the ability to think for yourself. I wrote about this in <a href="https://www.theengineeringmanager.com/growth/use-it-or-lose-it/">Use it or lose it</a>.</p></li><li><p><strong>Connect your work to the business.</strong> The engineers who get trusted with bigger problems are the ones who understand why those problems matter. Learn what your company&#8217;s metrics are, how your team contributes to them, and what keeps your leadership up at night. Then be proactive about getting closer to that work. Ask to be included in architecture discussions, request to shadow incident response, and when you get feedback, ask &#8220;why does this matter?&#8221; not just &#8220;what should I change?&#8221; Technical skill gets you in the door; business context gets you to the table.</p></li></ul><p><strong>If you&#8217;re a senior leader</strong> planning to spend more on AI than on people, you&#8217;re making a bet, whether you&#8217;ve articulated it or not. The bet is that AI will improve faster than your talent base depreciates: that you can cut junior hiring today and still have the senior engineers you need when it matters. That may be true. But if it isn&#8217;t, you won&#8217;t know until it&#8217;s too late to fix. Three things you can do:</p><ul><li><p><strong>Stress-test your assumptions.</strong> What happens if AI progress plateaus for a few years? What happens if your most experienced engineers leave? What does your team look like in 2035 if you hire no juniors between now and then? Run the scenarios. The answers might surprise you. Why not use AI to do the modelling?</p></li><li><p><strong>Treat junior hiring as R&amp;D, not overhead.</strong> The return on investment isn&#8217;t immediate, but it&#8217;s real. Every junior you develop into a senior is institutional knowledge you don&#8217;t lose when someone resigns. And some of the best junior talent right now, especially those who are AI-first, are incredible at their jobs, hungry to learn, and waiting for the right opportunity to come along. Frame junior hiring as investment, not cost, in your planning.</p></li><li><p><strong>Measure your knowledge concentration.</strong> How many people on your team can debug your most critical systems? What&#8217;s your bus factor on key services? If the answer is &#8220;one or two,&#8221; you have a fragile organisation, regardless of how productive AI makes those individuals. Track knowledge distribution the way you track uptime.</p></li></ul><h2><strong>Wrapping up</strong></h2><p>Who will be the senior engineers of 2035? We don&#8217;t know yet. We&#8217;re running an experiment on the industry&#8217;s talent pipeline, and the results won&#8217;t be in for years.</p><p>But here&#8217;s what we do know: the outcome isn&#8217;t predetermined. The senior engineers of 2035 are being made right now, in the decisions about who gets hired, who gets mentored, and who gets the chance to fail safely.</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[New company, old playbook?]]></title><description><![CDATA[Beginner's mind, expert's toolkit: navigating your first 90 days.]]></description><link>https://theengineeringmanager.substack.com/p/new-company-old-playbook</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/new-company-old-playbook</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Fri, 20 Mar 2026 17:30:36 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/20c759fc-80f2-48a9-b3ad-dbfb2b6d8497_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the March subscriber edition. Thank you, as always, for being a paid subscriber, and remember that you can get in touch with me any time you like via the chat. I&#8217;m always open to hearing ideas for things to write about.</p><p>We&#8217;ve got a mailbag question this month, and it&#8217;s one whose situation I suspect will resonate with many of you. Once I received it, I knew it would be a great idea for an article, because it&#8217;s something I&#8217;ve only recently come out the back of in my new CTO role.</p><p>Here&#8217;s the question, edited for brevity:</p><blockquote><p>I&#8217;ve been at my current company for 12 years, where I grew from a backend engineer through to Staff and then pivoted to the leadership track, becoming an EM four years ago and more recently a Senior EM. It&#8217;s time to finally leave and I&#8217;ve accepted an EM role at a really great company. I&#8217;m looking for ways to hit the ground running and get effective as quickly as I can, all the while concerned that all the things I do know won&#8217;t translate to the new place (though I know that&#8217;s illogical). Clearly <em><a href="https://www.goodreads.com/book/show/15824358-the-first-90-days">The First 90 Days</a></em> is going to be a general recommendation, but I&#8217;m looking for something more specific to tech leadership.</p></blockquote><p>I suspect many of you, including myself, have felt this tension before. As you&#8217;re leaving your old role, you&#8217;ve built up years of experience, developed strong instincts about how teams should work, and earned the credibility that comes from a track record of getting things done.</p><p>And then you step into a new company and... <em>none of that</em> is visible. You&#8217;re effectively a stranger; a new transplant in a foreign body, if you will. You don&#8217;t know where anything is, who to talk to, or why things are the way they are. It&#8217;s a paradox: you&#8217;re simultaneously an expert and a complete beginner.</p><p>As mentioned above, I went through this recently when I joined <a href="https://www.nordhealth.com/">Nordhealth</a> as CTO in early 2025. I&#8217;d spent years at Shopify, a company known for <a href="https://www.lennysnewsletter.com/p/tobi-lutkes-leadership-playbook">operating without traditional KPIs and thinking in hundred-year timeframes</a>, and suddenly I was starting over. What follows is what I learned through trial and error: a framework for those first 90 days that&#8217;s specific to engineering leadership, grounded in my own experience and supplemented by research on what actually works.</p><p>My intention with this article is to wrap my recent experience into a playbook that you can take away and follow, adapting it to your own situation as you see fit.</p><p>Here&#8217;s what we&#8217;ll cover in this article:</p><ul><li><p><strong>The expert beginner problem.</strong> Why your years of experience are simultaneously your greatest asset and your biggest liability when you walk through the door.</p></li><li><p><strong>Days 1-30: See things clearly.</strong> Running a listening tour that actually works, and the simple two-question survey that reveals what really matters to your new team.</p></li><li><p><strong>Days 30-60: Pick your battles.</strong> Picking your battles wisely, learning to steer without doing, and understanding the cross-functional work that is a key part of leadership and critical to your &#8220;transplant&#8221; working out long term.</p></li><li><p><strong>Days 60-90: Land the results.</strong> Landing visible results, celebrating wins in a way that reinforces the right behaviours, and setting the tone for what comes next.</p></li><li><p><strong>What transfers and what doesn&#8217;t.</strong> The crucial difference between <em>principles</em> you can bring with you and <em>prescriptions</em> you need to leave behind.</p></li><li><p><strong>When this doesn&#8217;t apply.</strong> The situations where you should throw out everything I just said and act immediately instead.</p></li></ul><p>If you&#8217;re interested in the backstory of how I ended up in a CTO role in the first place, I wrote about that journey in two parts last year: <a href="https://theengineeringmanager.substack.com/p/my-path-to-cto-part-i">Part I</a> covers the random walk of my early career, and <a href="https://theengineeringmanager.substack.com/p/my-path-to-cto-part-ii">Part II</a> covers how executive roles actually get filled and the decision to make the move.</p><p>So without further ado, let&#8217;s get into it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>The expert beginner problem</strong></h2><p>So let&#8217;s start with the gigantic paradox. When you join a new company as an experienced leader, you&#8217;re in a strange position: you know <em>how</em> to do the job, but you don&#8217;t know <em>where</em> anything is, <em>who</em> to talk to, or <em>why</em> things are the way they are.</p><p>In a slightly gross phrase, Michael Watkins, author of <em>The First 90 Days</em>, calls this an <em>organ transplant</em>: you&#8217;re the new organ (kind of weird, right?), and if you&#8217;re not careful, the organisational immune system will reject you. There are so many ways for this to happen, from conflicts in how you work, to how you communicate, and generally how you fit in both up and down the management chain.</p><p>The problem is compounded by something researchers call &#8220;<a href="https://www.npr.org/2015/12/01/457974684/being-labeled-an-expert-may-contribute-to-someone-being-closed-minded">earned dogmatism</a>&#8220;: the more expertise you accumulate, the more likely you are to <em>close your mind</em> to new information. For example: you&#8217;ve seen this pattern before, you know what works, so why question the same solution that&#8217;s served you well in the past? It&#8217;s <a href="https://www.theengineeringmanager.com/growth/slow-down-to-speed-up/">System 1 thinking</a>, as we covered in a previous article, at its most seductive. But what worked at your last company may not work here, and the confidence that comes from your experience can blind you to that fact.</p><p>The antidote is something Zen Buddhists call <em><a href="https://en.wikipedia.org/wiki/Shoshin">shoshin</a></em>, or <em>beginner&#8217;s mind</em>: approaching a situation with openness and curiosity, even when you have experience. The goal isn&#8217;t to pretend you don&#8217;t know anything; it&#8217;s to hold your expertise <em>lightly</em>, staying curious about what might be different in the here and the now. It&#8217;s easy to understand in principle, but very hard to continually implement in practice, since you have to fight your own brain&#8217;s default mode.</p><p>So keep this approach close as we go through the plan in this article. Remember: <em>beginner&#8217;s mind</em>. So, let&#8217;s start with your first 30 days.</p><h2><strong>Days 1-30: See things clearly</strong></h2><p>Some executives assume they were hired to fix things, and therefore feel pressure to prove their worth quickly. Then they start making changes from day one.</p><p>When I joined Nordhealth, I didn&#8217;t want to go so quickly. I used my first 30 days as a <em>pure assessment</em> period: listening more than acting, and resisting the temptation to propose solutions to problems I didn&#8217;t yet fully understand. I wanted to see things clearly.</p>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/new-company-old-playbook">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Slow down to speed up]]></title><description><![CDATA[Why AI makes the slow phases of work more important, not less.]]></description><link>https://theengineeringmanager.substack.com/p/slow-down-to-speed-up</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/slow-down-to-speed-up</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Fri, 13 Mar 2026 17:30:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/68a9f68e-d936-4dbf-b657-f2d9f1997c10_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month, we&#8217;re going to explore what might be the most counterintuitive practice in the age of AI: knowing when to <em>slow down</em>.</p><p>Hang on, slow down? Yes, bear with me here.</p><p>Let&#8217;s bring the debate that&#8217;s probably been going on in your team for some time to a head. Some of your colleagues say that with AI we should be building and shipping even faster, prototyping in hours, and that perhaps we don&#8217;t even need to write code at all any more: we should just let the models go full auto. They&#8217;re just <em>that</em> good now.</p><p>Others worry that this speed is creating quality problems, that we&#8217;re accumulating technical debt faster than we can pay it down, and that codebases are becoming patchworks of AI slop that nobody fully understands.</p><p>So, who is actually right?</p><p>To an extent, <em>both</em> are right, but I believe they&#8217;re talking past each other. The question isn&#8217;t <em>whether</em> to use AI for speed. It&#8217;s <em>when</em>.</p><p>We&#8217;ll start by looking at this debate through the lens of Daniel Kahneman&#8217;s System 1 and System 2 thinking, and why AI has made the slow phases of work <em>more</em> important, not less. Then we&#8217;ll examine the illusion of speed: the thought process around rework costs, and why going fast in the wrong phase means going slow overall.</p><p>We&#8217;ll explore when deliberate slowness pays off, including using AI itself for the slow work, and how fast prototyping is actually a form of slowing down. And finally, we&#8217;ll grapple with a question that&#8217;s getting harder to answer: <em>why are you taking so long?</em></p><p>This article builds on themes from recent months. If you&#8217;d like to dig deeper, here are some related reads from the archive:</p><ul><li><p><a href="https://www.theengineeringmanager.com/growth/one-bottleneck-at-a-time/">One bottleneck at a time</a> introduces the idea of <em>subordination</em>: telling the fast parts of a system to slow down so the constraint can catch up.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/use-it-or-lose-it/">Use it or lose it</a> covers the <em>thinking first</em> protocol, a practical approach to slowing down before offloading work to AI, ensuring that critical skills aren&#8217;t lost.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/invert-always-invert/">Invert, always invert</a> explores pre-mortems and backward thinking, both examples of deliberate slowness in action.</p></li></ul><p>Let&#8217;s get going.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Two speeds of thought</strong></h2><p>There&#8217;s a useful way to frame the debate that we opened with. In his oft-cited <em><a href="https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow">Thinking, Fast and Slow</a></em>, Daniel Kahneman describes two modes of thinking: one that&#8217;s fast, automatic, and pattern-matching, and another that&#8217;s slow, deliberate, and analytical.</p><p>Transpose this thinking onto LLMs: in his <a href="https://www.dwarkesh.com/p/andrej-karpathy">conversation with Dwarkesh Patel</a>, Andrej Karpathy describes them as ghosts or spirits, a kind of statistical distillation of human text, ethereal entities that are fully digital and mimicking humans. Words go in, patterns get matched, and words come out, which is, if you think about it, essentially, System 1 thinking.</p><p>AI is extraordinarily good at this kind of work: fast pattern-matching at scale. But the second kind of thinking, the work of deciding <em>what</em> to build, <em>why</em> it matters, and <em>whether</em> we&#8217;re solving the right problem, still requires human judgment.</p><p>And here&#8217;s the counterintuitive and highly interesting part: AI didn&#8217;t make the slow phases less important, it made them <em>more</em> important. When execution is cheap and fast, the leverage shifts to the decisions that precede it.</p><p>A wrong requirement, a misunderstood problem, a flawed design assumption: these propagate through everything AI helps you build, only now they propagate <em>faster</em>. The cost of getting System 2 wrong goes up precisely because System 1 has become so powerful.</p><p>If we want to go fast, we need to slow down first.</p><h2><strong>The illusion of speed</strong></h2><p>Back when I was doing my PhD, there was a common saying in academic circles: something like a few weeks in the lab will save you hours in the library. Software development has its own version: weeks of coding can save you hours of planning.</p><p>The reason it&#8217;s a joke, of course, is that both are <em>backwards</em>: the rush to start, the mounting realisation that something fundamental is wrong, and the painful rework that follows. I&#8217;ve certainly done many software projects where I wish I&#8217;d stopped and thought a little more before I rushed in. I can feel the cold flush coming back to me that you get when you stare at weeks of work that are completely wrong.</p><p>We have a clear intuition in software engineering that we should catch mistakes early, ideally in requirements or design, because the further a project moves on, the more expensive it is to fix them. Common sense can derive this without any research to back it up: a box diagram is easy to change, a misunderstood requirement less so, and a fundamentally flawed deployed architecture is a rewrite.</p><p>Therefore, here&#8217;s the problem: AI can help you create technical debt faster than ever! Oh no!</p><p>If the decisions that precede execution are flawed, AI will faithfully implement those flaws in a way that looks like fully featured code. Looks can often be deceiving, especially with powerful and confident models. It will generate thousands of lines of code based on a misunderstood requirement. It will happily build an elegant solution to the wrong problem.</p><p>The illusion of speed is that you&#8217;re making progress when you&#8217;re actually digging yourself into a deeper hole.</p><p>The answer isn&#8217;t to abandon speed, but to deploy it <em>deliberately</em>. We should only unleash AI&#8217;s pace when we&#8217;re confident it&#8217;s pointed in the right direction. Which raises the question: how do we know when that is?</p><h2><strong>When slowness pays off</strong></h2><p>The places where deliberate slowness pays off haven&#8217;t changed much, even as everything around them has accelerated. Requirements are still cheap to change when they&#8217;re just words on a page, and expensive when they&#8217;re deployed code serving real users. Design decisions are still easier to revise in a diagram than in a production system. AI didn&#8217;t alter this fundamental physics; it just increased the leverage of getting it right.</p><p>In a previous article, I called this the <em><a href="https://www.theengineeringmanager.com/growth/use-it-or-lose-it/">thinking first</a></em><a href="https://www.theengineeringmanager.com/growth/use-it-or-lose-it/"> protocol</a>: before offloading work to AI, spend time clarifying what you actually want. This isn&#8217;t unnecessary process; it&#8217;s the cheapest possible place to catch mistakes.</p><p>Here is the interesting paradox which shows the incredible usefulness of AI: the same tool that accelerates execution can also accelerate deliberation. Here are some practical ways to do this:</p><ul><li><p><strong>Clarify requirements before coding.</strong> Spend 10 minutes writing down the problem you&#8217;re solving, your success criteria, and your <a href="https://www.theengineeringmanager.com/growth/the-beauty-of-constraints/">constraints</a> before asking AI to generate anything. What does &#8220;done&#8221; look like? What&#8217;s out of scope? Then get AI to interrogate everything that you&#8217;ve written before generating.</p></li><li><p><strong>Run a pre-mortem.</strong> Ask AI &#8220;What could go wrong with this approach?&#8221; before committing to a design. It will surface risks you hadn&#8217;t considered.</p></li><li><p><strong>Invert the problem.</strong> Ask AI &#8220;What would make this project fail?&#8221; to expose hidden assumptions. I&#8217;ve written more about this technique in <a href="https://www.theengineeringmanager.com/growth/invert-always-invert/">Invert, always invert</a>.</p></li><li><p><strong>Build a throwaway prototype.</strong> Use AI to create something in hours, show it to stakeholders, and validate your understanding before investing weeks. This is speed in service of slowness: you&#8217;re investing time upfront to learn.</p></li><li><p><strong>Build scrappy internal tools.</strong> Before you spend money on real products, use AI to build your own rough versions first. You&#8217;ll learn what you actually need and what you don&#8217;t. If you&#8217;re a paid subscriber, last month&#8217;s article goes deeper into some of the tools I&#8217;ve built myself.</p></li><li><p><strong>Surface edge cases early.</strong> Ask AI to generate edge cases and failure modes for your design before implementation begins. It&#8217;s far cheaper to handle them in a diagram than in production.</p></li></ul><p>Of course, slowing down is easier said than done. Even if you&#8217;re convinced it&#8217;s the right approach, you&#8217;ll likely face resistance from those who see AI as a reason to speed up, not slow down.</p><h2><strong>The new cultural headwind</strong></h2><p>Given that AI is speeding things up so much, if you haven&#8217;t already been challenged on why something&#8217;s taking so long, you certainly will be soon.</p><p>&#8220;Can&#8217;t you just use AI?&#8221; is a new form of velocity pressure, and it&#8217;s particularly insidious because it conflates the <a href="https://www.theengineeringmanager.com/management-101/feeling-productive/">appearance of productivity</a> with actual throughput. Yes, AI can generate code in seconds. But generating code and solving the <em>right</em> problem are not the same thing.</p><p>So, what do you do?</p><ul><li><p><strong>Be explicit about which phase you&#8217;re in.</strong> If you&#8217;re in the slow phase, say so: explain that you&#8217;re clarifying requirements, thinking through edge cases, and making sure you&#8217;re solving the right problem.</p></li><li><p><strong>Invite stakeholders to contribute.</strong> Their input is cheap to incorporate now and expensive later. Once you&#8217;re confident you&#8217;re pointed in the right direction, you can move fast.</p></li><li><p><strong>Show your working.</strong> Share artefacts from the slow phase: requirements docs, design sketches, pre-mortem outputs. This makes the invisible work visible and builds confidence that you&#8217;re progressing, not stalling.</p></li><li><p><strong>Timebox the slow phase.</strong> Give the slow phase a clear boundary: &#8220;We&#8217;ll spend two days clarifying requirements before we write any code.&#8221; This makes deliberate slowness feel intentional rather than open-ended.</p></li><li><p><strong>Share what you&#8217;re learning.</strong> Send brief updates as you discover things: edge cases you hadn&#8217;t considered, assumptions that turned out to be wrong. This turns the slow phase into a visible stream of value.</p></li><li><p><strong>Demonstrate quick wins.</strong> Build a throwaway prototype or mockup early to show stakeholders you can move fast when needed, buying you credibility for the slower, more deliberate work.</p></li></ul><p>Interestingly, this maps nicely to the hill chart concept from Basecamp&#8217;s <a href="https://basecamp.com/shapeup">Shape Up</a> methodology: the uphill climb is the <em>slow</em> phase of figuring things out, where uncertainty is high and you&#8217;re discovering what the work actually is; the downhill is the <em>fast</em> phase of execution, where the path is clear and you&#8217;re just getting it done.</p><p>This isn&#8217;t an excuse for delays; it&#8217;s a description of how good work actually gets done. The teams that ship fastest over the long term are often the ones that slow down at the right moments.</p><h2><strong>Your turn</strong></h2><p>This doesn&#8217;t have to wait for your next big project. You can apply this to every AI-assisted task you do. Before your next one, try this:</p><ul><li><p>Spend 10 minutes writing down what problem you&#8217;re actually solving. What does success look like? What&#8217;s out of scope?</p></li><li><p>Before you start building, ask AI to run a pre-mortem on your approach. You might be surprised what it surfaces.</p></li><li><p>If the task is significant, consider building a throwaway prototype first, one you&#8217;re willing to delete, just to validate that you&#8217;re headed in the right direction.</p></li></ul><h2><strong>Wrapping up</strong></h2><p>Speed and slowness aren&#8217;t opposites; they&#8217;re tools for different phases. AI is effective for both: fast execution when the direction is clear, and accelerated deliberation when it isn&#8217;t. The skill is knowing which phase you&#8217;re in and applying the right tempo.</p><p>As always, until next time.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://theengineeringmanager.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Just build the tools yourself]]></title><description><![CDATA[You can have anything you want with so little effort.]]></description><link>https://theengineeringmanager.substack.com/p/just-build-the-tools-yourself</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/just-build-the-tools-yourself</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Fri, 20 Feb 2026 17:30:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f4071bfa-cc71-4cf7-8f3d-9437afff799f_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to February&#8217;s subscribers edition, and thanks as always for your support. This one&#8217;s a bit different: less theory, more show and tell.</p><p>Here&#8217;s why: AI has made building simple tools almost as easy as building a spreadsheet, and I&#8217;m going to walk you through some I&#8217;ve built over recent months to solve common problems without needing to buy specialist software.</p><p>By the end, I hope that you&#8217;ll feel motivated to get your hands dirty and close to the details and solve real problems (and it&#8217;s fun!).</p><p>Think about how internal tooling used to work. You had two options: convince engineering to build it for you, which meant competing for roadmap space against customer-facing features, or settle for off-the-shelf SaaS that didn&#8217;t quite fit your workflow and required convincing the company to pay for it.</p><p>Good internal tooling was a luxury reserved for the biggest tech companies; the ones who could afford dedicated teams to build custom software for management tasks. For everyone else, they made do with spreadsheets and workarounds.</p><p>Here&#8217;s what we&#8217;ll cover:</p><ul><li><p>Why the landscape has shifted and what that means for managers who used to code.</p></li><li><p>Four tools I&#8217;ve built recently, from a bragdoc generator to a planning tool that embodies the <a href="https://www.theengineeringmanager.com/?p=2085">single prioritised list</a> philosophy from this month&#8217;s free article.</p></li><li><p>Some ideas for cool tools you could build.</p></li><li><p>The practicalities: what this requires, where it breaks down, and when a tool has served its purpose.</p></li></ul><p>If you&#8217;d like to dig deeper into related themes, here are some articles from the archive:</p><ul><li><p><a href="https://www.theengineeringmanager.com/managing-managers/being-in-the-details/">Being in the details</a> explores why staying close to what your teams are building matters more than ever.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/use-it-or-lose-it/">Use it or lose it</a> covers the &#8220;minimum effective dose&#8221; of coding for managers who want to keep their skills sharp.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/should-managers-still-code/">Should managers still code?</a> tackles the fundamental question that this article builds upon.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ul><h2><strong>The new economics of tooling</strong></h2><p>The good news is that internal tooling is no longer a luxury reserved for large companies.</p><p>AI has democratised the ability to build custom tools, especially if you are time poor and a little rusty. The economics have fundamentally changed: if you have some technical background, and even if it&#8217;s been years since you wrote code professionally, you can now build a working tool in an afternoon.</p><p>The capabilities of coding assistants at the time of writing are good enough to solve countless common problems, even if what you need is something you&#8217;d have considered paying for just a few years ago.</p><p>This isn&#8217;t about you as a leader pivoting back to individual contributor again, or putting yourself on the critical path for shipping features. It&#8217;s about removing the friction between &#8220;I wish I had a tool that did X&#8221; and actually having it. The problems worth solving this way are the ones too niche for anyone else to build for you: your specific workflow, your team&#8217;s specific needs, the visibility gap that only matters in your context.</p><p>So, let me show you what I mean. Recently, I&#8217;ve built a handful of tools that have become part of how I work. Few of them took more than an afternoon. All of them solve problems that would have sat unsolved before.</p><p>And the liberating thing, other than having useful tools that solve real problems, is that knowing they don&#8217;t need to be production-grade makes the process creative, fun, and something that just feels really good.</p><h2><strong>Cool things I&#8217;ve built</strong></h2><h3><strong>Bragdoc generator</strong></h3><p>I mentioned this one briefly in <a href="https://www.theengineeringmanager.com/growth/use-it-or-lose-it/">Use it or lose it</a>, but it&#8217;s worth expanding on here. Here&#8217;s the context: <a href="https://www.theengineeringmanager.com/uncategorized/performance-management-the-rising-tide/">performance review</a> season is tedious: you sit down to write your self-assessment and realise you&#8217;ve forgotten half of what you actually did. The evidence is scattered across Linear tickets, GitHub PRs, Slack threads, and your increasingly unreliable memory.</p><p>The concept of a &#8220;brag document&#8221; comes from <a href="https://jvns.ca/blog/brag-documents/">Julia Evans</a>: a running record of your accomplishments that you update throughout the year so you&#8217;re not scrambling to remember everything at review time. It&#8217;s a brilliant idea, but I never managed to keep one up to date. So I built a tool to generate one for me instead.</p><p>My workplace uses Linear for everything, and I also track my personal work todos in it, which makes it a comprehensive record of my work. Given that it&#8217;s a system of truth, it follows that the actions I take in Linear represent my main achievements for the week.</p><p>The <a href="https://github.com/jstanier/bragdoc">bragdoc generator</a> pulls issue descriptions and comments from Linear for the past week, then uses a local LLM via Ollama to summarise what I&#8217;ve been working on. I run it weekly to generate a document that tells me what I&#8217;ve been up to, which I can then reflect on, use to plan the next week, and revisit at performance review time. It took about an hour to build with Claude Code.</p><p>It&#8217;s not perfect, but it solves my problem well enough, and that&#8217;s the point. Perfect is the enemy of done. If you&#8217;re interested in giving it a go, you can fork it yourself, or repoint it to other tools if you don&#8217;t use Linear.</p><h3><strong>The planning tool</strong></h3><p>This month&#8217;s free article introduced <a href="https://www.theengineeringmanager.com/?p=2085">the single prioritised list</a>: one ordered list of what matters most, rather than the usual mess of backlogs, roadmaps, and priority tiers scattered across different tools and documents. We wanted to use it to facilitate planning discussions at a high level for 2026, so I built something.</p><p>The requirements were more ambitious than the bragdoc:</p><ul><li><p>A list of projects with their estimates and resourcing needs as submitted by the teams, along with metadata like home team and required skills: backend, frontend, QA.</p></li><li><p>A list of all staff with their skill sets and home teams.</p></li><li><p>The ability to drag projects into priority order to create the single prioritised list.</p></li><li><p>Manual allocation by dragging people onto projects.</p></li><li><p>Auto-allocation that considers priority, available skills, and a preference for keeping engineers in their home teams.</p></li><li><p>A roadmap view showing what gets fully staffed, what&#8217;s partially resourced, and what gets nothing at all.</p></li><li><p>Import and export from CSV so we could pull data from existing spreadsheets.</p></li></ul><p>Here&#8217;s the first screenshot of what it looks like. All staff and projects are fictional.</p>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/just-build-the-tools-yourself">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[One list to rule them all]]></title><description><![CDATA[A simple list can make all of the hard decisions happen.]]></description><link>https://theengineeringmanager.substack.com/p/one-list-to-rule-them-all</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/one-list-to-rule-them-all</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Fri, 13 Feb 2026 17:30:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a3502acd-153e-423b-bfff-27d3bfa1181f_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month, we&#8217;re going to explore one of the most powerful forcing functions available to leaders: the single prioritized list.</p><p>It&#8217;s probably the most simple idea you could think of: that your team, department, or company should have one list of priorities, stack ranked from top to bottom, but it&#8217;s surprisingly rare to see in practice because it&#8217;s so hard to do.</p><p>Most organizations instead operate with multiple competing roadmaps, parallel backlogs, and a collection of P0 initiatives that all demand equal attention. The result is predictable: silos, politics, and a workforce that&#8217;s perpetually busy but rarely finishing anything.</p><p>We&#8217;re picking up a theme that has threaded through recent months. If you&#8217;d like to dig deeper, here are the previous articles from the archive:</p><ul><li><p><a href="https://www.theengineeringmanager.com/growth/one-bottleneck-at-a-time/">One bottleneck at a time</a> explores the Theory of Constraints and how systems always have a single constraint that limits throughput.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/the-beauty-of-constraints/">The beauty of constraints</a> reframes constraints as tools that unlock unconventional thinking and force ruthless prioritization.</p></li><li><p><a href="https://www.theengineeringmanager.com/managing-managers/being-in-the-details/">Being in the details</a> covers how leaders can stay close to what their teams are building.</p></li></ul><p>All of these articles revolve around a common idea: the discipline of focus and how saying <em>no</em>, and doing <em>less</em>, is one of the most important skills that you should learn as a leader. This month, we expand upon that by exploring what happens when leaders sidestep the hard work of deciding what <em>truly</em> comes first.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2><strong>Priority, not priorities</strong></h2><p>Last year, a friend recommended a book to me called <em><a href="https://www.amazon.com/Essentialism-Disciplined-Pursuit-Greg-McKeown/dp/0804137382">Essentialism: The Disciplined Pursuit of Less</a></em> by Greg McKeown. Within it was an anecdote about priorities which I found compelling.</p><p>The word &#8220;priority&#8221; came into the English language in the 1400s, and it was <em>singular</em>, meaning the very first thing, the thing that came before all others. It stayed singular for the next five hundred years.</p><p>Only in the 1900s did we pluralise the term and start talking about &#8220;priorities.&#8221; The <a href="https://www.oed.com/dictionary/priority_n">Oxford English Dictionary</a> charts this shift in usage over time. As society moved into the industrial era, the singular priority gave way to multiple <em>priorities</em>, and the organisational behaviours that followed may have mirrored the overloading of the word itself.</p><p>Think about your own organisation for a moment.</p><ul><li><p>How many parallel roadmaps and subroadmaps exist, with engineers smeared fractionally across all of them? For example, does your security roadmap fight with your product roadmap and your performance roadmap?</p></li><li><p>How many teams have their <em>own</em> backlog of P0 items, with each saying they need more people to work on them?</p></li><li><p>How many initiatives are all happening at once, each with their own sponsor claiming that theirs is the most important, leading to silos and politics?</p></li></ul><p>Here&#8217;s the rub: the plural form of the word has given us permission to avoid the hard work of truly deciding what comes first.</p><p>Why do we do this to ourselves? Because a single ordered list forces you to tell someone that their work isn&#8217;t as important as they thought. It means having uncomfortable conversations about why one team&#8217;s initiative sits below another, and it risks making enemies, or at least uncomfortable allies.</p><p>But it&#8217;s not just about other people: multiple priorities also let us <em>avoid making hard choices ourselves</em>, because as long as everything is important, we never have to confront what we&#8217;re willing to sacrifice. Hell, we even do it within our own personal to-do lists. So instead, we create parallel tracks, we give each team their own roadmap, we let every team maintain their own P0 list, and we avoid the conflict by pretending that everything can be first.</p><p>A single prioritised list is a <em>forcing function</em>, and it&#8217;s equally powerful at the individual, team, department, and organisational level. In fact, it gets <em>more</em> important the broader the impact. It forces the hard conversations to happen, because you cannot place two items in the same position, and someone has to decide which one comes first.</p><p>It requires trade-offs to be explicit, because moving something up means moving something else down, and everyone can see the consequences. It also drives alignment, because once the list exists, there is no ambiguity about what the organisation considers most important. And it externalises the debate: the argument becomes about the list, not about individuals and their opinions, which makes prioritisation a <em>rational</em> exercise rather than an <em>emotional</em> one.</p><p>So does it actually work? Let&#8217;s look at some examples.</p><h2><strong>Making the hard choice</strong></h2><p>There are plenty of high profile examples of the single list method working in practice. Let&#8217;s look at three of them.</p><p>At PayPal, Peter Thiel insisted that every single person could only do exactly one thing. According to <a href="https://www.khoslaventures.com/lessons-from-5-bosses/">Keith Rabois</a>, Thiel would refuse to discuss virtually anything else with you except what was currently assigned as your number one initiative. Annual reviews reinforced this: employees could only identify their single most valuable contribution to the company.</p><p>Thiel understood that most people will solve problems that they understand how to solve, which means, in his words, that they will solve B+ problems instead of A+ problems. A+ problems are high impact, but they&#8217;re difficult, and you cannot immediately derive a solution, so you tend to procrastinate. The discipline of only being allowed to do <em>one</em> thing led to significant breakthroughs.</p><p>Amazon embodies this principle through what they call <a href="https://review.firstround.com/how-to-build-an-invention-machine-6-lessons-that-powered-amazons-success/">single-threaded leadership</a>. David Limp, a former SVP, said: &#8220;The best way to ensure that you failed to invent something is by making it somebody&#8217;s part-time job.&#8221; A single-threaded leader is entirely dedicated to one initiative, with no competing responsibilities: they solely work on the number one item on their list.</p><p>When Jeff Bezos wanted to build the Kindle, he appointed Steve Kessel to lead it. As described in <em><a href="https://www.amazon.com/Working-Backwards-Insights-Stories-Secrets/dp/1250267595">Working Backwards</a></em> by Colin Bryar and Bill Carr, Kessel was running the physical books, music, and video business at the time, which was 77% of Amazon&#8217;s revenue. The crucial decision was that Kessel <em>left</em> his previous role entirely: he didn&#8217;t try to run both. The same pattern repeated with AWS, where Andy Jassy was the single-threaded owner from inception. Both, as you well know, became successful businesses.</p><p>And then, in the most famous example, when Steve Jobs returned to Apple in 1997, the company had <a href="https://appleinsider.com/articles/12/03/10/new_ipad_adopts_simple_product_naming_steve_jobs_brought_to_apple_in_1997">dozens of mediocre products</a> and was on the verge of bankruptcy. Jobs eliminated 70% of them and focused on just four computers: a consumer desktop (<a href="https://en.wikipedia.org/wiki/IMac">iMac</a>), a consumer laptop (<a href="https://en.wikipedia.org/wiki/IBook">iBook</a>), a professional desktop (<a href="https://en.wikipedia.org/wiki/Power_Macintosh_G3">Power Macintosh G3</a>), and a professional laptop (<a href="https://en.wikipedia.org/wiki/PowerBook_G3">PowerBook G3</a>). <a href="https://fs.blog/steve-jobs-saying-no/">&#8220;People think focus means saying yes to the thing you&#8217;ve got to focus on,&#8221;</a> he said. &#8220;But that&#8217;s not what it means at all. It means saying no to the hundred other good ideas that there are.&#8221;</p><p>Years later, Jobs gave advice to Nike CEO Mark Parker that captures the same philosophy: <a href="https://www.fastcompany.com/1693832/steve-jobss-strategy-get-rid-crappy-stuff">&#8220;Nike makes some of the best products in the world. But you also make a lot of crap. Just get rid of the crappy stuff and focus on the good stuff.&#8221;</a></p><p>These examples share a common thread: leaders who were willing to make the hard choice and live with the consequences. But what happens when they don&#8217;t?</p><h2><strong>Death by a thousand priorities</strong></h2><p>What happens when organisations don&#8217;t make the hard choice? The symptoms are predictable, and you&#8217;ve probably seen them before.</p><ul><li><p><strong>Silos form.</strong> When teams don&#8217;t share a single list, they stop sharing ownership. Each team optimises for their own backlog, guards their own resources, and operates from a mindset of scarcity. <a href="https://hbr.org/2025/03/3-types-of-silos-that-stifle-collaboration-and-how-to-dismantle-them">An American Management Association survey</a> found that 83% of executives said silos existed in their companies, and 97% said they have a negative effect, yet it still continues to happen.</p></li><li><p><strong>Engineers get <a href="https://www.alexanderjarvis.com/memo-the-internal-peanut-butter-memo-from-yahoo-is-still-relevant/">peanut buttered</a>.</strong> Without clear priorities, engineering managers spread people thinly across too many projects. Everyone is partially allocated to everything, and nothing gets the focused attention it needs. A common failure mode is when everything becomes a P0, and any project owner who honestly labels something as P1 learns quickly that there&#8217;s no time for P1 work.</p></li><li><p><strong>Decision fatigue sets in.</strong> When there&#8217;s no single list to reference, every resource allocation becomes a negotiation. Leaders burn cognitive energy on debates that a clear ranking would have settled automatically.</p></li></ul><p>Think back over the last week. How many of these effects have you seen, individually or perhaps all of them? How often does this happen at your organisation?</p><h2><strong>Your turn</strong></h2><p>Creating a single prioritised list is simple in theory and difficult in practice. But the difficulty is the point: the discomfort you feel when forcing a ranking is the same discomfort you&#8217;ve been avoiding by letting everything be equally important.</p><p>Take ten minutes and try this exercise:</p><ul><li><p><strong>List everything.</strong> Write down every project and initiative currently in flight for your team or department. Don&#8217;t filter or categorise yet, just get them all down.</p></li><li><p><strong>Force a ranking.</strong> Put them in order from one to <em>n</em>. Not tiers, not categories: a single ordered list. No ties allowed.</p></li><li><p><strong>Notice the hesitation.</strong> Where do you want to create exceptions? Where does it feel impossible to choose? That hesitation is where the real prioritisation work lives.</p></li><li><p><strong>Identify who decides.</strong> Can you make these choices on your own, or do you need input from your team and peers? If it&#8217;s the latter, that conversation is the one you&#8217;ve been avoiding.</p></li></ul><p>If you lead a department, see if you can identify the most important priority for each team, then rank that list. Don&#8217;t worry about the detail within each team for now. Are any teams under or overstaffed, and is that because the hard decision hasn&#8217;t been made? Would it be easier to have that rebalancing conversation with the list as proof?</p><p>Then share your list with your peers, your team, or your manager for input. Talk about the content of this article and see whether the single list approach could unblock some of the gnarliest decision bottlenecks you&#8217;re facing right now.</p><h2><strong>Wrapping up</strong></h2><p>Remember, it&#8217;s <em>priority</em>, not priorities: you should just have <em>one single list</em>. The principle is simple, but the execution requires courage: the courage to tell someone their project is seventh, the courage to admit you&#8217;ve been avoiding the hard choice yourself, and the courage to make trade-offs visible rather than hiding them behind parallel tracks and consensus theatre.</p><p>The companies that move fastest aren&#8217;t the ones with the most resources: they&#8217;re the ones that know what comes first.</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[When the ladder disappears]]></title><description><![CDATA[Career planning in an AI world is different.]]></description><link>https://theengineeringmanager.substack.com/p/when-the-ladder-disappears</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/when-the-ladder-disappears</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Fri, 23 Jan 2026 17:31:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b645955d-921d-4f16-81c8-7befab689d68_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the subscribers edition for January 2026. </p><p>Thanks again for your ongoing support. It gives me the resources needed to keep writing. As always, the subscriber chat is open if you want to send me your thoughts and feedback. I&#8217;m always listening and I would love to hear from you.</p><p>This month, we&#8217;re revisiting something I wrote several years ago before COVID-19 was even a thing: the final chapter of my first book, <a href="https://pragprog.com/titles/jsengman/become-an-effective-software-engineering-manager/">Become an Effective Software Engineering Manager</a>. That chapter was called <em>The Crystal Ball</em>, and it presented an exercise for defining your career vision and then building a plan to get there. I still stand by this approach, and I think it&#8217;s able to unlock new ways of thinking about the future.</p><p>However, we can&#8217;t help but observe that the world, our careers, and even our industry are more uncertain than they&#8217;ve ever been. Projecting into the future is a difficult exercise, and maybe, depending on how you are feeling, even a futile one. So what should we do? Perhaps we should plan differently.</p><p>So, here&#8217;s a rework of that chapter. Instead of asking you to plan a destination, this article offers a different exercise: one that helps you define your <em>north star</em>: who you are, what you value, and what kind of work you want to be doing. Not titles, companies, or rungs on a ladder that may no longer exist. This is an exercise I&#8217;d highly encourage you to do for yourself, but also to do with your teams. It&#8217;s a great way to start the year together.</p><p>Here&#8217;s what we&#8217;re going to cover: we&#8217;ll start by looking backwards at how much has changed (and my, hasn&#8217;t it just?), then sit with the uncertainty that makes traditional career planning so difficult. After that, we&#8217;ll work through the exercise itself. Finally, we&#8217;ll look at how to use what you&#8217;ve created as a tool for making decisions.</p><p>I know that it&#8217;s easy to read exercises like this and think &#8220;I&#8217;ll come back to that later&#8221;; I&#8217;ve done it myself often, with many important things. But I highly recommend finding a little time to yourself at some point during your day or evening to go through this with a pen and paper. I think that it&#8217;s always valuable to introspect about what matters most.</p><p>So, if you&#8217;re ready, let&#8217;s go along for this ride together.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2><strong>The backward look</strong></h2><p>Before we think about the future, let&#8217;s look at the past. Not to dwell on it, but to notice something important: a lot can happen in ten years, much, much more than you might ever have imagined. We tend to look backward and mentally compress timeframes, forgetting just how much actually happened. Think about it: ten years is longer than secondary school, and it&#8217;s the length of three university degrees, or about two and a half PhDs, and this is exciting thinking about what might change in the years to come.</p><p>So here&#8217;s the first part of the exercise. Draw a line on a piece of paper, or open a blank document if you want to do it digitally. Mark the left end as ten years ago and the right end as today. Now plot the significant changes in your life along that line. Not just your professional life; everything. I&#8217;m talking about jobs, promotions, skills you learned, companies you joined or left, cities you moved to. But also relationships, children, losses, moves, health, adventures. Good and bad, get it all down.</p><p>Now, if you&#8217;re earlier in your career and ten years takes you back to before you started working, that&#8217;s fine. Focus on the years you&#8217;ve been in the industry, and include significant changes from your education or early life that shaped where you are now. The point isn&#8217;t the specific timeframe, it&#8217;s recognising how much can change, and how little of it you could have predicted.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ncly!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ncly!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png 424w, https://substackcdn.com/image/fetch/$s_!ncly!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png 848w, https://substackcdn.com/image/fetch/$s_!ncly!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png 1272w, https://substackcdn.com/image/fetch/$s_!ncly!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ncly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png" width="1456" height="508" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:508,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83539,&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://theengineeringmanager.substack.com/i/183140751?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.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_!ncly!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png 424w, https://substackcdn.com/image/fetch/$s_!ncly!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png 848w, https://substackcdn.com/image/fetch/$s_!ncly!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.png 1272w, https://substackcdn.com/image/fetch/$s_!ncly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fcc644c-9565-4306-9972-4ecd1d999db5_1862x650.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>Take a step back and look at what you&#8217;ve drawn. Ask yourself:</p><ul><li><p>How much of this could you have predicted <em>looking forward</em> ten years ago?</p></li><li><p>What happened that you never saw coming?</p></li><li><p>Which events changed your trajectory the most?</p></li><li><p>What&#8217;s on the line that you&#8217;d forgotten in day-to-day life until now?</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MAhK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MAhK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png 424w, https://substackcdn.com/image/fetch/$s_!MAhK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png 848w, https://substackcdn.com/image/fetch/$s_!MAhK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png 1272w, https://substackcdn.com/image/fetch/$s_!MAhK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MAhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png" width="1456" height="509" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:509,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:184055,&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://theengineeringmanager.substack.com/i/183140751?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.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_!MAhK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png 424w, https://substackcdn.com/image/fetch/$s_!MAhK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png 848w, https://substackcdn.com/image/fetch/$s_!MAhK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.png 1272w, https://substackcdn.com/image/fetch/$s_!MAhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9ea34a5-ef2a-42e8-8bcd-0d1385c1f9dd_1860x650.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>Now, let&#8217;s zoom in on the last five years, because this part of your timeline probably looks different and denser than the rest. I mean, think about everything that&#8217;s happened since 2020: a global pandemic, lockdowns, the sudden shift to remote work, followed by the hiring boom of 2021 and 2022 fuelled by <a href="https://newsletter.pragmaticengineer.com/p/zirp">zero interest rates</a>, and then the sharp correction that brought layoffs, hiring freezes, and the <a href="https://fortune.com/2023/02/06/middle-managers-tech-layoffs-efficiency-zuckerberg-facebook-google/">flattening of organisations</a>. And then AI: <a href="https://openai.com/index/chatgpt/">ChatGPT arriving in late 2022</a>, and within months, tools that genuinely changed how many of us work. All of that in just five years. Wild, isn&#8217;t it?</p><p>Go back to your timeline and think about how these events mapped to your own experience. What&#8217;s changed in how you work, where you work, who you work with, and what your role actually involves day to day? Is there anything you missed? Add it now. What happened to you versus what did you make happen?</p><p>Try putting yourself back ten years in the past. What were you thinking about at the time? What did you think your future would look like? Maybe you had a plan, maybe you had ambitions, worries, expectations. Now contrast that with what you&#8217;ve just written out. How much of it matched?</p><p>Now think about this: if you couldn&#8217;t have predicted where you are now from <em>ten</em> years ago, or even <em>five</em> years ago, what does that tell you about predicting the <em>next</em> ten? The <em>next</em> five? The world you are in when you plan is never the world you&#8217;re in when you get there.</p><h2><strong>Sitting with uncertainty</strong></h2><p>So here&#8217;s the uncomfortable part: if that much changed in the last ten years, and especially the last five, what certainty can we have about what we&#8217;ll be doing in the next ten? Or the next five? As you saw in the exercise, it was hard enough to predict back then, and arguably it&#8217;s even harder now. The honest answer is: not much.</p><p>Traditional career planning assumed a relatively stable world. You could look at people five or ten years ahead of you in their careers and see a path that might be available to you. The rungs of the ladder were visible, and I&#8217;ve written about them before: the <a href="https://www.theengineeringmanager.com/management-101/the-two-tracks-of-growth/">two tracks of growth</a>, the journey from <a href="https://www.theengineeringmanager.com/managing-managers/vp-director-what/">IC to manager to director to VP</a>.</p><p>Although the titles varied, the shape of progression was familiar. You knew where you were going, even if you weren&#8217;t sure exactly how long, and at which company, but you&#8217;d get there.</p><p>That assumption is now sitting on weaker ground. There are at least three sources of uncertainty that make the old mental models harder to rely on.</p><p><strong>AI is changing knowledge work like ours.</strong> Assuming you haven&#8217;t been hiding under a data centre for the last three years, you&#8217;ll have seen and experienced this first hand. We don&#8217;t know exactly how this will play out, but it&#8217;s reasonable to expect that some of the work you do today will be done differently, or not at all, in future. The specific skills that got you here, such as knowing a particular programming language or domain, may not be the skills that matter most going forward. This isn&#8217;t meant to be downbeat or negative; it&#8217;s just honest <em>uncertainty</em>.</p><p><strong>Flattening organisations mean fewer management positions.</strong> The <a href="https://news.outsourceaccelerator.com/the-great-flattening-corporate-layoffs/">Great Flattening</a> has seen companies cut management layers across the board. If you&#8217;re an individual contributor who was planning to move into management, that path is narrower than it was, and it might not even be as appealing as it once seemed. If you&#8217;re a manager who was planning to move up, there are fewer rungs above you. The old mental models may not apply.</p><p><strong>The nature of &#8220;senior&#8221; may be changing.</strong> Here&#8217;s a hypothesis: if AI can handle more of the routine, mechanical work, then what does it mean to be senior? Perhaps increasing seniority will mean less deep programming and more managing a team of agents. Maybe the senior engineers of the future will spend their time orchestrating, reviewing, and directing AI rather than writing code themselves. We don&#8217;t know yet, but it&#8217;s worth considering given the rapid pace of change and capabilities. This may or may not make particular paths attractive.</p><p>This isn&#8217;t meant to be a pessimistic or optimistic view; in fact, only your own reaction to the direction things are taking can determine that. But what is for certain is that the path is less clear and predictable than it used to be. The destination you&#8217;re aiming for might not exist by the time you get there. So what do we do instead?</p><h2><strong>Forming a north star</strong></h2>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/when-the-ladder-disappears">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[One bottleneck at a time]]></title><description><![CDATA[Doing the easy thing is often the hard thing.]]></description><link>https://theengineeringmanager.substack.com/p/one-bottleneck-at-a-time</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/one-bottleneck-at-a-time</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Wed, 14 Jan 2026 17:02:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c638f4e6-07eb-4c11-892d-19908510ae49_800x800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month, we&#8217;re going to think about our teams, departments, and organisations as systems. Specifically, we&#8217;re going to consider how we can increase throughput and output by identifying and removing the biggest bottleneck at any given time.</p><p>This might sound obvious, but it&#8217;s surprisingly rare in practice. Most leaders spread their effort across many initiatives simultaneously, making partial progress on everything and completing nothing. The insight we&#8217;ll explore is that systems don&#8217;t work that way: there&#8217;s always one constraint that matters most, and focusing elsewhere is, at best, wasted effort.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Here&#8217;s what we&#8217;re going to cover:</p><ul><li><p>We&#8217;ll start by looking at a pattern I call <em>the scattered leader</em>, which is the well-intentioned but ineffective approach of fighting on multiple fronts at once.</p></li><li><p>Then we&#8217;ll dig into the core insight from Eliyahu Goldratt&#8217;s <em><a href="https://en.wikipedia.org/wiki/The_Goal_(novel)">The Goal</a></em> and the Theory of Constraints: every system has a single primary bottleneck, and improving anything else doesn&#8217;t improve the system.</p></li><li><p>We&#8217;ll look at a practical example of what happens when you put your best people on unglamorous but critical work.</p></li><li><p>And we&#8217;ll talk about the courage required to subordinate everything else to fixing the bottleneck.</p></li></ul><p>If you find this topic interesting, here are some complementary articles from the archive:</p><ul><li><p><a href="https://www.theengineeringmanager.com/growth/the-beauty-of-constraints/">The beauty of constraints</a> reframes constraints as tools rather than obstacles.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/the-contribution-curve/">The contribution curve</a> explains why hiring doesn&#8217;t instantly help, since new people are net-negative contributors initially.</p></li><li><p><a href="https://www.theengineeringmanager.com/management-101/delegation/">Delegation</a> covers how spreading knowledge reduces single points of failure.</p></li></ul><p>But for now, let&#8217;s focus on bottlenecks. Let&#8217;s get going.</p><h2><strong>The scattered leader</strong></h2><p>Imagine a leader who&#8217;s looking at their organisation and seeing a lot of problems. Deployments are slow and painful, so the team avoids them. The hiring pipeline has stalled, with candidates stuck waiting for interviews. Code reviews are backing up, with PRs sitting for days before anyone looks at them. And there&#8217;s that auth system refactor that&#8217;s been on the roadmap for six months.</p><p>So they do what feels like the responsible thing: they start working on <em>all</em> of it. Some time spent researching CI improvements, a meeting with talent about hiring, a push to get reviews moving, leading a technical spike on the auth system. Progress is being made on everything, but nothing is getting finished.</p><p>Sound familiar?</p><p>This approach feels diligent, and it certainly looks proactive to those around you, because people and organisations tend to feel that being at capacity is the metric for success. But in an era of flattened organisations where managers are under high scrutiny, we need to focus deeply on our <em>impact</em> rather than our <em>busyness</em>.</p><p>The <a href="https://news.outsourceaccelerator.com/the-great-flattening-corporate-layoffs/">Great Flattening</a> has seen companies like Microsoft, Amazon, and Meta cut management layers en masse, with middle managers making up 29% of all layoffs in 2024. In this environment, even though partial progress means saturation of your time, optimising for <em>busyness</em> rather than <em>impact</em> is going to lead to failure.</p><p>So what&#8217;s the alternative? It&#8217;s actually quite radical, because it requires you to do one thing at a time in a world that rewards the appearance of doing many things at once. It starts with thinking about your team, department, or organisation as a <em>system</em> with inputs and outputs, and systems have a particular property: at any given time, there is only one <em>bottleneck</em> that is limiting the throughput of the whole thing.</p><p>You can work on improving other parts of the system concurrently, but it won&#8217;t make any difference to the overall output. In fact, it often makes things worse by creating pile-ups of work waiting at the bottleneck. The discipline here is sequential focus: find the single biggest constraint, put all of your effort into removing it, then find the next one. It sounds simple, but it goes against every instinct we have as leaders to be seen as busy and responsive to all problems.</p><h2><strong>Finding the bottleneck</strong></h2><p>Like all good ideas, this idea isn&#8217;t new, and we can learn a lot from studying history. As mentioned in the introduction, it comes from Eliyahu Goldratt&#8217;s <a href="https://en.wikipedia.org/wiki/The_Goal_(novel)">The Goal</a>, a business novel from 1984 that introduced the <em>Theory of Constraints</em>.</p><p>The core insight is simple: every system, whether it&#8217;s a factory or a software team, has exactly one constraint that limits its overall throughput at any given time. Improving anything other than that constraint doesn&#8217;t improve the system. It just creates inventory, and inventory is bad because it creates blockages.</p><p>Goldratt outlines five focusing steps:</p><ol><li><p>Identify the constraint.</p></li><li><p>Make sure it&#8217;s not being wasted on unnecessary work.</p></li><li><p>Subordinate everything else to it.</p></li><li><p>Elevate it if needed (invest to increase its capacity).</p></li><li><p>Repeat.</p></li></ol><p>The key insight is that this is a <em>cycle</em>, not a one-time fix.</p><p>Goldratt illustrates this with a factory analogy. Imagine three stations on a production line: Station A builds components at 100 units per hour, Station B assembles them at 10 units per hour, and Station C packages them at 100 units per hour. If you invest in making Station A faster, pushing it to 150 units per hour, you don&#8217;t get more output. You get a pile of components waiting at Station B. You can already see what needs to be done to improve this system.</p><p>In software teams, this pattern shows up everywhere: pull requests pile up waiting for review, features sit in staging for weeks waiting for QA, decisions stall because they&#8217;re waiting for leadership sign-off, and engineers are blocked because specs aren&#8217;t ready. Where you find things waiting is where you also find the bottleneck, and the question you need to ask yourself and your team is simple: <em>what are we waiting on right now?</em></p><h2><strong>The deployment bottleneck</strong></h2><p>Let&#8217;s work through an example. Imagine that in your organisation, deployments are slow, painful, and risky. Because of past incidents, you&#8217;ve increased the number of manual checks and gates for every deploy, and now you&#8217;re only deploying once every two weeks. Engineers see it as a platform problem, while the platform team sees it as an engineering problem, since they need to up their quality and stop breaking things. Therefore, it sits unfixed: it&#8217;s not glamorous work, it&#8217;s not anyone&#8217;s specific responsibility, and the company is afraid of change in case things break even more.</p><p>Now imagine that you have oriented your department towards fixing bottlenecks as the most important priority, and you now recognise deployment as THE constraint. Everything else in the system is waiting on it, so you make a decision: you take some of your best engineers, the ones who would normally be working on the most exciting product features, and you put them on fixing the deployment pipeline.</p><p>This feels counterintuitive, and you&#8217;ll face resistance, because we naturally want to point our highest performers at the sexiest problems, not the ugliest ones. But constraints are often the ugliest problems, and changing this cultural instinct is part of the work of leadership, because high performers turn <em>ugly</em> work into <em>beautiful</em> work.</p><p>What happens next?</p><p>Assuming that you are offering the right empowerment and environment, your high performers bring their standards to the work. They automate the manual checks. They improve test coverage so that failures are caught earlier. They measure the length of time that it takes for pipelines to run and shave off minutes by parallelising automated tests. They make it so that anyone can deploy by just pressing a button.</p><p>Within weeks, the team is deploying multiple times a day instead of once a fortnight. Deploys become fast, reliable, and fundamentally <em>boring</em>. Now an interesting phenomenon occurs: the bottleneck moves elsewhere, perhaps to product specs or code review, and that&#8217;s the signal that it worked.</p><p>Now you find the next constraint and do it again.</p><h2><strong>The courage to subordinate</strong></h2><p>We mentioned <em>subordination</em> earlier in the five focusing steps. It means that once you&#8217;ve identified the constraint, everything else in the system must be reallocated to it. This is the justification for what we described above: taking your best engineers off feature work and pointing them at the bottleneck. Subordination gives you the framework to create that environment and defend that decision.</p><p>In practice, it means telling the fast parts of the system to slow down, or redirecting their effort towards helping the bottleneck. If your developers are producing more code than your reviewers can handle, the answer isn&#8217;t to hire more engineers immediately. It&#8217;s to have some developers stop writing new code and start helping with reviews, or building tooling that makes reviews faster.</p><p>This takes courage because it looks wrong to some company leadership. You&#8217;ll face questions: &#8220;Why isn&#8217;t our best engineer shipping features?&#8221; &#8220;Why is the team&#8217;s velocity down this sprint?&#8221; &#8220;The team looks less productive on paper.&#8221; I&#8217;ve had exactly these conversations, and the discomfort is real. You&#8217;ll need to defend the decision upward, explaining that short-term optics matter less than long-term throughput. I&#8217;ve written before about <a href="https://www.theengineeringmanager.com/managing-managers/the-tragedy-of-the-common-leader/">the tragedy of the common leader</a> and the importance of long-termism in leadership. This is one of those cases.</p><p>The alternative, which is busy hands creating more inventory that piles up at the bottleneck, feels productive but achieves nothing. We&#8217;re not trying to make everyone busy. We&#8217;re trying to optimise the flow of value through the system.</p><h2><strong>Your turn</strong></h2><p>Now it&#8217;s your turn. I&#8217;d encourage you to spend five minutes thinking about your team, your department, and your company. At each level, write down what you think the biggest bottleneck is to going faster right now. Then write down what you could do actionably to fix it.</p><p>At the <em>team</em> level, perhaps your test suite is slow and flaky, and all of the onus is being put on the QA engineer to fix it while the other engineers don&#8217;t think it&#8217;s their problem. The action here is to have all of the engineers pivot their time to speeding up the test suite together, rather than leaving it to one person.</p><p>At the <em>department</em> level, perhaps your hiring pipeline has stalled, with roles open for months and not enough candidates coming through. The action here is to get everyone to step outside of their usual role. For example, all engineers could spend a morning together every week sourcing people online, both from their networks and through reach-outs on LinkedIn.</p><p>At the <em>company</em> level, perhaps leadership sign-off on major decisions is slow, sometimes taking weeks for people to get back. The action here is to focus all effort on speeding up decisions by building a process to make sure that the most important things are shown to leadership every single day, and putting in place a 24-hour turnaround time for them to say yes, no, or to request more information.</p><p>So, what&#8217;s your bottleneck at each level? And what could you do about it? Could you start making progress on it tomorrow?</p><h2><strong>Wrapping up</strong></h2><p>The <em>scattered</em> leader fights every battle and wins none. The <em>focused</em> leader finds the single constraint and removes it, then does it again. It&#8217;s a simple discipline, but a hard one to maintain in a world that rewards busyness over impact. One bottleneck at a time: that&#8217;s all it takes.</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How do I get everyone to use AI?]]></title><description><![CDATA[Encourage, coerce, or force? And how do I deal with cost?]]></description><link>https://theengineeringmanager.substack.com/p/how-do-i-get-everyone-to-use-ai</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/how-do-i-get-everyone-to-use-ai</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Thu, 18 Dec 2025 17:01:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/11c093fe-ea1f-48d9-9286-7f35fb82af33_1882x1815.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Welcome to the subscribers edition for December.</strong></p><p>Thanks again for being a subscriber; I really appreciate it. As always, the subscriber chat is open if you want to send me your thoughts and feedback in order to shape the future of this newsletter. Message me any time. I&#8217;m always listening.</p><p>As we close out 2025, I&#8217;ve been reflecting on a question that I&#8217;ve been asked more than any other this year: &#8220;How do I get my team to actually <em>use</em> AI to its full potential?&#8221; It&#8217;s a question that comes up at conferences, online, and in one-to-ones with other leaders. And I get it: driving AI adoption has been a core part of my role this year.</p><p>When I started my current CTO role, I came off the back of intense accelerated AI adoption at Shopify and had been extensively experimenting with LLMs for my own work, using them as thinking partners, research assistants, and coding companions. </p><p>As part of my interview and onboarding process, there was a clear feeling that AI wasn&#8217;t being used enough in the engineering organization, and that they wanted me to come in and drive adoption to increase throughput. But the question was: how?</p><p>This initial mismatch (which is now dramatically different) became one of the most interesting leadership challenges I&#8217;ve faced. How do you drive adoption of something when you can&#8217;t <em>force</em> people to see its value? How do you create the conditions for playful and healthy discovery rather than mandating compliance?</p><p>Throughout 2025, we&#8217;ve seen the media report on companies taking a strong-arm approach; effectively declaring it an immediate performance issue if engineers aren&#8217;t utilizing AI tools. While that is one way to go about it, I prefer a more organic approach that I think works better for most organizations that aren&#8217;t the top 0.1% big technology companies.</p><p>If you&#8217;ve been following along with my previous articles on AI, you&#8217;ll know that I&#8217;ve written extensively about using LLMs as a <em>leader</em>: as a thinking tool, a co-processor for the brain, and a way to accelerate decision-making. Articles like <a href="https://www.theengineeringmanager.com/growth/leadership-co-processing-with-llms/">Leadership co-processing with LLMs</a> and <a href="https://www.theengineeringmanager.com/growth/councils-of-agents-group-thinking-with-llms/">Councils of agents</a> explored these ideas in depth. If you haven&#8217;t had a chance to read these, do check them out. I think they might give you a number of ideas on how to use AI more creatively in your thinking processes.</p><p>But this article turns the attention to a different challenge: getting your <em>engineers</em> to use AI both <em>at all</em> and then efficiently and effectively. Because while I&#8217;ve been a heavy LLM user for years now, the reality is that adoption across teams is uneven, and that unevenness is costing organizations real value.</p><p>I spoke about this subject at <a href="https://leaddev.com/leaddev-berlin/">LeadDev Berlin</a> earlier this year. The talk went down well, provoking a number of incredibly insightful conversations with others, and I thought it deserved a long-form write-up where we could really dig into the material. If you are going into 2026 wondering how to drive AI usage in your organization, this exploration is for you.</p><p>It might be worth getting a cup of tea for this one.</p><h2><strong>The J-curve</strong></h2><p>So, how do you get anybody to adopt anything? Before diving into tactics, I think it&#8217;s helpful to understand the <em>shape</em> of adoption itself. This brings me to a model that often bubbles up in my mind: the <a href="https://en.wikipedia.org/wiki/J_curve">Productivity J-curve</a>.</p><p>Humans have been through numerous productivity revolutions: the printing press, the Industrial Revolution, personal computing, the internet, and smartphones. For each of these technologies, adoption follows a J-curve.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AfN1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AfN1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png 424w, https://substackcdn.com/image/fetch/$s_!AfN1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png 848w, https://substackcdn.com/image/fetch/$s_!AfN1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png 1272w, https://substackcdn.com/image/fetch/$s_!AfN1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AfN1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png" width="1456" height="823" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:823,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:180360,&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://theengineeringmanager.substack.com/i/181150162?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.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_!AfN1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png 424w, https://substackcdn.com/image/fetch/$s_!AfN1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png 848w, https://substackcdn.com/image/fetch/$s_!AfN1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png 1272w, https://substackcdn.com/image/fetch/$s_!AfN1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61bc612a-2f37-410f-9eb7-6b10705ae933_2360x1334.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But how do you read the J-curve? Let&#8217;s read it from left to right.</p><p>First, a new capability piques everyone&#8217;s interest. There is an initial burst of adoption and productivity as people lean hard into the phenomenon to see what it can do. </p><p>Then, reality sets in. The delta between the hype and the practical application sends the user experience into a trough of disappointment. Suddenly, it feels like using the new technology makes everything slower, worse, or more difficult. Resistance builds, and people wonder whether it was all just hype.</p><p>This trough is normal. But as time passes, as people learn the tooling and the capabilities improve, productivity begins to grow beyond the baseline, and then productivity outpaces the status quo before that technology came about.</p><p>We can pull from a number of examples from over the past decades to see how this occurs.</p><div><hr></div><p>In 1987, Nobel laureate Robert Solow made an observation: &#8220;You can see the computer age everywhere but in the productivity statistics.&#8221; This became known as the <a href="https://en.wikipedia.org/wiki/Productivity_paradox">Solow Paradox</a>. </p><p>Despite massive investment in information technology throughout the 1970s and 1980s (<a href="https://www.brookings.edu/articles/the-solow-productivity-paradox-what-do-computers-do-to-productivity/">computing capacity in the United States increased a hundredfold</a> during this period) labor productivity growth actually <em>declined</em>, dropping from over 3% annually in the 1960s to roughly 1% in the 1980s. Businesses were buying computers, installing networks, training staff, and watching their productivity numbers go backwards.</p><p>The paradox persisted for nearly a decade. Economists debated whether computers were fundamentally unproductive, whether measurement was flawed, or whether something else was happening entirely. </p><p>Then, in the mid-1990s, everything changed. <a href="https://www.federalreserve.gov/newsevents/speech/bernanke20060831a.htm">US productivity growth surged from 1.5% to 2.5% annually</a> between 1991 and 2007. Research from the Federal Reserve later attributed <a href="https://www.federalreserve.gov/econres/feds/the-resurgence-of-growth-in-the-late-1990s-is-information-technology-the-story.htm">roughly two-thirds of this acceleration to information technology</a>: both the production of computers and their use across the economy. </p><p>The lag wasn&#8217;t a failure of the technology; it was the time required for organizations to fundamentally rethink their processes. Companies had to stop using computers to do old things faster and start using them to do entirely new and better things. After all, nobody needs a faster horse.</p><p>The same pattern was observed with smartphones. Whilst the <a href="https://en.wikipedia.org/wiki/IPhone_(1st_generation)">iPhone launched in 2007</a>, only <a href="https://www.pewresearch.org/internet/2011/07/11/smartphone-adoption-and-usage/">35% of US adults owned a smartphone by 2011</a>. Early enterprise adoption was marked by fierce debate about whether these devices were productivity tools or productivity killers. </p><p>Research from the period documented a <a href="https://www.researchgate.net/publication/235617365_A_Latency_Effect_for_Mobile_Phone_Investments_by_Micro-Entrepreneurs">&#8220;latency effect&#8221; of approximately three years</a> before mobile phone investments showed up in productivity statistics. Businesses had to figure out Bring Your Own Device policies, mobile-first workflows, and entirely new categories of work that simply weren&#8217;t possible before. By 2023, <a href="https://www.pewresearch.org/internet/fact-sheet/mobile/">smartphone penetration reached 91% of US adults</a>, and the debate about whether they were useful for work, or even useful at all, seems like ancient history.</p><p>As we have seen, the pattern is consistent: initial hype, a frustrating trough where the technology feels like more trouble than it&#8217;s worth, and then a new level of productivity and also a status quo which people couldn&#8217;t imagine not existing.</p><p>We are seeing the pattern reoccur with AI right now. At a macro level, the industry is navigating this curve. But critically, every individual in your team has their own local curve. As a leader, you must set expectations upfront: the beginning of the adoption process may feel slower, not faster. That is the investment period, and we must be mindful of this before it pays dividends. The Solow Paradox lasted nearly a decade for personal computing, and roughly three years for mobile phones.</p><p>With AI, the curve may compress: the tools are improving faster than any previous technology, but the trough is still real, and your engineers are no doubt hitting it at all points along the curve. Some may be struggling to get started, some may be finding it goes against some of their principles for what engineering is, and some may find it unwieldy and hard to keep under control.</p><p>So, with the J-curve in mind, the question becomes: how do you help people through it? It&#8217;s worth noting that some companies have decided to take a very direct approach.</p><h2><strong>The forced adoption spectrum</strong></h2><p>Not every company is willing to let the J-curve play out naturally. In 2025, we saw high-profile examples of leaders trying to accelerate adoption through extreme measures.</p><p>In April, my old CEO Tobi L&#252;tke <a href="https://x.com/tobi/status/1909251946235437514">posted an internal memo on X</a> after learning it was leaked. The memo declared that &#8220;reflexive AI usage is now a baseline expectation at Shopify. Teams must demonstrate why they cannot accomplish their goals using AI before requesting additional headcount.&#8221; AI usage immediately became part of performance reviews. Prototyping, L&#252;tke wrote, should be &#8220;dominated&#8221; by AI exploration. &#8220;Stagnation is slow-motion failure,&#8221; he warned.</p><p>A few months later, Coinbase CEO Brian Armstrong <a href="https://techcrunch.com/2025/08/22/coinbase-ceo-explains-why-he-fired-engineers-who-didnt-try-ai-immediately/">took an even more direct approach</a>. After purchasing enterprise licenses for GitHub Copilot and Cursor, he posted a mandate in the main engineering Slack channel: onboard to AI tools by the end of the week, or attend a Saturday meeting to explain why. Those who showed up without a good reason were fired. &#8220;I went rogue,&#8221; Armstrong admitted. &#8220;Some people really didn&#8217;t like it..., but, as you know, I think it did set some clarity.&#8221;</p><p>So, if you&#8217;re Shopify or Coinbase, i.e. companies with global fame where engineers line up to work regardless of culture, you can make these moves, if that is how you wish to run your company. The talent cost of an <em>extreme</em> mandate is lower when you can backfill quickly with people who want to be there. Your brand kind of absorbs the reputational hit.</p><p>But, as you know, that&#8217;s perhaps 1%, maybe less, of companies out there. For everyone else, forcing adoption risks resentment, shadow non-compliance, and losing good people who feel micromanaged rather than empowered. The engineers who leave first are often the ones with options, who are also your best performers.</p><p>So where should you position yourself?</p><p>Let&#8217;s look at how to tackle culture and also crunch some numbers so you can convince Finance.</p>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/how-do-i-get-everyone-to-use-ai">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Use it or lose it]]></title><description><![CDATA[Let's make sure AI doesn't erode another core part of our skills.]]></description><link>https://theengineeringmanager.substack.com/p/use-it-or-lose-it</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/use-it-or-lose-it</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Sun, 14 Dec 2025 15:19:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8a3d24e0-0018-4591-895f-282b4c309503_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month, we&#8217;re going to continue exploring the mental models that Charlie Munger covered in <a href="https://press.stripe.com/poor-charlies-almanack">Poor Charlie&#8217;s Almanack</a>, a compendium of 11 talks given throughout his life. The book culminates in one final, bumper-sized talk that is a collection of over 20 mental models that he attributed to his success.</p><p>Last month&#8217;s article covered one of these models: <a href="https://www.theengineeringmanager.com/growth/invert-always-invert/">&#8220;invert, always invert&#8221;</a>, which is a method for thinking about problems by flipping them on their head and considering the worst that could happen, and then ensuring that you don&#8217;t ever make that the case. It turns out that doesn&#8217;t <em>just</em> work for investing but it also works well for the kinds of problems that we face in software engineering: designing resilient systems, planning rollouts, and ensuring that you have a backup plan in case something goes wrong.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>This month, we&#8217;re going to look at another one of these mental models: &#8220;use it or lose it.&#8221; This mental model is becoming increasingly relevant as AI becomes more ubiquitous in our lives.</p><p>Here&#8217;s what we&#8217;re going to cover in the article:</p><ul><li><p>We&#8217;ll start with an introduction to the use-it-or-lose-it model, looking at real examples ranging from playing an instrument to doing exercise.</p></li><li><p>Then we&#8217;ll cover how &#8220;use it or lose it&#8221; has affected managers for a long time, and how AI may be potentially <em>compounding</em> that effect.</p></li><li><p>We&#8217;ll then consider whether there are ways we can use AI more intentionally to potentially <em>preserve</em> our critical thinking skills.</p></li><li><p>And then, to finish, we&#8217;ll see how AI may actually be able to pave the way to us becoming broader generalists as managers, in a manner that supports our desire to be in the details and thrive in today&#8217;s flatter organizations.</p></li></ul><p>So, as we begin to approach the end of 2025, let&#8217;s think about ways in which we can stay sharp in 2026 and beyond.</p><h2><strong>Practice maintains perfection</strong></h2><p>The tenet of use it or lose it is best summarized by the quote from the Polish pianist Ignacy Jan Paderewski: &#8220;If I miss one day&#8217;s practice, I notice it. If I miss two days, the critics notice it. If I miss three days, the audience notices it.&#8221;</p><p>In his 11th essay, Munger reflects, in his 80s, on what he remembers since school: effectively only that which he has used daily since then. In the world of investing, Charlie frequently used the basics of mathematics to real balance sheets, but all of the advanced calculus that he was once proficient in had long been forgotten.</p><p>A lack of daily practice leading to skill decay is a recurring theme for managers. One of the most common worries when moving into a managerial role is losing the hands-on coding skills that got them into the role in the first place.</p><p>As such, diligent managers invent ways to stay close to the details, such as pair programming, continuing code review, or carving out time to fix bugs or contribute to smaller features. However, as many of you know, this can be a challenge to maintain long term. Daily busywork work can become like gas: it expands to fill the size of the tank. As such, managers who interview for new roles often have to go into an intense period of studying to prepare for coding challenges.</p><p>However, although programming skills may diminish through underuse, managers <em>do</em> gain more opportunity to practice the other elements of their craft on a day to day basis, such as planning and strategy, coaching, and leading.</p><p>Accountability for one or more teams requires a continual sharpening of these skills, so the pre-AI manager could more comfortably let go of coding as it was replaced by the honing of others.</p><p>But, as more of us offload our strategic thinking and planning to AI (and I too have written <a href="https://www.theengineeringmanager.com/growth/councils-of-agents-group-thinking-with-llms/">plenty</a> of <a href="https://www.theengineeringmanager.com/growth/leadership-co-processing-with-llms/">material</a> on <a href="https://www.theengineeringmanager.com/managing-managers/a-weekly-mind-meld/">methods</a> to do this), there is a risk of these core cognitive managerial skills diminishing too, and as such, we need to be careful. We mustn&#8217;t become passengers in our own orgs.</p><h2><strong>The science of skill decay</strong></h2><p>We see use it or lose it in action after finishing formal education, and we also see it in exercise: cardiovascular fitness drops off rapidly if we don&#8217;t workout regularly, and muscles require regular training to maintain strength.</p><p>The same is true for our cognitive skills. A <a href="https://doi.org/10.1126/science.1207745">2011 study published in Science on &#8220;The Google Effect&#8221;</a> on memory showed that our brains optimise for where to <em>find</em> information, rather than the information itself. Similarly, <a href="https://doi.org/10.1177/17470218211008060">a 2021 study</a> found that increasing offloading behavior correlates with decreasing memory accuracy. Correlatively, a 2020 <a href="https://doi.org/10.1038/s41598-020-62877-0">study in Nature</a> contrasted how heavy GPS users show decline in spatial memory use, whilst London taxi drivers, i.e. those expected to have <a href="https://en.wikipedia.org/wiki/Taxis_of_London#The_Knowledge">&#8220;the knowledge&#8221;</a>, instead, show growth in that region.</p><p>Although it is too early for longterm studies on AI usage, a <a href="https://arxiv.org/pdf/2506.08872v1">2025 MIT Media Lab study</a> showed that despite increased efficiency in students using ChatGPT compared to those that didn&#8217;t, that same group of students showed weaker neural connectivity and cognitive depth.</p><p>Interestingly, <a href="https://www.dwarkeshpatel.com/p/andrej-karpathy">on the Dwarkesh Podcast, Andrej Karpathy explained</a> that he programmed <a href="https://github.com/karpathy/nanochat">nanochat</a> almost all by hand, with only some minimal tab-autocomplete as assistance. Although much of what he was building was &#8220;off the distribution curve&#8221; of what LLMs are trained on (since LLMs can be seen as a <a href="https://youtu.be/7xTGNNLPyMI?t=60&amp;si=rxbxIdMEm9LI3Opq">compression of the internet</a>, and nanochat is novel work), he also stated that programming manually was the only way to truly learn, and that others wanting to learn from what he wrote should also follow the same hand-coding process.</p><p>Collating the themes above, we should be mindful of <em>how</em> we lean into AI as a thinking partner as managers and leaders. Although we may be hardwired to offload work and strive for efficiency, we need to be careful at not diminishing the core cognitive critical thinking skills that are at the heart of our craft. Losing our coding chops was bad enough; we don&#8217;t want to lose these skills too.</p><h2><strong>Inversion: designing an increasingly ineffective leader</strong></h2><p>Since we looked at the &#8220;invert always invert&#8221; maxim in the last article, perhaps we could call upon it here to design how we could become ineffective leaders in the current times.</p><p>So, considering what could be the worst that could happen, let&#8217;s think about how you could guarantee that you could become obsolete as a leader in 12 months:</p><ul><li><p><strong>Rule number one</strong>: Stop being close to the details of what you&#8217;re building; specifically, the code and the architecture that is being designed within your team. Fully delegate all of the decisions to your team, so that you rely on what people say to you in order to understand what&#8217;s going on. You pay them to do the work, so let them get on with it.</p></li><li><p><strong>Rule number two</strong>: Do not use any of your time to stay on top of the latest AI developments. Instead, let your team tell you what the latest and greatest is, and don&#8217;t spend any time yourself trying out new models or tools. Why would you need to if you&#8217;re a manager?</p></li><li><p><strong>Rule number three</strong>: Become a &#8220;reviewer&#8221; rather than a participant to all of the activity in your team. Let your team get on with things entirely autonomously, and simply review what is happening at meetings and also in performance reviews.</p></li><li><p><strong>Rule number four</strong>: Do not regularly engage in any first principles or critical thinking, either with humans or AI. Either let your team tell you what needs to be done or fully offload decisions to AI that you have to make. After all, you have others to do the work for you.</p></li></ul><p>The <em>insight</em> here, by looking at this through the lens of inversion, is that if you are doing all of these things, you are actively choosing obsolescence of your own impact. You are becoming a passenger, and we know that in the time of increased efficiency and flattened orgs, managers that are passengers aren&#8217;t going to last long.</p><p>Additionally, the other important insight, other than your immediate performance in your role, is that you are not engaging in any cognitively difficult activities. When you subtract practice of cognition through critical thinking and coding, then what actually is left? What is the purpose of your role, and perhaps more crucially, how do you think your skills are going to fare in the next three, five, and ten years if this is your default mode?</p><p>We need to think about how to avoid this path at all costs. And hopefully, by doing so, it will mean that not only will you be an effective manager, it will mean that there is nothing for you to <em>lose</em>, as per the central mental model of this article.</p><h2><strong>An antidote</strong></h2><p>Building on our inverted case, we need to offer an antidote that solves each of those four rules. This antidote should be such that it means that you can have opportunities to keep your coding skills sharp, which means you are close to the details and get to practise contributing to what your team is building in more depth, but it also gives you ample opportunity to sharpen your cognitive abilities, offloading the <em>right</em> work to AI.</p><h3><strong>Rule number one: a minimum effective dose of coding</strong></h3><p>We know that as managers we (mostly, there are some exceptions) cannot be on the critical path for shipping features. It typically ends up slowing the team down. However, that doesn&#8217;t mean we have to stop coding entirely. We just need to find the <em>minimum effective dose</em> to keep our skills alive.</p><p>There are a number of ways to do this. One is building internal tools, scripts, or prototypes that help the team but aren&#8217;t blocking production. For example, <a href="https://github.com/jstanier/bragdoc">I built a brag doc generator</a> that I could use to find the descriptions and comments from issues that I&#8217;d been contributing to on <a href="https://linear.app/">Linear</a>, and then use a local LLM via <a href="https://ollama.com/">Ollama</a> to summarise it for me. This was a fun activity that only took me around an hour with <a href="https://claude.ai/code">Claude Code</a>.</p><p>Another is <strong>pair programming</strong> with your team. This is a high-leverage activity that gets you close to the <em>workflow</em> (the friction of the tools, the build times, the environment quirks) without the pressure of delivering a feature solo. It keeps the &#8220;finger feel&#8221; of the craft real. It works even better remotely than it does in real life, and it helps you <em>really</em> see what your team is building.</p><p>And of course for those of you that love programming, there&#8217;s always the evenings and weekends for hobby projects.</p><h3><strong>Rule number two: get your hands dirty with AI</strong></h3><p>Do not outsource your understanding of frontier tools to others. Take an active and passionate interest in the tools that are reshaping our industry. As hopefully I&#8217;ve shown in previous articles that show how to improve your strategic thinking and decision-making with LLMs, AI is not just for engineers, it&#8217;s for everybody. I couldn&#8217;t work without it now. You too should become well-versed in the latest and greatest through personal hands-on experience.</p><p>Instead of just reading articles and opinions about what is best, find out for yourself. Schedule weekly &#8220;lab time&#8221; (even just one hour) to test new AI tools personally. Understand the different modes that they offer from prompting to agentic interfaces to the capabilities of the different models, and which ones work best for writing and coding and which IDE you prefer. Keep that preference up to date through constant trial and iteration. For example, what exactly is different between <a href="https://antigravity.google/">Antigravity</a> and <a href="https://cursor.sh/">Cursor</a> other than the fact that Antigravity has less available models? How different is Antigravity&#8217;s agent mode compared to Codex&#8217;s? Try them out and see.</p><p>Reclaim the joy of creation without the pressure of production. This is how you stay ahead of the curve, rather than having it explained to you. Additionally, when your team sees that you&#8217;re getting as stuck as they are, it only builds respect, and additionally, they&#8217;ll only be more likely to trust your judgement when it comes to deciding which tools the team should use and how.</p><h3><strong>Rule number three: become an active participant</strong></h3><p>Fight hard against the trope of the manager as the approver of all things. Move from being a &#8220;reviewer&#8221; to a &#8220;participant&#8221; in your team. Force yourself to ask at least one question on a PR or design doc that requires you to open the IDE, diagramming tool, or query the logs to answer.</p><p>I call this &#8220;diving down the stack.&#8221; The idea is that you try as a manager to go one or two levels deeper than your team would typically expect. It should surprise them. Again, this helps you build your confidence in what is coming out with your team (you see and care about the details) but also builds trust and respect with those that are building for you (&#8221;wow, they see and care about the details!&#8221;).</p><p>If you can&#8217;t quite find the time and space to dive down the stack technically regularly, then at least dive down the stack with logic and reasoning. There are many mental models that you can apply here to engage in productive conversations with your engineers that will improve the work that your team is doing and fundamentally ensure that you&#8217;re utilising your cognitive ability.</p><p>For example, in a previous article, <a href="https://www.theengineeringmanager.com/growth/the-beauty-of-constraints/">the beauty of constraints</a>, we outlined a number of techniques that you can actively wield to encourage your team to do less unnecessary work, whilst also ensuring that you are completely across the constraints, requirements and trade-offs of the work that you&#8217;re leading.</p><p>Becoming an active participant in your team sometimes means doing the things that don&#8217;t scale. However, doing the things that don&#8217;t scale is the way to be successful as a manager today. You need to understand the code that&#8217;s being shipped, the architectural decisions, the metrics, requirements, and the constraints. But the good news is, in terms of use it or lose it, if you are doing the things that don&#8217;t scale, you&#8217;re keeping yourself incredibly sharp at the same time.</p><h3><strong>Rule number four: the &#8220;thinking first&#8221; protocol</strong></h3><p>Finally, and importantly, we need to think about how we don&#8217;t offload all of our cognitive ability to AI. Whilst it&#8217;s true that there are no long-term studies about the effect of AI on our cognition, as seen by the orthogonal studies that are referenced at the top of the article, it would be wise to keep practising our cognition in the spirit of using it and not losing it.</p><p>To me, practising our cognition is about understanding what to offload and what not to offload. The way that I&#8217;ve been navigating this choice is as follows:</p><ul><li><p><em>Is the task that I&#8217;m doing completely menial?</em> Will executing and completing that task teach me nothing new? For example, tasks like cleaning data, summarising a document, or doing some research on the web where I would have had to click 40+ links on Google, and so on. If that is the case, then I can happily delegate that completely to AI and then just review the output.</p></li><li><p><em>If the task is not menial, then I always make sure that I take a first pass myself using my own cognition.</em> This helps me arrive at an initial solution, and then I can use that as a base case to start interacting with AI as a way of critiquing and expanding my work. For example, if we needed to make some improvements to our career matrix, I wouldn&#8217;t simply dump them into a prompt and then ask it what I should do. Instead, I would take the time to read and review them myself first, come up with my own suggestions for improvement, and then use that as the starting point for prompting.</p></li></ul><p>A great analogy here is <a href="https://www.geoffreylitt.com/2025/10/24/code-like-a-surgeon">working like a surgeon</a>. Here, Geoffery Litt (referencing a theme covered in <a href="https://en.wikipedia.org/wiki/The_Mythical_Man-Month">The Mythical Man-Month</a>) argues that we should be the surgeon, making the key decisions and actions, and the AI should be the team of assistants, allowing us to delegate the grunt work.</p><p>Think about what it means to use AI like a <em>surgeon</em> in your own role, whether that be in coding, strategic thinking, or researching and understanding information in order to make decisions. This way you fight cognitive offloading, and instead only delegate the things that you would ideally want to automate in the first place.</p><h2><strong>Wrapping up (the presents)</strong></h2><p>We began this article by exploring the biological reality of &#8220;use it or lose it,&#8221; a principle that applies as much to our cognitive abilities as it does to our muscles. We&#8217;ve seen that there is a possibility that the &#8220;competence pacifier&#8221; of AI, if left unchecked, may accelerate the decay of the very skills that make us effective leaders: our critical thinking, our technical context, and our ability to reason from first principles.</p><p>However, the path forward isn&#8217;t to reject AI, but to use it with intent. By doing an inversion pass on what it means to be an ineffective leader, we can follow the antidotes we&#8217;ve outlined: finding your minimum effective dose of coding, getting your hands dirty with the tools, becoming an overly active participant in your team&#8217;s work, and adopting a &#8220;thinking first&#8221; protocol. By doing so, you can ensure that you are sharpening your mind rather than dulling it.</p><p>The action for you in 2026 is clear: be the surgeon, not the passenger. Engage your critical thinking explicitly before you prompt. Dive into the details. Do things as a manager that don&#8217;t scale. By doing so, you won&#8217;t just preserve your skills; you&#8217;ll evolve them, becoming a broader, deeper, and more effective leader.</p><p>We are at yet another turning point for managers. More is expected of us, and in the same way that the nature of programming is changing with AI, I also strongly believe that the nature of management is as well. However, the tools are there for you to use, but it&#8217;s up to you to make sure that you use them effectively and in a way that builds your skills, rather than dulling them.</p><p>For paid subscribers, there&#8217;ll be one more December article coming up shortly. For free subscribers, I&#8217;ll be back in January with a brand new article. I hope you have a fantastic holiday period.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[My Path to CTO, Part II]]></title><description><![CDATA[Getting the timing right]]></description><link>https://theengineeringmanager.substack.com/p/my-path-to-cto-part-ii</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/my-path-to-cto-part-ii</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Sun, 30 Nov 2025 15:00:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5c1db81a-d930-414e-869b-11b397cddcfb_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>Introduction</strong></h2><p>Here&#8217;s part two of November&#8217;s paid newsletter.</p><p>We pick up where we left off in part one, which is where <a href="https://www.brandwatch.com/">Brandwatch</a> had been acquired and it was time to move up and move on.</p><p>In this second part, we&#8217;ll cover:</p><ul><li><p>The executive recruitment process, which I had to learn and navigate for the first time. How exactly do <em>unadvertised</em> roles get filled?</p></li><li><p>My move to Shopify, which was driven not only by a desire to learn and grow at somewhere famous, but <em>most importantly</em> supported the kind of life that I wanted.</p></li><li><p>How economic change led to cultural change, and why becoming a parent forces the hard choices. We cover my current CTO role and how I got it, by picking up the connections that I&#8217;d made some 3.5 years previous.</p></li></ul><p>We begin the story during 2021, in Cumbria, during lockdown. We&#8217;d been acquired and it was clear that the company would never be the same. It was going to be difficult saying goodbye mentally to something that had been part of my life for nearly ten years, but when you feel that it&#8217;s time, it&#8217;s time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Getting to grips with executive recruitment</strong></h2><p>The question was, therefore, what to do next. I was in two minds. Part of me thought that now was the time to step up and be CTO for the first time; however, I didn&#8217;t really know how to do this. On the other hand, part of me was observing so many great companies starting to fully embrace remote work, <a href="https://en.wikipedia.org/wiki/Zero_interest-rate_policy">and also hiring like crazy</a>, and I saw this as an opportunity to get in at a good time with some of these proverbial rocket ships.</p><p>I decided to take a two-pronged approach. I needed to work out how CTO roles were recruited, and I also needed to look at what companies out there were hiring remotely in the UK.</p>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/my-path-to-cto-part-ii">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[My Path to CTO, Part I]]></title><description><![CDATA[Learning the trade.]]></description><link>https://theengineeringmanager.substack.com/p/my-path-to-cto-part-i</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/my-path-to-cto-part-i</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Wed, 26 Nov 2025 17:01:14 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0121c96e-a632-43e5-b22e-8da490487881_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>Introduction</strong></h2><p>Welcome to the paid newsletter for November 2025. This is the first ever paid article that I&#8217;ve written, so I&#8217;d like to thank you for being an early adopter of the paid subscription model. I hope you&#8217;ll find the content enlightening and engaging. I like to see it as the beginning of a conversation between us.</p><p>As I write more paid articles, I&#8217;d love to hear your feedback. I&#8217;ve opened the Subscriber Chat functionality on Substack so you can contact me directly. This way, you get the chance to shape the future of the newsletter.</p><p>We are going to start this month by diving into my story of how I ended up in a CTO role at a public company.</p><p>I think this might be interesting because it wasn&#8217;t always my intention. Rather, it was a <em>random walk</em>, to use a computer science term, following my interests, that got me here.</p><p>Additionally, CTO roles are very rarely advertised externally, so I&#8217;d like to give you some insight into how the world of executive headhunting works. If you&#8217;re interested in going down this path yourself, then I hope you&#8217;ll learn more about how to get involved.</p><p>It&#8217;s worth mentioning that everyone&#8217;s journey will be different. There is no one way to do this. So, consider this not a blueprint, but rather a map of the terrain that I&#8217;ve traversed. The easiest way to become CTO, after all, is to &#8220;just&#8221; start your own company.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>What&#8217;s coming up</strong></h2><p>Since I wanted to use this opportunity to go deeper than usual in my writing, this newsletter is going to be split into two parts.</p><p>In part one, we&#8217;re going to cover the following:</p><ul><li><p>My original interest and desire to get a permanent position in academia, but how the economy, jobs market, and my desired life situation prevented me from going any further.</p></li><li><p>How it was almost random that I got involved in a startup at the seed stage, but how curiosity, familiar faces, and a willingness to try <em>anything</em> in order to stay close to where I was living made it happen.</p></li><li><p>How my managerial experience flourished when I realized that I had many interests and passions that were <em>different</em> from the engineers that I worked with, and how that set me apart and subsequently opened doors.</p></li><li><p>How getting acquired showed me what I didn&#8217;t want my life to be like at work, and why trusting your gut is always underrated.</p></li></ul><p>With that outlined, let&#8217;s get going. It might be worth getting a cup of tea for this one.</p><h2><strong>From academia to seed stage</strong></h2><p>I&#8217;ll briefly gloss over my early life, which is that I&#8217;ve always been incredibly interested in computers. I was a small kid playing with my sister&#8217;s <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a> and <a href="https://en.wikipedia.org/wiki/Amstrad_CPC">Amstrad CPC 464</a> as I grew up. When the initial internet wave came along in the 90s, and as I went from small child to teenager, I had a lot of fun messing around with HTML and PHP building websites, and of course, playing an unhealthy amount of online video games.</p><p>I felt at home when I was tinkering with technology, and I have fond memories of building computers, upgrading RAM and graphics cards, trying to hack games with a hex editor, and seeing the initial incarnation of the Web come to life via <a href="https://en.wikipedia.org/wiki/Yahoo!">Yahoo!</a>, <a href="https://en.wikipedia.org/wiki/AOL">AOL</a>, <a href="https://en.wikipedia.org/wiki/GeoCities">Geocities</a>, and later, Google.</p>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/my-path-to-cto-part-i">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Invert, always invert]]></title><description><![CDATA[Sage advice from Charlie Munger will help you in your planning, estimation and delivery.]]></description><link>https://theengineeringmanager.substack.com/p/invert-always-invert</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/invert-always-invert</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Sun, 23 Nov 2025 18:01:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3dbab07f-fddf-4f1c-ba40-3c38fea348cf_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently finished <em><a href="https://press.stripe.com/poor-charlies-almanack">Poor Charlie&#8217;s Almanack</a></em>, a collection of eleven talks by Charlie Munger. When Stripe Press published a brand new edition of it with their usual beautiful type setting and cover design, I couldn&#8217;t resist.</p><p>For those unfamiliar to Charlie, he is worth getting to know. While his notoriety stemmed from being one of the greatest investors of his generation, he was also a prolific speaker and writer, and was an advocate of cross-disciplinary thinking and application of mental models. He excelled in taking ideas from mathematics, philosophy, and psychology in order to think about the world in a new way.</p><p>In this month&#8217;s article, we&#8217;re going to be looking at one of the mental models I learned from Charlie and how it can help us as engineering leaders think, plan, and execute better by avoiding failure.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>But first, some changes</strong></h2><p>However, before we go any further, I wanted to take this opportunity to say that there are going to be some changes coming up to how this newsletter is run.</p><p>Currently I publish one article a month for free, which is also available on my website, <a href="https://www.theengineeringmanager.com/">The Engineering Manager</a>. Don&#8217;t worry: this is going to continue indefinitely. </p><p>I have been slowly growing my optional paid subscriber base, of which membership is purely voluntary, and I wanted to start giving something more to them, and also see whether I can continue to grow it.</p><p>As a result, I&#8217;m now going to be writing <em>twice</em> a month. There will be one free article, which will continue as it always has, with the addition of one paid article, which will not be published anywhere else: it will only be available here on Substack for paid subscribers.</p><p>The price for subscriptions will remain exactly the same, which is:</p><ol><li><p><strong>US $10 monthly</strong>, if you prefer the flexibility to cancel any time.</p></li><li><p><strong>US $100 for the whole year,</strong> which is effectively gives you 2 months of paid articles for free.</p></li></ol><p>This means that paid subscribers will get <strong>24 articles a year:</strong> 12 free, and 12 paid.</p><p>This is new territory for me, and I feel slightly nervous about doing this as it increases the expectations for me and my writing, but I&#8217;m considering this an experiment and the chance to stretch myself in something that&#8217;s already starting to work, so let&#8217;s see how it goes.</p><p>If you&#8217;re interested in subscribing, then I&#8217;ve been working on a schedule for the coming three months of paid articles, which will start this month:</p><ul><li><p><strong>November 2025</strong>: <em>A deep dive into my journey into the CTO role</em>, giving you some career growth hints and tips, and also an insight into why CTO roles are never advertised and how you actually get them. If this is the ultimate destination in your career, then I hope that what I have learned can be useful to you.</p></li><li><p><strong>December 2025</strong>: <em>Doing more AI:</em> strategies and tactics for increasing adoption and skill in your team organization. Given that AI is hitting the mainstream in terms of adoption, how can we think about getting our teams to use it, increasing their skill, managing cost, and proving value?</p></li><li><p><strong>January 2026</strong>: <em>Getting what you want:</em> designing a strategic and long-term view of your career, covering how you can visualise what you want to achieve and how you might be able to get there. I found that what you do for your career is only part of the puzzle. Often career planning exercises miss out on the other things that are important in your life as well. I&#8217;ll talk about some of the choices that I&#8217;ve made over the last ten years and how they were guided by life as well as work.</p></li></ul><p>If you like how that sounds, then I&#8217;d love for you to come along for the ride and become a paid subscriber. </p><p>Paid subscribers also get direct access to talk to me by chat, where you can share your feedback about what you&#8217;re reading and what you&#8217;d like to see in the future. It gives you a chance to shape upcoming articles for the newsletter.</p><p>And with that announcement done, let&#8217;s get on with the article.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Death by optimism</strong></h2><p>Software engineering is tough. No matter how hard we try and how hard we plan, we always end up missing simple things which cause a whole bunch of problems down the line.</p><p>This can range from missing features and functionality (&#8220;<em>how did we not think of that?</em>&#8221;), to edge cases that we haven&#8217;t thought about (&#8220;<em>how did we not see that coming?</em>&#8221;), to poorly conceived rollouts and launches (&#8220;<em>why didn&#8217;t we check this didn&#8217;t work in Italy?</em>&#8221;).</p><p>There seems to be an ability to repeatedly stumble on the same simple mistakes that suggests this is just part of human nature. We spend so much time thinking about the big picture, focusing only on the happy path that we&#8217;re traveling down, that we tend to overlook stupid mistakes that then shoot us in the foot.</p><p>The question, therefore, is <em>why</em>?</p><p>Why is it that we make the same mistakes over and over again? After reading Poor Charlie&#8217;s Almanack, I&#8217;ve come to think that it&#8217;s because we apply mental models that are far <em>too optimistic</em> to our planning. As a result, because we typically rely on an optimistic outlook, we fail to consider what could go wrong.</p><p>Countless software projects in the last twenty years have significantly underestimated time and complexity, have not done enough QA, have not considered their rollouts carefully enough, and haven&#8217;t scrutinized their scope to ensure that key features were missing.</p><p>There&#8217;s clearly a core bug in our thinking, because humans would have solved these planning problems a very long time ago if it didn&#8217;t exist.</p><h2><strong>What is inversion?</strong></h2><p>If it is the case that thinking too optimistically is one of the reasons that we keep getting things wrong in software engineering, can we instead use a <em>pessimistic</em> mental model? The answer, I believe, is yes, and the solution lies in one of Charlie Munger&#8217;s models called <em>inversion</em>.</p><p>Inversion is one of the cross-disciplinary mental models that I mentioned above that Charlie mentioned often. He would use the inversion mental model in order to scrutinize investments before he made them. When it comes to planning projects, estimating scope, and especially rolling out changes, <em>inverting</em> the problem can expose the blind spots optimism leaves behind. The principle of inversion is highly applicable to us as engineers.</p><p>As Charlie says: &#8220;Invert, always invert.&#8221; This is the way that you can save yourself from disaster.</p><p>The origin of inversion comes from the 19th-century German mathematician <a href="https://en.wikipedia.org/wiki/Carl_Gustav_Jacob_Jacobi">Carl Gustav Jacob Jacobi</a>, who advocated for solving problems by approaching them <em>backwards</em>. Rather than trying to work something out directly, you assume the opposite and work toward a contradiction.</p><p>Munger adapts this into practical situations: to succeed at an outcome, you should invert it by thinking about what would have to happen for you to <em>fail</em>, and then completely avoid all of those things in order to succeed.</p><p>For example, if your goal is to keep your home clean, instead of thinking about what it means for it to be spotless, you can <em>invert</em> the problem by thinking about what it would mean for it to be disgusting, and then make sure you do everything possible to make it <em>not</em> disgusting.</p><p>It follows that for your home not to be disgusting, you would need to:</p><ul><li><p>Clean your dishes within 24 hours.</p></li><li><p>Take out the bin when it&#8217;s full.</p></li><li><p>Vacuum the floor once a week.</p></li><li><p>Dust surfaces regularly.</p></li><li><p>Do your laundry when the laundry bin is full.</p></li><li><p>...and so on.</p></li></ul><p>And it just turns out that by inverting the problem and then doing all the items above to <em>avoid</em> it being disgusting you arrive at the same outcome: you have <em>a really clean house</em>.</p><p>This is the beauty of inversion. Instead of asking yourself, &#8220;How do I succeed?&#8221; you ask, &#8220;How do I fail?&#8221; and then systematically avoid those failure modes.</p><h2><strong>Inversion for engineering teams</strong></h2><p>Engineering teams can greatly benefit from using the inversion approach when thinking about larger initiatives such as estimation, planning, and rollouts.</p><p>As we saw above, whenever we do these activities with default optimism&#8212;thinking about what would be <em>nice</em> to have and what we <em>must</em> try to achieve&#8212;we often forget the things we must <em>avoid</em> as part of that process, which is where the mistakes creep in.</p><p>For example, if we are thinking of rolling out a new feature gradually to our clients, instead of leading our thinking with cohorting and the desire to launch to everyone as quickly as possible (i.e. goal oriented), we should think about what it would mean for the rollout to be a complete disaster, identify those factors, and completely avoid them. Doing so will ensure that we avoid edge cases in our thinking that we may have missed previously.</p><p>This is best explained by example.</p><p>Let&#8217;s imagine that you&#8217;ve just made a significant upgrade to part of your application and you&#8217;re thinking about how to roll it out. Instead of asking yourself how the rollout could be a success, you could <em>invert</em> the problem and ask yourself how the rollout could <em>disastrously fail</em>.</p><p>You identify that it would fail if:</p><ul><li><p>Bugs are present.</p></li><li><p>Customers are unable to opt out if they don&#8217;t like the experience.</p></li><li><p>Enterprise customers are caught off guard by the change and are not given adequate advance notice.</p></li><li><p>Workflows take more clicks or scrolls or text inputs than the previous workflow that was upgraded.</p></li><li><p>It looks worse, or is less intuitive, than the previous functionality that it replaced.</p></li><li><p>It is slower than the previous workflow to render.</p></li></ul><p>I&#8217;m sure there&#8217;s other examples that you can think of here too.</p><p>If you can take that list of reasons that the rollout could fail, and then systematically work to put protections in place so you avoid them, then it would follow that you would have a successful rollout.</p><h2><strong>Doing an inversion pass</strong></h2><p>I&#8217;d like to propose that the next time you do a significant piece of work, you do an <em>inversion pass</em>. It will help you systematically identify failure modes and build your defences before you embark on whatever you&#8217;re about to do.</p><p>Below is a template that you can copy and edit for your own needs.</p><h3><strong>Setup</strong></h3><p>Before we get going, we need to work out who&#8217;s doing what.</p><ul><li><p><strong>Begin by assigning roles</strong>. One person should be the <em>facilitator</em> who keeps time and the discussion flowing. There should also be somebody acting as a <em>scribe</em> that is able to capture the conversation.</p></li><li><p><strong>Then define the scope</strong>. Decide what it is that we&#8217;re trying to invert, which could be a feature rollout, an infrastructure change, or an architectural decision, etc.</p></li><li><p><strong>Make it clear that no idea is too pessimistic</strong>, and that today we are being paid to be cynics.</p></li></ul><h3><strong>Inversion questions</strong></h3><p>With roles defined, work through these questions as a group.</p><p>The facilitator keeps the group moving and on time, and the scribe ensures that everything is captured. Questions that are in quotes are intended for the facilitator to ask the group.</p><ol><li><p><strong>Catastrophic failure</strong>. <em>&#8220;What would make this an absolute disaster?&#8221;</em> If this was to cause a P1 incident, what could some of the likely root causes be? What kind of scenario would have happened in order for that to trigger? Which single component failure would cascade most dramatically?</p></li><li><p><strong>Silent degradation</strong>. <em>&#8220;How could this fail without us knowing?&#8221;</em> What metrics are we not monitoring that we should be? Which failure modes wouldn&#8217;t trigger our existing alerts? Where might we have blind spots in our observability and logging? What could degrade slowly enough that we wouldn&#8217;t notice until customers complained?</p></li><li><p><strong>Rollback</strong>. <em>&#8220;What if we need to roll this back at 3am?&#8221;</em> Can this change be reversed? How long would rollback take? Is there anything that&#8217;s irreversible? At what point does rolling back become more dangerous than rolling forward? What happens if none of this works?</p></li><li><p><strong>Load and scale</strong>. <em>&#8220;What happens when real load exceeds our assumptions?&#8221;</em> If you&#8217;ve currently estimated a certain load, what would break at 10x that load? Are there any resources that you have assumed will work properly that could go wrong? What kind of behavior exists in high traffic scenarios with extreme contention or queuing?</p></li><li><p><strong>Dependency failures</strong>. <em>&#8220;What if everything that we depend on breaks?&#8221;</em> List out all of the external services that you rely on, such as databases and APIs. For each of them, think about what could go wrong if they became slow or unavailable. Think about whether you should have retries or circuit breakers.</p></li><li><p><strong>Human error</strong>. <em>&#8220;How could we break this ourselves?&#8221;</em> Are there any operational steps that could be prone to human error? Do we have everything written down in playbooks in case whoever is on call doesn&#8217;t understand what to do, or are we missing documentation?</p></li><li><p><strong>Data integrity and security</strong>. <em>&#8220;Is it possible for us to corrupt or lose data?&#8221;</em> Have we thought about race conditions that could happen? Or have we assumed transactionality that doesn&#8217;t actually exist? What happens if we process the same event twice, or if we skip one event? How do we know if data becomes inconsistent? Are there any attack vectors that we need to think about? Which data are we exposing and to whom?</p></li></ol><p>You may want to add or remove inversion questions depending on the kind of project that you&#8217;re doing.</p><p>Once you&#8217;ve captured your list, go through and mark each item as to whether it&#8217;s:</p><ul><li><p>A <strong>showstopper</strong> (which must be addressed before launch)</p></li><li><p>A <strong>mitigation</strong> (which will need monitoring, fallbacks, or workarounds)</p></li><li><p>An <strong>accepted situation</strong> of which we are understanding the risk and moving forward regardless.</p></li></ul><p>When you&#8217;ve got to this point, you should have list of actions captured by your scribe that you go and work on, plus a documented inversion pass outcome that proves you have done this exercise. You can use this to generate a risk register, update your design docs, and expand your documentation.</p><h2><strong>Try it yourself</strong></h2><p>Sometimes being pessimistic is good.</p><p>Using the principle of inversion, you can identify gaps in your planning and thinking, which can make your projects better, safer, and more resilient.</p><p>In your next project, try out an inversion pass. Run the exercise on your own or do it with your team and see whether it helps you feel more confident about what you&#8217;re going to be doing next.</p><p>Additionally, think about inversion in your own life. If you were to apply the inversion principle to how you manage your finances or what you want to achieve next year, could it potentially help you to think about these goals in a new light? Perhaps it could increase your confidence in getting them done to a high standard.</p><p>Remember: invert, always invert. If it worked for Charlie, it works for me.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://theengineeringmanager.substack.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Join my new subscriber chat]]></title><description><![CDATA[A private space for us to converse and connect]]></description><link>https://theengineeringmanager.substack.com/p/join-my-new-subscriber-chat</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/join-my-new-subscriber-chat</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Sun, 16 Nov 2025 12:00:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d8bf9158-35ff-4936-81fe-3b968f99b483_1418x1468.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today I&#8217;m announcing a brand new addition to my Substack publication: The Engineering Manager subscriber chat.</p><p>This is a conversation space exclusively for subscribers&#8212;kind of like a group chat or live hangout. I&#8217;ll post questions and updates that come my way, and you can jump into the discussion.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/theengineeringmanager/chat&quot;,&quot;text&quot;:&quot;Join chat&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://open.substack.com/pub/theengineeringmanager/chat"><span>Join chat</span></a></p>
      <p>
          <a href="https://theengineeringmanager.substack.com/p/join-my-new-subscriber-chat">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Councils of agents]]></title><description><![CDATA[Group thinking with LLMs.]]></description><link>https://theengineeringmanager.substack.com/p/councils-of-agents</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/councils-of-agents</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Thu, 30 Oct 2025 10:35:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ee0281ad-0245-4363-9c51-10785fb72cb5_835x821.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>Introduction</strong></h2><p>It&#8217;s been two months since I finished a sequence of LLM-based posts which were intended to think of unique ways that you could improve your leadership skills by leaning into AI as a coach, a contrarian thinker, and a way in which to expand and accelerate your decision-making.</p><p>If you&#8217;re interested in reviewing those posts, then you can find them here, in reverse chronological order:</p><ul><li><p><a href="https://www.theengineeringmanager.com/growth/leadership-co-processing-with-llms/">Leadership co-processing with LLMs</a>, which introduces a number of prompting and usage ideas that could help you develop your thinking.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/a-bag-of-worries-tackling-overwhelm-with-llms/">A bag of worries: tackling overwhelm with LLMs</a>, which is a technique I&#8217;ve been using to help me manage my own never-ending to-do list by offloading some of the cognitive load of prioritization to an LLM.</p></li><li><p><a href="https://www.theengineeringmanager.com/managing-managers/a-weekly-mind-meld/">A weekly mind meld</a>, which uses some LLM assistance to communicate weekly with my department.</p></li><li><p><a href="https://www.theengineeringmanager.com/managing-managers/llms-an-operators-view/">LLMs: an operator&#8217;s view</a>, the original post in this series, which covers some of the cultural change addressed in the first post in this list, and how code review and hiring are also changing.</p></li></ul><p>Building on the leadership co-processing article, we&#8217;re going to go further this week and think about how we can expand our usage of a thinking partner into <em>multiple</em> thinking partners by using LLM agents to create your own councils that you can use to accelerate and supercharge your thinking and also simulate situations where many actors may not have default consensus on issues.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Inspiration</strong></h2><p>At work, I&#8217;ve mostly been using <a href="https://www.claude.com/product/claude-code">Claude Code</a> as my go-to interface. Generally speaking, I like the Claude models, which have become particularly good since <a href="https://www.anthropic.com/news/claude-sonnet-4-5">Sonnet 4.5</a> and <a href="https://www.anthropic.com/news/claude-haiku-4-5">Haiku 4.5</a> were released. However, I also enjoy the terminal interface, which I always keep open at the side of the screen as it is space efficient. I can mix regular prompting along with the generation of code, and it looks cool as well.</p><p>One neat feature of Claude Code, which is the backbone of this article, is that it makes it <em>extremely</em> easy to build agents that you can delegate to. For example, you just type <code>/agents</code> like below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tqjY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tqjY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png 424w, https://substackcdn.com/image/fetch/$s_!tqjY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png 848w, https://substackcdn.com/image/fetch/$s_!tqjY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!tqjY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tqjY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png" width="1456" height="1547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1547,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:534707,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.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_!tqjY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png 424w, https://substackcdn.com/image/fetch/$s_!tqjY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png 848w, https://substackcdn.com/image/fetch/$s_!tqjY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!tqjY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7153e2c-dea6-472f-a1d1-177e8df30a09_1496x1590.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>From here, you can create a new agent.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L8RF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L8RF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png 424w, https://substackcdn.com/image/fetch/$s_!L8RF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png 848w, https://substackcdn.com/image/fetch/$s_!L8RF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!L8RF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L8RF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png" width="1456" height="1547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1547,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:543201,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.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_!L8RF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png 424w, https://substackcdn.com/image/fetch/$s_!L8RF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png 848w, https://substackcdn.com/image/fetch/$s_!L8RF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!L8RF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6176997e-4a5c-4673-8975-ee6ae832cd1c_1496x1590.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>In order to create an agent, all you have to do is give a rough sketch of what the role of the agent is. For example, here is my initial prompt for a QA Engineer agent.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PIlX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PIlX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png 424w, https://substackcdn.com/image/fetch/$s_!PIlX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png 848w, https://substackcdn.com/image/fetch/$s_!PIlX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!PIlX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PIlX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png" width="1456" height="1547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1547,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:528862,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.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_!PIlX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png 424w, https://substackcdn.com/image/fetch/$s_!PIlX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png 848w, https://substackcdn.com/image/fetch/$s_!PIlX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!PIlX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1d0b94-1e1e-4e61-8a27-97009a4b8be0_1496x1590.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>Claude Code is able to expand that into something far more detailed which you can edit and tweak however you wish.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y-4K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y-4K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png 424w, https://substackcdn.com/image/fetch/$s_!Y-4K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png 848w, https://substackcdn.com/image/fetch/$s_!Y-4K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!Y-4K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y-4K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png" width="1456" height="1547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1547,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:850969,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.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_!Y-4K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png 424w, https://substackcdn.com/image/fetch/$s_!Y-4K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png 848w, https://substackcdn.com/image/fetch/$s_!Y-4K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!Y-4K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640de405-dfad-404c-836f-94a4df0a0ade_1496x1590.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>If you&#8217;d like to see more examples of how a number of agents could be defined, then there&#8217;s a <a href="https://github.com/wshobson/agents/tree/main/plugins">great public GitHub repository</a> where people have been collecting together their examples. Each of the folders has a different type of agent (or agents) combined with a collection of commands that you can use in order to work with them.</p><p>This is especially useful when you&#8217;re programming since you can delegate specific types of work to these agents, such as refactoring, security testing, initial code reviews, and so on. Now, none of these are meant to be substitutions for the real thing, however, they become great partners when you&#8217;re coding because you can call upon specific functionality when you need it, which is especially useful when you know that you have blind spots. For example, a security engineer agent can continually make sure that you&#8217;re aware of these kinds of issues as you code.</p><p>One particularly interesting observation, highlighted in <a href="https://simonwillison.net/2025/Oct/16/claude-skills/">Simon Willison&#8217;s recent post</a>, is that Claude Code could be considered a <em>general purpose</em> agent, rather than <em>just</em> a coding tool.</p><p>Following my own usage, I agree with this viewpoint. Claude Code is not just a tool for coding, but is also a tool to think. And agents let you get really creative with your thinking.</p><p>In previous posts, <a href="https://www.theengineeringmanager.com/growth/leadership-co-processing-with-llms/">we looked at how we could use simple prompts to &#8220;pair think&#8221; with LLMs</a>, from organising our time, to cross-checking decisions, to enabling mob sessions where architecture or code is designed together, and so on.</p><p>The more senior you get as a leader, the more nuanced and complex some of your decisions can be: not necessarily <em>only</em> because of the impact of those decisions, but also because of the challenge of finding consensus within large groups with differing opinions, biases, and experiences.</p><p>Sometimes the act of maintaining fast, synchronous connections with groups of people in order to debate, discuss, and forward your thinking can be blocked by others&#8217; busyness or timezone. That&#8217;s where agents come in.</p><h2><strong>Council of agents</strong></h2><p>In the same way that there were examples above of how to use agents in Claude Code for specific technical functions (such as refactoring and testing), you can use agents to form specific thinking councils that you can use to accelerate your thinking faster than you could by working either on your own or by requiring synchronous time with others.</p><p>This is most easily shown by example, so we&#8217;ll go through two of them in this section. The first will be a technical council, and the second will be an executive council.</p><h3><strong>Creating a technical council</strong></h3><p>Now that we&#8217;ve seen how to build one agent, we can now think about building multiple agents that can make up a council that you can work with and think with. For this first example, let&#8217;s consider a <em>technical council</em> that can help you.</p><p>Firstly, you&#8217;ll need to think about which kind of roles you&#8217;d like to have in your technical council of agents. For example, you might want to have the following:</p><ul><li><p><strong>Principal Engineer</strong>, covering broad technical vision, architectural patterns, and cross-cutting concerns.</p></li><li><p><strong>Platform Engineer</strong>, covering infrastructure, deployment pipelines, developer experience, and tooling.</p></li><li><p><strong>Security Engineer</strong>, with an interest in threat modeling, secure architecture, compliance, and vulnerability management.</p></li><li><p><strong>QA Lead</strong>, covering testing strategies, quality metrics, automation, and release confidence.</p></li><li><p><strong>AI/ML Engineer</strong>, responsible for machine learning systems, model deployment, and intelligent feature design.</p></li></ul><p>Your own mileage may vary on the above depending on what kind of role and company you&#8217;re in.</p><p>With a decision made about what kind of roles you want to have in your council of agents, you then create them using the same methodology as we did in the example above.</p><p>For each of those roles, you create an agent in Claude Code, and you use your initial prompt to outline what they&#8217;re responsible for. Then, Claude Code will expand those into more detailed role definitions for the agents, which you can edit if you wish. And then, you continue doing this until you&#8217;ve defined your whole council.</p><p>Once this is done, it means that you can then ask questions to your whole council of agents. Here&#8217;s an example of what that could look like.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wnLN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wnLN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png 424w, https://substackcdn.com/image/fetch/$s_!wnLN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png 848w, https://substackcdn.com/image/fetch/$s_!wnLN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png 1272w, https://substackcdn.com/image/fetch/$s_!wnLN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wnLN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png" width="1456" height="1647" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1647,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:643745,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.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_!wnLN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png 424w, https://substackcdn.com/image/fetch/$s_!wnLN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png 848w, https://substackcdn.com/image/fetch/$s_!wnLN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.png 1272w, https://substackcdn.com/image/fetch/$s_!wnLN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0816efee-a40a-4218-8024-0ef5207a7e0c_1496x1692.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>Here&#8217;s the output that was achieved from that particular query.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eb_a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eb_a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png 424w, https://substackcdn.com/image/fetch/$s_!eb_a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png 848w, https://substackcdn.com/image/fetch/$s_!eb_a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png 1272w, https://substackcdn.com/image/fetch/$s_!eb_a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eb_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png" width="1456" height="2441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2441,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1179035,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.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_!eb_a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png 424w, https://substackcdn.com/image/fetch/$s_!eb_a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png 848w, https://substackcdn.com/image/fetch/$s_!eb_a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.png 1272w, https://substackcdn.com/image/fetch/$s_!eb_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eca699a-5bc1-47c6-abcf-94f85c8e3ccc_1496x2508.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>For this example, I specified in the query that I wanted just one paragraph of output per agent. However, if you wanted it to generate a detailed report and use one of the more expensive thinking models to do so, and then output that to a file, then the choice is yours.</p><p>And that&#8217;s it: with a small upfront effort, you now have a model of a technical council at your fingertips that can help you quickly interrogate ideas and decisions taking into account the diverse strengths and biases of each of those particular roles. It&#8217;s an incredibly useful tool to have.</p><h3><strong>Creating an executive council</strong></h3><p>Here&#8217;s one that helps me a lot.</p><p>As a CTO, my team is probably the most multi-disciplinary of them all, given that everybody in my executive team runs one of the other functions of the business. I am the only engineer!</p><p>Therefore, in order to help with my own thinking, especially about company-wide issues, having an executive agent council is <em>highly</em> valuable, and improves the kinds of proposals and decisions that I can bring to the group. Essentially, I almost get one or two meetings of iteration on my ideas <em>completely for free</em> (token costs aside) by doing it locally with my agent council.</p><p>In order to create this executive council, I go through the exact same steps but change the role definitions. For example:</p><ul><li><p><strong>CEO</strong>, owning the overall company vision, board relations, strategic direction, and having final decision authority.</p></li><li><p><strong>Chief Product Officer</strong>, covering product strategy, roadmap prioritization, user experience, and feature decisions.</p></li><li><p><strong>Chief Operating Officer</strong>, responsible for operational execution, cross-functional coordination, process efficiency, and delivery.</p></li><li><p><strong>Chief Revenue Officer</strong>, owning sales strategy, pipeline, revenue targets, and go-to-market execution.</p></li><li><p><strong>Chief Marketing Officer</strong>, covering brand, demand generation, market positioning, and customer acquisition</p></li><li><p><strong>Chief Customer Officer</strong>, responsible for customer success, retention, NPS, implementation, and the voice of customer.</p></li></ul><p>Again, depending on what kind of company you work for and who you&#8217;d like to have in your executive council, you may want to switch these roles out for whatever is relevant for you.</p><p>Here&#8217;s an example of the kind of query that you could ask. Let&#8217;s assume that the chat functionality that we were previously thinking about with the technical council is now ready to launch: how do we bring it to market?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fthi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fthi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png 424w, https://substackcdn.com/image/fetch/$s_!Fthi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png 848w, https://substackcdn.com/image/fetch/$s_!Fthi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png 1272w, https://substackcdn.com/image/fetch/$s_!Fthi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fthi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png" width="1076" height="1318" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1318,&quot;width&quot;:1076,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:606050,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.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_!Fthi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png 424w, https://substackcdn.com/image/fetch/$s_!Fthi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png 848w, https://substackcdn.com/image/fetch/$s_!Fthi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.png 1272w, https://substackcdn.com/image/fetch/$s_!Fthi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a63ff9-5540-47eb-a65e-58f9a391e778_1076x1318.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>You can see in the query that I accidentally wrote &#8220;rollout&#8221; twice, which I guess proves to you that these articles are still written by a human.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sjfL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sjfL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png 424w, https://substackcdn.com/image/fetch/$s_!sjfL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png 848w, https://substackcdn.com/image/fetch/$s_!sjfL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png 1272w, https://substackcdn.com/image/fetch/$s_!sjfL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sjfL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png" width="1456" height="1228" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1228,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:620675,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.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_!sjfL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png 424w, https://substackcdn.com/image/fetch/$s_!sjfL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png 848w, https://substackcdn.com/image/fetch/$s_!sjfL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.png 1272w, https://substackcdn.com/image/fetch/$s_!sjfL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90609d9b-2537-438d-8d4c-d0423b3cf1fa_1482x1250.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>What&#8217;s fascinating about our query this time is that Claude Code even asked for input from the user to model the company that we&#8217;re working at. I did not explicitly ask to be given these choices in the setup.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7osZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7osZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png 424w, https://substackcdn.com/image/fetch/$s_!7osZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png 848w, https://substackcdn.com/image/fetch/$s_!7osZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png 1272w, https://substackcdn.com/image/fetch/$s_!7osZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7osZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png" width="1398" height="1318" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1318,&quot;width&quot;:1398,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:666786,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.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_!7osZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png 424w, https://substackcdn.com/image/fetch/$s_!7osZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png 848w, https://substackcdn.com/image/fetch/$s_!7osZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.png 1272w, https://substackcdn.com/image/fetch/$s_!7osZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2cfd28f-e325-47e1-b924-b9fdfa500b47_1398x1318.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>After thinking for a while, I received output that looks like this. There was far more output than could fit in the screenshot, but for each of the executive council members, there are at least three to five interesting points that I know that we need to think through when we discuss it as a real human team.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0oql!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0oql!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png 424w, https://substackcdn.com/image/fetch/$s_!0oql!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png 848w, https://substackcdn.com/image/fetch/$s_!0oql!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png 1272w, https://substackcdn.com/image/fetch/$s_!0oql!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0oql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png" width="1076" height="1794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1794,&quot;width&quot;:1076,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:854284,&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://theengineeringmanager.substack.com/i/177120988?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.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_!0oql!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png 424w, https://substackcdn.com/image/fetch/$s_!0oql!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png 848w, https://substackcdn.com/image/fetch/$s_!0oql!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.png 1272w, https://substackcdn.com/image/fetch/$s_!0oql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe197f9e3-4220-47e0-afdc-cf15c58a8c52_1076x1794.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><h2><strong>Try it yourself</strong></h2><p>I&#8217;ve been finding this council of agents approach really useful for thinking through larger, more strategic plans and also in helping me develop my ideas before I bring them to the human version of the groups they represent. They allow me to do much more asynchronously. And then, when I do connect with my team synchronously, I find that the discussion and ideas that I am bring are more nuanced, considered, and researched.</p><p>So why not try it yourself?</p><p>Experiment with creating your own councils of agents using Claude Code or other tools and frameworks that support them. Get creative and think about ways in which you could improve your programming, your thinking, and your strategic decision-making.</p><p>It&#8217;s also a whole lot of fun as well. What councils of agents will you create?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The beauty of constraints]]></title><description><![CDATA[Having less choice often creates more opportunity.]]></description><link>https://theengineeringmanager.substack.com/p/the-beauty-of-constraints</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/the-beauty-of-constraints</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Tue, 30 Sep 2025 07:02:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/40a276af-e257-4fe7-918c-e71ea99d624f_933x933.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week we are going to take a deep dive into constraints: one of the most powerful tools that you have as a leader to help your team deliver more with less.</p><p>Now, this isn&#8217;t the first time that we&#8217;ve written about constraints, so if you&#8217;re interested:</p><ul><li><p>We looked at <a href="https://www.theengineeringmanager.com/growth/parkinsons-law-its-real-so-use-it/">Parkinson&#8217;s Law</a> back in 2024, which is the classic anti-pattern that occurs when people are given too much time (or no deadline at all) when asked to do something. The result is that work &#8212; like gas &#8212; expands to fill the time available, and yes, we&#8217;ve <em>all</em> been there with our school assignments.</p></li><li><p>We covered the <a href="https://www.theengineeringmanager.com/growth/your-levers-scope-resources-and-time/">iron triangle of project management in 2017</a>, which is the classic model of the three constraints that projects typically have: scope, resources, and time. The idea is that you can only ever optimize two of the three.</p></li><li><p>We more recently explored how <a href="https://www.theengineeringmanager.com/growth/scope-how-about-thoroughness/">scope could be reframed as thoroughness</a> in 2024, since scope alone rarely tells the whole story about what is being delivered.</p></li></ul><p>But this time we&#8217;re talking about constraints as <em>tools</em>. Tools that you wield and can use.</p><p>Discovering places where you can add constraints to your projects is a superpower: it unlocks unconventional thinking, forces people to prioritize ruthlessly, and leads to unexpected and surprising results.</p><p>Let&#8217;s go on a journey together to explore the beauty of constraints. We&#8217;ll start by examining their paradoxical nature.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>The constraint paradox</strong></h2><p>The word &#8220;constraint&#8221; often has a negative connotation. If you asked an average person, being &#8220;constrained&#8221; in general would not be seen as a desirable state. One does not wish to wear a pair of trousers that make them feel constrained.</p><p>However, paradoxically, constraints in engineering can often lead to our best work. The longstanding meme of IT projects being over budget and late is often due to a <em>lack of constraints</em>.</p><p>This is because projects often begin with a forward-facing process of thinking about all of the requirements that a product should have, and then estimating how long it will take to deliver them.</p><p>But the problem is that estimation of large projects (and even small ones) is essentially guesswork. If no constraints are imposed, the result is a project that stumbles along with ambiguous, bloated requirements and timelines. Walking along a path purely defined by what we want, without any constraints, is where it all goes wrong.</p><p>That is because this manner of thinking about projects &#8212; where we think about what we want and then work out how long it will take to get there, then go &#8212; very rarely makes us challenge ourselves to work in unconventional ways. There&#8217;s a difference between traveling a road to explore it and experience it versus trying to deliver a package as quickly as possible.</p><p>And talking of packages, a classic Bezos quote comes to mind here. &#8220;Frugality drives innovation, just like other constraints do. One of the only ways to get out of a tight box is to invent your way out.&#8221;</p><p>Putting oneself in a tight box, paradoxically, will make one execute better. Constraints tend to bring out the best in people.</p><h2><strong>Innovation through constraints</strong></h2><p>This isn&#8217;t just hyperbole, either. There are <em>many</em> great examples of products that achieved innovation through constraints. Here&#8217;s some of my favorites.</p><p>The original Sony Walkman emerged from a focused set of constraints: power, cost and size for portable travel. It&#8217;s worth remembering that at the time, cassette players and home stereos were bulky, imposing hunks of machinery and plastic.</p><p>The engineers were tasked with creating a device that could play music whilst walking and on long flights, which meant innovation in miniaturization, motor efficiency and stability, and headphone design.</p><p>Additionally, the compact form factor constraints dramatically led to stripping back requirements that were standard on home stereos, such as recording capabilities.</p><p>Another example is Twitter, which began with a strict 140-character limit, similar to SMS. This constraint forced users to be concise and creative in their communication. Interestingly, when Twitter expanded the character limit to 280, only 5% of users utilized the additional space, demonstrating how constraints can shape behavior and innovation. Looking at X today, many messages are still short and to the point, showing how the original constraint has had a lasting impact.</p><p>My favourite constraint-driven design story is that of the <a href="https://www.goodreads.com/book/show/955045.Against_the_Odds">Dyson dual cyclone vacuum cleaner</a>. The constraint of a bagless vacuum led to the invention of cyclonic separation on a small scale. It took 5,127 prototypes in James Dyson&#8217;s garden outbuilding to achieve this over many years of toil and no income. However, these constraints brought the first real innovation to vacuum cleaners in decades. Now Dyson is a household name and billion-dollar company.</p><h2><strong>Types of constraints</strong></h2><p>Constraints typically fall into three categories, broadly categorized by the <a href="https://en.wikipedia.org/wiki/Project_management_triangle">iron triangle of project management</a>: scope, resources, and time. I <a href="https://www.theengineeringmanager.com/growth/your-levers-scope-resources-and-time/">wrote about this way back in the early days of this blog in 2017</a>, although my thinking has evolved since then.</p><p>But how?</p><p>Whereas earlier in my career I would consider those three trade-offs typically whilst wearing a project manager hat, I now consider them as categories of constraints that can be purposefully applied to projects in order to encourage teams to deliver more with less.</p><p>So, looking at each corner of the iron triangle, let&#8217;s see along which vectors constraints can be applied:</p><ul><li><p><strong>Scope</strong> is the set of features and requirements that a project is trying to deliver. However, instead of just accepting scope for what it is, great leaders try to ruthlessly cut down scope to shrink a project to the bare essentials. We&#8217;ll look at an algorithm for doing this shortly.</p></li><li><p><strong>Resources</strong> typically means the number of people working on a project, which you can deliberately limit in order to force tough prioritization choices. However, resources can also mean money or other technical constraints, such as cost of infrastructure, or choice of technology. Great leaders will ensure that resources are deliberately limited in order to drive innovation. For example, instead of standing up new search infrastructure, what could you do with a simple database query?</p></li><li><p><strong>Time</strong> is straightforward: <a href="https://www.theengineeringmanager.com/growth/parkinsons-law-its-real-so-use-it/">Parkinson&#8217;s Law</a> tells us that work expands to fill the time available. Therefore, great leaders will encourage teams to set challenging deadlines and use them as forcing functions to keep scope and resources in check.</p></li></ul><p>So the way that I encourage you to look at the iron triangle is not as an accepted set of trade-offs, but instead as a <em>toolkit of constraints</em> that are available to engineering leaders to help their teams deliver more with less.</p><p>At all stages of a project, from the beginning to the end, never accept the status quo. Always ask yourself: &#8220;Can we do this with less scope, less resources, or less time?&#8221;</p><p>So how can you start looking at your projects and seeing whether constraints can be applied?</p><p>Let&#8217;s look at a practical algorithm for doing that which is one of the most repeated themes in <a href="https://en.wikipedia.org/wiki/Elon_Musk_(Isaacson_book)">Walter Isaacson&#8217;s Elon Musk autobiography</a>.</p><h2><strong>The 5-step algorithm</strong></h2><p>I watch <a href="https://www.youtube.com/watch?v=Jgw-_hlFQk4">this video</a> at least once a month as a reminder to question everything that we&#8217;re doing. It&#8217;s a short (1 minute and 29 second) clip of Elon Musk explaining his 5-step algorithm for finding ways to strip projects back to their bare essentials.</p><p>This isn&#8217;t just useful at the beginning of projects. As we mentioned before, estimation is guesswork, and so as projects evolve, it&#8217;s important to continually re-evaluate whether the original constraints are still valid, and if not, change or delete them. Repeated and continual application of this algorithm will help you do that.</p><p>The algorithm touches on all three corners of the iron triangle, inviting you to insert constraints in scope, resources and time.</p><p>Here&#8217;s the algorithm:</p><ol><li><p><strong>Question the requirements.</strong> Musk says that the most common error of a smart engineer is to <em>optimize things that shouldn&#8217;t exist in the first place</em>. He stipulates that smart folk are trained to answer questions, but not to challenge the questions in the first place. So, the first step of the algorithm is to accept that some or all of the requirements are dumb, and they should <em>especially</em> be questioned if they come from a smart person! For each requirement, ensure that it is attributable to a specific person or user need. If not, challenge it ruthlessly. If you can&#8217;t justify a requirement, then it gets deleted with no remorse.</p></li><li><p><strong>Remove unnecessary steps.</strong> Once the requirements have been stripped back to the essentials, look at all of the steps of the project or process to achieve them. Try <em>very</em> hard to delete every step or feature that isn&#8217;t absolutely necessary. In fact, a good rule of thumb is to remove steps until you are <em>forced to put some back in</em>. That&#8217;s when you know that you&#8217;ve found the bare minimum.</p></li><li><p><strong>Optimize.</strong> Now you know that you&#8217;ve stripped the project back to its bare essentials, you can optimize each step. This is where you can apply your engineering skills to make each step as efficient as possible. That could be code optimization, process improvement, or tooling. But remember: the only things that get optimized are the bare essentials that remain.</p></li><li><p><strong>Accelerate time-to-learning.</strong> Next, look at ways in which you can accelerate cycle time, specifically the amount of time that it takes to get something done that you can learn from so you can start your next iteration. What&#8217;s the fastest way to prototype, build, ship, measure and learn? The maxim is that if the timeline is long, it&#8217;s wrong.</p></li><li><p><strong>Automate.</strong> Finally, look at ways of using automation to speed things up. Note that this is the <em>last</em> step. No time should be spent on automating things that shouldn&#8217;t exist in the first place. Musk tells the story of how he automated too early in his factories, resulting in expensive robots needing to be removed because the steps were unnecessary or could be done more efficiently by hand.</p></li></ol><p>Try going through this algorithm with your team on your current project. You&#8217;ll often surprise yourself at how much you can simplify what you&#8217;re doing.</p><h2><strong>Your constraint toolkit</strong></h2><p>Constraints are tools, and as such, you should have a toolkit of constraints that you can use at any time. Below is a non-exhaustive list of tools categorized by scope, resources, and time.</p><h3><strong>Scope constraints</strong></h3><ul><li><p>Use the 5-step algorithm above multiple times during a project to continually re-evaluate scope. Perhaps schedule it weekly or monthly to ensure that your project remains as lean as possible.</p></li><li><p>Use techniques such as the <a href="https://en.wikipedia.org/wiki/MoSCoW_method">MoSCoW method</a> (must have, should have, could have, won&#8217;t have) to further strip back requirements ruthlessly.</p></li><li><p>Explicitly specify a single-sentence &#8220;success condition&#8221; for a project or feature and work backwards from there to ensure that everything is aligned to that goal. Delete <em>any</em> requirements that don&#8217;t align. This increases your cycle time to learn.</p></li><li><p>Tightly constrain the number of features to cover the absolute minimum happy path for the first version. Defer all nice-to-haves and edge cases to future iterations: learning about the happy path is more important than building out the full feature set.</p></li><li><p>Remove configuration options. Lean heavily into sensible defaults that work for the majority of users and only add configuration options later if absolutely necessary. Configurability and optionality causes complexity.</p></li><li><p>Build and ship for one platform first. Don&#8217;t try to launch everywhere for everyone in the first version. Pick a single platform (web, iOS, Android, etc.) and ship that <em>only</em> to learn faster. Once you&#8217;ve learned that what you&#8217;ve built is valuable, you can expand to other platforms.</p></li></ul><h3><strong>Resource constraints</strong></h3><ul><li><p>Limit the size of teams deliberately. It&#8217;s an easy escape hatch for teams to always feel like they need more people. Instead, set the challenge of being resourceful with less. It&#8217;ll force scope constraints, prioritization, and new ways of thinking. Ironically needing to hire more people often makes projects take longer; not only because of the <a href="https://en.wikipedia.org/wiki/The_Mythical_Man-Month">Mythical Man-Month</a> effect, but it takes a long time to ramp up new people (see: <a href="https://www.theengineeringmanager.com/growth/the-contribution-curve/">the contribution curve</a>).</p></li><li><p>Limit costs. If the scope of a project is going to incur high infrastructure costs, challenge the team to find ways of doing it with lower-cost alternatives. This will often lead to new and interesting ways of thinking about the problem than buying more RAM, CPU or instance hours.</p></li><li><p>Limit technology choices. Instead of always reaching for another new technology or service, challenge the team to use what they already have. A huge amount can be done with simple databases, queues, and caches if you think about the problem in the right way, and your existing technology stack already exists and doesn&#8217;t need provisioned or learned.</p></li></ul><h3><strong>Time constraints</strong></h3><ul><li><p>Set challenging deadlines. Instead of asking &#8220;How long will this take?&#8221; ask &#8220;What&#8217;s the fastest we can do this?&#8221; and then work backwards from there. This will often lead to new ways of thinking about the problem.</p></li><li><p>Continually ask &#8220;What would it take to do this in half the time?&#8221; You will be surprised at how many timelines can be dramatically shaved down just by asking this question.</p></li><li><p>Use sub-milestones as forcing functions. For example, having an expected cadence of shipping daily or demoing weekly will force teams to prioritize and shape their work in a different way.</p></li><li><p>Use time-boxed iterations. Instead of open-ended projects, use fixed-length sprints or iterations that yield shipped software or demos to create a sense of urgency and focus.</p></li></ul><h2><strong>Now you try!</strong></h2><p>It&#8217;s over to you: you now have the tools, so give some of these techniques a go.</p><p>At the very least, do the following:</p><ol><li><p>Apply the 5-step algorithm to one of your current projects. Do it as a team exercise and see what you can shave from the requirements.</p></li><li><p>Challenge one timeline by asking &#8220;What would it take to do this in half the time?&#8221; and see what happens.</p></li></ol><p>There are so few leaders that do the above that you&#8217;ll not only be surprised at how much time you can save, but also how much your team will appreciate the challenge.</p><p>Trust me: constraints are your friend.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Going direct]]></title><description><![CDATA[The org chart does not control the flow of communication. In fact, you're faster if you ignore it entirely.]]></description><link>https://theengineeringmanager.substack.com/p/going-direct</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/going-direct</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Sat, 30 Aug 2025 14:07:59 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/15101aa5-ec86-44fa-97f5-960faf9e4fef_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>After a series of posts on LLMs, we're returning to management fundamentals.</p><p>This month, we're building upon the cultural shift that management has experienced recently: smaller, leaner and tighter orgs. We'll build upon concepts from our previous articles: <a href="https://www.theengineeringmanager.com/qa/new-advice-for-aspiring-managers/">new advice for aspiring managers</a>, <a href="https://www.theengineeringmanager.com/growth/should-managers-still-code/">should managers still code?</a>, and <a href="https://www.theengineeringmanager.com/managing-managers/being-in-the-details/">being in the details</a>.</p><p>This article, plus those listed above, reflect a new and expected management style for the current era: more hands-on, detail-oriented, and direct. This shift is driven by <a href="https://www.theengineeringmanager.com/growth/2024-year-in-review/">tighter economic conditions and the push for AI-driven efficiency</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Let's examine the concept of "going direct."</p><h2><strong>What is going direct?</strong></h2><p>Going direct means empowering everyone on your team to communicate openly and directly, without unnecessary intermediaries. This communication can be lateral (peer-to-peer) or diagonal (across different departments and levels), bypassing formal reporting chains.</p><p>Org charts are essential for defining roles, ownership, and facilitating performance management. However, people often mistakenly believe these charts also dictate communication paths, feeling obligated to follow the hierarchy. At best, this requires irritating message-passing. At worst, it dramatically slows down work and fosters bureaucracy.</p><p>An example best illustrates why this is an anti-pattern. Imagine person X in Team A needs to talk to person Y in Team B. These teams are in different departments, led by peer managers M and N, respectively.</p><p>When communication follows the org chart, X must tell their manager, who tells their manager M. M then talks to N (or perhaps even their shared manager) to pass the message down N's reporting line to Y.</p><p>Wow, that was a mouthful.</p><p>As you can see, this is incredibly inefficient. When you read it back, it&#8217;s borderline ridiculous. X should be able to talk to Y directly. Not only should there be no barriers to this, but it should also be actively encouraged.</p><h2><strong>The benefits of going direct</strong></h2><p>The consequences of not going direct extend far beyond annoying message-passing. It implicitly sets a cultural precedent that approval is required for every action. This creates a bureaucratic culture and undermines your team's sense of autonomy and efficacy.</p><p>Furthermore, forcing every decision up the chain can lead to counterproductive behaviors, like hiding or distorting information to secure a sign-off. Over time, staff spend more energy navigating internal politics than on what matters most: building great software (or hardware or toys or cars).</p><p>Going direct has a ton of benefits:</p><ul><li><p><strong>Faster communication and decision-making</strong>. When the people closest to a problem can talk directly, they can make the right decisions quickly amongst themselves.</p></li><li><p><strong>Increased collaboration and knowledge sharing</strong>. It encourages direct collaboration across the organization, building connections, trust, empathy, and shared knowledge.</p></li><li><p><strong>Reduced bottlenecks</strong>. By removing intermediaries, fewer people are needed to make a decision, reducing bottlenecks from communication delays or availability issues.</p></li><li><p><strong>Increased trust</strong>. Allowing staff at all levels to talk to anyone they need signals a high degree of trust and autonomy. Conversely, requiring hierarchical approval implies superiors must ratify every decision.</p></li><li><p><strong>Increased initiative and accountability</strong>. When people are empowered to make decisions directly, they are more likely to take ownership of their work and be accountable for the outcomes.</p></li></ul><p>Managers save time too. As we discussed in the opening of the article, the management landscape has changed. When teams go direct, managers reclaim time to be more hands-on and in the details, which is a win-win for everyone.</p><h2><strong>Putting guardrails in place</strong></h2><p>So far, so good. We want our staff to go direct whenever they need to. The reasons are clear.</p><p>However, if you're going to implement a culture of going direct (and you certainly should) you must put appropriate guardrails in place. These clarify <em>how</em> to go direct and when to revert to hierarchical communication.</p><p>When you announce this cultural shift to your team, it's crucial to establish these guardrails upfront. You should:</p><ul><li><p><strong>Clarify decision-making authority</strong>. Define who has the authority to make certain decisions. The goal should be to maximize the number of decisions that don't require management approval. Spell these out with examples related to your organization, such as prioritizing tasks, defining feature specifications, or architecting code.</p></li><li><p><strong>Clarify when to seek approval</strong>. Conversely, define situations where approval is necessary. It also helps to provide examples. Frame these as "one-way door" decisions: choices that are difficult to reverse or that carry significant risk, such as potential downtime or exposure to security vulnerabilities. These types of decisions <em>should</em> be escalated up the management chain, or to the right group of domain experts.</p></li><li><p><strong>Establish a process for sharing decisions</strong>. As more decisions are made locally, you need a system for documenting and sharing them with the wider organization. This could be done through regular written broadcasts or dedicated decision logs.</p></li></ul><p>With these guardrails in place, you must also lead by example. Practice going direct yourself to show the organization what it looks like and why it&#8217;s beneficial.</p><p>You can do this by having skip-level meetings, talking to your engineers directly about their work (because <em>you</em> are in the details), and encouraging people to come direct to you with anything on their mind at any time (see: <a href="https://www.inc.com/jessica-stillman/want-to-be-a-better-leader-next-year-steal-jensen-huangs-top-5-emails-system/91066948">Jensen Huang's "top 5 things" practice</a>).</p><p>Additionally, always provide positive reinforcement when people go direct. This can be one-on-one praise or public recognition for a team that resolves blockers quickly or delivers at a fast pace. Call it out, give praise, and ensure that everyone knows that this is the right way to operate.</p><h2><strong>Some examples</strong></h2><p>With the reasoning and guardrails in place, let's look at some examples.</p><p>Imagine a direct report asks if someone from another team can help with a task. This is a great opportunity to encourage them to go direct. You could say:</p><blockquote><p>"I'd recommend you ask them directly. If you don't make progress, or if it turns out the decision is a one-way door, then loop me in."</p></blockquote><p>Similarly, if you detect an issue that could be solved by direct communication, reinforce the principle. For example, if you were asked:</p><blockquote><p>"Can you help me unblock this ticket? We're waiting on a code review from the widget team."</p></blockquote><p>You could respond with:</p><blockquote><p>"Have you asked them directly to prioritize it? Let me know if you don't get a response."</p></blockquote><p>As you shift the company culture, you'll find yourself repeating these responses. This is a good thing; you're reinforcing the right behavior. Over time, people will message you less and resolve more issues themselves.</p><h2><strong>Coaching everyone on how to go direct</strong></h2><p>Simply telling direct reports to "go direct" isn't enough. As a manager, your role is to equip your whole department with the tools to do it effectively so they build bridges, not friction. When people feel confident in their ability to communicate, they are far more likely to take the initiative and sort problems out themselves.</p><p>So coach them to make their requests easy to answer. A poorly phrased request creates more work for the recipient and is likely to be ignored. Encourage them to follow a simple structure: <em>context, problem, and a clear ask</em>.</p><p>Compare these two ways, the latter using that approach:</p><ul><li><p><strong>The ineffective way</strong>: "Hey, can you look at the widget API? It&#8217;s not working." This message is vague, lacks context, and forces the recipient to start a fact-finding mission.</p></li><li><p><strong>The effective way</strong>: "Hi Alex, hope you're having a good week. I'm on the new reporting dashboard, and I'm seeing a 502 error when I call the <code>/widgets/summary</code> endpoint. This is blocking me from finishing my ticket. Could you point me to the right person on your team who knows about this endpoint? Thanks!" This is perfect. It provides context, defines the problem, and has a specific, low-effort ask.</p></li></ul><p>Next, establish the etiquette. Encourage a "public by default" mindset. If a question isn't sensitive, asking it in a shared channel like <code>#team-widgets</code> instead of a DM means others can learn from the answer, and it doesn't get lost if one person is unavailable. Remind your team that "direct" doesn't mean "instant." Everyone is busy, so they should send their message and move on to another task.</p><p>Finally, give staff a simple escalation path. I often tell my team to follow up once, politely, later in the day if they haven't heard anything (and assuming the person is not on vacation). If they&#8217;re still blocked after that, it&#8217;s no longer a communication issue; it&#8217;s down to priorities. That is the perfect time to offer your own assistance, perhaps by looping in their manager too.</p><h2><strong>Things to look out for</strong></h2><p>Be mindful of a few potential issues as you encourage direct communication.</p><p>First, some managers may feel uncomfortable. They might feel out of the loop, especially if they're used to bureaucratic environments where they are involved in every step of every decision. </p><p>The solution isn't to reinstate that communication chain. Instead, encourage those managers to <a href="https://www.theengineeringmanager.com/managing-managers/being-in-the-details/">be so in the details</a> that they already know what's happening. If a manager is sufficiently in the details, no decision should catch them off guard. If it does, work with them on improving their awareness and involvement.</p><p>Second, watch for people currying favour. A common example is a team member who constantly goes to a specific senior manager because they know that leader is biased towards their opinions. In this scenario, the senior manager must ensure that no special treatment is given.</p><p>Coach leaders that their decisions <em>must</em> align with the company's mission and values, not individual favoritism. This prevents back channels that subvert company priorities (e.g., prioritizing work due to a favorable relationship), which you will need to course-correct immediately.</p><p>And remember, you'll need to follow exactly the same advice if particular individuals always come to you.</p><h2><strong>So, go direct</strong></h2><p>Going direct is an essential tool in an age of flatter hierarchies and hands-on, detail-oriented managers. Autonomous organizations always go direct, knowing when to escalate important or "one-way door" decisions.</p><p>By fostering the right culture, you create an environment where going direct is the norm. Your staff will feel empowered to communicate openly, enabling you to move faster than your competitors. As a leader, your job is to set the guardrails and cultural tone that empower everyone while ensuring they know when to escalate.</p><p>When done right, you'll not only move faster but also free up significant time to focus on more impactful, strategic work, or even get your hands dirty in the code. You don't have to be just a message queue.</p><p>So, go direct. The org chart does not control the flow of communication. In fact, you're faster if you ignore it entirely.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Leadership co-processing with LLMs]]></title><description><![CDATA[With a bit of creativity, you've got an amazing assistant.]]></description><link>https://theengineeringmanager.substack.com/p/leadership-co-processing-with-llms</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/leadership-co-processing-with-llms</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Thu, 31 Jul 2025 07:01:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Is2O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f4dc3c-8c75-492c-90cf-ffeaaa8095af_501x501.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the last few months, I've been writing about a number of factors that AI &#8212; specifically LLMs &#8212; are changing the way the role of management works. If you haven't read the previous posts, then they are as follows, in descending order of publication:</p><ul><li><p><a href="https://www.theengineeringmanager.com/qa/new-advice-for-aspiring-managers/">New advice for aspiring managers</a>, which covers how the cultural shift in our industry is changing the way we think about management and how aspiring managers should adapt to that change.</p></li><li><p><a href="https://www.theengineeringmanager.com/growth/a-bag-of-worries-tackling-overwhelm-with-llms/">A bag of worries: tackling overwhelm with LLMs</a>, which is a technique I've been using to help me manage my own never-ending to-do list by offloading some of the cognitive load of prioritization to an LLM.</p></li><li><p><a href="https://www.theengineeringmanager.com/managing-managers/a-weekly-mind-meld/">A weekly mind meld</a>, which uses some LLM assistance to communicate weekly with my department.</p></li><li><p><a href="https://www.theengineeringmanager.com/managing-managers/llms-an-operators-view/">LLMs: an operator's view</a>, the original post in this series, which covers some of the cultural change addressed in the first post in this list, and how code review and hiring are also changing.</p></li></ul><p>I'm always trying to find new ways to use LLMs because it's both useful and a lot of fun. One of the unsurprising elements of being a CTO is that the buck stops with me when it comes to decisions about my engineering department, so I've been leaning more on LLMs to help me evolve my thinking, challenge my assumptions, and make better decisions.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I thought I'd write up some of the ways that I've been doing that in the hope that it might help other engineering leaders to do the same.</p><p>Effectively, I now think of LLMs as a co-processor for my brain. It isn't always correct or even trustworthy, but in practice it always puts momentum behind my thinking, and often helps me to see things from a different perspective.</p><p>Here's what we'll cover in this post:</p><ol><li><p><strong>Prompting</strong>: using LLMs to help me think through problems.</p></li><li><p><strong>Pair prompting</strong>: using LLMs to help me work on solutions with a human partner.</p></li><li><p><strong>Deep research</strong>: challenging myself to look deeper into a problem than I might otherwise do.</p></li><li><p><strong>Contrarian thinking</strong>: using LLMs to help me explore alternative perspectives and challenge my assumptions.</p></li><li><p><strong>The executive assistant</strong>: breaking through organizational stalemate by having the LLM tell me what to do.</p></li><li><p><strong>The coach and sounding board</strong>: using LLMs to help me think through my own feelings and reactions to situations.</p></li></ol><h2><strong>Prompting</strong></h2><p>Although it may seem beyond obvious in 2025, I still believe that many leaders are not using just simple prompting to help them think through problems.</p><p>I believe that some of this comes from habit; that is that they've spent potentially decades thinking through problems on their own or in front of a blank page, so the new habit of injecting momentum into their thinking with an LLM is not yet second nature.</p><p>I also think that some of it comes from a lack of understanding of how to use LLMs effectively. If you are reading this and you think that applies to you, then Andrej Karpathy's <a href="https://www.youtube.com/watch?v=EWvNQjAaOHw">How to use LLMs</a> video is a great overview with plenty of examples, including how the "zip file of the internet" works.</p><p>The way I trained my own habit of using simple prompting more was to have my LLM open in a thin browser window (about one-sixth width) on the left-hand side of my screen so that it was always visible. That forced me to use it. I've seen others do similar things, like even having a post-it note that says "what would AI do?" to remind them to use it.</p><p>Now that at the time of writing most LLMs can search the internet for real-time information, there's a ton of value from simple prompting, as LLMs are getting good enough to be an infinitely patient partner, from searching the web and summarizing information.</p><p>I won't enumerate over every single way that you might use simple prompting to help your thinking, but I will highlight the learning that I've taken away from it. This is an observation about myself rather than something grounded in proven neuroscience; however, I notice that I have a bias to the following behaviors:</p><ul><li><p><strong>My brain tends to be fast, solution-oriented, and optimizes for speed of thought</strong>. This means that I often jump to conclusions, and I can miss important details. When using LLMs, I find that I can both slow down my <a href="https://www.theengineeringmanager.com/qa/how-do-i-get-better-at-writing/">thinking by writing</a> and also open myself to other options since LLMs will often suggest alternatives that I might not have thought of, even if I don't agree with them.</p></li><li><p><strong>The act of writing reveals more layers of depth than making a snap judgement</strong>. When I take the time to articulate my thoughts, I often uncover nuances and complexities that I hadn't considered before. These can come both from myself and from the LLM, especially when asking it to be contrarian, as we'll see later.</p></li><li><p><strong>Because LLMs greatly reduce the friction of research, I find myself going deeper into topics than I would have otherwise</strong>. This is a great way to avoid the <a href="https://www.theengineeringmanager.com/growth/mount-stupid/">Dunning-Kruger effect</a> where I might otherwise have thought I knew enough about a topic to make a decision, but in reality I didn't. A simple additional prompt to the LLM to "tell me more", "what else should I know?" or "what do other people say online about this?" can help me to avoid that trap.</p></li></ul><p>Just remember that you get out what you put in, so the more effort you put into your prompts, the more you'll get out of the LLM. If you ask a simple question, you'll get a simple answer. If you ask a complex question, you'll get a complex answer.</p><p>If you're struggling with getting good answers from your LLM, then check out the one of my previous posts which shows you <a href="https://www.theengineeringmanager.com/growth/a-bag-of-worries-tackling-overwhelm-with-llms/">how to use existing detailed prompting guides into reusable Gems/GPTs/equivalents</a> to help you get better results.</p><p>In short, get your LLM open on your screen at all times and every time you need to think through a problem, or answer a non-trivial question, ask it for help. I found that within a couple of days, this became second nature and improved my thinking and decision-making significantly.</p><p>For example:</p><pre><code><code>You are an AI assistant acting as a highly experienced Technical Advisor to a Chief Technology Officer (CTO). Your primary goal is to efficiently process and synthesize technical communications from engineering teams.

Your task is to analyze raw Slack message threads from engineers, identify key technical discussions, problems, and proposed solutions.

For each provided Slack message thread, perform the following steps:

1.  **Summarize the Core Technical Issue:** Provide a concise summary (1-2 sentences) of the central technical problem or discussion point being addressed in the thread. Focus on the 'what' and 'why' from an engineering perspective.
2.  **Identify Root Causes/Key Factors (if discernible):** Based on the discussion, extract any explicitly mentioned or clearly implied root causes, contributing factors, or critical dependencies. List these as bullet points.
3.  **Extract Proposed Solutions/Action Items:** Identify all suggested solutions, workarounds, or next steps discussed by the engineers. List these clearly. If multiple solutions are debated, briefly note the pros and cons discussed for each.
4.  **Recommend a Strategic Solution (as a CTO's Advisor):** Based on the technical context and common industry best practices, recommend the most viable or impactful solution from the proposed options, or suggest a new, high-level strategic direction if the existing ones are insufficient. Justify your recommendation briefly, considering factors like technical feasibility, potential impact on system stability, resource allocation, and alignment with business objectives. If immediate action is required, highlight it.

Ensure your output is structured clearly, prioritizing actionable insights and high-level summaries for quick review by a CTO. Maintain a professional, analytical, and solution-oriented tone.

[INSERT SLACK MESSAGE THREAD HERE]
</code></code></pre><h2><strong>Pair prompting</strong></h2><p>The next step in prompting is involving another human. This is a technique that I call "pair prompting", and it can be done both synchronously and asynchronously. The asynchronous approach I specifically learned about on a podcast episode of <a href="https://stratechery.com/">Stratechery</a>, as Ben Thompson uses that technique with his research assistant.</p><p>Pair prompting is just like pair programming, but with an LLM as the third member of the team. The idea is that you and your partner can use the LLM to help you both think through a problem together, and it can help you to see things from a different perspective.</p><p>If you're doing this synchronously then you can do it over a video call or in person. However, the utility of the LLM really shines in asynchronous pair prompting, and Ben Thompson's approach is a great example of that. He mentioned that prior to using LLMs, he would ask his research assistant to explore a topic and then write up a summary of their findings. The input and output of that process would be documented (the instruction and the document).</p><p>Now, with LLMs, since the link can be shared to a prompting session to allow for collaboration, not only is the input and output documented, but the <em>entire thinking process</em> is documented as well.</p><p>What this means is that if you've tasked one of your teams to go and explore how a feature should be built, by using pair prompting, or even just sharing the link to the LLM session, you can see the entire thought process that they went through, add your own thoughts to it, or see whether any of the assumptions that they made were incorrect.</p><p>This is a highly underused technique that exploits how LLMs need their context window (since every call to an LLM is the whole context of the conversation), and it allows you to see the entire thought process that your team went through, rather than just the final output.</p><p>Next time you need to think through a solution with a colleague, try using an LLM as a conduit for your discussion. You get the input, the output, and importantly, all of the thinking in between.</p><p>Here's a prompt that could form a template to start a pair prompting session:</p><pre><code><code>You, as the AI assistant, will facilitate a pair prompting session between a Chief Technology Officer (CTO) and a Senior Engineer. The primary objective of this session is to collaboratively research and outline architectural considerations, technology stacks, and key features essential for building a scalable and robust chat application.

Throughout our discussion, after each significant point or decision, please provide a concise "Session Summary" that captures the essence of our findings, decisions, and the reasoning behind them. This will serve as a living document of our thought process for others to review.

Each "Session Summary" should include the following sections:

Key Discussion Points: Main topics covered.

Decisions Made: Conclusions or choices reached (if any).

Rationale: The reasoning or justification for these decisions.

Next Steps/Open Questions: What needs to be explored next or what questions remain.

Let's begin by exploring the fundamental architectural patterns suitable for chat applications. Please outline common patterns like client-server, peer-to-peer, and hybrid models, and highlight their respective pros and cons in the context of real-time communication.

Remember, this is a collaborative research session. Your role is to guide our discussion, provide comprehensive information, and facilitate a clear, documented thought process.
</code></code></pre><h2><strong>Deep research</strong></h2><p>From talking to people in my network, the deep research functionality of LLMs is still underused. I think that this is partially because it takes a long time for deep research reports to be generated, which means that you need a good prompt to start with, and the output can be highly verbose, but this is definitely improving with time.</p><p>My own predominant usage of deep research as a CTO has been to help me explore what's going on in the wider world and industry so I can synthesize that information into a coherent application for my own organization.</p><p>All of these deep research usages replace situations where I would have spent a ton of time searching the internet and reading articles. In a way, it does for my thinking what trusted review sites do for product research: something like <a href="https://www.whatcar.com/">What Car?</a> for my brain.</p><p>I looked through my own LLM history and looked at the things that I've used deep research for, and they include:</p><ul><li><p>Seeking opinions on the best way to organize out-of-hours support, including what the legal implications could be in different countries for employment contracts and additional hours worked.</p></li><li><p>Getting a deep dive into what competitors may be doing in particular areas, and seeing whether a product idea that we have is already being done by someone else.</p></li><li><p>Getting ideas on how to improve our incident response process, including what other companies do and how they handle incidents, and software recommendations.</p></li><li><p>Exploring potential new markets or customer segments for our products, including what the competitive landscape looks like and what the key trends are.</p></li></ul><p>All of these are things that would have taken me hours to do thoroughly, and deep research allows me to fire off a request, go and do something else, and then read it when it's ready.</p><p>Similar to needing to push oneself into the habit of using simple prompting regularly, using deep research will also take some time and effort to fit into your own routine. We've never had research assistants before, so we need to train ourselves to remember to use them often and to use them effectively.</p><h2><strong>Contrarian thinking</strong></h2><p>We all have biases, and we all have blind spots. LLMs are great at helping us actively explore them and to challenge our assumptions.</p><p>I like to employ an LLM as a contrarian thinker whenever I need to make a controversial decision or ensure that what I am thinking is not just a confirmation of my own biases.</p><p>This works for pretty much anything, and it helps me feel more confident in my decisions, especially when I know that I have considered the alternatives.</p><p>Here's a prompt that might help you to get started with contrarian thinking:</p><pre><code><code>As a Chief Technology Officer, I need a rigorous evaluation of my proposed strategies. Act as a highly critical and contrarian advisor, whose primary objective is to identify flaws, challenge assumptions, and present alternative viewpoints to any argument I present. Your responses should be structured as follows:

Re-state my argument concisely: Confirm your understanding of the core point I am making.

Identify underlying assumptions: Pinpoint any unstated assumptions that my argument rests upon.

Present the contrarian view: Offer a directly opposing or alternative perspective, supported by logical reasoning or potential counter-evidence.

Highlight potential risks or weaknesses: Detail any vulnerabilities, oversights, or negative consequences that my argument might entail.

Propose alternative solutions or considerations: Suggest different approaches or factors I might not have considered.

Maintain a professional yet assertive tone. Do not agree with my statements unless you have exhausted all possible contrarian angles. Focus on constructive criticism to foster robust decision-making. My argument is: [INSERT YOUR ARGUMENT HERE]"
</code></code></pre><p>Give it a go whenever you have to decide something big or controversial. It really helps.</p><h2><strong>The executive assistant</strong></h2><p>In the same way I've never had a research assistant, I've never had an executive assistant &#8212; the sort of person who can help me to manage my time, my priorities, and my tasks.</p><p>I am definitely guilty of not taking the time to critically look at everything I need to do in my day, and using an LLM as an executive assistant can help me to break through that organizational stalemate.</p><p>There's also some odd cognitive trick with being told how to structure your day rather than structuring it yourself that makes you take it more seriously. I think that this is because it feels like an external authority is telling you what to do, rather than you just making it up yourself.</p><p>If you're going through particularly busy periods, then taking a few minutes to write to the LLM about what's on your plate and asking it to help you prioritize can be a great way to get some clarity and focus.</p><p>For example:</p><pre><code><code>I am an Engineering Manager. Here's a raw list of my tasks for today, along with my calendar:

Meetings: 9 AM - Standup, 10 AM - 1:1 with Alex, 11:30 AM - Product Sync, 3 PM - Architecture Review.

Tasks: Review PR for new payment gateway, Draft Q3 OKRs for my team, Prepare feedback for Alex's performance review, Respond to urgent security vulnerability email, Research distributed tracing tools, Update project status for stakeholders, Block out focus time for coding (if possible).

Context: The security vulnerability is critical and needs a response by end of day. Alex's 1:1 is important for career development.

Given this, help me structure my morning (8 AM - 12 PM) to maximize productivity. Prioritize tasks, suggest blocks for focused work, and identify any conflicts or areas where I might need to delegate or defer. Also, recommend a single most important task for me to tackle first thing.
</code></code></pre><p>Yes, there are tools that can do this for you, but you can go a long way with just a simple prompt.</p><p>Similarly, even though tools like <a href="https://www.granola.ai/">Granola</a> exist, you can use a plain prompt to help digest what you should do after meetings given your notes or a recorded transcript.</p><pre><code><code>Here are my raw notes from a 90-minute architecture brainstorming session. Please read through them and extract:

Key decisions made (e.g., 'We will use Kafka for async messaging').

Clear action items, including who is responsible and a rough due date if mentioned (e.g., 'Sarah to research Kafka cluster sizing by Friday').

Open questions or topics that need further discussion.

Any technical risks identified.

Notes:

scribbled details about API Gateway options

discussion on database sharding strategy - leaning towards range sharding but some concerns about hot spots

Sarah mentioned looking into Kafka for event bus, seems promising, maybe by end of week?

need to decide on observability stack - Prometheus + Grafana or DataDog?

John brought up data consistency issues with eventual consistency model

agreed to use GraphQL for public API

next meeting for deep dive on database sharding next Tuesday

urgent: security review of data encryption at rest - assigned to platform team
</code></code></pre><p>This will help you to get the most out of your meetings and ensure that you don't forget anything important.</p><h2><strong>The coach and sounding board</strong></h2><p>Finally, sometimes we all need some support. LLMs can be a great sounding board for your own thoughts, feelings, and reactions to situations.</p><p>For example:</p><pre><code><code>I've just been informed that a significant re-organization is coming to our department in the next 4-6 weeks, and some of my team members will be transitioning to new teams or roles. I want to ensure I lead my team through this change as effectively and empathetically as possible, minimizing disruption and maintaining morale.

Act as my personal executive coach. Ask me probing questions that help me anticipate potential challenges and formulate a proactive strategy for communication and support before the reorg is officially announced. Focus on:

- My initial communication strategy to the team (pre-announcement and post-announcement).

- How I can best prepare to address team members' anxieties, uncertainties, and potential resistance.

- Specific actions I can take to support those transitioning and those remaining.

- My own emotional preparedness for leading through this period of change.

Start by asking me the first question, and I will respond.
</code></code></pre><p>The key here is in specifying up front how the LLM can coach you, and how to structure the conversation as a two-way dialogue. Feel free to adapt the prompt to your own needs at a given time.</p><h2><strong>Summary</strong></h2><p>I still believe that we are underusing LLMs in our day-to-day work as managers and leaders. Partially this is because they require some upfront effort and creativity to get the best out of them.</p><p>I've been trying hard to overcome these creativity blocks to find ways to improve my thinking, reasoning and effectiveness as a leader, and I hope that some of the techniques I've shared here will help you to do the same.</p><p>If you've got any of your own cool ideas and prompts, I'd love to see them.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theengineeringmanager.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The Engineering Manager is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>