<?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>Sun, 05 Apr 2026 14:00:09 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[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><item><title><![CDATA[New advice for aspiring managers]]></title><description><![CDATA[Yes, it's different. But we still need you.]]></description><link>https://theengineeringmanager.substack.com/p/new-advice-for-aspiring-managers</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/new-advice-for-aspiring-managers</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Mon, 30 Jun 2025 20:30:08 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>I had a conversation with a colleague the other week who is interested in moving into management. It was during this conversation that I realized just how different my advice is now compared to even a few years ago, so I thought it would be worth writing down and sharing more broadly.</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>What hasn't changed</strong></h2><p>Before getting into everything that <em>has</em> changed, I wanted to point out something that is still important and true: the world needs more great leaders.</p><p>It is something that I believed when I thought I'd give the job a shot myself many years ago, and it is the reason that my books and this newsletter exist (especially when I write it <em>right</em> up to the deadline...)</p><p>Managing teams is hard but can be incredibly rewarding. It gives you the opportunity to help people grow, succeed, and be happy. It lets you build great products that you couldn't build alone. And, over time, as you look back at all of the people that you mentored and see how they've all gone on to do great things, it can be one of the most fulfilling things you can do in your career.</p><p>So, there is a place for you in management if all of that sounds appealing to you. But the manner in which you will do it, and the environment that you will be doing it in, is <em>very</em> different.</p><h2><strong>Companies reflect the world around them</strong></h2><p>Managers exist within a new world. A lot has changed. We've been though a pandemic, a recession, and for the first time in a long time, interest rates are high and there is far less cheap capital for companies to use in the form of investment or credit.</p><p>For anyone that got into management in the last 15 years, fiscally, it couldn't be more distinct. Over the <a href="https://en.wikipedia.org/wiki/Zero_interest-rate_policy">ZIRP</a> period, cheap capital meant plenty of investment into technology companies, and that meant a lot budget and a lot of hiring.</p><p>Lots of hiring needs lots of managers, and that meant that there were <em>plenty</em> of opportunities for people to make the switch, and it was a safe environment to do so: all these new people needed to report to someone, after all.</p><p>Fast forward to today, after years of post-pandemic layoffs, you can see a number of key differences:</p><ul><li><p><strong>Managers have been <a href="http://gadallon.substack.com/p/the-great-flattening-why-companies">specifically targeted</a> in reporting on major tech layoffs.</strong> The term "flattening" has entered the vernacular, meaning that companies are looking to reduce the number of managers and layers in the organization.</p></li><li><p><strong>Related to the above, there is a lot more scrutiny on the value that managers provide.</strong> Despite hiring flurries creating management roles in the first place, managers are now being asked to justify their existence.</p></li><li><p>And, following that, the wave of new AI tooling that can make engineers more productive is making companies optimize for either having <strong>fewer people do more work, or for more individual contributors than managers to increase raw output</strong>.</p></li></ul><p>Now, back to the premise of this article: yes, it is still possible to get into management. But the environment is more challenging and you <em>really</em> need to be invested in it to succeed.</p><h2><strong>Growth is expanding impact, not headcount</strong></h2><p>Whereas the previous focus of managers was to rapidly hire and scale their teams, today's focus is on expanding <em>impact</em>. This is because in today's macroeconomic environment, output is key.</p><p>In the eyes of a 2025 company, the more that you can do with fewer people, the better. There are very few additional people to go around, so the focus is on how you can help your team do more with less.</p><p>This may have some consequences for the new manager:</p><ul><li><p><strong>They may not be able to hire as many people as they would like, or at all.</strong> This means that they will need to focus on how to get the most out of their existing team.</p></li><li><p><strong>They will likely need to remain more hands-on with their smaller team, rather than fully delegating work to others.</strong> I wrote about this before in an article titled <a href="https://www.theengineeringmanager.com/managing-managers/being-in-the-details/">Being In The Details</a>. You don't become a manager to become hands-off in 2025: that's a surefire way to be seen as underperforming.</p></li><li><p><strong>As a result of the above, the </strong><em><strong>pure</strong></em><strong> (fully delegated) manager may not even be a thing any more in front-line teams.</strong> Thus, managers are often more of a hybrid role, where they are still doing some of the work themselves, while also managing others.</p></li><li><p><strong>If new managers are expecting to grow to a Director or VP role, they may need to adjust their expectations.</strong> The path to those roles is still there, but it is going to be a lot harder and take longer than it did in the past. In the same way that there are only 20 Premier League managers, there are only so many senior roles to go around, and they are being created far less frequently than they were before.</p></li></ul><p>So, to the new manager: do it if you are happy to be hands-on and focused on running one team for some time. If you are going to be disappointed that you can't make VP in two years, then maybe now isn't the right time for you to make the switch.</p><h2><strong>Efficiency is the new growth</strong></h2><p>In a capital-constrained environment, the focus is on <em>efficiency</em>. Whereas a growth-mode manager may have had a primary focus on hiring and coaching, now engineering managers are expected to be all-in on efficiency.</p><p>This means optimizing processes, eliminating bottlenecks, shipping quickly, and maximizing the productivity of their developers.</p><p>Efficiency is proven though measurement, so new managers should expect that they will need to be able to measure the output of their team in ways that they may not have had to before.</p><p>This can span operational measurements such as <a href="https://en.wikipedia.org/wiki/DevOps_Research_and_Assessment">DORA metrics</a> through to strategic measurements via OKRs or KPIs.</p><p>The more that you can measure, the more that you can optimize, and the more that a manager be sure that they are providing value to the company. This is a good thing to be able to do.</p><p>Quantitative measurements are essential: new managers should have the conversation straight away about how they will be measured, and therefore what the expectations are for them and their team.</p><h2><strong>Headcount is a liability until proven otherwise</strong></h2><p>Whereas new hires flowed liberally in the past, meaning that future roadmaps were built on the assumption that more people would be available to do the work, today, headcount is <em>heavily</em> scrutinized.</p><p>This means that every single new hire needs to be justified, and the manager needs to be able to show that they can get the most out of their existing team before they can even think about hiring more people. <a href="https://www.wsj.com/tech/ai/shopify-says-no-new-hires-unless-ai-cant-do-the-job-81c34f1e">Some companies have even stated that managers will have to justify that AI can't do the work before they can hire a new person.</a></p><p>Headcount scrutiny equally affects existing team members. Given the financial constraints, managers are expected to be proactively raising the bar on their team, and that those that are not performing at the expected level will need to be let go to make room for new hires. I wrote about this in a previous article: <a href="https://www.theengineeringmanager.com/managing-managers/performance-management-the-rising-tide/">Performance Management: The Rising Tide</a>.</p><p>The skeptical reader may be thinking "surely this is no different than before?", but the reality is that it is: performance management expectations now are <em>far</em> higher than they have been in the past. During ZIRP, the member of staff who's performance was on the fence of acceptable was often tolerated, and now they certainly are not.</p><p>If you are aiming to be a new manager, realize that the unsexy part of the job isn't something you need to deal with once a year: it's something that you will feel the pressure to do all of the time, else <em>you'll</em> be the underperformer.</p><h2><strong>Scrappy is back in fashion</strong></h2><p>Being entrepreneurial and scrappy is now essential. It goes hand in hand with the efficiency focus, but it is also a mindset that is increasingly expected of those leading teams.</p><p>Your company will want you and your team to be able to show progress and value as quickly as possible, likely every single week.</p><p>This means:</p><ul><li><p><strong>Building prototypes and MVPs to show value quickly, rather than waiting for a fully polished product.</strong> The urge for executives to <em>see something</em> as proof of progress has never been higher, especially when you can vibe code a prototype in a few hours.</p></li><li><p><strong>Cutting scope aggressively to ship as soon as possible.</strong> We're back in a zero-waste environment, so continually ask yourself "what is the minimum that I can ship to deliver value?" and then do that.</p></li><li><p><strong>Debates about the "right" way to do things hold little value:</strong> instead, show progress. Show a prototype, some code, or a demo. Create rather than debate.</p></li><li><p><strong>Acting as an operator, not just a manager.</strong> Think of your team has a small business unit, and you are the CEO. You need to be able to make decisions quickly, pivot when necessary, and show results. Pointing at others in the company as a reason why you can't do something doesn't cut it: do it yourself, or find a way to get it done.</p></li></ul><p>This can be either good or bad for a new manager: I know many people who <em>love</em> operating in this manner, and they'd certainly enjoy getting into management now. However, I equally know many people who have a different style, and they may find today's environment a lot more challenging.</p><h2><strong>AI is now table stakes</strong></h2><p>The final key piece of advice that I would give to new managers is that use of AI is now <em>required</em>.</p><p>Of course, this isn't particularly surprising given where we are in 2025, but importantly, as a manager you will be <em>expected</em> to increase and optimize the use of AI in your team.</p><p>What this means is that you will need to:</p><ul><li><p><strong>Ensure that all of your engineers are using AI</strong> in their workflows, both from use of prompting to improve research, thinking and decision making, to using AI to accelerate the production and testing of code.</p></li><li><p><strong>Be able to measure the impact of AI</strong> on your team's productivity, and be able to show how it is improving output. This may mean that you need to track metrics such as time saved, code quality improvements, or reduced cycle times; this was covered in the efficiency section above.</p></li><li><p><strong>Be able to coach your team on how to use AI effectively</strong>, which means that <em>you</em> need to be able to use it effectively yourself.</p></li><li><p><strong>Be creative in how you use AI in your own work.</strong> I wrote a few previous articles on this, such as <a href="https://www.theengineeringmanager.com/managing-managers/llms-an-operators-view/">LLMs: An Operator's View</a>, <a href="https://www.theengineeringmanager.com/managing-managers/a-weekly-mind-meld/">A weekly mind meld</a>, and <a href="https://www.theengineeringmanager.com/growth/a-bag-of-worries-tackling-overwhelm-with-llms/">A bag of worries: tackling overwhelm with LLMs</a>. Get creative and inspire your team.</p></li><li><p><strong>Likely treat AI skeptics as underperformers.</strong> Although it makes me feel somewhat uncomfortable writing this, there really is no place for people who refuse to use AI in today's software engineering roles: it is evident that productivity is significantly higher when it is used, and so it is a key part of <em>your</em> job to ensure that your team is using it effectively.</p></li></ul><h2><strong>So, do you still want to be a manager?</strong></h2><p>Remember, and I said it at the start: the world needs more great leaders, and if you want to do it, I'm sure that you can. The issue is that the world has changed outside of our control, so we have to adapt and operate differently.</p><p>If you're excited by the prospect of being scrappy, hard on performance, resourceful and able to do more with less, and want to help teams level up in their use of AI, then maybe now is a good time for you to make the switch. After all, if an opportunity presents itself, remember that these opportunities are <em>far</em> rarer than before.</p><p>Best of luck.</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[A bag of worries]]></title><description><![CDATA[Tackling overwhelm with LLMs.]]></description><link>https://theengineeringmanager.substack.com/p/a-bag-of-worries</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/a-bag-of-worries</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Sat, 31 May 2025 20:53:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b123e39a-3ab0-4454-aa6e-cb089a576d49_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this issue of the newsletter, we get creative with LLMs in order to overcome the mental block of having a ton of things to do.</p><div><hr></div><h4>Brought to you by:</h4><ul><li><p><strong>Volv</strong> delivers the most breaking and interesting news in 9-second reads. No fluff&#8212;just sharp, credible facts. You might even find some of my writing on there. <strong><a href="https://volvmedia.onelink.me/I4au/rqdkp2gh">Download Volv</a></strong>&#8212;free, fast, no clutter.</p></li></ul><div><hr></div><p>If you've had periods in your leadership journey where you feel like you're generating more to-do items than you can handle, then you're not alone.</p><p>Every day, you might add five or ten items to your list, each representing an entire project that could take weeks or even months to complete.</p><p>For example, after a busy Monday your list might have the following items added to it:</p><ul><li><p>Review increasing infrastructure costs and propose optimizations.</p></li><li><p>Plan team offsite for next quarter including budget and agenda.</p></li><li><p>Look into security audit findings and create action plan.</p></li><li><p>Prepare for upcoming performance reviews and set criteria.</p></li></ul><p>Sigh.</p><p>And that's on top of the existing huge items that you already have on your list from last week which you haven't had the time to deal with yet.</p><p>This can lead to a feeling of being overwhelmed, like you're carrying around a heavy mental load. Each item on your list feels like a weight, and the more you add, the heavier it gets.</p><p>Although the pragmatist may say that the solution is simply to put time aside to properly triage, prioritize, and delegate or action these items, this is easier said than done. At the end of a busy day I'm usually pretty tired, and the creative juice that I need to properly think through these items is often in short supply.</p><p>My own mental resistance to dealing with these items is often the biggest barrier to getting them done, rather than the actual complexity of the items themselves. Long days with lots of context switching can seriously deplete my mental capacity. <a href="https://www.theengineeringmanager.com/management-101/manage-your-capacity-not-your-time/">I wrote about managing this capacity in a previous article</a>, noting how it can expand and contract based on the demands of the day.</p><p>In order to better manage my capacity and energy, and also leaning on <a href="https://www.theengineeringmanager.com/managing-managers/a-weekly-mind-meld/">creative ways to use LLMs, like in my mind meld technique from the last article</a> I've been trying a new approach to deal with this problem, which I call "the bag of worries".</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>Separating to-dos from worries</strong></h2><p>The first problem I have is that the big, gnarly, and unprioritized items on my to-do list are not really to-dos, but larger, unsorted worries. Like in the example list at the beginning of the article: a discussion in a meeting making me worried about projected infrastructure costs, or some known bottlenecks in the system that require deeper investigation.</p><p>These tasks are not five minute jobs.</p><p>Compared to the other things on my to-do list which are often small, actionable items that I can rattle through sequentially, these larger items are more like worries that I carry around with me. They require a fair bit of unpacking and thought before I can even start to think about how to tackle them.</p><p>As a result, I've separated out my to-do list into two parts: a "to-do" list for actionable items, and a "worries" list for these larger, more complex items that need more thought and planning. Because the to-do list is typically sorted by priority, and the worries list is not, I call my worries list "the bag of worries", as they're all jumbled together in a single place.</p><p>I wrote previously about my second-brain system of <a href="https://www.theengineeringmanager.com/growth/gather-decide-execute-reflecting-on-my-daily-system/">gather, decide, execute</a>, in which I use Logseq to continually make notes and gather information, and then decide what to do with it. The bag of worries is a natural extension of this system (it's just a page in Logseq), and it allows me to keep track of these larger items without them cluttering up my to-do list.</p><p>As I go through my day and see things that worry me, or that need looking into further, I just throw them into the bag of worries. I don't worry (no pun intended) about whether they're important or not, or whether I should be doing them now or later. I just add them to the bag.</p><h2><strong>I'm feeling lucky</strong></h2><p>But hang on, isn't that just procrastination? Well, kind of. Based on self-observation, if I have these kinds of big worrisome items staring me in the face alongside my to-do list, I tend to begin to feel a little overwhelmed, and I find it hard to focus on the essential tasks that I need to get done. So tucking them away in the bag of worries is a way to declutter my mind and focus on the immediate tasks at hand.</p><p>However, the bag of worries is not just a dumping ground, and I've been experimenting with picking one big thing from it each day to break down and then make a plan from.</p><p>Since these items in the bag of worries often are large and require a lot of unpacking, I've been enlisting the help of LLMs to kickstart my thinking and planning process.</p><p>In the last article I wrote about how to use the <a href="https://www.gptaiflow.tech/assets/files/2025-01-18-pdf-1-TechAI-Goolge-whitepaper_Prompt%20Engineering_v4-af36dcc7a49bb7269a58b1c9b89a8ae1.pdf">Prompt Engineering whitepaper</a> as an input to your own GPT or Gemini Gem (or other equivalent), enabling you to generate significantly better prompts than you might write unassisted.</p><p>To save clicking away from this article, I'll reproduce the Gem/GPT here, of which you attach the PDF to as additional context:</p><blockquote><p>You are a tool to generate excellent prompts that will greatly improve output compared to what is given as input. You will use the attached book on Prompt Engineering to formulate these prompts and you will return the improved prompt along with your reasoning for why it is better.</p><p>You are always helping a CTO do their job, so frame the prompts as such.</p></blockquote><p>I then use this to generate a prompt for the bag of worries: it helps me select one at random, unpack it, and then generate a plan of action.</p><p>Here it is:</p><blockquote><p>As a CTO, I'm managing a 'bag of worries' &#8211; a list of pressing technical and strategic issues that require my attention. You are my expert executive assistant. I need your assistance to systematically tackle these.</p><p>My current bag of worries is:</p><p>[insert list of worries here, e.g. "increasing infrastructure costs", "team offsite planning", "security audit findings", "performance reviews preparation"]</p><p>Your task is to:</p><ul><li><p><strong>Randomly Select One Worry</strong>: From the provided list, please choose a single worry at random. Clearly state the selected worry.</p></li></ul><ul><li><p><strong>Generate a Comprehensive Action Plan</strong>: For the selected worry, develop a detailed and actionable plan to help me, as the CTO, take positive and effective action. </p><p></p><p>This plan should be structured and include the following elements:</p><p></p></li><li><p><strong>Objective</strong>: A clear, concise statement of what successful resolution of this worry looks like.</p></li></ul><ul><li><p><strong>Key Actionable Steps</strong>: A sequence of 3-5 primary steps to address the worry. For each step, provide a brief description of the action.</p></li></ul><ul><li><p><strong>Stakeholder Identification</strong>: List key individuals or teams (e.g., Head of Engineering, Security Lead, Product Management, specific engineering squads) that need to be involved, and their general role in the action plan.</p></li></ul><ul><li><p><strong>Potential Challenges &amp; Mitigation Strategies</strong>: Identify 1-2 potential roadblocks or challenges that might arise and suggest a proactive mitigation strategy for each.</p></li></ul><ul><li><p><strong>Resource Considerations</strong>: Briefly mention any critical resources (e.g., budget allocation, specialized tools, external consultants, dedicated time from specific teams) that might be necessary.</p></li></ul><ul><li><p><strong>Success Metrics</strong>: Define 1-2 measurable indicators that would signify progress or successful resolution of the worry.</p></li></ul><ul><li><p><strong>Suggested Initial Timeline/Focus for the Next 2 Weeks</strong>: Outline what realistically can be initiated or achieved in the immediate short term (e.g., initial meetings, data gathering, preliminary assessments).</p></li></ul><p>Output Format:</p><p>Please present the selected worry first, followed by the detailed action plan with clear headings for each of the elements listed above.</p><p>Tone and Style:</p><p>Strategic, decisive, and action-oriented, suitable for a CTO's executive advisor.</p></blockquote><p>This works surprisingly well for plucking <em>something</em> out of the bag of worries and removing the initial mental effort to turn it into a real action plan.</p><p>The generated action plans are fairly long, so I didn't want to copy and paste them verbatim into this article. However, I do recommend trying this out for yourself, as I have found that it's been the best way of taking a big scary worry and having me able to actually do something about it in a fast and structured way.</p><h2><strong>Or, you could prioritize</strong></h2><p>Another way to tackle the bag of worries is following the classic Eisenhower Matrix prioritization exercise, except you let the LLM do it for you. </p><p>Here's a prompt for that:</p><blockquote><p>Assume the role of an expert executive assistant, highly skilled in productivity and prioritization frameworks. I am your CTO, and I'm providing you with my current 'bag of worries' &#8211; an unsorted list of tasks, concerns, and observations that require my attention.</p><p>Your task is to:</p><p>1.  <strong>Analyze each item</strong> from my provided list of worries.</p><p>2.  <strong>Categorize each item</strong> according to the Eisenhower Matrix. For clarity, these categories are:</p><p>- <strong>Urgent and Important (Do First):</strong> Tasks that demand immediate attention and are critical for achieving significant goals.</p><p>- <strong>Important but Not Urgent (Schedule):</strong> Tasks that are vital for long-term success and strategic objectives but do not require immediate action; these should be planned and scheduled.</p><p> - <strong>Urgent but Not Important (Delegate):</strong> Tasks that require prompt handling but do not necessitate my direct involvement and can be effectively assigned to someone else.</p><p> - <strong>Neither Urgent nor Important (Eliminate/Delay):</strong> Tasks that contribute minimally to our objectives and can likely be removed from the list or significantly deferred.</p><p>3.  <strong>Present the categorized list clearly.</strong> Please use distinct headings for each of the four Eisenhower Matrix quadrants.</p><p><strong>4.  Provide a brief rationale (1-2 sentences) for each item's categorization.</strong> Explain the thinking behind placing it in that specific quadrant, especially if urgency or importance might be ambiguous. (Adopt a 'think step-by-step' approach for your reasoning).</p><p>5.  After categorizing all items, <strong>identify and recommend the single most critical item</strong> from the 'Urgent and Important' quadrant that I should address first.</p><p>6.  <strong>Explain your reasoning</strong> for selecting this top-priority item over any others in the 'Urgent and Important' quadrant.</p><p>My 'bag of worries' is as follows:</p><p>[Insert your comma-separated or bulleted list of worries here.]</p><p>Please process this list and provide your categorized output and recommendation.</p></blockquote><h2><strong>Try it out yourself</strong></h2><p>Before finishing this article and going back to whatever else you were doing with the rest of your day, try this out for yourself.</p><ol><li><p><strong>Take a moment to write down the top three or four big worries that you have at work right now</strong>. Perhaps these are upcoming performance reviews, a design document that needs writing, or perhaps you need to come up with a plan for analyzing the current budget and finding 5% savings.</p></li><li><p><strong>Open up your favorite LLM</strong>, such as ChatGPT or Gemini, and paste in the bag of worries prompt above (you can choose between the random selection or prioritization version).</p></li><li><p><strong>Copy your worries into the prompt</strong> at the place with the square brackets in either.</p></li><li><p><strong>Hit send</strong> and see what comes back.</p></li><li><p><strong>Look at the action plan</strong>, and see if you then have a clearer idea of what to do next.</p></li><li><p><strong>If you do, then congratulations!</strong> You've just taken a step towards tackling one of your big worries. That was easy, wasn't it?</p></li><li><p><strong>If you don't, then try tweaking the prompt</strong> a little bit to better suit your needs. You could do this by using the reusable prompt engineering gem above, or by just changing the wording.</p></li></ol><p>Congratulations on having a new executive assistant.</p><p>You might find that it helps to have a version of this for your home life too, as it's rare that you only carry around a bag of worries for work. There's DIY to do, insurance to renew, and family events to plan.</p><p>Every day I find more neat tricks that LLMs can do in order to help me be more productive at work. I find you get out what you put in.</p><p>How are you managing your own 'bag of worries'? Have you found other creative, non-obvious applications for LLMs in your managerial work? Let me know if you have.</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[A weekly mind meld]]></title><description><![CDATA[Writing to your team every week is a great way of building trust, calling out what's importantly, and letting people get to know you better.]]></description><link>https://theengineeringmanager.substack.com/p/a-weekly-mind-meld</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/a-weekly-mind-meld</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Tue, 29 Apr 2025 20:59:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/245d3cfb-6a40-4458-8bb6-8d73154af288_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Leaders can often find it hard to build deep trust and alignment with their teams, especially if those teams are quite big, or if the leader in question is quite senior. Doing regular skip-skip-skip levels is out of the question, attending every meeting is impossible, and the power dynamics of the org can make it hard for staff to really get to know you one-on-one.</p><p>You need a solution that works for you and your team, and allows the most efficient use of everyone's time, and is also archival, searchable, and shareable. The good news is that this solution already exists, and it predates slideshows, videos, and, come to think of it, even the internet. It's called writing.</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><p>Since starting my new CTO role, I've been sharing a weekly update with my team. I think about it as a <a href="https://en.wiktionary.org/wiki/mind_meld#:~:text=Noun,or%20plans%20between%20two%20people.">mind meld</a>, which has the Wiktionary definition of:</p><blockquote><p>From the Star Trek franchise, where the term was first used in 1966 for a telepathic ability possessed by the alien race of Vulcans to share thoughts and feelings with another individual.</p></blockquote><p>It's how I continually open up my thoughts to the team with a long-term goal to reduce any mental alignment gap between us. I like to think that the more I share, the more they can understand what I believe is important and why, and the more that my style of working and thinking can propagate through the team.</p><p>There are a few rules and guidelines I follow when writing these mind melds. They should:</p><ul><li><p>Take no longer than 60 minutes to write.</p></li><li><p>Be no longer than 1,500 words.</p></li><li><p>Be sent out on a Friday afternoon as a way to close the week.</p></li><li><p>Have a conversational tone and high ease of reading, similar to how I write this newsletter.</p></li><li><p>Mix general updates with praise and feedback on things we can do better.</p></li><li><p>Be sent to the entire team in a way that anyone in the company can also read it.</p></li></ul><p>I will call out that because I have done a <a href="https://www.theengineeringmanager.com/book/">ton of writing</a> and that English is my first language, I can write fairly quickly compared to other people who don't write as often. However, <a href="https://www.theengineeringmanager.com/qa/how-do-i-get-better-at-writing/">writing is a skill that can be learned and improved over time</a>, so don't let that stop you from trying.</p><p>I'll spend the rest of the article going over my process for collecting the information I want to share, how I structure it, and then give you some hypothetical examples.</p><h2><strong>Collecting information</strong></h2><p>The first step is to continually collect information throughout the week. I wrote back in January about <a href="https://www.theengineeringmanager.com/growth/gather-decide-execute-reflecting-on-my-daily-system/">my daily system</a> for how I capture notes and tasks using Logseq, but everyone uses something different.</p><p>The key is that you engage with your daily activities mindfully in a way that keeps your weekly update in mind. What I mean by this is that you are always on the lookout for:</p><ul><li><p>Direct experiences that you have had that would be valuable to share with the team. This could be anything from conversations with customers to shareable summaries of closed-door meetings such as executive reviews.</p></li><li><p>Events that can be celebrated, such as a big project shipping, a long-standing bug being resolved, or performance improvements that have been rolled out.</p></li><li><p>Things that could be improved, such as an incident that happened, an inefficient process that is causing friction, or data that highlights a problem that needs to be fixed (e.g. a drop in performance or an unexpected increase in infrastructure costs).</p></li><li><p>Events that are happening in the near future that you want to remind people about.</p></li></ul><p>For me, as I go about my week, I'll tag things in my notes with a <code>weekly-update</code> tag. This allows me to quickly search for them all later and use that as a starting point for my writing. I spend most of my week hammering out notes, so adding a tag is a super simple way to aggregate a week's worth of information on a Friday.</p><h2><strong>Structuring the mind meld</strong></h2><p>So, we get to Friday, and I've blocked out some time to write my update. I've got my tagged notes that I can use as a starting point, but we need some structure to the update.</p><p>Here's the rough structure that I hang my updates on:</p><ul><li><p><strong>Intro</strong>: A short paragraph that sets the tone for the update. Assuming nothing big and serious has happened, I keep it light and observational. For example, the other week I was in Helsinki for our exec committee meeting, so a paragraph about the trip and the meme around the Finnish weather was a good way to start.</p></li><li><p><strong>General updates</strong>: I batch together any general one-line updates that I want to share. This covers anything from welcome new hires, to upcoming events, to general company and engineering news. It's important stuff that doesn't need its own section.</p></li><li><p><strong>The main event</strong>: I'll pick one topic that I think is the most important thing to share. For example, if we are making a major change of some kind, this is where I'll go into detail about it. Similarly, if I've had a key observation that I think is worth exploring more deeply, this is it. In the following section, I'll cover some examples of what I mean by this. Typically I'll try to hang this on any key principles or values that I want to reinforce. The main event usually takes up the most space, maybe between 300-500 words.</p></li><li><p><strong>The sideshows</strong>: This is where I cover the other less important topics that I want to share, maybe a few hundred words each. This could be a summary of a recent incident, a shout out to a team or individual, or discussion around a process that we are trying to improve.</p></li><li><p><strong>The wrap up</strong>: I finish with a short paragraph that wraps up the update. This is usually a call to action such as asking for feedback or to share thoughts via comments or on Slack. If the tone of the update is light, I might share some interesting articles or podcasts that I found interesting during the week.</p></li></ul><p>As outlined before, I try to keep the entire update to around 1,500 words. This is a good length for people to read in one sitting, and I can hammer it out in one pass in around an hour.</p><p>Once I'm done and before I send it I'll also do a quick proof read to check for typos and grammar. I'll also then get an LLM to scrutinize it to see if there are ways that I can improve the content.</p><p>Here's an example of a prompt I might use:</p><pre><code><code>You are an expert editor. Please analyze the following draft of my weekly update that I sent as CTO to my department.

First, conduct a thorough proofread for grammar, spelling, and clarity. Then, evaluate the content for completeness, conciseness, and strategic alignment with our company's goals.  Suggest specific revisions to improve the update's impact, including:

- Identifying any missing information that should be included.
- Rephrasing sentences for better clarity and flow.
- Ensuring the update is concise and avoids unnecessary jargon.
- Highlighting key achievements and their impact on the company's objectives.
- Suggesting ways to make the update more engaging for the intended audience (e.g., using visuals, summarizing key takeaways).
- Applying 'Chain of Thought' prompting, break down complex updates into step-by-step reasoning for clarity.
- If applicable, use 'Tree of Thoughts' to explore alternative ways to frame certain updates for maximum impact.

Here is the draft of my weekly update:

[insert draft here]
</code></code></pre><p>If you're looking for help with generating prompts for you that are this detailed, then a neat trick that you can use is to take the PDF whitepaper on <a href="https://www.gptaiflow.tech/assets/files/2025-01-18-pdf-1-TechAI-Goolge-whitepaper_Prompt%20Engineering_v4-af36dcc7a49bb7269a58b1c9b89a8ae1.pdf">Prompt Engineering</a> as input to your own GPT or Gemini Gem, and then create a reusable tool that utilizes it to improve the input prompt that you give it.</p><p>For example, the prompt text for your reusable tool using the whitepaper to generate prompts could be:</p><pre><code><code>You are a tool to generate excellent prompts that will greatly improve output compared to what is given as input. You will use the attached book on Prompt Engineering to formulate these prompts and you will return the improved prompt along with your reasoning for why it is better.

You are always helping a CTO do their job, so frame the prompts as such.
</code></code></pre><p>I find myself using this trick all the time now, and it works really well. I don't copy the output verbatim because I like to keep my own writing style and voice, but it does help me make a number of edits and improvements to the text.</p><h2><strong>An example mind meld</strong></h2><p>Instructions aside, it's probably best to just show you an example of a weekly mind meld. Here's a hypothetical one following the structure above. I've made it up, but it should give you a good idea of what I mean.</p><h3><strong>The April 2025 mind meld</strong></h3><p>Hey team,</p><p>I'm back home after spending a week visiting our London office. It was nice to spend a few days away from the screen and get to spend time with many of you who I don't get to see as often. I even managed to get out for a couple of evening walks in the unusually warm weather.</p><p>There are a few short updates that are worth sharing before we go any further:</p><ul><li><p>A huge welcome to our five (!) new starters this week: Alice, Bob, Charlie, Dave, and Eve. It's great to have you here with us, and as you get your dev environments set up, please DM me if you have any issues: we've put a lot of effort into improving cold starts recently, but I know there can still be some hiccups which we will continue to work on.</p></li><li><p>Congratulations to the infrastructure team for completing the migration of our final legacy database. We are now 100% on our new database platform which is not only faster, but also so much cheaper and scalable.</p></li><li><p>A reminder that we have our quarterly all hands next week. The invite is in your calendar and you can submit Q&amp;A via the link in the invite.</p></li></ul><h4><strong>Speed of decision making</strong></h4><p>There is an important topic that I wanted to cover this week: speed of decision making. We've been growing a lot recently and as we do, we need to be hyper-aware about our rate of progress.</p><p>As I talked to many of you in person, the main complaint that I heard was that we are moving too slowly. This wasn't just in one area, but across all teams and projects. I think this is a symptom of our growth, and it's something that we need to address as a team.</p><p>Here's something that I would like us all to try: if you are blocked on progress in any way, shape or form, and it has been more than 24 hours, please escalate it to me. I will then work with you to unblock it. This could be anything from a decision that needs to be made, to a resource that you need, or even just a conversation that you need to have with someone.</p><p>This might seem like an unscalable solution, but I want to make it super clear that we cannot afford to slow down at this stage of our growth. The longer we take to make decisions, the more ground that our competitors will gain on us. As such, I will be prioritizing any escalation that I receive, and I will work with you to get it resolved as quickly as possible.</p><p>Honestly, nothing is too small. Just DM me and we will fix it. Trust me.</p><h4><strong>Incident response</strong></h4><p>I wanted to bring attention to the new process that we are starting around incident response. We've been working hard to improve our incident response process, and I think we are finally getting to a place where we can start to see some real improvements.</p><p>We have implemented new rotas, new tools, and new processes to help us respond to incidents faster and more effectively. I know that this is a big change for many of you since we have dramatically expanded our on-call rota, but I think it is a necessary step to take. For far too long we have been relying on a small number of people to respond to incidents, and this has led to burnout and frustration.</p><p>I want to thank everyone who was involved in turning around the incident that happened earlier this week. I was scrolling through the Slack messages and I was impressed by the organization, communication, and speed of response from many of you who hadn't done this before. The RCA that was done the following day was also very insightful, and we're already getting to work on the action items that were raised.</p><p>Let's keep at this and build our muscles in this area.</p><h4><strong>Thoughts for the weekend</strong></h4><p>I'm aware that there is a public holiday coming up in the UK, so a number of us have an extra day off. If you get a bit of free time, here are some cool things to check out:</p><ul><li><p>Have a play with the latest Gemini model, 2.5 Flash. I've been very impressed by Google's latest models, and if you've only been using ChatGPT for a while, you might be surprised by how Gemini compares.</p></li><li><p>I really enjoyed the latest Acquired podcast on <a href="https://www.acquired.fm/episodes/epic-systems-mychart">Epic Systems</a>. If you're outside of the US, you might not have heard of them, but they are an impressive and <em>curious</em> company &#8212; just search for pictures of their campus in Wisconsin.</p></li><li><p>And lastly, if you really just want to get away from the screen and do nothing for three days, that is totally fine too.</p></li></ul><p>Have a great weekend.</p><h2><strong>And that's a wrap</strong></h2><p>I've been enjoying writing weekly to my team so far. Even though writing isn't video or audio, I still think it's the most scalable way to communicate with a large team, and one that allows me to keep pushing forward on the things that I believe are important, whilst keeping the team aligned and informed.</p><p>I hope this article has given you some ideas on how to do the same. I'd love to hear how you communicate with your own teams.</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[LLMs: an operator's view]]></title><description><![CDATA[These things are a key part of your tooling strategy now.]]></description><link>https://theengineeringmanager.substack.com/p/llms-an-operators-view</link><guid isPermaLink="false">https://theengineeringmanager.substack.com/p/llms-an-operators-view</guid><dc:creator><![CDATA[James Stanier]]></dc:creator><pubDate>Sun, 30 Mar 2025 20:51:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f4dc3c-8c75-492c-90cf-ffeaaa8095af_501x501.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Many of you that read my articles are <em>operators</em> of some kind.</p><p>You may run one or many teams, or even a whole company. And, even if you are not a manager by definition, you may wield a great deal of influence over directions and 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>In the midst of the current LLM explosion, we as operators find ourselves amongst:</p><ul><li><p>A blistering pace of improvement in the capabilities of LLMs. New models and products are being released at a rate that is hard to keep up with.</p></li><li><p>Immense noise and hype online making all sorts of claims, good and bad, about what the future holds.</p></li><li><p>An expectation from our companies to go full-on with "AI", which typically means LLMs, both in developer tooling and in customer-facing products. AI is the new data is the new cloud.</p></li><li><p>Echoes in the industry that we are all now overstaffed as a result of productivity gains: that everyone should do more with less, and that AI is the answer to that.</p></li></ul><p>Note: this article is not a technical overview of how to <em>build products</em> with LLMs. Instead, the intent is to touch upon what leadership should do from the perspective of the productivity of teams and organizations, and consequently how we should think about spending our budgets to make that happen. There are plenty of hot takes out there on AI. This is not intended to be one of them.</p><p>What we'll cover related to LLMs is:</p><ul><li><p>The (real) rising floor of developer productivity.</p></li><li><p>The changing size of organizations.</p></li><li><p>The increasing importance of code reviews.</p></li><li><p>The changing nature of interviews and identifying talent in short spaces of time.</p></li></ul><p>The intent is that this should provoke thought and discussion, and will hopefully help you think about how to allocate your budget and focus in the coming months and years.</p><h2><strong>The floor is rising</strong></h2><p>With <a href="https://copilot.microsoft.com/chats/jnCFrNexNQnngZkAGBvzv">Copilot</a>, <a href="https://www.cursor.com/">Cursor</a>, <a href="https://cline.bot/">Cline</a> and other LLM-based developer tools, the floor of developer productivity is rising.</p><p>At the time of writing in 2025, I believe even the most AI-skeptical developers are now seeing the <em>insane </em>productivity gains that LLMs can provide. Yes, it was true that, several years ago, the promise and the hype <em>far</em> outweighed the consistent proof of benefits, but in a post <a href="https://openai.com/index/gpt-4/">GPT-4</a> world, LLMs have become an integral part of the developer's toolkit, even if it is just for fast research or rubber ducking rather than agentic pair programming.</p><p>I don't know many developers that would give them up now, myself included. I go too fast with them to go back to the old way of doing things.</p><p>If for some reason (!) you haven't fully leaned into LLM-assisted coding yet, the benefits are plentiful:</p><ul><li><p>LLMs are <em>fantastic</em> for getting over the cold start problem of a new idea. You can go from nothing to a throwaway prototype in no time at all, starting with a vague prompt of what you want and iterating on it. There are numerous "vibe coding" projects that are generating some <a href="https://x.com/levelsio/status/1897081230467686810?s=46">serious revenue</a>.</p></li><li><p>You can use a prompt to sketch out whole architecture ideas with back of the envelope calculations and tradeoffs.</p></li><li><p>Copilot-style autocompletion is now <em>very</em> good unlocks the next step in your thought process.</p></li><li><p>Agent-based tools like Cursor or Copilot Chat, when kept under control, can be a great way to get a lot of boilerplate code written quickly.</p></li><li><p>Writing tests, and therefore driving up code coverage, is now much easier. LLMs can write tests for you, and agent-based tools can execute the red-green cycle for you as you go.</p></li></ul><p>If you haven't yet spent an afternoon or evening with Cursor, then please, please, please make time and see how fast you can go from a blank page to a fully functioning hobby project. It is <em>incredible</em> how fast you can go from nothing to something.</p><p>So in terms of the <a href="https://en.wikipedia.org/wiki/Gartner_hype_cycle">Gartner hype cycle J-curve</a>, we are clearly on the upward slope towards enlightenment. The tools are getting better, and they are getting better <em>fast</em>. It is unclear as to how far the <a href="http://www.incompleteideas.net/IncIdeas/BitterLesson.html">Bitter Lesson</a> will take us, and predictions currently range from being on the cusp of hitting a plateau of productivity to full-blown AGI, but it <em>is</em> clear that an organization that does not embrace LLMs will be left behind by their competitors.</p><p>As an operator, up-skilling your team to use these tools is now <em>essential</em>. Securing the necessary budget to give everyone access to the Pro tiers of ChatGPT, Cursor, or whatever tools represent the best fit for your team is a table stakes activity. And yes, this does mean that your budget will increase, but the productivity gains from an existing team will more than make up for it. Trade the cost of hiring new people for the cost of acquiring tooling.</p><p>You should also take the <em>adoption</em> of this tooling seriously. It is not just a case of giving everyone subscriptions and hoping for the best. You need to invest time and effort into training your team on how to use these tools effectively.</p><ul><li><p>Run a survey to see what tools your team is already using and how they are using them. As part of the survey, identify which of your engineers are already fully ingrained in the new LLM workflows and which are not.</p></li><li><p>Identify champions based on the previous point and have them run training sessions and also overindex on pair programming with those who are less familiar (or more skeptical) of the tools.</p></li><li><p>Promote a culture of sharing best practices and tips for using LLMs. Get your champions to lean in and share their workflows and processes with the rest of the team. Videos work wonders here.</p></li><li><p>Track the usage of AI tools over time as you adopt them. For example, Cursor offers team analytics, and you can see how many lines of code are being generated and accepted. Use this as part of the feedback loop to see how your team is progressing. Is usage increasing or decreasing? Why?</p></li><li><p>Cross-reference the usage data with other metrics you are collecting. For example, how is the average number of commits to the codebase changing as tool usage increases? What about the number of incidents or reported bugs? What's happening with your DORA metrics as a result?</p></li></ul><p>Focus on showing that the tools are making a real difference, and this too can be motivation to bring the most skeptical engineers on board.</p><h2><strong>Organization sizes are changing</strong></h2><p>Given that the way that we create software has changed, there is another operator's consideration: the <em>size</em> of your organization.</p><p>Layoffs have been rife since the end of <a href="https://en.wikipedia.org/wiki/Zero_interest-rate_policy">ZIRP</a>. Overlapping this period has been the rise of LLMs, and in some cases, the two have been conflated: organizations haven't <em>just</em> shrunk because of AI efficiency gains, but they also haven't <em>just</em> shrunk because of the macroeconomic environment either; the two are becoming somewhat intertwined, if you believe what these companies are saying.</p><p>However, it is true that from a company-operator's perspective, the hard-to-exactly-quantify, but definitely <em>real</em>, productivity gains from LLMs allow you the ability to do more with less.</p><p>And amongst a tricky economic environment, instead of staying same-sized and increasing output, there has been a trend in many organizations to reduce headcount and combine this with AI tooling to (sort of) <em>maintain</em> the same level of output.</p><p>If you think about it, many of the world's largest companies are (or <em>were</em>) staffed to pre-LLM productivity levels off of the back of ZIRP, and you could argue that there consequently has been an exchange of a large chunk of money that used to pay salaries for a smaller chunk of money that pays for tokens and subscriptions.</p><p>One could even argue, especially at large companies, that if all developers could go, let's say, twice as fast with the new tooling, then other bottlenecks would appear that would limit the speed of progress anyway, so less really is more.</p><p>These bottlenecks may already exist: the sometimes glacial speed of making decisions, the amount of change and new features that your users can stomach at once, the time it takes to go through cycles of shipping and <em>learning</em> and iterating and so on.</p><p>Many companies are already at the point where they effectively block the speed of their own progress in other ways than just the number of developers they have. Making those developers faster may not actually help them ship more features, and in fact, it may make things worse.</p><p>Maybe you work for a company like this.</p><p>Going back to the operator's perspective, if you currently work for a <em>small</em> or <em>medium</em>-sized company, a good idea would be to focus your attention on giving everyone access to the right tools and training to become more productive <em>before</em> you go on another hiring spree. Get everyone coding like they should be coding in 2025 first, assess and prove the productivity gains, get your tooling in place, and <em>then</em> look at hiring more people.</p><p>And remember that tooling goes beyond developers: we're talking about <em>all</em> employees. A pro subscription to ChatGPT is just as useful for a marketer's efficiency as it is for a developer. Giving each employee in a 50-person company a ChatGPT Pro subscription is still cheaper than hiring a senior developer or two. Think about macro efficiency gains across the whole organization, not just in engineering.</p><h2><strong>Reviews are more important than ever</strong></h2><p>The flip side of the productivity gains is that more code is being written, and, most importantly, not all of it has been as carefully thought through as handcrafted code.</p><p>If you've used Cursor without specifically asking the prompt to slow down, go step-by-step and ask for your input frequently, you've likely seen it go off and blast out hundreds of lines of code that is hard to keep track of.</p><p>Now, this is <em>great</em> for getting a prototype up and running, but it is not so great for production code: the code generation starts to go faster than you can meaningfully comprehend it as a human, and bugs can be introduced that are hard to spot. In the best case, the code can be messy or unoptimized. In the worst case, it can be full of security holes that could seriously compromise your organization.</p><p>As such, with the faster production of code, as an operator it is more important than <em>ever</em> to ensure you have a strong review process in place: if your most senior engineers were getting a half-arsed rubber stamp thumbs up from their peers (not advised, but it happens), now you need to ensure that <em>all</em> code is being scrutinized as the origins of it are less clear.</p><p>You could:</p><ul><li><p>Make it clear to your organization that even though LLMs can generate lots of code almost instantly, human reviewers can only digest <em>so</em> much. Keep PRs small, commits clear, and code easy to read.</p></li><li><p>Increase the number of required reviewers on your PRs. For example, go from one reviewer to two. You could also have engineers flag their own PRs that have heavy LLM usage to call out that they need extra scrutiny.</p></li><li><p>Give people a refresher on security best practices (shock horror!) so they can be better aware of when LLMs are generating code that is insecure.</p></li><li><p>Make improvements in your incident postmortem process to ensure that you are learning from your mistakes. Share any production issues that stemmed from overlooked generated code widely across the organization so that everyone can learn from them.</p></li><li><p>Investigate AI tools such as <a href="https://snyk.io/platform/deepcode-ai/">DeepCode by Snyk</a> or <a href="https://diamond.graphite.dev/">Graphite's Diamond</a> that could help detect issues in code before it is even reviewed by a human.</p></li></ul><h2><strong>Am I even interviewing you? Or your LLM?</strong></h2><p>The typical tech interview process for individual contributors, which involves some combination of coding challenges, white boarding, and system design, has had another curve ball thrown at it by LLMs.</p><p>When interviewing remotely, we may have previously been concerned about candidates using a search engine to look up answers, but now we have to consider that they might be side-channeling all of the questions to an LLM.</p><p>If you are an interviewer, how can you tell that off to the side of the Google Meet window is another browser window with a prompt open? By the time you have described the system design specification, the candidate could have easily typed it into the prompt and have gotten an incredibly detailed and plausible answer back.</p><p>And hey, don't just take my word for it, try it: open Grok and type "I am doing a system design interview. Help me with it. I have to design Instagram from scratch. Give me back of the envelope calculations and follow the structure of the ByteByteGo book."</p><p>Scary, huh?</p><p>If your candidates are good at placing their windows on the screen in the right places and keeping their eye movement under control, you might not even notice that they are doing it. How are we meant to get good signal from candidates now that we can't figure out if we're talking to them or a prompt?</p><p>If you want to test a candidate completely without LLM assistance, you could ask them to share their entire screen so you can see what is going on. However, this feels invasive. Alternatively, a lighter touch version is to have the interviewer share <em>their</em> screen and problems are tackled together via pair programming and high bandwidth conversation where it would be hard for the candidate to be typing away into a prompt and then trying to pass off the answer as their own.</p><p>Alternatively, you could go in the complete opposite direction: <em>accept</em> that LLMs are now part of the job, and like the rest of the article, <em>embrace them</em>.</p><p>For example, if you want to hire people that can tackle large and ambiguous problems quickly with LLMs, get them to demonstrate these skills in the interview. This is similar to exams at school that are open book: you can use whatever resources you want, but you have to demonstrate that you know how to use them and that you can think critically about the answers that they give you.</p><p>The choice is yours as an interviewer: either allow LLMs or don't, but <em>be explicit about it ahead of the interview so that the candidate knows what to expect</em>. If you do allow LLMs, you should also be clear about the rules of conduct in the interview: are they allowed to use them for everything? Are they allowed to use them for some things? What are the boundaries? Don't make them guess.</p><p>Regardless of which way you go, you'll need to adapt your interview process to ensure that you are getting the right signal.</p><ul><li><p>Having candidates seek solutions to leetcode problems is <em>not</em> going to work. LLMs can easily dump code for doubly linked lists and binary trees, and annotate the answers with all of the big-O complexities attached.</p></li><li><p>Instead, questions that you ask should be sufficiently ambiguous that part of the interview is figuring out the specific <em>requirements</em> of the problem and what the code or system should do. Doing this in a conversational manner is a great way to see how the candidate thinks, and if you've not allowed LLMs to be used, it should be obvious through long periods of silence if they're trying to bend the rules.</p></li><li><p>Spot-test their knowledge: the interviewer should be able to interrogate components of the candidate's solution as they go along, asking questions about the design and implementation that highlight whether the candidate <em>actually</em> has knowledge here, or at least is able to think about their solution critically and from first principles. For example, if they think a cache should be implemented, ask them why, and what the tradeoffs are. Ask for some examples of caches they have used before and how they worked. Pick a point in the solution and go fully down the rabbit hole with them. Think latency, throughput, and failure modes. Answers should be fairly instantaneous if they know their stuff.</p></li><li><p>If candidates come to a solution quickly, see if there are alternative ways in which they could have approached the problem. For experienced engineers, it should be possible to have a conversation about the tradeoffs of different approaches to the one they have taken. If they've used a batch processing system, ask about how a streaming system could look. If they've written code that is synchronous, ask them how they would make it asynchronous, and so on. Probe deeper.</p></li><li><p>Use methods of collaboration that LLMs are <em>not</em> good at. For example, a shared whiteboard is a great way to think about problems together, interactively, proving that you are really working together with the candidate in the same way that you would if they were a new hire.</p></li></ul><p>Design your interview process to find the kinds of candidates that you really want to work with. If you're looking for people that are great at using LLMs, then have your interview process find these people. Be open about it.</p><p>If instead you value candidates that are great at coding or design solutions unassisted despite the tools we all now have available, that's also fine, but be open about that too. Let them know way ahead of time that this is how it's going to be. You can't have it both ways, and you need to design your process accordingly to get the right signal.</p><h2><strong>And that's a wrap</strong></h2><p>If you haven't already, you need to start bringing your team(s) into the present day. Software development isn't just changing, it <em>has</em> changed, and if you haven't been adapting already, you're getting left behind. This isn't just important for your company, but it's also incredibly important for your employees: you owe them access to the best tools available to do their jobs.</p><p>Happy prompting.</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>