<?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 Leader]]></title><description><![CDATA[The go-to newsletter for high agency engineers and leaders ready to elevate their craft and multiply their impact.]]></description><link>https://newsletter.rafapaez.com</link><image><url>https://substackcdn.com/image/fetch/$s_!M4aX!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png</url><title>The Engineering Leader</title><link>https://newsletter.rafapaez.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 16 Apr 2026 13:01:32 GMT</lastBuildDate><atom:link href="https://newsletter.rafapaez.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Rafa Páez]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[rafapaez@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[rafapaez@substack.com]]></itunes:email><itunes:name><![CDATA[Rafa Páez]]></itunes:name></itunes:owner><itunes:author><![CDATA[Rafa Páez]]></itunes:author><googleplay:owner><![CDATA[rafapaez@substack.com]]></googleplay:owner><googleplay:email><![CDATA[rafapaez@substack.com]]></googleplay:email><googleplay:author><![CDATA[Rafa Páez]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[You’ll Never Catch Up with AI. That’s Not the Point.]]></title><description><![CDATA[Forget the hype. Overcome the FOMO. Start building what matters.]]></description><link>https://newsletter.rafapaez.com/p/youll-never-catch-up-with-ai-thats</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/youll-never-catch-up-with-ai-thats</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 20 Jul 2025 12:30:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wO7v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wO7v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wO7v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!wO7v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!wO7v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!wO7v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wO7v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77422,&quot;alt&quot;:&quot;AI Hype &amp; AI FOMO vs Start Building&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/168772501?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Hype &amp; AI FOMO vs Start Building" title="AI Hype &amp; AI FOMO vs Start Building" srcset="https://substackcdn.com/image/fetch/$s_!wO7v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!wO7v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!wO7v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!wO7v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe496d8b5-57fc-4297-b4b9-a07dedab0697_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Remember when we used to joke about a new JavaScript framework dropping every week?</p><p>AI saw that and said, &#8220;Hold my transformer.&#8221;</p><p>Now we get new models, research papers, AI-assisted coding tools, and agentic systems&#8212;every week. By the time you grasp one, three more show up, and yesterday&#8217;s favorite is already deprecated.</p><p>So you open another tab, skim another newsletter, and save another tweet thread for later. You tell yourself, &#8220;I&#8217;ll start once I catch up.&#8221;</p><p>But you never do.</p><p>Because in AI, catching up isn&#8217;t a milestone. It&#8217;s an illusion.</p><p>Let&#8217;s talk about how to actually make progress.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The Never-Ending AI Hype Loop</h2><p>We&#8217;ve seen this cycle before in tech. Frontend developers know it well.</p><p>A new framework launches. It&#8217;s faster, smaller, and more elegant than anything before. Tech social media lights up. Blog posts declare it the future. Everyone piles in.</p><p>Then reality sets in. The docs are vague, the edge cases break, and actual teams hesitate to adopt it in production.</p><p>The hype fades, replaced by the next big thing. And the cycle repeats.</p><p>AI follows the same loop now, only it moves faster:</p><ol><li><p><strong>The drop:</strong> A new model or tool launches. Everyone calls it a game-changer.</p></li><li><p><strong>The hype:</strong> Threads, tutorials, and hot takes flood your feed.</p></li><li><p><strong>The stall:</strong> You try it, get stuck, and move on.</p></li><li><p><strong>The chase:</strong> Something else drops. You jump again.</p></li></ol><p>Eventually, you&#8217;re drowning in bookmarks but haven&#8217;t shipped a thing.</p><p>At some point, you have to ask yourself: What are you actually learning by jumping tool to tool?</p><p>In many cases, the answer was nothing that sticks.</p><h2>The Readiness Trap</h2><p>You&#8217;re not stuck. You&#8217;re stalling.</p><p>You want to learn <a href="https://newsletter.rafapaez.com/p/how-to-become-an-ai-engineer">AI engineering</a> the right way. Not hacks or shortcuts but real foundations: models, prompt (or context) engineering, <a href="https://newsletter.rafapaez.com/p/rag-vs-cag-vs-fine-tuning">RAG</a>, evals and <a href="https://newsletter.rafapaez.com/p/the-rise-of-ai-workflows">workflow automation</a>. So you start collecting. A course here. A repo there. A bookmarked talk. A long explainer.</p><p>The list grows. So does the pressure to feel &#8220;ready.&#8221;</p><p>But learning isn&#8217;t the problem. It&#8217;s the waiting. You&#8217;re caught in what Ira Glass calls <a href="https://roblog.co.uk/2021/05/taste-vs-skill/">the taste&#8211;skill gap</a>: your eye for quality grows faster than your ability to create. So you delay. You prepare. But never quite start.</p><p>Meanwhile, people shipping half-baked AI hacks are learning faster. They ship. Break things. Fix them. Improve. You&#8217;re still curating resources.</p><h3>Are you stuck in pre-work?</h3><ul><li><p>You&#8217;ve watched more AI talks than you&#8217;ve written lines of code.</p></li><li><p>Your &#8220;AI&#8221; folder has subfolders named To Read and Read Soon.</p></li><li><p>You compare tools by features you&#8217;ve never actually tried.</p></li><li><p>You feel behind but couldn&#8217;t name a single problem you&#8217;re trying to solve.</p></li></ul><p>If two or more landed, you&#8217;re in the trap.</p><p>The way out? Pick something small and real and let the work pull the learning.</p><h2>Fundamentals Over FOMO</h2><p>The more you scramble to keep up, the less you actually learn.</p><p>When you&#8217;re chasing every shiny new model, tool, or framework, you&#8217;re not deepening your skill. You&#8217;re skimming. And in fast-moving fields like AI, shallow learning is indistinguishable from none at all.</p><p>There&#8217;s a name for this: <a href="https://en.wikipedia.org/wiki/Information%E2%80%93action_ratio">the information-action ratio</a>. Coined by media theorist Neil Postman, it describes the widening gap between what we learn and what we actually apply. Most AI content today widens that gap. We consume more than we apply, so our sense of progress becomes distorted.</p><p>Chip Huyen, author of <em>AI Engineering</em>, <a href="https://newsletter.pragmaticengineer.com/p/ai-engineering-with-chip-huyen">calls it out clearly</a>: &#8220;The more we want to not miss out on things, the more things we will miss.&#8221; That&#8217;s the <a href="https://en.wikipedia.org/wiki/Fear_of_missing_out">FOMO</a> paradox. When you chase every shiny new model or framework, you stay shallow.</p><p>Instead of chasing the latest trend, choose fundamentals: learn how LLMs work, how retrieval-augmented generation helps, when to fine-tune, how to build an <a href="https://newsletter.rafapaez.com/p/mcp-is-the-new-api">MCP</a> server, and <a href="https://newsletter.rafapaez.com/p/build-your-first-ai-agent">how to build agents</a>. These concepts are not going away next week. They&#8217;ll still matter next year.</p><p>And solving the problem is still more important than picking the coolest tool. Many teams build AI wrappers that feel clever but solve nothing. Skip the tech flex. Go for clarity.</p><p>You don&#8217;t have to know everything. Just enough to solve something real.</p><h2>Momentum Over Mastery</h2><p>Here&#8217;s the uncomfortable truth: the fastest learners in AI aren&#8217;t the smartest. They&#8217;re the ones who ship.</p><p>They don&#8217;t wait to master prompt engineering before building a bot. They build the bot, watch it break, and then learn what they actually needed. That&#8217;s the cheat code: learn just in time, not just in case.</p><p>There&#8217;s even science behind this. Behavioral economists call it <a href="https://en.wikipedia.org/wiki/IKEA_effect">the IKEA effect:</a> we place more value on what we build ourselves, even if it&#8217;s clumsy or imperfect. That ugly script you cobble together will teach you more than a dozen tutorials. And you&#8217;ll care more about it simply because you made it.</p><p>Real learning begins when your bot breaks in the wild. That&#8217;s feedback, not failure.</p><p>While others worry about falling behind, you&#8217;re moving. And movement beats mastery every time.</p><h3>Not sure where to start? Try one of these micro-wins:</h3><ul><li><p>Build a GPT that summarizes meeting notes.</p></li><li><p>Use an LLM to extract structured data from messy email threads.</p></li><li><p>Add autocomplete to a form everyone hates.</p></li><li><p>Spin up a tiny agent that knows only your internal docs.</p></li></ul><p>You don&#8217;t need a thesis project. You need a feedback loop.</p><h2>Final Thoughts</h2><p>You&#8217;re not falling behind. You&#8217;re stuck in a system built to make you feel that way.</p><p>AI moves fast, but your job isn&#8217;t to chase it. It&#8217;s adopting it.</p><p>The people who learn fastest aren&#8217;t the ones who read the most. They&#8217;re the ones who try, fail, and adjust. Every ugly script that breaks teaches you more than another unread tutorial.</p><p>You don&#8217;t need to catch up. You need to start.</p><p>Pick a problem. Build something tiny. Let it break.<br>And if you&#8217;ve already started? Keep going.<br>You&#8217;re ahead of more people than you think.</p><p><strong>Stop hoarding. Start shipping.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/youll-never-catch-up-with-ai-thats?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/youll-never-catch-up-with-ai-thats?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p>Thanks for reading <strong>The Engineering Leader</strong>. &#128591;</p><p>If you enjoyed this issue, tap the &#10084;&#65039;, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</p><p>&#128075; Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Rise of AI Workflows]]></title><description><![CDATA[Why AI workflow automation tools are exploding, and how to ride the wave]]></description><link>https://newsletter.rafapaez.com/p/the-rise-of-ai-workflows</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/the-rise-of-ai-workflows</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 13 Jul 2025 08:00:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9x9t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9x9t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9x9t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!9x9t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!9x9t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!9x9t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9x9t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68564,&quot;alt&quot;:&quot;AI Workflow Automation Overview&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/168179785?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Workflow Automation Overview" title="AI Workflow Automation Overview" srcset="https://substackcdn.com/image/fetch/$s_!9x9t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!9x9t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!9x9t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!9x9t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad8f999-9cea-48bf-a092-05264feb341f_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">AI Workflow Automation Overview</figcaption></figure></div><p><strong>A small team. A smart model. A few powerful workflows.</strong></p><p>That&#8217;s all it takes to ship a working product in 2025.</p><p>No backend. No frontend. Just logic wired together with a few drag-and-drop nodes in a workflow automation tool. From idea to revenue, the gap has never been smaller.</p><p>This isn&#8217;t a thought experiment. It&#8217;s live in production across startups and enterprises. Product engineers, platform teams, and CTOs are all trading glue code for AI-first automation.</p><p>Zapier and Make are excellent choices for quick, no-code wins. When you need deeper logic, full ownership, and predictable costs, n8n hands you the keys to the stack.</p><p>Let&#8217;s break down what&#8217;s happening, why it matters, and how to get ahead.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What Is an AI Workflow?</h2><p>An AI workflow is a chain of tasks triggered by events, powered by logic, and enhanced by intelligence.</p><p>Think of it as a pipeline that listens, thinks, and acts:</p><ul><li><p>A new request comes in &#8594; that&#8217;s <strong>the trigger</strong></p></li><li><p>An LLM analyzes the content &#8594; that&#8217;s <strong>the reasoning layer</strong></p></li><li><p>A response gets sent or a record updates &#8594; that&#8217;s <strong>the action</strong></p></li></ul><p>Unlike traditional automation, AI workflows don&#8217;t just move data; they understand it. That&#8217;s the difference. Models like GPT&#8209;4 or Claude can classify, summarize, translate, extract, or decide what comes next.</p><p>At their core, AI workflows are modular systems that blend APIs, logic, and models into flows that scale. No need for a full team. Just a trigger, a few smart nodes, and a clear goal.</p><p>You can think of it as automation with a brain.</p><h2>The Problems AI Workflows Solve Today</h2><p>Remember the glue work that used to take days? The manual hand-offs, the spreadsheet shuffling, the ticket triage? AI workflows wipe it out in minutes. You can ship a working prototype before your coffee cools.</p><p>Plug in a language model and your automation goes from reactive to intelligent. Now it can:</p><ul><li><p>Summarize documents on demand</p></li><li><p>Tag or triage support requests</p></li><li><p>Draft context-aware email replies</p></li><li><p>Score leads or detect tone in feedback</p></li><li><p>Route tasks based on reasoning, not rules</p></li></ul><p>Want more power? Build agentic workflows. Let AI decide what happens next. The <a href="https://newsletter.rafapaez.com/p/mcp-is-the-new-api">Model Context Protocol (MCP)</a> makes it possible for workflows to think and act like tools with intent.</p><p>People are already putting this into action. Here are a few examples worth borrowing from:</p><ul><li><p>A solo founder built an AI resume reviewer that screens CVs with Claude Sonnet 4 and ranks them in Airtable, all without code.</p></li><li><p>Another flow uses GPT-4 to auto-tag support tickets, fetch relevant docs with <a href="https://newsletter.rafapaez.com/p/rag-vs-cag-vs-fine-tuning">RAG</a>, and draft first replies, cutting response time in half.</p></li><li><p>An open-source project combines OpenAI, Notion, and Telegram into a personal AI journaling assistant, fully powered by n8n.</p></li></ul><p>This isn&#8217;t a side project trend. AI workflows are becoming the new backend for actual businesses, letting small teams automate the work others still do by hand.</p><h2>Why It Matters to Engineers and Leaders</h2><p>AI workflow automation isn&#8217;t about replacing developers. It&#8217;s about amplifying them.</p><p>With tools like n8n, engineers skip boilerplate and focus on product logic. They can prototype in hours, automate the busywork, and ship faster without waiting on infrastructure glue.</p><p>For engineering leaders, AI workflow automation is a force multiplier. It lowers the cost of experimentation, shortens delivery cycles, and reduces the chaos between tools and teams. It frees engineers to focus on meaningful work and reduces the cognitive load of repetitive tasks.</p><p>Best of all, teams can now add AI features without spinning up a dedicated ML squad. That means more velocity without more headcount.</p><p>Ignore this shift and you&#8217;ll fall behind. Embrace it and you unlock real leverage across your org.</p><h2>The Tools Powering the AI Workflow Boom</h2><p>We&#8217;ve had workflow builders for years. <a href="https://zapier.com/">Zapier</a> gave everyone a no-code &#8220;if-this-then-that&#8221; button. <a href="https://www.make.com/">Make</a> added a visual canvas so power users could branch, loop, and route data. Both still shine for quick wins, especially when the builder doesn&#8217;t write code. But their pay-per-step pricing and fixed logic start to pinch as workflows grow.</p><p>Then <a href="https://github.com/n8n-io/n8n">the open-source</a> upstart <a href="https://n8n.io/">n8n</a> arrived.</p><p><strong>&#8220;Think it. Build it. Extend it.&#8221;</strong> n8n is simple enough to launch a working automation in hours, yet powerful enough to scale with your business. No step limits. No rigid templates. Just full control over how your logic flows.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VT0e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VT0e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp 424w, https://substackcdn.com/image/fetch/$s_!VT0e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp 848w, https://substackcdn.com/image/fetch/$s_!VT0e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp 1272w, https://substackcdn.com/image/fetch/$s_!VT0e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VT0e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c841e080-13b0-4358-9808-492461928b29_3694x2078.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:180810,&quot;alt&quot;:&quot;Example of n8n workspace&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/168179785?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Example of n8n workspace" title="Example of n8n workspace" srcset="https://substackcdn.com/image/fetch/$s_!VT0e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp 424w, https://substackcdn.com/image/fetch/$s_!VT0e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp 848w, https://substackcdn.com/image/fetch/$s_!VT0e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp 1272w, https://substackcdn.com/image/fetch/$s_!VT0e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc841e080-13b0-4358-9808-492461928b29_3694x2078.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">An n8n workflow where an AI agent responds to chat messages using OpenAI, vector search with Qdrant, and Slack (source: n8n.io/features/)</figcaption></figure></div><p>Self-hosted or cloud. Unlimited steps. Custom JavaScript and Python nodes. A drag-and-drop editor that now speaks GPT-4 out of the box. It even connects <a href="https://newsletter.rafapaez.com/p/build-your-first-ai-agent">AI agents</a> and tools letting a workflow reason, decide, and act.</p><p><a href="https://newsletter.rafapaez.com/p/how-to-become-an-ai-engineer">AI engineers</a> love n8n because it never says &#8220;no.&#8221; Leaders love it because it turns glue work into speed.</p><p><strong>n8n</strong> isn&#8217;t a no-code toy. It&#8217;s a low-code powerhouse. Code when you need it, UI when you don&#8217;t.</p><p>Here&#8217;s how the three most popular tools stack up.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OPTq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OPTq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png 424w, https://substackcdn.com/image/fetch/$s_!OPTq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png 848w, https://substackcdn.com/image/fetch/$s_!OPTq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png 1272w, https://substackcdn.com/image/fetch/$s_!OPTq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OPTq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png" width="1369" height="602" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:602,&quot;width&quot;:1369,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108736,&quot;alt&quot;:&quot;Zapier vs Make vs n8n&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/168179785?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Zapier vs Make vs n8n" title="Zapier vs Make vs n8n" srcset="https://substackcdn.com/image/fetch/$s_!OPTq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png 424w, https://substackcdn.com/image/fetch/$s_!OPTq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png 848w, https://substackcdn.com/image/fetch/$s_!OPTq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png 1272w, https://substackcdn.com/image/fetch/$s_!OPTq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aaafd7c-c9ba-4e3a-80dc-bb1836cee062_1369x602.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">*Representative public pricing as of July 2025; enterprise tiers available for all three platforms.</figcaption></figure></div><p>Each tool has its strengths. The right choice depends on how much control you want, how much code you&#8217;re comfortable with, and how far you plan to scale.</p><h2>Getting Started with AI Workflows</h2><p>AI workflow automation can feel like magic. But the on-ramp is more IKEA than rocket science: pick your kit, follow the steps, and snap each piece into place. Whether you code or not, you can build your first AI workflow before your coffee cools.</p><h3>Choose Your Path</h3><p>If you&#8217;re <strong>non-technical</strong>, start with Zapier or Make. Their drag-and-drop editors and large template libraries let you build simple automations in minutes.</p><p>If you&#8217;re <strong>technical but new to automation</strong>, test-drive <a href="https://app.n8n.cloud/">n8n Cloud</a>. You get a visual canvas and can drop into JavaScript or Python when your logic needs more power.</p><p>If you&#8217;re <strong>an engineer who wants full control</strong>, <a href="https://docs.n8n.io/hosting/">self-host n8n</a>. You own the stack, avoid per-step fees, and can connect to private APIs or on-prem data without red tape.</p><h3>Learn the Basics</h3><ul><li><p><strong>Workflow fundamentals:</strong> <a href="https://learn.zapier.com/">Zapier Learning Center</a> and <a href="https://academy.make.com/">Make Academy</a> are great for learning the core mental model of automation.</p></li><li><p><strong>n8n in action:</strong> Explore the <a href="https://n8n.io/workflows/">n8n Workflows Library</a> and GitHub repos like <a href="https://github.com/enescingoz/awesome-n8n-templates">awesome-n8n-templates</a> or <a href="https://github.com/Zie619/n8n-workflows">n8n workflows</a> for real, forkable examples.</p></li><li><p><strong>Deeper dives for builders:</strong> Check out the <a href="https://docs.n8n.io/">n8n Docs</a>, the <a href="https://www.reddit.com/r/automation/">r/automation</a><strong> </strong>Reddit community, and YouTube channels focused on <a href="https://www.youtube.com/results?search_query=ai+workflow+automation">AI workflow automation</a>.</p></li></ul><h3>One Small Step</h3><ol><li><p>Spin up an <a href="https://app.n8n.cloud/register">n8n cloud account</a> or run <code>npx n8n</code> in your terminal to try n8n locally.</p></li><li><p>Select &#8220;Test a simple AI Agent example&#8221; or import a starter <a href="https://n8n.io/workflows/categories/ai/">AI template</a> from the n8n gallery.</p></li><li><p>Add your OpenAI key if your workflow uses the OpenAI Chat Model component.</p></li><li><p>Tweak the logic to fit your workflow.</p></li><li><p>Hit save and watch the busywork disappear.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cwOz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cwOz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png 424w, https://substackcdn.com/image/fetch/$s_!cwOz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png 848w, https://substackcdn.com/image/fetch/$s_!cwOz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png 1272w, https://substackcdn.com/image/fetch/$s_!cwOz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cwOz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png" width="1185" height="767" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:767,&quot;width&quot;:1185,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97685,&quot;alt&quot;:&quot;A simple AI Agent example in n8n&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/168179785?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A simple AI Agent example in n8n" title="A simple AI Agent example in n8n" srcset="https://substackcdn.com/image/fetch/$s_!cwOz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png 424w, https://substackcdn.com/image/fetch/$s_!cwOz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png 848w, https://substackcdn.com/image/fetch/$s_!cwOz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png 1272w, https://substackcdn.com/image/fetch/$s_!cwOz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff031e8a6-1cc5-4783-a526-7ae0d3bc7e1c_1185x767.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A simple AI Agent example in n8n</figcaption></figure></div><p>AI workflow automation is no longer reserved for Big Tech or PhDs. It&#8217;s here, it&#8217;s fast, and it&#8217;s surprisingly fun to learn.</p><h2>Final Thoughts: The AI Workflow Stack</h2><p>The classic stack was backend, frontend, and database. The modern one adds AI, workflows, agents, and automation. These are the tools that let small teams move faster than ever.</p><p>Ignore this layer and you&#8217;ll ship slower and spend more hours on repetitive work. Embrace it and you&#8217;ll prototype in hours, reduce overhead, and focus on real product value.</p><p>If you haven&#8217;t tried AI workflow automations yet, the gap between you and the frontrunners widens every day. Start with one nagging task, wire it up, and feel the leverage.</p><p>Already using it? Double down. Keep n8n in your toolbox, share what you build, and push the limits of what a single flow can do.</p><p><strong>Automate or be automated. Your move.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/the-rise-of-ai-workflows?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/the-rise-of-ai-workflows?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p>Thanks for reading <strong>The Engineering Leader</strong>. &#128591;</p><p>If you enjoyed this issue, tap the &#10084;&#65039;, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</p><p>&#128075; Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[MCP Is the New API]]></title><description><![CDATA[The open standard that&#8217;s redefining how AI gets work done]]></description><link>https://newsletter.rafapaez.com/p/mcp-is-the-new-api</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/mcp-is-the-new-api</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 06 Jul 2025 08:01:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LdTq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We spent years drilling <a href="https://www.postman.com/api-first/">API-first</a> thinking into our teams. Clean contracts. Solid specs and docs. Seamless integrations. That worked fine, right until AI made it onto the org chart.</p><p>Now <a href="https://newsletter.rafapaez.com/p/rag-vs-cag-vs-fine-tuning">LLMs keep asking for context</a>, and the old APIs just shrug. Your systems are neatly locked behind endpoints built for humans, not machines. That means a constant mess of fragile connectors and &#8220;just one more&#8221; integration.</p><p><strong>The <a href="https://modelcontextprotocol.io/">Model Context Protocol</a> (MCP)</strong> solves this with one clever move. It doesn&#8217;t replace your APIs. It finally makes them usable by AI, connecting your products to the next generation of intelligent assistants and agents.</p><p>Here&#8217;s how it works, and why every <a href="https://newsletter.rafapaez.com/p/how-to-become-an-ai-engineer">AI engineer</a> and engineering leader should care.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What Is MCP And Why It Matters?</h2><p>Think of MCP as a universal adapter for AI applications, similar to what USB-C is for physical devices. It&#8217;s an open standard, <a href="https://www.anthropic.com/news/model-context-protocol">introduced by Anthropic</a> that lets AI plug into any tool, database, or service with one simple connector. No more writing custom code every time you want to connect your AI models to different data sources and tools.</p><p>For years, every new model or data source meant another delicate integration. Before long, you&#8217;re drowning in breakpoints, custom connectors, and yet another round of authentication hassles. <strong>MCP fixes this</strong>. Build once, and your AI systems can finally collaborate, freeing your team to focus on the work that matters.</p><p>Here are some key differences between MCP and traditional API integrations:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Nl7I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Nl7I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png 424w, https://substackcdn.com/image/fetch/$s_!Nl7I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png 848w, https://substackcdn.com/image/fetch/$s_!Nl7I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png 1272w, https://substackcdn.com/image/fetch/$s_!Nl7I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Nl7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png" width="1173" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:1173,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77579,&quot;alt&quot;:&quot;MCP vs. traditional APIs&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/167577038?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="MCP vs. traditional APIs" title="MCP vs. traditional APIs" srcset="https://substackcdn.com/image/fetch/$s_!Nl7I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png 424w, https://substackcdn.com/image/fetch/$s_!Nl7I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png 848w, https://substackcdn.com/image/fetch/$s_!Nl7I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png 1272w, https://substackcdn.com/image/fetch/$s_!Nl7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd73895a-94f3-4d3a-9564-fcad888b228d_1173x540.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">MCP vs. traditional APIs at a glance</figcaption></figure></div><p><strong>Why bother with MCP?</strong> It lets you <a href="https://newsletter.rafapaez.com/p/build-your-first-ai-agent">build AI agents</a> and complex workflows on top of LLMs, minus the integration headaches. Since agents often need to work with data and tools, MCP offers a growing set of pre-built integrations your models can use right away. You also get the freedom to swap out LLM vendors when it suits you, plus best practices for keeping your data secure inside your own infrastructure.</p><p>Instead of juggling custom API integrations for every data source, developers can now build against a single standard. As MCP gains traction, AI systems will keep their context across tools and data, paving the way for a more flexible and scalable architecture.</p><p><strong>MCP isn&#8217;t here to take over APIs</strong>. In fact, most MCP servers work by wrapping existing APIs. For example, the GitHub MCP server exposes high-level tools like &#8220;repository/list&#8221; for AI, but under the hood, it&#8217;s making regular REST API calls to GitHub. MCP and APIs aren&#8217;t rivals, they&#8217;re layers in the modern AI stack. MCP gives you an AI-friendly interface on top, often using familiar APIs as the foundation.</p><h2>MCP Architecture</h2><p>The Model Context Protocol (MCP) follows a clear <a href="https://en.wikipedia.org/wiki/Client%E2%80%93server_model">client-server model</a>. The idea is simple: keep the AI &#8220;brain&#8221; separate from the data and tools it needs, and control what it can reach.</p><p>At its core, MCP lets a host application connect to as many servers as needed, each one exposing different capabilities. The protocol uses <a href="https://www.jsonrpc.org/">JSON-RPC</a> 2.0 messages to establish communication between:</p><ul><li><p><strong>MCP Host: </strong>This is the AI-powered app or agent, like Claude Desktop, an AI IDE like Cursor or VS Code with Copilot, or any tool that wants to access outside data. The host runs the LLM and decides what to ask for.</p></li><li><p><strong>MCP Client: </strong>The connector managed by the host. It sets up a dedicated line to each MCP server, relaying requests and responses in both directions. The LLM never talks directly to the outside world. Every call and response is filtered and controlled.</p></li><li><p><strong>MCP Server: </strong>A lightweight program that exposes a specific set of capabilities. Servers can connect to files, databases, APIs, or any system you care about. Each one describes what it can do in a standard way, so the AI always knows what&#8217;s possible.</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_!LdTq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LdTq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!LdTq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!LdTq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!LdTq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LdTq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134195,&quot;alt&quot;:&quot;The MCP Architecture&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/167577038?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The MCP Architecture" title="The MCP Architecture" srcset="https://substackcdn.com/image/fetch/$s_!LdTq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!LdTq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!LdTq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!LdTq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88124f69-7283-4d13-b462-5ff4d8459c97_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How MCP connects AI to real-world tools and data</figcaption></figure></div><p><strong>This architecture enables safe, two-way communication between AI and external sources</strong>. The AI can fetch data, trigger actions, or stream updates, all through a standardized, stateless protocol. You can run servers locally to keep things private or connect to remote services over HTTP. Either way, you avoid tangled code and scale up integrations without the usual hassles.</p><p>MCP draws inspiration from the <a href="https://microsoft.github.io/language-server-protocol/">Language Server Protocol</a>, which made it easy to add new programming languages to any development tool. Now, MCP brings the same simplicity to AI applications, letting you add new data and tools with minimal effort. Define what&#8217;s allowed, plug in your tools, and let MCP handle the heavy lifting. <strong>The result: cleaner, safer, and much more flexible AI integrations.</strong></p><h2>MCP Core Capabilities</h2><p>Every MCP server exposes three core building blocks: <strong>tools, resources, and prompts</strong>. These simple parts make rich interactions possible between clients, servers, and language models. Here&#8217;s what each one does:</p><h3>Tools: The Actions</h3><p>Tools are the actions your AI can take in the outside world. Think sending a message, running a database query, creating a new ticket, or kicking off a deployment. Each tool is uniquely identified by a name and includes metadata describing its schema. No guesswork, no fragile scripts.</p><h3>Resources: The Data</h3><p>Resources are the data or content the AI can access. This could be files from Google Drive, rows from a database, issues from GitHub, or any other information you want your model to see. Resources ground the AI in real context, letting it read, reference, and summarize actual data instead of making things up.</p><h3>Prompts: The Guidance</h3><p>Prompts are reusable instructions or templates that steer the AI through more complex tasks. They act like recipes, guiding the model step by step, whether it&#8217;s debugging code, filling out a report, or updating CRM records. Good prompts keep the AI focused, consistent, and less likely to go off track.</p><p>Not every MCP server uses all three building blocks. Many just focus on tools. <strong>What matters is that AI agents can query any MCP server at runtime</strong> to see which features are available and use them right away. Each server publishes a catalog, so agents can discover and use new capabilities without changing any code. This is how MCP keeps your workflows flexible and ready for the future.</p><h2>MCP Adoption</h2><p>MCP is gaining momentum across the industry. Since Anthropic open-sourced the protocol in November 2024, adoption has moved quickly. Within months, companies like Block, Replit, Windsurf, and Sourcegraph were using it to power new AI workflows and assistants. By spring 2025, <a href="https://x.com/sama/status/1904957253456941061">OpenAI</a>, Google, and Microsoft had joined in, making MCP a true industry standard.</p><p>Today, thousands of MCP servers and connectors are active, with new ones appearing each week. <a href="https://github.com/modelcontextprotocol/servers">The Model Context Protocol servers</a> repository on Github is the main hub. There you&#8217;ll find official reference servers and a growing collection of community-built connectors for Google Drive, Slack, GitHub, databases, cloud services, and more. These projects let AI agents pull files, post messages, run code searches, or automate workflows.</p><p><strong>It&#8217;s not just Big Tech.</strong> Open-source contributors have added servers for tools like Algolia, Chroma, Apify, <a href="https://docs.sentry.io/product/sentry-mcp/">Sentry</a>, and even for creative services like text-to-speech and image generation. This means your AI agent can already connect to hundreds of real-world apps and data sources without custom code.</p><p>With both tech giants and open-source communities building on MCP, the pace is only speeding up. For AI engineers, the message is simple: if your systems are not MCP-ready yet, the ecosystem is growing fast enough to get you there. <strong>The sooner your products speak MCP, the sooner you&#8217;ll be ready for what comes next in AI.</strong></p><h2>From API-First to MCP-First</h2><p>APIs made our products accessible to developers. Now, MCP is making them accessible to AI. API-first thinking still matters, but it only gets you halfway in a world where agentic AI wants to do real work.</p><p>Being &#8220;MCP-first&#8221; means designing your products so AI can use them right out of the box. You provide an MCP server, and suddenly AI assistants, copilots, and bots can plug in.</p><p>For instance, Amazon, famous for its API-first culture, <a href="https://newsletter.pragmaticengineer.com/p/software-engineering-with-llms-in-2025?open=false#%C2%A7amazon-to-become-mcp-first">is moving toward a true MCP-first approach</a>. The company is adding MCP support to its tools and <a href="https://github.com/awslabs/mcp">open-sourcing MCP servers for AWS</a>, making it easy for anyone to get the most out of AWS wherever MCP is used.</p><p><strong>Why shift to MCP-first?</strong></p><ul><li><p><strong>AI as a first-class user:</strong> MCP-first products let AI agents use your service as easily as any developer, making your platform accessible in an AI-driven world.</p></li><li><p><strong>Faster integration:</strong> Enable others to add your service to AI workflows in minutes, not weeks. No more patchwork integrations.</p></li><li><p><strong>Future-proofing:</strong> With major players on board, one standard connector works everywhere, cutting down on vendor lock-in and plugin friction.</p></li><li><p><strong>Smarter products:</strong> Expose your features through MCP and let AI automate tasks, create workflows, or combine your product&#8217;s strengths with others.</p></li><li><p><strong>Easier internal automation:</strong> MCP makes it simple for enterprises to connect internal tools and let AI handle busywork, without brittle scripts or shadow IT.</p></li></ul><p>MCP sits alongside your APIs as the standard way for AI to plug into your world. Just as APIs became essential during the mobile and SaaS booms, <strong>MCP is now essential for the AI era</strong>.</p><h2>Final Thoughts</h2><p>The industry learned API-first thinking the hard way. Now MCP is quietly rewriting the rules for the next generation of AI. This isn&#8217;t just another protocol; it&#8217;s a practical standard that&#8217;s already changing how products and teams connect their systems to real intelligence.</p><p>Look at the pace of adoption. A handful of reference servers and open-source SDKs has turned into a growing ecosystem, backed by cloud giants and scrappy startups alike. MCP cuts down integration challenges, limits lock-in, and gives AI agents the kind of access that actually gets work done.</p><p>If you run a product or engineering team, now&#8217;s the time to make your world legible to AI. Treat MCP as a key part of your strategy, not an afterthought. You don&#8217;t have to scrap your APIs, but if you want your product to keep up with tomorrow&#8217;s agents and workflows, get it MCP-ready.</p><p>AI is about to become your sharpest user. MCP makes sure it plays by your rules.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/mcp-is-the-new-api?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/mcp-is-the-new-api?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p>Thanks for reading <strong>The Engineering Leader</strong>. &#128591;</p><p>If you enjoyed this issue, tap the &#10084;&#65039;, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</p><p>&#128075; Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[RAG vs CAG vs Fine-Tuning]]></title><description><![CDATA[Three proven techniques to close the knowledge gap in large language models]]></description><link>https://newsletter.rafapaez.com/p/rag-vs-cag-vs-fine-tuning</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/rag-vs-cag-vs-fine-tuning</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 29 Jun 2025 08:01:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K_hG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K_hG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K_hG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!K_hG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!K_hG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!K_hG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K_hG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:167355,&quot;alt&quot;:&quot;RAG vs CAG vs Fine-Tuning&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/167046426?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="RAG vs CAG vs Fine-Tuning" title="RAG vs CAG vs Fine-Tuning" srcset="https://substackcdn.com/image/fetch/$s_!K_hG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!K_hG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!K_hG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!K_hG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd782a35-9c05-4619-9b6a-9ac19a75a857_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Closing the Knowledge Gap in LLMs: RAG vs CAG vs Fine-Tuning</figcaption></figure></div><p>You ask your AI assistant a question. It confidently returns an outdated answer. The problem? The model was never given access to the latest information.</p><p>Large language models are powerful, but they&#8217;re not omniscient. They operate within a knowledge boundary: what was baked into their training data, what they&#8217;re prompted with, and what they can access in real time. When the answer falls outside that boundary, you hit what I call a <em>knowledge gap</em>.</p><p>The good news? You&#8217;ve got tools. Three of them: <strong>RAG, CAG, and fine-tuning</strong>. But they&#8217;re not interchangeable. Choosing the wrong one can cost you speed, money, or worse, trust.</p><p>Let&#8217;s break them down, compare them side by side, and explore real-world use cases to see where each one shines.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>RAG: Retrieval-Augmented Generation</h2><p><strong>Retrieval-Augmented Generation (RAG)</strong> works by dynamically retrieving relevant documents at inference time and injecting them into the model&#8217;s context<strong>.</strong></p><p>Unlike basic keyword search, which looks for exact matches, RAG uses vector-based retrieval: it compares the semantic meaning of your question to the meaning of chunks in your knowledge base. Even if the phrasing is different, it can still find relevant content.</p><p>Once the most relevant chunks are retrieved, they&#8217;re combined with the user query and passed as a single prompt to the LLM. The model then generates a grounded response using both the retrieved content and the original question.</p><p><strong>It&#8217;s a blend of semantic search and language generation:</strong> find the right chunks, let the model explain them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ddRR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ddRR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!ddRR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!ddRR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!ddRR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ddRR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127882,&quot;alt&quot;:&quot;Retrieval-Augmented Generation (RAG) Pipeline&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/167046426?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Retrieval-Augmented Generation (RAG) Pipeline" title="Retrieval-Augmented Generation (RAG) Pipeline" srcset="https://substackcdn.com/image/fetch/$s_!ddRR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!ddRR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!ddRR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!ddRR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257861cf-a0b3-4d00-b880-a42ce23f7f75_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How Retrieval-Augmented Generation (RAG) Works</figcaption></figure></div><p><strong>Here&#8217;s how the process typically works:</strong></p><ol><li><p><strong>Ingestion:</strong> Knowledge sources are loaded and split into smaller chunks using heuristics like headings, sentences, or token limits. This step is done ahead of time and ends once the chunks are indexed. The quality of chunking directly impacts retrieval accuracy later on.</p></li><li><p><strong>Embedding:</strong> Each chunk is passed through an embedding model, which transforms the text into dense vector representations (embeddings) that capture semantic meaning. Popular embedding models include OpenAI&#8217;s <code>text-embedding-3-small</code> and open source options like <code>all-MiniLM-L6-v2</code>.</p></li><li><p><strong>Indexing:</strong> These vectors are stored in a vector database such as Weaviate, Pinecone, Chroma, or PostgreSQL with <code>pgvector</code>. This setup enables fast similarity searches using algorithms like cosine similarity or dot product to efficiently find the most relevant chunks.</p></li><li><p><strong>Querying:</strong> When a user asks a question, it is embedded using the same embedding model and compared against the stored vectors to find the most semantically similar chunks. This step happens in real time and determines which pieces of context will be passed to the model for answering.</p></li><li><p><strong>Prompting:</strong> The top-ranked chunks are inserted into the LLM&#8217;s prompt, enriching the user&#8217;s original query with factual, retrieved context. This helps both proprietary models (like ChatGPT, Claude, or Gemini) and open-source ones (like Mistral or LLaMA) generate responses that are more accurate, specific, and grounded in the source material.</p></li></ol><p>This allows the model to answer questions using external knowledge, even if that information wasn&#8217;t included in its original training data.</p><p><strong>Strengths:</strong></p><ul><li><p>Well-suited for large, frequently changing knowledge bases</p></li><li><p>No model retraining required; update your documents and reindex</p></li><li><p>Fast to deploy and relatively easy to maintain with the right tooling</p></li></ul><p><strong>Weaknesses:</strong></p><ul><li><p>Retrieval failures are silent; irrelevant chunks can slip in undetected</p></li><li><p>Adds latency from embedding, vector search, and prompt assembly</p></li><li><p>Heavily dependent on chunking quality and search accuracy</p></li></ul><p><strong>Think of RAG as the model using semantic Google.</strong> Ask it about &#8220;revenue growth,&#8221; and it might retrieve chunks discussing &#8220;quarterly performance&#8221; or &#8220;sales trends.&#8221; Different words, same idea.</p><h2>CAG: Cache-Augmented Generation</h2><p><strong>Cache-Augmented Generation (CAG)</strong> preloads a static knowledge base into the model&#8217;s internal attention cache (KV cache) and reuses that memory during inference. Instead of embedding and retrieving documents at runtime like RAG, CAG processes and stores them ahead of time. The result is faster, retrieval-free responses.</p><p>The approach was introduced in the paper <em><a href="https://arxiv.org/pdf/2412.15605v1">&#8220;Don&#8217;t Do RAG: When Cache-Augmented Generation is All You Need for Knowledge Tasks&#8221;</a></em> as a simpler and faster alternative for use cases where the knowledge is small, stable, and essential. The model doesn&#8217;t need to search. It already remembers.</p><p>Unlike prompt caching or external memory logs that replay past inputs or outputs, <strong>CAG works entirely inside the model</strong>. It uses the model&#8217;s own attention mechanism to preload documents into memory as key-value pairs. No external systems involved. No retrieval step required.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BdZ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BdZ2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!BdZ2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!BdZ2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!BdZ2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BdZ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90403,&quot;alt&quot;:&quot;Cache-Augmented Generation (CAG) Pipeline&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/167046426?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Cache-Augmented Generation (CAG) Pipeline" title="Cache-Augmented Generation (CAG) Pipeline" srcset="https://substackcdn.com/image/fetch/$s_!BdZ2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!BdZ2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!BdZ2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!BdZ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98980661-9d1a-4c61-94d5-87756d970886_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How Cache-Augmented Generation (CAG) Works</figcaption></figure></div><p><strong>Here&#8217;s how it works:</strong></p><ol><li><p><strong>Preloading:</strong> A selected set of documents is preprocessed and encoded to fit the model&#8217;s context window. These are transformed into attention-level key-value pairs that capture how the model internally interprets them. This cache is saved for reuse.</p></li><li><p><strong>Inference:</strong> When the user submits a query, the model reuses the cached knowledge along with the prompt. Because the context is already in memory, it can respond instantly. No need to retrieve, rank, or re-embed.</p></li><li><p><strong>Resetting:</strong> As the session evolves, new tokens are added. The model can discard only those recent additions while keeping the original cached knowledge intact, maintaining speed without reprocessing everything.</p></li></ol><p><strong>Strengths:</strong></p><ul><li><p>Latency is minimal, since the model skips retrieval entirely.</p></li><li><p>Responses are highly reliable, with no risk of selecting the wrong chunk.</p></li><li><p>Infrastructure is simpler, as there&#8217;s no need for vector databases or embedding pipelines.</p></li><li><p>Best suited for small, trusted knowledge sets that fit comfortably within the context window.</p></li></ul><p><strong>Weaknesses:</strong></p><ul><li><p>Context window limitations restrict how much knowledge can be preloaded.</p></li><li><p>Updates are manual and infrequent, making it less effective for dynamic domains.</p></li><li><p>Only works with models that support long context windows and cache control.</p></li></ul><p><strong>CAG is like photographic memory for models.</strong> It sees your documents once, remembers how it interpreted them, and reuses that understanding instantly, without having to look things up again.</p><h2>Fine-Tuning: Rewriting the Brain</h2><p><strong>Fine-tuning</strong> takes a pretrained language model and continues its training on a specialized dataset. Instead of retrieving knowledge or preloading it, you embed the information directly into the model&#8217;s weights. The result is that the model doesn&#8217;t just remember your domain&#8212;it thinks like it. This changes how it interprets questions, makes decisions, and even writes.</p><p>Using supervised learning, you feed the model high-quality examples with both inputs and expected outputs. This allows it to learn domain-specific patterns, terminology, tone, and reasoning. Unlike RAG or CAG, fine-tuning doesn&#8217;t depend on the context window or runtime augmentation. Once trained, the knowledge lives inside the model and is always available.</p><p>This approach is especially useful when you need deep subject-matter expertise or tight alignment to brand voice, regulatory tone, or unique logic. However, it requires a significant upfront investment in data curation, compute resources, and evaluation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M8bc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M8bc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!M8bc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!M8bc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!M8bc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M8bc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:114088,&quot;alt&quot;:&quot;Fine-Tuning Pipeline&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/167046426?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fine-Tuning Pipeline" title="Fine-Tuning Pipeline" srcset="https://substackcdn.com/image/fetch/$s_!M8bc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!M8bc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!M8bc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!M8bc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b692ec5-aef1-4581-a488-dbfad898e646_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How Fine-Tuning Works</figcaption></figure></div><p><strong>Here&#8217;s how it works:</strong></p><ol><li><p><strong>Prepare training data:</strong> Collect high-quality examples that reflect the behavior you want. These should include questions and ideal answers, written in the desired tone, style, and domain language.</p></li><li><p><strong>Update the model&#8217;s weights:</strong> Use supervised training to teach the model from this dataset. Instead of adding information at runtime, you embed it into the model itself by adjusting its internal parameters.</p></li><li><p><strong>Deploy the fine-tuned model:</strong> After validation, the model runs independently. It can now respond to domain-specific queries with speed and consistency, without needing prompts or retrieval. The knowledge is built in.</p></li></ol><p><strong>Strengths:</strong></p><ul><li><p>Fine-tuning integrates knowledge deeply into the model&#8217;s behavior.</p></li><li><p>Allows the model to recognize and generalize from domain-specific language and workflows.</p></li><li><p>You can fully customize tone, output style, and reasoning patterns.</p></li><li><p>There are no runtime augmentation steps or limitations from context length.</p></li></ul><p><strong>Weaknesses:</strong></p><ul><li><p>Fine-tuning requires a large, high-quality dataset to be effective.</p></li><li><p>Training and updating the model can be expensive and time-consuming.</p></li><li><p>If not done carefully, it may cause the model to forget important general knowledge.</p></li><li><p>Once fine-tuned, changes are baked into the model and are difficult to audit, undo, or adapt quickly.</p></li></ul><p><strong>Fine-tuning is like brain surgery for your model.</strong> It&#8217;s deliberate, precise, and irreversible. It&#8217;s the right approach when the problem runs deep, but overkill for surface-level fixes.</p><h2>Comparing RAG, CAG, and Fine-Tuning</h2><p>Here&#8217;s a quick side-by-side comparison to help you choose the right technique based on speed, flexibility, and complexity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eV61!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eV61!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png 424w, https://substackcdn.com/image/fetch/$s_!eV61!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png 848w, https://substackcdn.com/image/fetch/$s_!eV61!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png 1272w, https://substackcdn.com/image/fetch/$s_!eV61!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eV61!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png" width="1456" height="654" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:654,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:99859,&quot;alt&quot;:&quot;Comparing RAG, CAG, and Fine-Tuning&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/167046426?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparing RAG, CAG, and Fine-Tuning" title="Comparing RAG, CAG, and Fine-Tuning" srcset="https://substackcdn.com/image/fetch/$s_!eV61!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png 424w, https://substackcdn.com/image/fetch/$s_!eV61!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png 848w, https://substackcdn.com/image/fetch/$s_!eV61!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png 1272w, https://substackcdn.com/image/fetch/$s_!eV61!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7cd7a8e-195d-4786-9d44-7ef443f802cb_1577x708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Table: Comparing RAG, CAG, and Fine-Tuning</figcaption></figure></div><p>This table isn&#8217;t just a checklist. It&#8217;s a reflection of priorities.</p><p>RAG gives you <strong>flexibility</strong>.<br>CAG gives you <strong>velocity</strong>.<br>Fine-tuning gives you <strong>accuracy</strong>.</p><p>Choose the approach that best fits your knowledge needs and how much control you want over the model.</p><h2>Real-World Use Cases</h2><p>Let&#8217;s ground the theory in practice.</p><p>Below are five real-world problems and the techniques that solve them best. This way, you can see how RAG, CAG, and fine-tuning perform when it really matters: on the job.</p><h3>1. Internal Helpdesk Chatbot</h3><p><strong>Problem:</strong> Employees need instant answers about time-off, expense reports, or device policies. The documents rarely change and fit in a small space.</p><p><strong>Best fit:</strong> <strong>CAG</strong><br>Preload the docs once, reuse them every time. Low latency, no external retrieval needed. RAG would be overkill. Fine-tuning is unnecessary unless you want the bot to mimic your CEO&#8217;s tone.</p><h3>2. Customer Support Assistant</h3><p><strong>Problem:</strong> You're supporting multiple products with constantly changing documentation. Accuracy matters, and the knowledge base is large.</p><p><strong>Best fit:</strong> <strong>RAG</strong><br>Retrieves the freshest content at runtime. Updating is as simple as reindexing new docs. CAG would hit context limits. Fine-tuning would be a maintenance nightmare.</p><h3>3. Specialized Legal Assistant</h3><p><strong>Problem:</strong> The model must understand contracts, statutes, and respond in legally precise language.</p><p><strong>Best fit:</strong> <strong>Fine-tuning</strong><br>You need the model to reason like a legal expert, not just repeat facts. CAG can't handle the scale. RAG might retrieve irrelevant precedent without deep context understanding.</p><h3>4. SaaS Sales Assistant</h3><p><strong>Problem:</strong> The model needs to speak in your brand&#8217;s tone while pulling current product details, pricing, and offers.</p><p><strong>Best fit:</strong> <strong>Fine-tuning + RAG</strong><br>Fine-tune for tone and positioning. Use RAG to plug in up-to-date specs. CAG can't scale with constant product updates.</p><h3>5. Clinical Decision Support</h3><p><strong>Problem: </strong>Doctors need accurate, comprehensive answers based on patient records, treatment guidelines, and drug interactions. They also tend to ask complex follow-up questions during consultations.</p><p><strong>Best Fit:</strong> <strong>RAG + CAG</strong><br>Use RAG to retrieve the most relevant documents from large medical databases. Then pass those into a long-context model using CAG to create a temporary working memory for each case. This hybrid approach combines breadth, accuracy, and responsiveness, making it well suited for real-time clinical decisions.</p><p>The best solutions often blend strengths from each. Choose what fits, and combine when needed.</p><h2>Final Thoughts: Aligning Solutions with Needs</h2><p>Large language models are impressive, but they don&#8217;t know everything. When answers fall outside their pretraining, you need a strategy to close the gap without breaking the system, or the budget.</p><p>RAG, CAG, and fine-tuning offer three distinct paths forward. RAG is versatile and scalable, ideal for fast-moving knowledge. CAG trades flexibility for speed, perfect for stable, high-trust domains. Fine-tuning rewires the model itself, offering precision and deep domain adaptation, at a higher cost.</p><p>There&#8217;s no universal winner. Your ideal approach depends on how much your knowledge moves, how fast you need answers, and how much control you want over the model&#8217;s voice and reasoning.</p><p><strong>Need scale?</strong> Retrieve it.<br><strong>Need speed?</strong> Cache it.<br><strong>Need precision?</strong> Fine-tune it.</p><p>You don&#8217;t have to pick just one. The best solution is often a combination.</p><p>So next time your model says, &#8220;I don&#8217;t know,&#8221; don&#8217;t panic. You have options. Choose the one that fits.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/rag-vs-cag-vs-fine-tuning?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/rag-vs-cag-vs-fine-tuning?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><h2>Related Readings</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;25030f0e-8d6b-46f2-a414-98bb6ad29e82&quot;,&quot;caption&quot;:&quot;Software is changing (again).&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Become an AI Engineer&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-22T11:03:21.444Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!njhn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/how-to-become-an-ai-engineer&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:166515686,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:16,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!M4aX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;da12cce3-e787-4d2c-8a35-5b84b7f8e87c&quot;,&quot;caption&quot;:&quot;ChatGPT. Gemini. Claude. Or any LLM. Ask a question and you get a polished answer in seconds.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Build Your First AI Agent&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-08T11:01:15.339Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bzZK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/build-your-first-ai-agent&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:165416363,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:32,&quot;comment_count&quot;:6,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!M4aX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3df8c5b8-de4b-4834-ad73-158264e3ca0c&quot;,&quot;caption&quot;:&quot;The startup was finally taking off. Then the platform went down.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Engineering Leader&#8217;s Guide to System Design&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-01T08:01:22.783Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!oQH5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:164788461,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:27,&quot;comment_count&quot;:13,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!M4aX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>Thanks for reading <strong>The Engineering Leader</strong>. &#128591;</p><p>If you enjoyed this issue, tap the &#10084;&#65039;, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</p><p>&#128075; Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[How to Become an AI Engineer]]></title><description><![CDATA[Master the building blocks, the leverage, and the mindset to thrive in AI]]></description><link>https://newsletter.rafapaez.com/p/how-to-become-an-ai-engineer</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/how-to-become-an-ai-engineer</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 22 Jun 2025 11:03:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!njhn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!njhn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!njhn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!njhn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!njhn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!njhn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!njhn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161397,&quot;alt&quot;:&quot;How to Become an AI Engineer&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/166515686?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to Become an AI Engineer" title="How to Become an AI Engineer" srcset="https://substackcdn.com/image/fetch/$s_!njhn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!njhn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!njhn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!njhn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c96510-98b3-4fde-a930-873b83f9ac19_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Software is changing (again)</strong>.</p><p>If you watched <a href="https://www.youtube.com/watch?v=LCEmiRjPEtQ">Andrej Karpathy&#8217;s &#8220;Software in the Age of AI&#8221; talk</a> this week, you know exactly what I mean. We&#8217;re living through a transformation as fundamental as anything since the birth of programming.</p><p>Here&#8217;s how the game has changed (and keeps changing at lightning speed):</p><ul><li><p><strong>Software 1.0:</strong> Code drives computers. You wrote every line, and the machine did exactly what you told it. Nothing more, nothing less.</p></li><li><p><strong>Software 2.0:</strong> Weights drive neural nets. Instead of explicit code, you curated data and trained networks. Programs became collections of parameters, not instructions.</p></li><li><p><strong>Software 3.0:</strong> Prompts drive LLMs. Your program is now a conversation. You speak in plain English, the LLM interprets, reasons, and builds. Want sentiment analysis? No code, no weights, just a question: &#8220;Is this review positive or negative?&#8221; The AI answers on the spot.</p></li></ul><p>This isn&#8217;t just new syntax. It&#8217;s a new way to create, build, and ship products.</p><p><strong>So what does it actually take to thrive as a modern AI Engineer in 2025?</strong></p><p>Here are the building blocks, leverage, and mindset you need to master.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>AI Building Blocks</h2><p>The essentials AI building blocks you need to <em>build</em> real AI systems.</p><h3>1. Prompt Engineering</h3><p>Great AI engineers write more than &#8220;good prompts.&#8221; They design robust, layered instructions that consistently guide LLMs toward useful, safe, and context-aware outputs. They use context windows, chain-of-thought reasoning, and few-shot examples to get precise results. Prompting isn&#8217;t a trick; it&#8217;s a new form of <a href="https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to">system design</a>.</p><p><strong>Example: </strong>When summarizing dense technical docs, you don&#8217;t just ask for a summary. You craft a prompt that splits content, guides the model step by step, and grounds answers in the actual text.</p><h3>2. Agent &amp; Workflow Orchestration</h3><p>AI is no longer a single Q&amp;A box. Engineers are wiring up <a href="https://newsletter.rafapaez.com/p/build-your-first-ai-agent">AI Agents</a>: modular bots that remember, reason, and act across multiple steps. Frameworks like LangChain and AutoGen let you chain tools, manage state, and build true AI-driven workflows.</p><p><strong>Example: </strong>A customer support agent isn&#8217;t just a chatbot. It fetches account data, pulls up ticket history, escalates issues, and follows up, autonomously. The engineer orchestrates this, not by reinventing the wheel, but by assembling the right agents and tools.</p><h3>3. Retrieval-Augmented Generation (RAG)</h3><p>RAG is how you connect AI to live, fresh data. By plugging in vector databases (like Pinecone, ChromaDB or Supabase), LLMs can search internal wikis, pull current docs, or personalize responses with user data. This makes AI practical, not just clever.</p><p><strong>Example: </strong>Deploy a financial advice bot that references the latest regulations and client portfolio data in real time. Thanks to RAG, engineers can now achieve that without fine-tuning the base model.</p><h3>4. Evals &amp; Guardrails</h3><p>Production AI isn&#8217;t a science fair. The best engineers use observability tools and evaluation suites (OpenAI Evals, LangSmith) to catch regressions, monitor drift, and benchmark outputs. Guardrails, such as Rebuff, Guardrails AI or custom scripts, block unsafe or nonsensical answers, protect privacy, and enforce compliance.</p><p><strong>Example: </strong>If your healthcare AI assistant could give bad advice, you set up red teams, test for dangerous outputs, and wire in automatic filters. Safety isn&#8217;t an add-on; it&#8217;s built-in.</p><h3>5. Model Context Protocol (MCP)</h3><p>Stacks change fast, and models are evolving by the month. The Model Context Protocol (MCP) acts as the &#8220;USB-C for AI systems&#8221;: a universal connector for swapping in new LLMs, tools, or data sources without breaking your workflows. It&#8217;s plug-and-play for the AI age, not rip-and-rewrite.</p><p><strong>Example: </strong>With an MCP server, your AI agent can securely access and update Linear issues, projects, and comments, all through a single standardized interface with no custom integrations required.</p><h2>AI Leverage</h2><p><a href="https://newsletter.rafapaez.com/p/the-rise-of-the-100x-product-engineer">The smartest engineers</a> don&#8217;t just use AI to build products. They use AI to accelerate their own work. The single biggest productivity breakthrough today? AI coding tools.</p><h3>AI Coding Tools</h3><p>AI coding tools have rapidly evolved from simple autocompletion to full-on engineering accelerators. What started with GitHub Copilot now includes a new generation of platforms like Cursor, Windsurf, and agentic assistants such as Anthropic&#8217;s Claude Code and OpenAI&#8217;s Codex.</p><p>These tools don&#8217;t just finish your sentences; they draft entire modules, generate and update tests, refactor code, and spot logic bugs in real time. The best of them can debug, iterate, and even suggest architecture improvements, freeing engineers to focus on the bigger picture.</p><p>The real power emerges when skilled engineers combine these tools with deep product sense and strong fundamentals. AI coding tools take care of the repetitive and mechanical tasks, while you handle design choices, architectural strategy, and customer value. This partnership radically shortens the gap from idea to working software.</p><p><strong>Example: </strong>Need to launch a new service? Instead of building every layer by hand, you prompt Claude Code or Cursor to scaffold the backend, generate tests, and troubleshoot errors, so you spend less time fighting syntax and more time solving real user problems. In a world where speed is everything, those who master AI coding tools move from prototype to production at a pace the old guard can&#8217;t match.</p><p><strong>One caveat:</strong> this space is evolving at breakneck speed. What was cutting-edge last year is table stakes now. To stay ahead, you need to keep a close eye on the latest releases because every new iteration brings smarter, faster, and more capable coding partners.</p><h2>AI Mindset</h2><p>How you need to think to win, adapt, and lead in the age of AI.</p><h3>Product Instinct</h3><p>You do not just build features. You build solutions people actually want. You thrive in ambiguity, rapidly prototype, and obsess over real-world feedback. The difference between an impressive demo and a beloved product is clear to you, and you always close the gap thanks to your product mindset and <a href="https://newsletter.rafapaez.com/p/business-sense-a-transformative-skill">business sense</a>.</p><p><strong>Example:</strong> You notice users are dropping off during onboarding. You simplify the process, collect feedback, and keep iterating until new users stay and succeed.</p><h3>High Agency</h3><p>You own outcomes. If something is broken, you fix it. You do not wait for instructions or permission. You take action, drive alignment, and make progress. <a href="https://newsletter.rafapaez.com/p/high-agency-the-mindset-of-successful">That&#8217;s high agency in action</a>.</p><p><strong>Example:</strong> A key API fails just before launch. Instead of waiting for someone else to step in, you investigate, patch the issue, and update the team before anyone else asks.</p><h3>Relentless Learning</h3><p>AI moves faster than any tech before it. You make curiosity a habit, chase new releases, read papers, and experiment beyond your comfort zone.</p><p><strong>Example:</strong> A new, more powerful LLM framework drops. You dive into the docs, run your own benchmarks, and quickly figure out how to use it to speed up your next project.</p><h3>Adaptability</h3><p>Yesterday&#8217;s playbook will get you left behind. You unlearn as fast as you learn. You are ready to pivot when best practices shift. Comfort is the enemy of progress. In the era of AI, <a href="https://newsletter.rafapaez.com/p/adaptability-the-key-to-leading-through">adaptability</a> is key to thrive.</p><p><strong>Example:</strong> Your team&#8217;s go-to library is suddenly deprecated. You research alternatives, help your team migrate, and turn a disruption into an upgrade.</p><h3>Ethical Awareness</h3><p>With AI, your work shapes real lives. You draw clear boundaries, think hard about consequences, and hold yourself and your systems to a higher standard.</p><p><strong>Example:</strong> Before rolling out a new AI-powered feature, you test for bias and privacy risks, raise concerns, and make changes so your product is safe and fair.</p><h2>Final Thoughts: Thriving as an AI Engineer</h2><p>Software is changing fast, and so is what it takes to succeed. Becoming an AI engineer is not about collecting tools or chasing hype. It is about mastering the building blocks, using leverage to multiply your impact, and sharpening a mindset that lets you lead and adapt.</p><p>The pace of change will only accelerate. Today&#8217;s innovation will be tomorrow&#8217;s standard. The engineers who stand out are the ones who keep learning, adapt quickly, and focus on delivering real value.</p><p>AI will keep raising the bar, but it will also keep expanding what is possible. If you master the fundamentals, make the most of AI coding tools, and stay focused on growth, you will not just keep up. You will help shape what comes next.</p><p>The edge belongs to those who build, learn, and lead. Stay sharp. Set the pace, and <a href="https://newsletter.rafapaez.com/p/thrive-my-guiding-leadership-principles">thrive</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/how-to-become-an-ai-engineer?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/how-to-become-an-ai-engineer?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p>Thanks for reading <strong>The Engineering Leader</strong>. &#128591;</p><p>If you enjoyed this issue, tap the &#10084;&#65039;, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</p><p>&#128075; Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Modular Monolith Advantage]]></title><description><![CDATA[A practical guide to scaling teams and backends in one codebase]]></description><link>https://newsletter.rafapaez.com/p/the-modular-monolith-advantage</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/the-modular-monolith-advantage</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 15 Jun 2025 08:00:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pRbz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pRbz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pRbz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!pRbz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!pRbz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!pRbz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pRbz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94981,&quot;alt&quot;:&quot;Modular Monolith&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/165940804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Modular Monolith" title="Modular Monolith" srcset="https://substackcdn.com/image/fetch/$s_!pRbz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!pRbz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!pRbz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!pRbz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85fd338-9777-4ad6-83a8-086c76681a80_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A modular monolith with clear module boundaries in a single application.</figcaption></figure></div><p><strong>Monolith or microservices?</strong></p><p>Ask any technical leader and you&#8217;ll hear passionate arguments for both. After working at three fast-growing startups that became unicorns in no time, I&#8217;ve learned this: most successful products begin as monoliths. <a href="https://martinfowler.com/bliki/MonolithFirst.html">Starting with a monolith</a> is usually the right call, at least until growth forces your hand.</p><p>But once your product takes off, everything shifts. One day you&#8217;re building a new API. The next, your API is melting down under a tidal wave of signups you didn&#8217;t see coming. Growth brings new problems: performance issues, slow build times, tightly coupled code, and engineers tripping over each other in the same codebase.</p><p>The usual advice? Split everything into microservices. But before you hire an army of SREs and watch your Series A or B funding vanish into your AWS bill, consider another option: <strong>the modular monolith.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What is a Modular Monolith?</h2><p>A modular monolith is a single application organized into clear, self-contained modules, each focused on a distinct part of the business. These modules have well-defined boundaries, explicit responsibilities, and communicate through intentional interfaces. Everything runs and is deployed together, but the internal structure is clean and deliberate. This approach helps keep complexity under control as your codebase grows.</p><h3>The Architectural Spectrum</h3><p>Think of modular monoliths as the middle ground between the two extremes most teams debate:</p><ul><li><p><strong>Classic Monolith:</strong> Everything tightly coupled, all code intertwined. Changes in one area can break another.</p></li><li><p><strong>Modular Monolith:</strong> One deployable app, but with clear module boundaries and minimal dependencies between them.</p></li><li><p><strong>Microservices:</strong> Each business capability in its own independent service, running as a separate process, often with its own database.</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_!4f1R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4f1R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!4f1R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!4f1R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!4f1R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4f1R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150407,&quot;alt&quot;:&quot;The Architectural Spectrum&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/165940804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Architectural Spectrum" title="The Architectural Spectrum" srcset="https://substackcdn.com/image/fetch/$s_!4f1R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!4f1R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!4f1R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!4f1R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3920a071-71d3-4d2a-94f3-239ad6276fc7_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How backend architecture evolves: monolith, modular monolith, microservices.</figcaption></figure></div><h3>A City, Not a Maze</h3><p>Think of your system as a city. At first, it&#8217;s a bustling town square: everyone is packed into the same space, sharing roads and utilities.</p><p>As the city grows, you carve out neighborhoods, each with its own vibe and borders. Everyone still lives within the same city limits, but life becomes more organized and manageable.</p><p>Eventually, some neighborhoods grow large enough to become their own towns with separate city halls and infrastructure.</p><p>That&#8217;s how engineering teams evolve: from a simple monolith, to a modular monolith, and finally to a microservices architecture.</p><h2>Pros and Cons of Modular Monoliths</h2><p>Building a modular monolith is a popular choice for teams seeking structure and agility without diving headfirst into the complexity of microservices. But like any architectural decision, it comes with its own set of trade-offs. Let&#8217;s take a clear-eyed look at both sides.</p><h3>Pros</h3><ol><li><p><strong>Simple Deployment:</strong> You ship everything as a single unit. No juggling dozens of deployment pipelines or keeping service versions in sync.</p></li><li><p><strong>Clearer Code Organization:</strong> Modules bring structure and discipline. Teams can work on different business areas without stepping on each other&#8217;s toes.</p></li><li><p><strong>Easier Refactoring:</strong> Need to make a sweeping change? Internal module boundaries are easier to shift than a constellation of microservices.</p></li><li><p><strong>Lower Operational Overhead:</strong> One runtime, one set of logs, one monitoring setup. You avoid the overhead of running a distributed system.</p></li><li><p><strong>Natural Path to Microservices:</strong> If you ever need to split out a module, the clear boundaries you set today make tomorrow&#8217;s migration less painful.</p></li></ol><h3>Cons</h3><ol><li><p><strong>Difficult to Define Module Boundaries:</strong> Getting boundaries right is hard. It often takes several iterations and real-world use before your modules feel natural. Shifting these lines later can be disruptive.</p></li><li><p><strong>Performance Overhead:</strong> Isolating modules can mean more API calls and less efficient data access. Without careful design, what used to be a fast database query can become a slow, chatty operation.</p></li><li><p><strong>Limited Scalability and Deployment Flexibility:</strong> Since everything is deployed as a single unit, you can&#8217;t scale or deploy modules independently. When certain parts of your system outgrow the rest, you may eventually hit a wall.</p></li></ol><p>Modular monoliths offer a practical blend of structure and simplicity, giving you many of the benefits of microservices without the early complexity or cost. As with any software architecture or <a href="https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to">system design</a>, long-term success depends on discipline, clarity, and knowing when to adapt.</p><h2>Designing a Modular Monolith</h2><p>Designing a modular monolith isn&#8217;t just about splitting code into folders. It takes intention, discipline, and smart strategies to keep your system manageable and ready for the future. Let&#8217;s break it down into three critical areas: <strong>boundaries, communication, and data</strong>.</p><h3>Modules Definition: Drawing the Right Boundaries</h3><p>Getting boundaries right is everything. Start with your business domains. Use <a href="https://en.wikipedia.org/wiki/Domain-driven_design">Domain-Driven Design (DDD)</a> techniques to map each core business capability to its own module. For example, keep billing, user management, and inventory as separate units, not simply as technical layers.</p><p>Avoid the temptation to cut corners. Each module should own its functionality end to end, including data, logic, and interfaces. The closer your modules reflect real-world business boundaries, the healthier your system will be as it grows.</p><p>Review boundaries regularly. As your understanding deepens or requirements shift, do not hesitate to refactor and move responsibilities around. It is better to evolve early than to let messy boundaries fester.</p><h3>Communication Strategies: Letting Modules Talk</h3><p>How modules communicate matters. There are two main approaches:</p><ol><li><p><strong>Synchronous Communication: Module API Calls</strong><br>Modules usually call each other&#8217;s functions or methods directly within the same application, using in-process APIs or service interfaces instead of network or REST calls. This is simple and gives immediate responses, but it can increase coupling and make error handling harder as dependencies grow.</p></li><li><p><strong>Asynchronous Communication: Internal Event Bus</strong><br>Modules can also use an internal event bus that works within the same application, often in-memory. Examples include Node.js EventEmitter, .NET&#8217;s MediatR, or Phoenix.PubSub in Elixir. This adds flexibility, since modules can publish and listen for events independently, but it can make debugging and ensuring consistency more difficult.</p></li></ol><p>Choose your strategy based on the needs of each interaction. In practice, <strong>most modular monoliths use a mix of both</strong>.</p><h3>Data Isolation: Deciding on Database Architecture</h3><p>Data ownership is a cornerstone of good modular design. Your choices here affect maintainability, scalability, and how easily you can move to microservices in the future.</p><p>There are several levels of data isolation, each with increasing complexity and cost:</p><ol><li><p><strong>Separate Tables: </strong>Each module owns its own tables in a shared database. This is the simplest and least costly approach, but there&#8217;s still a risk of accidental cross-module queries.</p></li><li><p><strong>Separate Schemas: </strong>Each module gets its own database schema. This creates stronger boundaries, helps prevent data leaks, and simplifies migrations, though it adds some overhead compared to shared tables.</p></li><li><p><strong>Separate Databases: </strong>For maximum isolation, give each module a dedicated database. This approach significantly increases operational complexity, but makes it much easier to extract modules to microservices later.</p></li><li><p><strong>Different Persistence Technologies: </strong>Some modules may benefit from specialized data stores such as key-value, time-series, or document databases. Using the best technology for each module is fine, as long as you keep boundaries clear and avoid coupling through the database.</p></li></ol><p>Pick the level of isolation that fits your team&#8217;s size, maturity, and future plans. The more isolation you build in now, the easier it will be to extract modules later.</p><h2>When (and When Not) to Use a Modular Monolith</h2><p>Modular monoliths aren&#8217;t a universal solution, but for many projects they hit the sweet spot between chaos and complexity. The trick is knowing when they&#8217;re a good fit, and when it&#8217;s time to look elsewhere.</p><h3>When to Consider a Modular Monolith</h3><ol><li><p><strong>Your Domain Is Too Complex for a Classic Monolith:</strong> If your business logic sprawls across multiple concerns and teams keep bumping into each other, a simple monolithic codebase won&#8217;t scale. Modular monoliths help organize and manage that complexity.</p></li><li><p><strong>You Have Multiple Teams Working on the Solution:</strong> As soon as you have several teams, modularity helps avoid merge chaos, code collisions, and ownership confusion. Teams can move faster and actually take responsibility for their modules.</p></li><li><p><strong>You Want an Evolutionary Path Toward Microservices:</strong> If you think microservices might be in your future but don&#8217;t want the pain and overhead today, start modular. Building a well-structured modular monolith gives you the flexibility to evolve and split out services when you really need to.</p></li></ol><h3>When to Rethink Using a Modular Monolith</h3><ol><li><p><strong>You Need Independent Scaling or Deployments Now:</strong> If parts of your system must scale or deploy independently right away, a single deployable unit will get in your way.</p></li><li><p><strong>You Have a Polyglot Tech Stack or Specialized Persistence Needs:</strong> If your domains demand different programming languages or databases, trying to force them all into one app adds unnecessary friction.</p></li><li><p><strong>You Already Have Mature, Well-Defined Boundaries:</strong> If your domains are stable, teams are fully autonomous, and boundaries are set in stone, jumping directly to microservices may make sense.</p></li></ol><p>Modular monoliths offer clarity, structure, and a natural path to growth. You avoid operational overhead until you truly need it.</p><h2>From Modular Monolith to Microservices</h2><p>No architecture lasts forever. Even the best modular monolith can outgrow itself. The good news: if you&#8217;ve built strong boundaries and discipline into your modules, migrating to microservices is far less daunting.</p><h3>Signs It&#8217;s Time to Split the Monolith</h3><ul><li><p><strong>Bottlenecks and Slow Deployments:</strong> Teams are waiting on each other to ship changes, and deployments feel risky.</p></li><li><p><strong>Scaling Challenges:</strong> One part of your app is struggling under heavy load, but you can&#8217;t scale it independently.</p></li><li><p><strong>Team Autonomy:</strong> Teams want to move at their own pace, deploy on their own schedule, or experiment with new technologies.</p></li><li><p><strong>Reliability and Isolation:</strong> A bug or outage in one domain can bring down the entire system or create undesirable side effects.</p></li></ul><h3>How to Extract Modules Into Services</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h1Nc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h1Nc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!h1Nc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!h1Nc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!h1Nc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h1Nc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png" width="728" height="524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:102678,&quot;alt&quot;:&quot;From Modules To Services&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/165940804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="From Modules To Services" title="From Modules To Services" srcset="https://substackcdn.com/image/fetch/$s_!h1Nc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!h1Nc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!h1Nc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!h1Nc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7182899a-66f2-432e-a25a-b992908029c4_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Extracting a module into its own service, with separate API and database.</figcaption></figure></div><ol><li><p><strong>Pick a Candidate Module:</strong> Start with a well-defined module that has clear responsibilities and stands out as a good candidate for extraction. This is often the largest or most complex module, like Module C in the first diagram. Prioritizing the most critical module delivers the biggest impact and helps validate your migration process.</p></li><li><p><strong>Decouple Communication:</strong> Change internal module calls to explicit REST APIs or event-driven patterns. After extraction, the new service (Service C) exposes its own API and interacts with the system through REST or a distributed event bus. At this point, the event bus is external and is often referred to as a message broker or streaming platform. Technologies like Kafka, RabbitMQ, or NATS support communication between independently deployed services.</p></li><li><p><strong>Migrate Data Ownership:</strong> Move the module&#8217;s data to its own storage. In the diagram, Service C manages its data in a dedicated NoSQL database, such as MongoDB or DynamoDB. The other modules continue using the original SQL database, like PostgreSQL or MySQL, each with its own schema. This separation lets each service choose the database that best fits its needs.</p></li><li><p><strong>Set Up Separate Deployment:</strong> Deploy the new service independently, giving it its own runtime, deployment pipeline, and monitoring. This allows you to update and scale the service separately, while the rest of the monolith continues to run as before.</p></li><li><p><strong>Iterate Gradually:</strong> Migrate modules in small, deliberate steps rather than all at once. Use lessons from your first extraction to improve future migrations. Let actual pain points and business priorities guide which modules become services next. This approach reduces risk and helps your architecture evolve naturally alongside your team.</p></li></ol><p>A modular monolith is not a dead end; it is a launchpad. The better you design today, the less painful migration will be tomorrow. Take it one step at a time, and let business needs, not hype, set the pace.</p><h2>Best Practices and Common Pitfalls</h2><p>A modular monolith thrives on discipline and clarity. Done well, it delivers years of maintainability. Take shortcuts, and you&#8217;re back to a tangled mess. Here&#8217;s how to get it right, and the traps to avoid.</p><h3>Best Practices</h3><ul><li><p><strong>Enforce Real Module Boundaries:</strong> Use strong interfaces and keep shared code to a minimum. Regularly review dependencies to spot and eliminate accidental coupling. Tools like <a href="https://github.com/sasa1977/boundary">Boundary</a> for Elixir and <a href="https://github.com/Shopify/packwerk">Packwerk</a> for Ruby can help enforce modular boundaries automatically.</p></li><li><p><strong>Document and Communicate:</strong> Every module should have clear documentation and an explicit owner. Make sure all teams understand how modules interact and where responsibilities begin and end. Use <a href="https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners">CODEOWNERS</a> files to assign explicit owners to modules, directories, or files.</p></li><li><p><strong>Visualize and Monitor Complexity:</strong> Use module dependency graph tools like <a href="https://github.com/pahen/madge">Madge</a> for JavaScript/TypeScript or <a href="https://www.sonarqube.org/">SonarQube</a> for multiple languages to see how your modules interact. If you notice too many dependencies pointing to a single module, it&#8217;s a sign to revisit your boundaries and keep the architecture healthy.</p></li></ul><h3>Common Pitfalls</h3><ul><li><p><strong>Making Modules Too Small:</strong> Splitting code into tiny pieces adds overhead and confusion. The solution? Use <a href="https://martinfowler.com/bliki/BoundedContext.html">Bounded Contexts</a>. Each module should represent a meaningful business capability.</p></li><li><p><strong>Teams Not Prioritizing the Work:</strong> Modularization or migration only succeeds when every team is actively involved and committed. If teams aren&#8217;t engaged or don&#8217;t see this work as a priority, the effort will stall.</p></li><li><p><strong>No Leadership Buy-in:</strong> Without real commitment from senior leadership, modularization will eventually halt. This work often means prioritizing technical changes over new features, at least temporarily. If leadership isn&#8217;t on board, wait.</p></li></ul><p>A bit of structure, shared understanding, and honest measurement will keep your modular monolith clean, and ready for whatever comes next.</p><h2>Real-World Modular Monoliths</h2><p>You don&#8217;t have to take this on faith. Some of the world&#8217;s most successful tech companies have embraced the modular monolith pattern to balance growth and maintainability. Here are three popular ones.</p><h3>Shopify</h3><p><a href="https://shopify.engineering/shopify-monolith">Shopify runs a massive Rails-based monolith</a> with over 2.8 million lines of Ruby and 500,000 commits as of September 2020. The codebase is carved into modular &#8220;components&#8221; to manage complexity and accelerate delivery. The team enforces clear boundaries, enables selective testing, and streamlines onboarding.</p><h3>Basecamp</h3><p>Basecamp champions the &#8220;majestic monolith&#8221; since 2003, organizing its codebase by feature and responsibility, resisting distributed systems until truly necessary. Their philosophy keeps abstractions minimal and architecture clear, as detailed by DHH in <a href="https://signalvnoise.com/svn3/the-majestic-monolith/">&#8220;The Majestic Monolith&#8221;</a>.</p><h3>GitLab</h3><p><a href="https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/modular_monolith/">GitLab maintains a modular monolith</a> containing over 2.2&#8239;million lines of code. They&#8217;re actively modularizing it using tools like Packwerk to define bounded contexts, enforce boundaries, and prepare for future service extraction. This disciplined architecture boosts engineer productivity, enhances code clarity, and enables gradual decoupling.</p><p>If modular monoliths can work for companies at this scale, there&#8217;s a good chance they can work for you.</p><h2>Final Thoughts: Build for Today, Plan for Tomorrow</h2><p>Software architecture decisions are often less certain than we admit. Modular monoliths show that simple, disciplined solutions can be more effective than chasing trends. They help teams manage complexity, organize code, and focus on delivering real value instead of hype.</p><p>Every system grows and changes in ways you can&#8217;t fully predict. The most resilient architectures leave space for learning and adaptation. Modular monoliths let you build something strong today while keeping options open for tomorrow.</p><p>In the end, good architecture is less about grand plans and more about everyday discipline. It comes down to how your team communicates, how often you revisit boundaries, and how you handle the small decisions that add up over time.</p><p>If your system feels unwieldy, you may not need to start over. You might just need clearer boundaries, better habits, and the patience to improve things one step at a time.</p><p>Build with intention. Refactor with care. Your future self and your team will thank you.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/the-modular-monolith-advantage?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/the-modular-monolith-advantage?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>Thanks for reading <strong>The Engineering Leader</strong></em>. &#128591;</p><p><em>If you enjoyed this issue, tap the </em>&#10084;&#65039;<em>, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</em></p><p>&#128075; <em>Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Build Your First AI Agent]]></title><description><![CDATA[In under 200 lines of Python, I built an agentic AI mentor that teaches, evaluates, and adapts. Here's how you can do it too.]]></description><link>https://newsletter.rafapaez.com/p/build-your-first-ai-agent</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/build-your-first-ai-agent</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 08 Jun 2025 11:01:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bzZK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>ChatGPT. Gemini. Claude. Or any LLM. Ask a question and you get a polished answer in seconds.</p><p>Impressive? Sure. Transformative? Not really. Answers alone do not drive change.</p><p>Now imagine this: An AI that keeps the conversation alive. It asks clarifying questions. It remembers last week&#8217;s blockers. It nudges you toward the next step. That&#8217;s not a chatbot. That&#8217;s an <strong>AI agent</strong>.</p><p>In this article, I&#8217;ll show you exactly what Agentic AI is, how it works, and how you can build your own agent from scratch, fast.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What Is Agentic AI?</h2><p>Agentic AI is artificial intelligence that acts on its own. It can make decisions, adapt to changes, and pursue goals with minimal human input. Instead of just responding to commands, it takes initiative, solves problems, and learns from experience.</p><p>Think of it as <strong>AI with agency</strong>. Traditional chatbots wait for prompts. An agent, by contrast, can observe a situation, set its own internal goals, and take steps toward those goals without needing to be micromanaged.</p><p>Put simply, Agentic AI is <strong>autonomy with purpose</strong>. It can:</p><ul><li><p><strong>Act with intention</strong> rather than wait passively for user input</p></li><li><p><strong>Perceive and adapt</strong> by asking follow-up questions, clarifying vague instructions, or suggesting next steps</p></li><li><p><strong>Problem-solve</strong> within boundaries and tools you define, choosing its own tactics</p></li><li><p><strong>Persist through loops</strong> until it considers the task complete</p></li></ul><p>Here&#8217;s a mental shortcut:</p><blockquote><p>Autonomy tells the AI it <em>may</em> act.<br><strong>Agency tells the AI it should act toward a clear objective.</strong></p></blockquote><p>Contrast that with a standard LLM exchange:</p><blockquote><p>User: &#8220;I want to be a better delegator.&#8221;<br>ChatGPT: &#8220;Here are five tips.&#8221;</p></blockquote><p>An AI agent digs deeper:</p><blockquote><p>Agent: &#8220;What part of delegation feels hardest right now?&#8221;<br>User: &#8220;I worry tasks won&#8217;t meet my standards.&#8221;<br>Agent: &#8220;Describe a recent example when this worry became reality.&#8221;<br><em>(The loop continues until a concrete plan emerges.)</em></p></blockquote><p>Most LLMs respond once and stop. <strong>Agents don&#8217;t stop until the job is done.</strong></p><h2>The Agent Loop</h2><p>The secret sauce that turns a one&#8209;off chatbot into an autonomous helper is a simple, repeatable cycle known as <em>the agent loop</em>. In practice each turn of the loop covers six steps:</p><ol><li><p><strong>Construct the prompt: </strong>Combine the current goal, any tool descriptions, and recent feedback into a single prompt string.</p></li><li><p><strong>Query the LLM: </strong>Send the prompt to your model of choice and receive a structured response.</p></li><li><p><strong>Parse the response: </strong>Extract the action in a machine&#8209;readable form: for example an API name plus arguments.</p></li><li><p><strong>Execute the action: </strong>Call the API or any other tool, run code, or perform whatever real&#8209;world step the agent selected.</p></li><li><p><strong>Capture feedback: </strong>Get the results from the action taken, which could include success messages, error codes, or data.</p></li><li><p><strong>Decide to continue or end: </strong>Based on the feedback, determine whether to continue the loop (a new prompt) or to end the process.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bzZK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bzZK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!bzZK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!bzZK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!bzZK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bzZK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:85984,&quot;alt&quot;:&quot;The Agent Loop&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/165416363?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Agent Loop" title="The Agent Loop" srcset="https://substackcdn.com/image/fetch/$s_!bzZK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!bzZK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!bzZK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!bzZK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04717008-82b0-480c-9c78-e8c5d98314d1_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A few practical tips:</p><ul><li><p><strong>Give the agent clear tool choices:</strong> (&#8220;You may call clarify, teach, evaluate, or finish&#8221;). Clear options make parsing trivial.</p></li><li><p><strong>Store only what matters</strong>: Memory grows every loop; trim or summarise older steps to keep token costs low.</p></li><li><p><strong>Stay in charge</strong>: Your outer loop controls when to break, throttle, or sandbox actions. The agent suggests; your code decides.</p></li></ul><p>Master this pattern and you can bolt an LLM onto almost any workflow, from spreadsheet updates to expense processing to leadership coaching.</p><h2>Prompts and Memory</h2><p>To turn a language model into an agent, you need to automate two things:</p><p><strong>1. Prompting programmatically</strong>: Instead of a person typing questions and reading answers, your code handles the conversation loop. It builds prompts from context, sends them to the model, parses responses, and decides what to do next.</p><p><strong>2. Managing memory explicitly</strong>: Language models don&#8217;t remember past calls. You must give them memory by resending important context each turn, and deciding what&#8217;s worth including.</p><h3>Prompting in Practice</h3><p>An agent's prompt is more than a static instruction. It's a growing conversation that evolves with every turn. Each message is labeled by a <em>role</em> to guide how the model understands and responds:</p><ul><li><p><strong>system</strong>: Sets the rules for the AI. It defines the model's behavior, tone, and boundaries. You use it to tell the AI how it should act.</p></li><li><p><strong>user</strong>: Represents everything the human says. This includes questions, goals, clarifications, and answers.</p></li><li><p><strong>assistant</strong>: Captures what the AI said in the previous message. It keeps the conversation coherent and helps the model stay consistent.</p></li></ul><p>These roles form the structure of the agent's memory. They allow the AI to track context, follow up intelligently, and make informed decisions with each interaction.</p><p>Here&#8217;s an example:</p><pre><code>&lt;system&gt;
You are a leadership mentor. 
&lt;user&gt;
I want to be a better delegator. 
&lt;assistant&gt;
What part of delegation feels hardest right now? 
&lt;user&gt;
I worry tasks won&#8217;t meet my standards.</code></pre><p>Each step adds to the thread. Your agent appends a user message, calls the model, then appends the assistant&#8217;s reply, and repeats.</p><p>To keep this loop working:</p><ul><li><p>Keep prompts concise and structured.</p></li><li><p>Use consistent message roles (system, user, assistant).</p></li><li><p>Trim the history when it gets too long.</p></li></ul><h3>Managing Memory</h3><p>Most agents rely on two types of memory:</p><ul><li><p><strong>Conversation memory</strong> holds the recent message history. This is what you resend to the model on each turn to maintain context and continuity.</p></li><li><p><strong>Code-level state</strong> stores important internal values the model doesn&#8217;t need to see. This might include things like raw API responses, counters, or scores.</p></li></ul><p>A typical way to maintain conversation memory looks like this:</p><pre><code>self.memory.append({"role": "assistant", "content": response_content})
full_prompt.extend(self.memory)</code></pre><p>This pattern keeps the prompt grounded in the full interaction history, allowing the agent to make decisions based on everything said so far.</p><h2>Building the Mentor Agent in Python</h2><p>I&#8217;ve been tinkering with AI agents lately, and I wanted to show you how to build one from scratch using Python, <a href="https://github.com/BerriAI/litellm">LiteLLM</a>, and <a href="https://colab.research.google.com/">Google Colab</a>.</p><p><strong>Why These Tools?</strong></p><ul><li><p><strong>Google Colab</strong>: Zero setup. Just open a notebook and run. Perfect for sharing experiments or workshops.</p></li><li><p><strong>LiteLLM</strong>: A clean wrapper that lets you talk to GPT-4o (or other models) with minimal boilerplate. Great for building agents quickly.</p></li><li><p><strong>Python</strong>: The lingua franca of AI. Enough said.</p></li></ul><p>Let&#8217;s walk through the setup.</p><h3>Step 1: Set Up Your Environment</h3><p>Let&#8217;s start with the basics, installing the right library and loading your API key securely:</p><pre><code><code>!pip install litellm --quiet

import os
import json
from litellm import completion
from google.colab import userdata</code></code></pre><p>In this project, I&#8217;m using OpenAI&#8217;s GPT-4o via API. But thanks to LiteLLM, you can swap in other providers like Anthropic, Google Gemini, Mistral, or even local models.</p><p>To follow along with OpenAI, get your API key from <a href="https://platform.openai.com/account/api-keys">platform.openai.com</a> and securely store it in Colab.</p><p>To securely store your API keys in Google Colab, use the <strong>Secrets</strong> tab in the left sidebar. This allows you to save sensitive values like API keys without hardcoding them into your notebook.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VthW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VthW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png 424w, https://substackcdn.com/image/fetch/$s_!VthW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png 848w, https://substackcdn.com/image/fetch/$s_!VthW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png 1272w, https://substackcdn.com/image/fetch/$s_!VthW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VthW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:101721,&quot;alt&quot;:&quot;Secrets in Google Colab&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/165416363?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Secrets in Google Colab" title="Secrets in Google Colab" srcset="https://substackcdn.com/image/fetch/$s_!VthW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png 424w, https://substackcdn.com/image/fetch/$s_!VthW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png 848w, https://substackcdn.com/image/fetch/$s_!VthW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png 1272w, https://substackcdn.com/image/fetch/$s_!VthW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba63748-8e97-4bfe-91ae-b5488e93ace9_1231x726.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Once stored, you can access them in code like this:</p><pre><code><code>api_key = userdata.get("OPENAI_API_KEY")
os.environ["OPENAI_API_KEY"] = api_key</code></code></pre><p>This keeps your secrets safe, avoids exposing them in shared notebooks, and works seamlessly across sessions. No need to call <code>set()</code> in the notebook, just manage them through the UI.</p><h3>Step 2: Configure the Agent (Role, Memory, Tools)</h3><p>We&#8217;re not building a chatbot or a coder. We&#8217;re building a mentor. That means we need to be explicit about how it should behave.</p><p>In this step, we define the agent&#8217;s <strong>goal</strong>, initialize its <strong>memory</strong>, register its <strong>tools</strong> and, most importantly, set its <strong>role</strong> as a leadership mentor. This gives the model clear boundaries and purpose from the very start.</p><pre><code><code>class LeadershipMentorAgent:
    """
    A simple AI Agent that acts as a leadership mentor.
    """
    def __init__(self, goal):
        """
        Initializes the agent with a goal, memory, and a set of tools.
        """
        self.goal = goal
        self.memory = []
        self.max_loops = 10 # Set a maximum number of interactions
        # A registry of available "mentoring" tools for the agent.
        self.tools = {
            "clarify": {
                "function": self.clarify,
                "description": "Asks the user a question to get more details about their goal. Use this if the goal is vague.",
                "args": {"question": "The clarifying question to ask the user (string)."}
            },
            "teach": {
                "function": self.teach,
                "description": "Explains a leadership concept, theory, or strategy to the user. Use this to provide knowledge.",
                "args": {"concept": "The concept to explain (string)."}
            },
            "evaluate": {
                "function": self.evaluate,
                "description": "Asks the user a question to see if they understood a concept. Use this to check for comprehension.",
                "args": {"question": "The question to evaluate understanding (string)."}
            },
            "finish": {
                "function": self.finish,
                "description": "Ends the mentoring session with a summary or concluding remarks.",
                "args": {"summary": "A final message for the user (string)."}
            }
        }

    # These functions define the agent's "actions". They interact with the user via the console.
    def clarify(self, question: str) -&gt; str:
        """Asks the user for more information."""
        print(f"&#129302; Mentor: {question}")
        user_response = input("You: ")
        return f"User's response: '{user_response}'"

    def teach(self, concept: str) -&gt; str:
        """Explains a concept to the user."""
        # In a real app, you might fetch this from a knowledge base.
        print(f"&#129302; Mentor: Let's talk about '{concept}'. A key aspect of this is...")
        # Mock explanation
        if "feedback" in concept.lower():
            print("Effective feedback is specific, actionable, and delivered with empathy. It focuses on behavior, not personality.")
        else:
            print("It's important for a leader to understand this principle to guide their team effectively.")
        return "Concept explained."

    def evaluate(self, question: str) -&gt; str:
        """Checks if the user understood the concept."""
        print(f"&#129302; Mentor: {question}")
        user_response = input("You: ")
        return f"User's response to evaluation: '{user_response}'"

    def finish(self, summary: str) -&gt; str:
        """Ends the conversation."""
        print(f"&#129302; Mentor: {summary}")
        return "Session concluded."

    def _construct_prompt(self) -&gt; list[dict]:
        """
        Constructs the prompt for the LLM with instructions, tools, and history.
        """
        # The system prompt defines the agent's persona and logic.
        system_prompt = f"""
        You are an AI Leadership Mentor. Your purpose is to help the user with their goal: "{self.goal}".
        You will guide them by asking questions, teaching concepts, and evaluating their understanding.

        You have access to the following tools:
        {json.dumps(self.tools, indent=2, default=lambda o: o.__doc__)}

        Follow this thought process:
        1.  Start by understanding the user's goal. If it's unclear, use 'clarify'.
        2.  Based on their goal, use 'teach' to explain a relevant leadership skill.
        3.  After teaching, use 'evaluate' to check if they grasped the concept.
        4.  Based on their responses, decide the next step. Either teach a new concept or continue clarifying.
        5.  When the user's initial goal has been addressed, use 'finish' to end the conversation.
        6.  Your responses MUST be in a valid JSON format.

        Example of a tool-using response:
        {{
            "action": "teach",
            "args": {{"concept": "Giving constructive feedback"}}
        }}

        Example of a concluding response:
        {{
            "action": "finish",
            "args": {{"summary": "Great work today! We've covered the basics of feedback."}}
        }}
        """

        full_prompt = [{"role": "system", "content": system_prompt}]
        full_prompt.extend(self.memory)
        # Add the goal as the first user message if memory is empty
        if not self.memory:
            full_prompt.append({"role": "user", "content": f"My leadership goal is: {self.goal}"})

        return full_prompt</code></code></pre><h3>Step 3: Implement the Mentor Agent Loop</h3><p>Now the agent comes to life. This isn&#8217;t just a one-off prompt and response. It&#8217;s an interactive, iterative session, guided by <strong>the agent loop </strong>we described earlier:</p><blockquote><p><strong>Prompt &#8594; LLM &#8594; Response &#8594; Action &#8594; Feedback &#8594; Completed?</strong></p></blockquote><p>But this time, the loop is tailored for mentorship. Each turn, the agent:</p><ol><li><p>Revisits the user&#8217;s leadership goal</p></li><li><p>Decides whether to clarify, teach, or evaluate based on the current context</p></li><li><p>Interacts directly with the user through the console, making the session feel personal</p></li><li><p>Captures feedback after each action to inform its next decision</p></li><li><p>Concludes with a final summary once the goal has been addressed or the session is complete</p></li></ol><p>This structure gives the agent just enough autonomy to feel thoughtful, while keeping it grounded in the mentoring role you defined.</p><p>Here&#8217;s the full loop that powers the experience:</p><pre><code><code>    def run(self):
        """
        The main agent loop for the mentoring session.
        """
        print(f"&#127919; Mentor Agent activated. Goal: {self.goal}\n")
        loop_count = 0
        while loop_count &lt; self.max_loops:
            loop_count += 1
            print(f"--- Interaction {loop_count}/{self.max_loops} ---")

            # 1. Construct the prompt
            prompt = self._construct_prompt()

            # 2. Query the LLM for the next action
            print("&#129300; Mentor is thinking...")
            try:
                response = completion(
                    model="gpt-4o", # Using a more capable model for nuanced tasks
                    messages=prompt,
                    temperature=0.7,
                    max_tokens=512
                )
                response_content = response.choices[0].message.content.strip()
            except Exception as e:
                print(f"An error occurred with the LLM call: {e}")
                break

            self.memory.append({"role": "assistant", "content": response_content})

            # 3. Parse the LLM's response
            try:
                parsed_response = json.loads(response_content)
                print(f"&#9989; Mentor's decided action: {parsed_response['action']}")
            except (json.JSONDecodeError, KeyError):
                print(f"&#128680; Error: Invalid JSON from LLM: {response_content}")
                feedback = "Invalid response format. Please use the 'action' key in a JSON object."
                self.memory.append({"role": "system", "content": f"Feedback: {feedback}"})
                continue

            # 4. Execute the chosen action
            action_name = parsed_response.get("action")
            action_args = parsed_response.get("args", {})

            if action_name in self.tools:
                tool_function = self.tools[action_name]["function"]
                try:
                    result = tool_function(**action_args)
                    # 5. Capture feedback for the next loop
                    feedback = f"The user's response was: '{result}'"
                    print(f"&#128295; Feedback captured.\n")
                    self.memory.append({"role": "system", "content": f"Feedback: {feedback}"})

                    # 6. Decide to continue or end
                    if action_name == "finish":
                        print("\n&#127937; Mentor session has ended.")
                        break
                except Exception as e:
                    print(f"Error executing tool '{action_name}': {e}")
                    break
            else:
                feedback = f"Unknown tool '{action_name}'. Please choose from available tools."
                self.memory.append({"role": "system", "content": f"Feedback: {feedback}"})

        if loop_count &gt;= self.max_loops:
            print("\n&#9888;&#65039; Mentor reached maximum interactions. Ending session.")</code></code></pre><h3>Step 4: Start the Mentoring Session</h3><p>Once everything is in place, just run the script to launch your mentoring session:</p><pre><code>if __name__ == "__main__":
    try:
        user_goal = input("Welcome! What leadership goal would you like to work on today?\nYou: ")
        if user_goal:
            agent = LeadershipMentorAgent(goal=user_goal)
            agent.run()
        else:
            print("No goal provided. Exiting.")
    except KeyboardInterrupt:
        print("\nProcess interrupted by user. Exiting.")</code></pre><p>The agent will greet you, ask for your leadership goal, and guide you through a structured session. It will clarify your intent, teach relevant concepts, evaluate your understanding, and help you plan one concrete next step.</p><p>You can go through multiple rounds until your goal is addressed or the session ends naturally.</p><blockquote><p>You can view the full AI agent code on GitHub:<br><strong>&#8594; </strong><a href="https://github.com/rafapaez/leadership-mentor-agent">github.com/rafapaez/leadership-mentor-agent</a></p></blockquote><h3>Step 5: See It in Action</h3><p>Now that everything&#8217;s wired up, here&#8217;s how the agent performs in a real session. This sample shows how it clarifies your goal, teaches key concepts, and responds dynamically based on your input:</p><pre><code>Welcome! What leadership goal would you like to work on today?
You: time management
&#127919; Mentor Agent activated. Goal: time management

--- Interaction 1/10 ---
&#129300; Mentor is thinking...
&#9989; Mentor's decided action: clarify
&#129302; Mentor: Can you describe a specific time management challenge you are facing in your leadership role?
You: to many interruptions
&#128295; Feedback captured.

--- Interaction 2/10 ---
&#129300; Mentor is thinking...
&#9989; Mentor's decided action: teach
&#129302; Mentor: Let's talk about 'The concept of time blocking, a method where you allocate specific chunks of time for different activities, and set boundaries to minimize interruptions.'. A key aspect of this is...
It's important for a leader to understand this principle to guide their team effectively.
&#128295; Feedback captured.

--- Interaction 3/10 ---
&#129300; Mentor is thinking...
&#9989; Mentor's decided action: evaluate
&#129302; Mentor: How would you use time blocking to manage interruptions during your day?
You: I'll start blocking focus time slots
&#128295; Feedback captured.

--- Interaction 4/10 ---
&#129300; Mentor is thinking...
&#9989; Mentor's decided action: teach
&#129302; Mentor: Let's talk about 'The concept of setting boundaries and communicating your schedule to your team or colleagues, which involves letting them know about your focus times and the best times to approach you for discussions or questions.'. A key aspect of this is...
It's important for a leader to understand this principle to guide their team effectively.
&#128295; Feedback captured.

--- Interaction 5/10 ---
&#129300; Mentor is thinking...
&#9989; Mentor's decided action: evaluate
&#129302; Mentor: How will you communicate your focus times to your team to help manage interruptions?
You: I'll be transparent with my availability
&#128295; Feedback captured.

--- Interaction 6/10 ---
&#129300; Mentor is thinking...
&#9989; Mentor's decided action: finish
&#129302; Mentor: Great progress! By using time blocking and communicating your focus times transparently, you can effectively manage interruptions. Keep implementing these strategies to improve your time management.
&#128295; Feedback captured.


&#127937; Mentor session has ended.</code></pre><p>You can continue the session for multiple rounds until the agent decides the goal has been addressed, or you stop it manually.</p><h2>Final Thoughts: Stop Reading, Start Building</h2><p>Reading about agents is useful. Building one changes how you think.</p><p>You&#8217;ve now seen a real agent loop. Not a toy, not a slide deck example. Just a clear goal, a handful of tools, and a bit of logic to let the model lead with purpose.</p><p>The Leadership Mentor Agent isn&#8217;t perfect. But it&#8217;s real. It clarifies, teaches, and adapts. You can <a href="https://github.com/rafapaez/leadership-mentor-agent">fork it</a>, remix it, and ship something better this afternoon.</p><p>This isn&#8217;t about theory. It&#8217;s about practice. Stop scrolling. Open your editor. Build your agent.</p><p>Not just to write code, but to build something that collaborates. Guides. Mentors.</p><p>That future isn&#8217;t far off. You just started it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/build-your-first-ai-agent?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/build-your-first-ai-agent?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>Thanks for reading <strong>The Engineering Leader</strong></em>. &#128591;</p><p><em>If you enjoyed this issue, tap the </em>&#10084;&#65039;<em>, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</em></p><p>&#128075; <em>Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Engineering Leader’s Guide to System Design]]></title><description><![CDATA[What modern leaders need to know to scale teams and platforms, ship reliably, and avoid costly mistakes]]></description><link>https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 01 Jun 2025 08:01:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oQH5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oQH5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oQH5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!oQH5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!oQH5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!oQH5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oQH5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100112,&quot;alt&quot;:&quot;Modern Engineering Leadership&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/164788461?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Modern Engineering Leadership" title="Modern Engineering Leadership" srcset="https://substackcdn.com/image/fetch/$s_!oQH5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!oQH5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!oQH5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!oQH5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c7c2b1c-7c44-4440-8fbd-782cd9508005_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The startup was finally taking off. Then the platform went down.</strong></p><p>PostgreSQL deadlocks piled up. A reconciliation procedure had locked key tables for too long. The code was fine.</p><p>The architecture was not.</p><p>This wasn&#8217;t just a technical hiccup. It was an expensive outage.</p><p>And it could have been avoided with better system design thinking, especially at the leadership level.</p><p>Today, system design is no longer a &#8220;nice-to-have&#8221; for engineering leaders. It&#8217;s the foundation for scaling your team, making sound decisions, and avoiding the kind of silent risks that later explode in production.</p><p>In this post, I&#8217;ll walk you through the fundamentals of system design. Not to turn you into an architect, but to help you <strong>ask sharper questions, spot red flags earlier, and lead with clarity and confidence</strong>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Part 1: Master the Fundamentals</h2><h3>What Is System Design, Really?</h3><p>System design is the art of architecting software that not only works, but also scales, stays reliable, and evolves over time.</p><p>It&#8217;s not about fancy diagrams. It&#8217;s about trade-offs. Constraints. Long-term thinking. Leadership.</p><h3>Why Should You Care?</h3><p>Because every roadmap decision hides a system design decision.</p><p>Ship a &#8220;simple&#8221; feature without understanding system load or latency impact? You&#8217;ll find out the hard way in production.</p><p>Design isn&#8217;t a technical afterthought. It&#8217;s a strategic, organizational bet.</p><h3>Core System Design Principles: The SPARCS Framework</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ja1d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ja1d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!Ja1d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!Ja1d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!Ja1d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ja1d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94305,&quot;alt&quot;:&quot;The SPARCS Framework&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/164788461?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The SPARCS Framework" title="The SPARCS Framework" srcset="https://substackcdn.com/image/fetch/$s_!Ja1d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!Ja1d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!Ja1d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!Ja1d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e85b56-ce26-4290-a1e7-4cbbdafdab60_1456x1048.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>Every scalable system relies on six core principles. Together, they form the acronym <strong>SPARCS</strong>:</p><h4><strong>Scalability</strong></h4><p><em>Can the system grow with your users and data?</em></p><p>Think in two dimensions: <strong>horizontal scalability</strong> (adding more machines) and <strong>vertical scalability</strong> (upgrading existing resources). Poor scalability creates bottlenecks that limit your growth.</p><h4><strong>Performance</strong></h4><p><em>Is the system fast enough under real-world conditions?</em></p><p>Performance depends on <strong>smart load balancing, efficient caching, algorithmic choices, and reducing latency</strong> at every layer. Sluggish systems erode user trust and hurt conversions.</p><h4><strong>Availability</strong></h4><p><em>Will the system be up when users need it?</em></p><p>Even short outages can have real impact. High availability requires <strong>monitoring, failover mechanisms, redundancy, and a clear understanding of your &#8220;nines&#8221;</strong> (e.g. 99.9% uptime = 8.7 hours of downtime per year).</p><h4><strong>Reliability</strong></h4><p><em>Does the system behave correctly over time, even when things go wrong?</em></p><p>Reliability is about correctness under pressure. This includes <strong>redundancy, graceful degradation, retries, and fault-tolerant</strong> design that protects critical paths.</p><h4><strong>Consistency</strong></h4><p><em>Is the data accurate and up to date across all parts of the system?</em></p><p>In distributed systems, consistency is tricky. <strong>The CAP Theorem</strong> reminds us that in the presence of a network partition, we must choose between consistency and availability. Choose the model: strong, eventual, or something in between, that fits your use case.</p><h4><strong>Security</strong></h4><p><em>Is the system protected against threats, misuse, and data leaks?</em></p><p><strong>Good security is layered.</strong> It includes HTTPS or SSL/TLS for encrypted communication, firewalls to limit exposure, access controls like RBAC (Role-Based Access Control), and secure handling of credentials. One breach can destroy user trust and derail your product.</p><p><strong>Leadership takeaway:</strong> You don&#8217;t need to master every dimension. But you do need to ask: <em>&#8220;Which qualities matter most for this system, right now?&#8221;</em></p><h2>Part 2: Map the Building Blocks</h2><p>Think of modern systems like cities. Your job isn&#8217;t to know every street. It&#8217;s to understand the map.</p><p>As a leader, you don&#8217;t need to design every component but you do need to recognize the critical layers, ask the right questions, and ensure there&#8217;s clear ownership.</p><p>Here are the building blocks that matter most:</p><h3>The Front Door</h3><ul><li><p><strong>Clients (Web, Mobile):</strong><br>The user&#8217;s first interaction with your system. Page load speed, offline support, and responsiveness all start here. <br><strong>Examples:</strong> React, Flutter, Next.js, Android/iOS SDKs</p></li><li><p><strong>API Gateway or Load Balancer:</strong><br>Routes and secures traffic. It hides your internal topology, enforces authentication, and distributes load across healthy instances. If this fails, your system becomes unreachable.<br><strong>Examples:</strong> AWS API Gateway, NGINX, HAProxy, Kong</p></li></ul><h3>Stateless Compute</h3><ul><li><p><strong>App Servers:</strong><br>Handle business logic and scale horizontally by design. Just make sure they don&#8217;t rely on local state or file storage.<br><strong>Examples:</strong> Node.js with Express, Spring Boot, Django, Ruby on Rails, Phoenix (Elixir)</p></li><li><p><strong>Containers:</strong></p><p>Package applications and their dependencies for consistent deployment across environments.</p><p><strong>Examples:</strong> Docker, contarinerd. Typically orchestrated with Kubernetes, Amazon ECS, or Nomad for scalability and automation.</p></li><li><p><strong>Serverless Functions:</strong><br>Great for bursty, unpredictable workloads. They scale on demand but come with cold-start delays and a cost model that can surprise finance teams.<br><strong>Examples:</strong> AWS Lambda, Google Cloud Functions, Vercel Functions</p></li></ul><h3>Data Stores</h3><ul><li><p><strong>SQL Databases:</strong><br>Structured, relational data with strong consistency and support for complex joins. Ideal when you need transactional integrity.<br><strong>Examples:</strong> PostgreSQL, MySQL, SQLite</p></li><li><p><strong>NoSQL Databases:</strong><br>Flexible schema and horizontally scalable. Useful for high-throughput use cases, but consistency guarantees may be relaxed.<br><strong>Examples:</strong> MongoDB, Cassandra, DynamoDB, CouchDB</p></li><li><p><strong>Specialized Stores:</strong></p><ul><li><p><strong>Blob Storage:</strong> For large files like images, videos, and backups.<br><strong>Examples:</strong> Amazon S3, Google Cloud Storage</p></li><li><p><strong>Key&#8211;Value Stores:</strong> Lightning-fast access for session data and feature flags.<br><strong>Examples:</strong> Redis, Memcached, Riak</p></li><li><p><strong>Vector Databases:</strong> Used in AI applications for similarity search and embeddings.<br><strong>Examples:</strong> Pinecone, Weaviate, pgvector with PostgreSQL</p></li><li><p><strong>Graph Databases:</strong> Optimized for traversing relationships like social graphs.<br><strong>Examples:</strong> Neo4j, Amazon Neptune</p></li><li><p><strong>Time Series Databases:</strong> Purpose-built for metrics, logs, and timestamped data.<br><strong>Examples:</strong> InfluxDB, TimescaleDB</p></li></ul></li></ul><h3>In-Memory Acceleration</h3><ul><li><p><strong>Content Delivery Networks (CDNs):</strong><br>Serve static assets from edge locations to reduce latency and offload your origin servers.<br><strong>Examples:</strong> Cloudflare, Fastly, Akamai</p></li><li><p><strong>In-Memory Cache Solutions:</strong><br>Store hot keys in memory for millisecond-level read performance. Without strict eviction and freshness rules, cached data can become a silent liability.<br><strong>Examples:</strong> Redis, Memcached, Caffeine</p></li></ul><h3>Async Backbone</h3><ul><li><p><strong>Message Queues:</strong><br>Allow different parts of a software system to communicate asynchronously. Decouple producers and consumers to absorb traffic spikes and isolate failures.<br><strong>Examples:</strong> AWS SQS, RabbitMQ, Azure Queue Storage</p></li><li><p><strong>Stream Platforms:</strong><br>Capture real-time events for analytics and replay. Enable event-driven architectures and eventual consistency models.<br><strong>Examples:</strong> Apache Kafka, Apache Pulsar, Redpanda</p></li><li><p><strong>Schedulers / Cron Jobs:</strong><br>Run background tasks at set intervals. Be sure to handle clock drift, retries, and idempotency to avoid duplicate runs.<br><strong>Examples:</strong> Airflow, Celery Beat, Kubernetes CronJobs, Sidekiq (Ruby), Oban (Elixir)</p></li></ul><h3>Observability</h3><ul><li><p><strong>Metrics &amp; Monitoring:</strong></p><p>Track the health and performance of your system. Missing SLOs or unclear dashboards can delay detection.</p><p><strong>Examples:</strong> Prometheus, Grafana, Datadog, NewRelic, CloudWatch</p></li><li><p><strong>Logging:</strong></p><p>Capture detailed events and errors. Without structure or correlation IDs, logs become hard to use.</p><p><strong>Examples:</strong> ELK stack, Grafana Loki, Fluentd, Sentry</p></li><li><p><strong>Tracing:</strong></p><p>Follow requests across services to find latency or failure points. Incomplete traces lead to blind spots.</p><p><strong>Examples:</strong> OpenTelemetry, Jaeger, Zipkin, Honeycomb, Datadog APM</p></li><li><p><strong>LLM Observability:</strong></p><p>Understand how AI features behave in production. Track prompt quality, model outputs, latency, costs, and failure modes.</p><p><strong>Examples:</strong> Langfuse, Helicone, PromptLayer, HoneyHive, WhyLabs</p></li><li><p><strong>Feature Flags:</strong><br>Enable gradual rollouts and experiments. But stale flags become hidden tech debt that complicates future changes.<br><strong>Examples:</strong> LaunchDarkly, Flagsmith, Unleash</p></li><li><p><strong>Service Mesh:</strong><br>Standardizes cross-service communication, retries, and mutual TLS. Powerful but complex. Only adopt if you have the operational maturity to manage it.<br><strong>Examples:</strong> Istio, Linkerd, Consul Connect</p></li></ul><h3>Security Layer</h3><ul><li><p><strong>Identity Providers (IdPs):</strong><br>Centralize authentication and enable Single Sign-On (SSO). Help enforce security policies like Multi-Factor Authentication (MFA). Be careful: if your IdP fails, all access may be lost unless you have fallback strategies.<br><strong>Examples:</strong> Auth0, Okta, Azure AD</p></li><li><p><strong>Secrets Managers:</strong><br>Securely store and manage credentials, API keys, and certificates. Regular rotation and audit trails are essential to avoid leaks.<br><strong>Examples:</strong> AWS Secrets Manager, HashiCorp Vault, Doppler</p></li></ul><p><strong>Leadership takeaway:</strong> Every building block adds complexity. Always ask: <em>Who owns this at 2 a.m.?</em> and <em>What metric proves it&#8217;s healthy?</em></p><h2>Part 3: Choose Your Architecture Pattern</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NEph!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NEph!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!NEph!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!NEph!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!NEph!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NEph!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132052,&quot;alt&quot;:&quot;Architecture Patterns&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/164788461?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Architecture Patterns" title="Architecture Patterns" srcset="https://substackcdn.com/image/fetch/$s_!NEph!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!NEph!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!NEph!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!NEph!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62d227d1-99e1-4193-a230-4a1d8408de14_1456x1048.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>Every system lies on a spectrum. As you move from left to right, you gain flexibility but also introduce more complexity, coordination overhead, and failure points.</p><p>Understanding this spectrum helps you make the right call for your team&#8217;s size, your product&#8217;s stage, and your platform&#8217;s needs.</p><h3>Classic Monolith</h3><p>All domains, e.g. authentication, payments, notifications, live in a single codebase and deploy as one unit.</p><ul><li><p><strong>Pros:</strong> Simple development and local setup. Easy to reason about.</p></li><li><p><strong>Cons:</strong> Difficult to scale across teams. One bug can affect the entire system.</p></li></ul><p><strong>Real-world example:</strong> <em>Basecamp</em> famously runs as a monolith using Ruby on Rails, emphasizing simplicity and maintainability.</p><h3>Modular Monolith</h3><p>Still a single deployable unit, but with strict internal boundaries between modules. Each module owns its data and communicates through defined in-process interfaces.</p><ul><li><p><strong>Pros:</strong> Preserves simplicity while enabling team autonomy. Avoids most latency and consistency issues.</p></li><li><p><strong>Cons:</strong> Requires discipline to enforce boundaries. Migration to microservices may still be needed at larger scale.</p></li></ul><p><strong>Real-world example:</strong> <em>Shopify</em> uses this model to scale effectively without fragmenting its platform.</p><h3>Microservices</h3><p>Each bounded context becomes its own independently deployable service, communicating over the network.</p><ul><li><p><strong>Pros:</strong> Enables teams to deploy, scale, and fail independently. Encourages clear ownership.</p></li><li><p><strong>Cons:</strong> Brings added latency, operational complexity, and the need for robust governance, observability, and cross-service coordination.</p></li></ul><p><strong>Real-world example:</strong> <em>Netflix</em> uses microservices at massive scale to enable team autonomy and resilience in its streaming platform.</p><h3>Serverless (Functions-as-a-Service)</h3><p>Instead of managing long-running services, functions are triggered on demand and scale automatically.</p><ul><li><p><strong>Pros:</strong> Minimal infrastructure overhead. Ideal for event-driven workloads and MVPs.</p></li><li><p><strong>Cons:</strong> Cold starts, vendor lock-in, and limitations for systems that require persistent connections or high-throughput processing.</p></li></ul><p><strong>Real-world example:</strong> <em>AWS re:Post</em> (Amazon&#8217;s developer Q&amp;A site) uses a serverless architecture built on Lambda, DynamoDB, and API Gateway.</p><p><strong>Leadership takeaway: </strong>Begin with the simplest architecture that meets your needs, typically a monolith. Move toward modular monoliths, microservices, or serverless only when growth, team independence, or system complexity make it necessary.</p><p>The modular monolith often strikes the best balance: it gives you structure, boundaries, and speed, without the full overhead of microservices.</p><h2>Part 4: Apply the RESHADED Framework</h2><p>Whether you&#8217;re reviewing a system proposal or answering a <strong>system design interview</strong>, strong thinking beats memorized patterns.</p><p>The <strong>RESHADED</strong> framework is a reliable mental model for structuring your approach. It helps you organize your thoughts under pressure, and just as importantly, teach others how to do the same.</p><p>Here&#8217;s the breakdown:</p><h3><strong>Requirements</strong></h3><p>Clarify the user goals, business objectives, and non-functional constraints.<br>Get specific: SLAs, uptime targets, latency budgets, and data retention policies.</p><h3><strong>Estimation</strong></h3><p>What does the load look like?<br>Estimate peak queries per second (QPS), monthly storage growth, and read/write ratios. In interviews, speak your assumptions out loud so others can follow your thinking.</p><h3><strong>Storage Schema</strong></h3><p>Choose data models that match the system&#8217;s access patterns.<br>Explain why you&#8217;d use SQL, NoSQL, or a specialized store, and how you&#8217;d handle partitioning, indexing, and consistency.</p><h3><strong>High-Level Design</strong></h3><p>Sketch the major components and data flows.<br>Use boxes and arrows. Stay technology-agnostic so you can focus on responsibilities and interfaces.</p><h3><strong>APIs</strong></h3><p>How do the components talk to each other?<br>Include protocols (REST, gRPC, GraphQL), data contracts, and sample payloads. Discuss latency, idempotency, and versioning.</p><h3><strong>Detailed Design</strong></h3><p>Zoom into one or two tricky parts.<br>Think about caching strategies, failover workflows, sharding approaches, or queue handling. Show depth over breadth.</p><h3><strong>Evaluation</strong></h3><p>Test your design against earlier estimates.<br>Where are the bottlenecks? What metrics will prove the system is working? Consider dashboards, synthetic tests, and chaos drills.</p><h3><strong>Distinctive Features</strong></h3><p>Add polish.<br>What makes this design great, not just good? Look for automation, privacy features, cost controls, self-healing mechanisms, or auditability.</p><p><strong>Leadership takeaway: </strong>Teach this framework to your senior engineers. It creates a shared language for design reviews, architecture decisions, and high-stakes interviews. Structured thinking scales better than scattered genius.</p><h2>Part 5: Integrate AI into Your Architecture</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gCI-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gCI-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!gCI-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!gCI-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!gCI-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gCI-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:104651,&quot;alt&quot;:&quot;AI Engineering&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/164788461?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Engineering" title="AI Engineering" srcset="https://substackcdn.com/image/fetch/$s_!gCI-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!gCI-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!gCI-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!gCI-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0564c185-8919-4ef5-aeb4-8294270edee4_1456x1048.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>AI is no longer experimental. Large language models (LLMs), vector search, and generative pipelines are now part of production systems. As companies move beyond prototypes, engineering leaders need to think carefully about how AI affects system design, architecture, and operations.</p><p>This section is your practical guide to understanding where AI fits in your stack, what new components it introduces, and how to manage the unique risks that come with it.</p><h3>AI is entering every layer of the stack</h3><p>You&#8217;ll find AI-powered features showing up in three main areas:</p><ul><li><p><strong>User-facing assistants</strong> such as chatbots, smart search, auto-replies, and semantic filters.</p></li><li><p><strong>Developer productivity tools</strong> like code generation (GitHub Copilot, Cursor, Windsurf), test scaffolding, and automatic documentation.</p></li><li><p><strong>Semantic insights at scale</strong> including summarization, classification, anomaly detection, and root-cause analysis.</p></li></ul><h3>New components AI brings to your architecture</h3><p>Shipping AI means introducing new infrastructure into your stack. These components are often not covered by traditional backend design and require thoughtful integration:</p><ul><li><p><strong>LLM Gateway</strong><br>This is the API layer that sends prompts to either SaaS models like OpenAI or Anthropic, or to self-hosted models like Llama 3 running on Hugging Face or Ollama. It manages routing, retries, and cost control.</p></li><li><p><strong>Vector Database</strong><br>Stores high-dimensional embeddings used in similarity search and retrieval-augmented generation (RAG). Options include:</p><ul><li><p><strong>PostgreSQL + pgvector</strong> for small to medium workloads.</p></li><li><p><strong>Pinecone</strong>, <strong>Weaviate</strong>, or <strong>Qdrant</strong> for specialized, scalable solutions.</p></li></ul></li><li><p><strong>GPU or TPU Cluster</strong><br>Used to accelerate model inference, either on-premises or in cloud services like AWS EC2 GPU instances, Azure ML, or Google Vertex AI. These clusters require tuning, load balancing, and cost monitoring to avoid budget overruns.</p></li><li><p><strong>Prompt Orchestrator</strong><br>Coordinates chains of model calls, tools, and business logic. Frameworks like <strong>LangChain</strong>, <strong>Semantic Kernel</strong>, or <strong>Haystack</strong> power these pipelines. They often suffer from poor observability and debugging challenges if not managed carefully.</p></li><li><p><strong>Model Registry</strong><br>Tracks versioned models, metadata, and training artifacts. Tools like <strong>MLflow</strong>, <strong>Weights &amp; Biases</strong>, or <strong>SageMaker Model Registry</strong> help teams ensure reproducibility and controlled rollouts.</p></li></ul><h3>AI-specific risks every leader should consider</h3><p>AI systems introduce new failure modes and cost structures. Here are the most common risks and how to manage them:</p><ul><li><p><strong>Latency variability</strong><br>LLM inference is non-deterministic and can vary from 200ms to several seconds. Use timeout thresholds, retries, and circuit breakers. Cache common responses when possible.</p></li><li><p><strong>Prompt injection</strong><br>Malicious users can craft inputs that bypass filters or manipulate outputs. Sanitize inputs, apply guardrails, and review outputs with classifiers.</p></li><li><p><strong>Inference costs</strong><br>LLMs can get expensive quickly. A runaway script or open-ended loop can burn through budget in hours. Set usage quotas, alert thresholds, and team-level cost controls.</p></li><li><p><strong>Non-deterministic outputs</strong><br>Same input, different answer. This breaks tests, confuses users, and complicates debugging. Use temperature control, fallback responses, and evaluate model behavior with golden sets.</p></li><li><p><strong>Privacy and compliance</strong><br>Personal data in prompts or model outputs can violate GDPR or company policies. Strip personally identifiable information (PII), log activity securely, and use on-prem models for sensitive data.</p></li></ul><h3>Building a team that can deliver AI features</h3><p>AI engineering is cross-functional by nature. Here&#8217;s how high-functioning teams are adapting:</p><ul><li><p><strong>Form hybrid squads</strong> with AI/ML engineers, backend developers, and product managers.</p></li><li><p><strong>Build fast feedback loops</strong> through human evaluation, prompt versioning, and metric dashboards.</p></li><li><p><strong>Develop prompt libraries</strong> to share successful examples across teams.</p></li><li><p><strong>Train your teams</strong> on risks, bias mitigation, prompt safety, and ethical design.</p></li></ul><p><strong>Leadership takeaway: </strong>AI should not be treated as magic. It is another critical part of your system. Like any other layer, it needs proper architecture, clear ownership, budgets, and observability.</p><p>Design for modularity and control early on. That way, when the model changes, the vendor shifts, or costs spike, your system remains stable.</p><h2>Final Thoughts: Put It Into Practice</h2><p>System design is no longer the domain of architects alone.</p><p>As an engineering leader, your understanding of these principles shapes how your team builds, scales, and responds when things go wrong.</p><p>You don&#8217;t need to be the smartest person in the room.</p><p>You need to ask the right questions. The ones that uncover risk, clarify intent, and raise the technical bar.</p><p><strong>Now it&#8217;s your turn:</strong><br>Pick one section from this guide. Go deeper this week. Bring it into your next design review. And lead with clarity.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><strong>P.S. I don&#8217;t usually write about system design.</strong></p><p>Most of my writing focuses on leadership, career growth, and building high-impact engineering teams. But <strong>system design is a topic I&#8217;m deeply passionate about</strong>, and it&#8217;s incredibly valuable if you&#8217;re aiming to become a Staff Engineer, a highly respected Engineering Manager, or just <strong>want to succeed in your next system design interview</strong>.</p><p>If you found this useful and want more posts like this, covering real-world system design scenarios, or interview preparation examples, drop a comment and let me know.</p><p>Your feedback will help shape what I write next.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/the-engineering-leaders-guide-to/comments"><span>Leave a comment</span></a></p><div><hr></div><p><em>Thanks for reading <strong>The Engineering Leader</strong></em>. &#128591;</p><p><em>If you enjoyed this issue, tap the </em>&#10084;&#65039;<em>, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</em></p><p>&#128075; <em>Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Social Capital: The Compound Interest of Your Engineering Career]]></title><description><![CDATA[How high-agency engineers turn trust, credibility, and relationships into visible impact]]></description><link>https://newsletter.rafapaez.com/p/social-capital-the-career-edge-most</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/social-capital-the-career-edge-most</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 25 May 2025 08:01:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VU2n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Friday afternoon. Production is down. An old backend component nobody owns is failing.</p><p>A lightbulb goes off: a few months ago you mentored Oliver, a backend engineer in another team, when he upgraded that very component for a security patch.</p><p>You ping him. He&#8217;s packing up for the weekend but answers because you saved him hours back then. Five minutes later he spots the issue and ships a fix.</p><p><strong>That&#8217;s social capital:</strong> past help turned into instant, high-stakes support no process could have matched.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What Social Capital Really Means in Engineering</h2><p><strong>Social capital is the trust, credibility, and relationships you build with the people you work with</strong>. It&#8217;s the &#8220;social currency&#8221; that helps you influence decisions, collaborate smoothly, and move work forward, even when you don&#8217;t have formal authority.</p><p>Just like financial capital buys tools and resources, <strong>social capital buys belief and support.</strong></p><p>Tanya Reilly, author of <em>The Staff Engineer&#8217;s Path</em>, <a href="https://newsletter.rafapaez.com/p/the-books-that-changed-my-life">one of my favourite books</a>, outlines what engineers need to succeed: energy, credibility, quality of life, skills, and social capital.</p><p>Think of it like a bank account; you make regular deposits of trust and goodwill so you can draw on them when it matters most:</p><ul><li><p><strong>Deposits</strong>: Quick PR reviews, sharing documentation, mentoring colleagues, nominating peers for kudos.</p></li><li><p><strong>Withdrawals</strong>: Asking for urgent approvals, securing headcount, driving high-risk migrations.</p></li></ul><p>A healthy balance can support large withdrawals. But when it&#8217;s empty, even critical requests may be ignored.</p><h2>The Three Pillars of Social Capital</h2><p><strong>Social capital takes time to accumulate.</strong> It grows from simple, consistent behaviors that build integrity, add value, and keep your work visible. Think of it in three parts:</p><ol><li><p><strong>Trust: </strong>Keep your word and tell the truth even when it is uncomfortable. Follow through on commitments, surface risks early, and own your mistakes. Colleagues back engineers they can count on.</p></li><li><p><strong>Credibility: </strong>Pair solid execution with clear communication. Show your reasoning, share data, and keep learning. When others see you as competent and thoughtful, they seek your input.</p></li><li><p><strong>Relationships: </strong>Invest in people. Offer help without keeping score, celebrate wins, and build rapport beyond day-to-day tasks. Strong ties across teams let you unblock work, find advocates, and amplify impact.</p></li></ol><p>Ignore one of these and your capital fades.<strong> </strong>Practice all three and you&#8217;ll <a href="https://newsletter.rafapaez.com/p/how-i-lost-my-managers-trustand-earned">earn trust</a>, support, and influence that grows over time, <strong>like compound interest</strong>. The small deposits you make consistently can grow into career-changing impact.</p><h2>Social Capital Is Not Favoritism</h2><p><strong>Real social capital is built on visible contributions, shared wins, and mutual trust. </strong>Favoritism and nepotism rely on bias and closed doors. One rewards effort and credibility; the other protects an inner circle.</p><p>Use social capital to lift colleagues, bridge teams, and widen opportunity for everyone. If you find yourself in a company where <a href="https://newsletter.rafapaez.com/p/the-art-of-getting-promoted">promotions</a> hinge on favoritism, you face a simple fork in the road:</p><ul><li><p><strong>Stay and accept the ceiling.</strong> Your growth will slow, and any promotion may come down to ugly politics, not performance.</p></li><li><p><strong>Leave for a healthier culture.</strong> Find a company that rewards both results and genuine relationships.</p></li></ul><p><strong>Choose the path that preserves your values, your integrity, and your long-term growth.</strong></p><blockquote><p>&#8220;Titles do matter, and so do growth and career progression.&#8221;<br>&#8212; Tanya Reilly<em>,</em> <em>The Staff Engineer&#8217;s Path</em></p></blockquote><h2>High Agency Needs Social Capital to Scale</h2><p><strong><a href="https://newsletter.rafapaez.com/p/high-agency-the-mindset-of-successful">High-agency engineers</a> move fast, take ownership, and push boundaries</strong>. They don&#8217;t wait for permission; they solve problems, clear roadblocks, and drive impact. But without strong relationships to support them, their efforts can stall. Mountains rarely move alone.</p><p>This is what I call <a href="https://newsletter.rafapaez.com/p/hero-culture-is-hurting-your-team">the lone genius</a> ceiling. You&#8217;re doing great work, but it doesn&#8217;t go far if no one&#8217;s aligned or aware. When high agency meets low social capital, you burn out fighting uphill battles. When the two combine, influence multiplies and you become a force that shifts entire systems.</p><p>This matrix shows the difference:</p><ul><li><p><strong>Low agency + low social capital</strong> &#8594; Overlooked Executor</p></li><li><p><strong>High agency + low social capital</strong> &#8594; Lone Wolf, Stalled by Politics</p></li><li><p><strong>Low agency + high social capital</strong> &#8594; Reliable Partner</p></li><li><p><strong>High agency + high social capital</strong> &#8594; Org-Changing Force</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_!VU2n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VU2n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!VU2n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!VU2n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!VU2n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VU2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:98925,&quot;alt&quot;:&quot;Agency vs Social Capital&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/164230588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Agency vs Social Capital" title="Agency vs Social Capital" srcset="https://substackcdn.com/image/fetch/$s_!VU2n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!VU2n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!VU2n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!VU2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddd15039-838d-428a-830d-ec6bf7a91864_1456x1048.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><strong>You want to operate in the top-right as an </strong><em><strong>org-changing force</strong></em>. That&#8217;s where agency turns from effort into leverage. And that&#8217;s exactly where social capital does its best work.</p><div class="pullquote"><p>High-agency engineers multiply their impact by investing in social capital. &#8212; <em>Rafa P&#225;ez</em></p></div><h2>Practical Habits for Remote and Async Teams</h2><p>Remote work has eliminated the casual hallway chat, but it also creates an opportunity: <strong>relationship-building can now be intentional, inclusive, and distributed across time zones</strong>.</p><p>Here are a few small but powerful habits to build connection and visibility:</p><ul><li><p>Schedule weekly 30-minute virtual coffees with teammates, especially outside your direct group.</p></li><li><p>Post short Loom videos to demo features or explain decisions. These scale context without needing a meeting.</p></li><li><p>Send &#8220;Friday Gratitude&#8221; messages to spotlight and thank those who helped you during the week.</p></li><li><p>Keep cameras on briefly at the start of meetings to preserve some human presence, then allow flexibility.</p></li></ul><p><a href="https://newsletter.rafapaez.com/p/managing-remote-teams-can-make-you">Remote and async teams</a> don&#8217;t bond by chance. They bond because someone makes the first move. That someone can be you.</p><h2>Spending and Sustaining Social Capital</h2><p><strong>Social capital pays off only when you put it to work, so use it where the payoff is real. </strong>Tap your network to push key architecture decisions, secure extra headcount, or shield your team when deadlines tighten and scope creeps.</p><p>Watch for signs your balance is running low:</p><ul><li><p>Replies to your messages slow down</p></li><li><p>Meeting invites disappear</p></li><li><p>People hesitate before helping</p></li></ul><p>Pay down debt by delivering on previous promises, giving public credit, and asking &#8220;What can I do for you?&#8221; before the next withdrawal.</p><p>Spending and refilling are a rhythm. Neglect either side and you risk <a href="https://newsletter.rafapaez.com/p/sustaining-high-performance-without">burnout or silence</a> just when you need allies most.</p><h2>Scaling Social Capital as You Advance</h2><p>The way you build and use social capital changes as your career progresses.</p><p><strong>Junior engineers</strong> start with credibility and connection. Learn names, ask thoughtful questions, and land visible wins so teammates trust both your curiosity and your code.</p><p><strong>Mid level engineers</strong> widen their circle. Share hard-earned tips, give lightning talks, and review code for neighbors in other squads. Influence grows when the help you offer travels farther than your assigned ticket.</p><p><strong>Senior and Staff engineers</strong> turn relationships into alliances. Align roadmaps, broker trade-offs between departments, and sponsor rising talent. By now your reputation helps steer decisions that touch the whole organisation.</p><p><strong><a href="https://newsletter.rafapaez.com/p/the-managers-iceberg">Managers</a></strong> move from personal capital to team capital. Tactics worth a quick scan:</p><ul><li><p>Hold skip level chats to build trust across layers</p></li><li><p>Rotate project leads so visibility and credit circulate</p></li><li><p>Celebrate cross team wins to raise the team&#8217;s profile</p></li></ul><p>Act like a social router that links networks, and the entire group gains speed and resilience.</p><h2>Weekly Micro-Habit Playbook</h2><p><strong>Small, consistent actions build social capital more effectively than grand gestures. </strong>Here&#8217;s a simple weekly routine to embed those habits into your workday:</p><p><strong>Monday</strong><br><em>Micro-Habit:</em> Post a short recap of last week&#8217;s achievements<br><em>Pillars:</em> Trust, Credibility</p><p><strong>Tuesday</strong><br><em>Micro-Habit:</em> Offer help on a PR outside your team<br><em>Pillars:</em> Relationships, Credibility</p><p><strong>Wednesday</strong><br><em>Micro-Habit:</em> Schedule a virtual coffee with someone new<br><em>Pillars:</em> Relationships</p><p><strong>Thursday</strong><br><em>Micro-Habit:</em> Document and share a recent learning<br><em>Pillars:</em> Credibility</p><p><strong>Friday</strong><br><em>Micro-Habit:</em> Publicly thank a collaborator<br><em>Pillars:</em> Trust</p><p><strong>Consistent tiny deposits are like compound interest</strong>. Each interaction, thank-you, or bit of help adds to your balance. Over time, that balance grows into something others can't ignore.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hq6J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hq6J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!hq6J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!hq6J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!hq6J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hq6J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63899,&quot;alt&quot;:&quot;The Impact of Social Capital Over Time&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/164230588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Impact of Social Capital Over Time" title="The Impact of Social Capital Over Time" srcset="https://substackcdn.com/image/fetch/$s_!hq6J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!hq6J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!hq6J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!hq6J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7e547f-6b1f-4cc4-82d9-02c3a21deee2_1456x1048.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>Closing Thoughts: From Insight to Action</h2><p><strong>Social capital is not optional.</strong> It is the hidden engine behind influence, execution, and support when it matters most.</p><p>But social capital alone isn't enough. Without agency, it goes unused. And without social capital, agency burns out. You need both to create lasting influence and momentum.</p><p>Together, they multiply. You move faster, gain buy-in, and bring others with you.</p><p>Start small. Pick one habit from the playbook. Share a quick win. Review a teammate&#8217;s pull request. Thank someone in public. These small actions build trust, credibility, and relationships.</p><p>Over time, they do more than move work forward.<br><strong>They move you forward.</strong></p><p>Your future self, and your future team, will feel the difference.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/social-capital-the-career-edge-most?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/social-capital-the-career-edge-most?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>Thanks for reading <strong>The Engineering Leader</strong></em>. &#128591;</p><p><em>If you enjoyed this issue, tap the </em>&#10084;&#65039;<em>, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</em></p><p>&#128075; <em>Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[5 Career Truths Your Manager Can’t Tell You]]></title><description><![CDATA[A no-BS guide for engineers and emerging leaders who want to level up.]]></description><link>https://newsletter.rafapaez.com/p/5-career-truths-your-manager-cant</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/5-career-truths-your-manager-cant</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 18 May 2025 08:01:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9g31!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9g31!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9g31!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!9g31!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!9g31!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!9g31!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9g31!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129559,&quot;alt&quot;:&quot;The Official vs Real Playbook&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/163805788?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Official vs Real Playbook" title="The Official vs Real Playbook" srcset="https://substackcdn.com/image/fetch/$s_!9g31!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!9g31!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!9g31!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!9g31!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1f9554-c741-4e3a-aefb-d82a6f172359_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Every company runs on two playbooks.</strong></p><p>There&#8217;s the <strong>&#8220;official&#8221;</strong> one: the glossy handbook HR gives you on your first day. It&#8217;s full of company values, respect guidelines, and rules about how to work well with others.</p><p>Then there&#8217;s<strong> </strong>the <strong>&#8220;real&#8221;</strong> one: the version shared quietly in leadership chats and back channels. It explains how promotions actually happen, how power shifts, and which behaviors get rewarded, not just praised.</p><p>If you&#8217;ve ever done great work but felt invisible or stuck, chances are you were following the first playbook while others were following the second.</p><p>This article offers a glimpse into that second playbook, the one that actually moves careers forward.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Why Great Engineers Stay Stuck</h2><p>Have you ever seen someone get promoted while someone else, more technically skilled and harder working, stays stuck?</p><p>It happens more often than we like to admit.</p><p>The high performer who quietly fixes critical systems gets passed over, while someone with broader visibility and stronger internal alliances moves up.</p><p>It&#8217;s not because the system is broken. (Sometimes it is, but that&#8217;s a topic for a future post.) It&#8217;s because <strong>performance alone is not enough.</strong></p><p>Engineers often believe career growth is all about sharpening technical skills. But in reality, moving beyond your current level requires a different toolkit: <strong>agency, influence, visibility, sponsorship, and narrative.</strong></p><p>If you want to grow, whether toward leadership, staff roles, or more strategic work, you need to operate differently.</p><h2>The Unwritten Playbook: Five Rules for Career Growth</h2><p>Here are five truths I&#8217;ve learned the hard way over more than 20 years in tech. These are lessons that can shift how you think about career growth and leadership.</p><h3>1. Decode What Actually Gets Rewarded</h3><h4><strong>Typical issue</strong></h4><p>You obsess over clean architecture and solid tests, but leadership celebrates the team that ships scrappy MVPs every week.<strong> </strong>Or you deliver fast, then get penalized because what really matters is uptime and business metrics like activation rate or revenue impact.</p><h4><strong>Why it happens</strong></h4><p><strong>What companies say they value isn&#8217;t always what they reward</strong>. Some glorify speed. Others reward polish or data-driven outcomes. Promotions follow whatever makes execs look good in the next board deck. If you&#8217;re optimizing for the wrong thing, great work still misses the mark.</p><h4><strong>What to do</strong></h4><ul><li><p>Listen closely to what leaders praise in all-hands and review meetings.</p></li><li><p>Ask your manager, &#8220;When you say <em>impact</em>, what outcomes actually move the needle?&#8221;</p></li><li><p>Read recent promotion cases or launch posts to spot repeated success metrics.</p></li><li><p>Align your work to one or two visible, measurable outcomes like SLOs, KPIs, or revenue impact.</p></li><li><p><strong>If you lead a team:</strong> Make the value hierarchy explicit so your team doesn&#8217;t aim at the wrong target.</p></li></ul><blockquote><p>&#8220;You can observe a lot by watching.&#8221; &#8212; Yogi Berra</p></blockquote><h3>2. Relationships Matter More Than Output</h3><h4><strong>Typical issue</strong></h4><p>You deliver high-impact work and your metrics shine, yet someone with average skills gets promoted ahead of you. Engineers and new managers often dismiss networking as fluff and focus only on their own code, sprint, or team.</p><h4><strong>Why it happens</strong></h4><p><strong>Promotions turn on perception</strong>. In calibration rooms, decisions hinge on stories leaders have heard and the advocates in the room. Coffee chats and Slack banter might feel soft, but they shape the narrative when titles get handed out.</p><h4><strong>What to do</strong></h4><ul><li><p>Map the people who influence your next promotion: directors, VPs, senior PMs.</p></li><li><p>Align your roadmap with the outcomes those leaders care about.</p></li><li><p>Ask directly: &#8220;Would you support me in the next calibration?&#8221;</p></li><li><p>Schedule one weekly coffee chat outside your team. Track it like a real task.</p></li><li><p><strong>If you lead a team:</strong> Rotate engineers through cross-functional work to grow their influence organically.</p></li></ul><blockquote><p>&#8220;Your network is your net worth.&#8221; &#8212; Porter Gale</p></blockquote><h3>3. Your Manager Is Not Your Therapist</h3><h4><strong>Typical issue</strong></h4><p>You share every frustration with your manager, vent about teammates, and expect them to manage your stress. Then review season hits, and the conversation is only about delivery gaps, not feelings.</p><h4><strong>Why it happens</strong></h4><p>The manager-employee relationship is not equal. <strong>Your manager is responsible for business outcomes, not your emotional well-being</strong>. When decisions must be made, results take priority. Blurred boundaries can also signal poor judgment about what belongs in a professional context.</p><h4><strong>What to do</strong></h4><ul><li><p>Use one-on-ones to talk about strategy, feedback, and blockers, not personal venting.</p></li><li><p>Keep complaints factual and offer possible solutions.</p></li><li><p>Build a support network outside your reporting line, such as mentors or trusted peers.</p></li><li><p>Ask for feedback on your output, not reassurance.</p></li><li><p><strong>If you lead a team: </strong>Model clear boundaries and refer personal matters to professional resources like coaches or therapists.</p></li></ul><blockquote><p>&#8220;Clear is kind. Unclear is unkind.&#8221; &#8212; Bren&#233; Brown</p></blockquote><h3>4. Visibility Beats Hard Work</h3><h4><strong>Typical issue</strong></h4><p>You stay online long after everyone logs off, polish every edge case, and crush bugs. But months go by with little recognition or credit for your effort.</p><h4><strong>Why it happens</strong></h4><p><strong>Results are invisible unless they are shared</strong>. Leaders don&#8217;t read commit logs. They see dashboards, demos, and (sometimes) meeting notes. When you work quietly, others assume you&#8217;re just &#8220;keeping the lights on,&#8221; not pushing things forward.</p><h4><strong>What to do</strong></h4><ul><li><p>Share a short weekly update that highlights shipped user value, not hours worked.</p></li><li><p>Record two-minute demos and post them before review meetings.</p></li><li><p>Tie each update to an outcome like adoption growth or latency drop.</p></li><li><p>Ask for clarity checks: &#8220;Does this summary make the impact obvious?&#8221;</p></li><li><p><strong>If you lead a team:</strong> Build a culture of demos so visibility doesn&#8217;t depend on personality.</p></li></ul><blockquote><p>&#8220;Become a documentarian of what you do.&#8221; &#8212; Austin Kleon</p></blockquote><h3>5. Loyalty Is Not a Career Strategy</h3><h4><strong>Typical issue</strong></h4><p>You give a company your best years, ignore recruiter pings, and assume strong reviews equal job security. Then a reorg hits, or budgets shrink, and your role disappears overnight.</p><h4><strong>Why it happens</strong></h4><p>Companies optimize for quarterly results, not long-term employee tenure. Headcount is a cost, not a promise. <strong>Loyalty often flows in one direction</strong>. When pressure mounts, even high performers can become expendable.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></p><h4><strong>What to do</strong></h4><ul><li><p>Block time weekly to learn new tech such as <a href="https://www.linkedin.com/in/rafapaez/details/certifications/">Generative AI</a>.</p></li><li><p>Maintain a <a href="https://www.rafapaez.com/">public portfolio</a> through side projects or open source.</p></li><li><p>Share what you learn with your network through <a href="https://newsletter.rafapaez.com/">posts</a>, <a href="https://newsletter.rafapaez.com/notes">notes</a>, or <a href="https://www.youtube.com/@RafaPaezCOM">talks</a>.</p></li><li><p>Keep your brag document and r&#233;sum&#233; updated regularly.</p></li><li><p><strong>If you lead a team:</strong> Support learning time and celebrate external contributions. An employable team is a resilient one.</p></li></ul><blockquote><p>&#8220;The only job security you have today is your commitment to continuous personal improvement.&#8221; &#8212; Ken Blanchard</p></blockquote><h2>Final Thoughts: Turn Insight Into Impact</h2><p><strong>The biggest blocker in most tech careers isn&#8217;t talent. It&#8217;s playing by the wrong rules.</strong></p><p>The five truths in this article aren&#8217;t tricks. They&#8217;re the real dynamics behind promotions, influence, and visibility. But knowing them isn&#8217;t enough. What matters is how you respond.</p><p><strong><a href="https://newsletter.rafapaez.com/p/high-agency-the-mindset-of-successful">High agency</a> is your edge.</strong> It&#8217;s the difference between waiting for recognition and creating it, between feeling stuck and taking your next step with intent.</p><p>Pick one truth and act on it this week. Book a coffee chat. Ask which metric actually moves the needle. Share a short demo. Small moves, taken with agency, compound into career-defining momentum.</p><p>Track what works and what doesn&#8217;t. Over time, you&#8217;ll build your own playbook. One that travels with you, no matter the company or org chart.</p><p><strong>Your turn:</strong> What unwritten rule has shaped your career? Share it in the comments and help others see the game more clearly.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/5-career-truths-your-manager-cant/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/5-career-truths-your-manager-cant/comments"><span>Leave a comment</span></a></p><div><hr></div><p><em>Thanks for reading <strong>The Engineering Leader</strong></em>. &#128591;</p><p><em>If you enjoyed this issue, tap the </em>&#10084;&#65039;<em>, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</em></p><p>&#128075; <em>Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Just ask Ron Buckton, who had served Microsoft for 18 years along with his team. Despite helping TypeScript achieve a 10x speed boost in build times and editor responsiveness, he was laid off in May 2025 during a 6,000-person reorg.<br><em>Source</em>: <a href="https://www.outlookbusiness.com/corporate/microsoft-lays-off-typescript-veteran-ron-buckton-amid-6000-job-cut-restructuring">Outlook Business</a></p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[No Thanks: My 7 Non-Negotiables for a Fair Interview Process]]></title><description><![CDATA[How I protect my time, dignity, and career by setting boundaries against broken hiring practices.]]></description><link>https://newsletter.rafapaez.com/p/no-thanks-my-7-non-negotiables-for</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/no-thanks-my-7-non-negotiables-for</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 11 May 2025 11:30:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wKmO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wKmO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wKmO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!wKmO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!wKmO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!wKmO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wKmO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82262,&quot;alt&quot;:&quot;My 7 Non-Negotiables for a Fair Interview Process&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/163303770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="My 7 Non-Negotiables for a Fair Interview Process" title="My 7 Non-Negotiables for a Fair Interview Process" srcset="https://substackcdn.com/image/fetch/$s_!wKmO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!wKmO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!wKmO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!wKmO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fa16228-c806-47d3-9fd6-443c434b8b44_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The way a company interviews you is often the way they&#8217;ll treat you once you&#8217;re on the inside.</p><p>If they waste your time, dismiss your experience, or undervalue your worth during the process, that&#8217;s not just a red flag. That <em>is</em> the flag.</p><p>You&#8217;re not just being evaluated. You&#8217;re evaluating them too. And no opportunity is worth compromising your values.</p><p>That&#8217;s why I&#8217;ve set clear boundaries, not out of ego, but out of respect for my time, my dignity, and the work I bring. I believe any serious employer should do the same.</p><p><strong>Note:</strong> This isn&#8217;t about a current job search. It&#8217;s a reflection of the standards I&#8217;ve developed over years in tech.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>My 7 Hard Rules for Every Interview</h2><p>These are the rules I&#8217;ve come to apply through experience. They reflect what I value and need in a hiring process. They may not apply to everyone but they help me filter for the right fit.</p><h3>1. No LeetCode Drills or Live Coding Sessions</h3><h4><strong>A Personal Experience</strong></h4><p>Years ago, when I was living in the UK, I interviewed for a Tech Lead Manager role. The first round was an automated coding challenge. I chose Ruby, solved everything, and submitted.</p><p>A few days later, I got an auto-rejection. No feedback. No human interaction. Just a cold &#8220;no&#8221;.</p><p>Live coding interviews are no better. I have been asked to code an algorithm for a Trie data structure, on the spot. No one asked how I lead teams, scale systems, or make hard trade-offs. They just wanted to see if I could perform under artificial pressure.</p><h4><strong>Why I Draw the Line</strong></h4><p>These interviews test speed and memorization, not engineering judgment. They ignore leadership, communication, and the messy, collaborative work that defines real engineering.</p><p>I can write code, design complex systems, and lead engineers. But engineering leadership is not about solving puzzles in isolation. It is about solving real problems with real people.</p><h4><strong>A Better Approach</strong></h4><p>If you want to assess technical depth in an engineering leader:</p><ul><li><p>Ask about architecture I have led</p></li><li><p>Review a system design together</p></li><li><p>Walk through a real trade-off I made in production</p></li></ul><p>If your process still centers on reversing linked lists or binary trees, it likely won&#8217;t surface the kind of leadership I bring.</p><h3>2. No Lengthy Take-Home Assignments</h3><h4><strong>A Personal Experience</strong></h4><p>I once received a &#8220;quick&#8221; take-home coding exercise for a team manager role. It ended up taking more than a dozen hours. I worked nights and weekends to build a complete backend project with edge cases, tests, and documentation, all while balancing a full-time job and family responsibilities.</p><p>I even included suggestions for improvements. A few days later, they asked me to implement them.</p><p>Then came the message: &#8220;Congratulations, you&#8217;re moving forward. Please submit an engineering best practices guide and a leadership presentation.&#8221;</p><p>That was the last time I accepted a take-home assignment without clear limits.</p><h4><strong>Why I Draw the Line</strong></h4><p>Take-home assignments can be useful when they&#8217;re well-scoped and fair. But most are not. They tend to:</p><p>Demand excessive unpaid time,<br>penalize candidates with full lives outside of work,<br>emphasize output over decision-making.</p><p>If your evaluation relies on marathon take-home work, you&#8217;re not assessing ability; you&#8217;re screening for availability.</p><h4><strong>A Better Approach</strong></h4><p>If you want to see how I think and work:</p><ul><li><p>Set a clear two-hour limit and stick to it</p></li><li><p>Let me walk through a real project I&#8217;ve led</p></li><li><p>Or review code together and talk trade-offs</p></li></ul><p>Lengthy take-home assignments don&#8217;t test skill. They test how much free time you have, often excluding those with limited availability, such as managers and parents.</p><h3>3. No More Than Five Interview Rounds</h3><h4><strong>A Personal Experience</strong></h4><p>I once went through a long interview loop for a promising engineering management role. It was a great startup with an exciting product. After the recruiter call, I was told to expect three more interviews.</p><p>I was wrong. It turned into an NxM process: a technical loop, a management loop, and a culture fit loop, each with multiple rounds.</p><p>At that point, I wasn&#8217;t being interviewed. I was auditioning. For free.</p><p>I didn&#8217;t drop out sooner because of the sunk cost fallacy. I kept thinking, maybe the next one would be the last.</p><h4><strong>Why I Draw the Line</strong></h4><p>Dragging candidates through endless interviews sends the wrong message. It usually means one of two things:</p><p>The company struggles to make decisions,<br>or they don&#8217;t value your time.</p><p>Both are red flags.</p><p>And the more people involved, the more diluted the signal becomes. With every added opinion, your chances of passing decrease. Consensus is not a substitute for clarity.</p><h4><strong>A Better Approach</strong></h4><p>A well-run process looks like this:</p><ul><li><p>Limit the interview loop to three to five rounds</p></li><li><p>Respect the candidate&#8217;s calendar</p></li><li><p>Move with urgency and purpose</p></li></ul><p>If it takes weeks and a dozen people to decide whether I&#8217;m a fit, the problem likely isn&#8217;t the candidate; it&#8217;s the process.</p><h3>4. No Second Interviews Without Discussing Salary</h3><h4><strong>A Personal Experience</strong></h4><p>I once interviewed with a well-known tech company. After the recruiter call, the hiring manager interview, and five final rounds, everything seemed on track. The team was enthusiastic, and the conversations went well.</p><p>Then came the offer: about 30 percent below my current salary.</p><p>I understand compensation can vary. Location, equity, bonuses, and negotiation all play a role. But given my background and the signals I received throughout the process, the offer was unexpectedly low. Even some local startups were offering more.</p><p>I had heard not to bring up salary early with such well-know tech companies. People said they would pay fairly. They didn&#8217;t, in this case. I had wasted weeks on a role I would have declined upfront if they had just been transparent.</p><h4><strong>Why I Draw the Line</strong></h4><p>If you are not upfront about compensation, you are not respecting the candidate&#8217;s time.</p><p>Salary ranges are not just numbers. They reflect trust, clarity, and alignment. Hiding them puts all the risk on the candidate and signals a power imbalance.</p><p>It also discourages underrepresented candidates from negotiating or even applying, which reinforces pay gaps and inequality.</p><h4><strong>A Better Approach</strong></h4><p>If you are serious about the role:</p><ul><li><p>Share the salary range by the second conversation, ideally in the job description</p></li><li><p>Be clear about your compensation philosophy: is it fixed, flexible, or tied to equity</p></li><li><p>If you cannot meet expectations, say so early. Save everyone time</p></li></ul><p>Compensation is not a taboo topic. It is a business conversation. If a company cannot handle that professionally, I do not trust how they will handle anything else.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/no-thanks-my-7-non-negotiables-for?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/no-thanks-my-7-non-negotiables-for?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h3>5. No Negotiating Low-Ball Offers or Down-Leveling</h3><h4><strong>A Personal Experience</strong></h4><p>Some time ago, after a smooth interview process for a senior leadership role, the recruiter called with good news: &#8220;You really impressed the team. They&#8217;d love to move forward.&#8221;</p><p>Then came the twist. &#8220;We&#8217;re offering one level below the original scope. The team felt you&#8217;d grow into the higher role soon.&#8221; The offer was well below market, with vague promises and no clear path to advancement.</p><p>I declined, even though it was a well-known company I had been eager to join.</p><p>I do not believe in down-leveling or vague future promises. I&#8217;ve seen how, on both sides, as a candidate and as a hiring manager, it creates confusion, misaligned expectations, and broken trust.</p><h4><strong>Why I Draw the Line</strong></h4><p>Low-ball offers and down-leveling can signal a lack of alignment. They often suggest one of three things:</p><p>The company may be trying to stretch its budget,<br>they might not fully understand the impact of the role,<br>or they may be unsure how to assess seniority accurately.</p><p>In leadership roles, scope, compensation, and authority need to align. When they don&#8217;t, the risk of misalignment and future friction increases, sometimes setting the hire up for a difficult start.</p><h4><strong>A Better Approach</strong></h4><p>Great hires start with clarity:</p><ul><li><p>Benchmark roles and offers to the market</p></li><li><p>Be clear about level, scope, and expectations</p></li><li><p>Reject if you are not confident, but do not down-level to keep them &#8220;just in case&#8221;</p></li></ul><p>Pay for the role you are hiring, not for what someone might grow into.</p><p>I&#8217;m not here to negotiate my worth. That kind of process simply doesn&#8217;t align with how I approach leadership and problem-solving.</p><h3>6. No Room for Disrespect in Interviews</h3><h4><strong>A Personal Experience</strong></h4><p>I once interviewed with a large tech company. After several strong rounds, I reached the final interview.</p><p>The interviewer arrived late and began by introducing himself as a highly senior architect and the proud creator of one of their products. He made it clear he would be the final decision-maker. And he was not joking.</p><p>As we started, I mentioned that Elixir was my preferred programming language. He seemed unfamiliar with it and spent a few moments looking it up. The dynamic shifted, and I began to feel uneasy. I offered Ruby as an alternative to help the conversation flow more smoothly. He responded with, &#8220;What esoteric languages you use,&#8221; which caught me off guard.</p><p>A few questions later, after I shared a technical answer he disagreed with, the interview ended abruptly. His final comment was, &#8220;Our managers need to be highly technical.&#8221;</p><p>I left the call feeling disheartened. What began as a promising opportunity ended with clear misalignment. Not just technically, but also in values and communication style. While I didn&#8217;t move forward, the experience gave me valuable insight into what I&#8217;m looking for in a team and environment.</p><h4><strong>Why I Draw the Line</strong></h4><p>Interviews are not just evaluations. They reveal the culture behind the scenes.</p><p>If someone behaves with arrogance, disrespect, or hostility in an interview, that is often how they act at work. If the company defends or ignores it, that tells you what they are willing to tolerate.</p><p>Respect is not optional. It is the foundation of trust, safety, and performance. Especially in leadership roles where communication and emotional intelligence matter just as much as technical skill.</p><h4><strong>A Better Approach</strong></h4><p>Culture shows up in every interview:</p><ul><li><p>Train interviewers to assess candidates and represent company values</p></li><li><p>Watch for legacy hires who slipped through before principles mattered</p></li><li><p>Ask candidates for feedback, and act on it</p></li></ul><p>A poor interview experience can push great talent away. An unprepared or dismissive interviewer can do lasting harm to your culture. I value honest feedback and clear expectations, but there&#8217;s a difference between being direct and being disrespectful. If your team cannot make that distinction, we may not be aligned.</p><h3>7. No Half-Measures on Remote Work</h3><h4><strong>A Personal Experience</strong></h4><p>Some years ago, I interviewed with a company that called itself &#8220;remote-friendly.&#8221; But throughout the process, contradictions appeared.</p><p>One leader preferred people &#8220;close to the office.&#8221; Another mentioned &#8220;We&#8217;re flexible, but ideally we&#8217;d love managers to come in a few days a week.&#8221;</p><p>That was not flexibility. It revealed a misalignment between the expectations and the reality of the role.</p><p>I have built and led high-performing remote teams. I know the value of focused, async, distributed work. The problem with &#8220;remote-friendly&#8221; setups is that when leadership stays in the office, remote employees fall behind. They miss the hallway chats, the unplanned lunches, the in-room decisions. They become second-class employees.</p><h4><strong>Why I Draw the Line</strong></h4><p>Remote work is not a perk. It&#8217;s an operating model. Leading remotely takes intention. It demands clear communication, real autonomy, and outcome-based expectations.</p><p>When companies are not truly remote-first, you often see:</p><p>Office voices gaining more influence,<br>confusion about availability and presence,<br>broken collaboration caused by a lack of shared habits.</p><p>Remote leadership is not about working from home. It&#8217;s about designing teams that thrive apart.</p><h4><strong>A Better Approach</strong></h4><p>Remote work only works when it&#8217;s intentional:</p><ul><li><p>Be clear about your model: remote, hybrid, or office-first</p></li><li><p>Shift the mindset from hours worked to impact delivered</p></li><li><p>Give teams the tools and practices they need to succeed remotely</p></li></ul><p>Remote work shifts the focus from busyness to meaningful outcomes. I am here to do work that matters, measured by results, not hours seated on a chair or office presence. If your model still equates productivity with being seen, we are not aligned.</p><h2>Final Thoughts: Boundaries for Mutual Respect</h2><p>These aren&#8217;t just preferences. They&#8217;re principles I&#8217;ve learned to hold, to protect my time, my dignity, and the career I&#8217;ve built with intention.</p><p>Some might say I&#8217;m being too selective. Maybe. But I&#8217;ve learned the hard way: not every door is worth opening.</p><p>This isn&#8217;t about ego. It&#8217;s about knowing what matters, and having the self-respect to expect it in return.</p><p>You don&#8217;t have to follow my rules. But you should have your own.</p><p>So ask yourself: What do you need from an interview process to feel respected, valued, and set up for success? What are your non-negotiables?</p><p>The clearer you are about your boundaries, the easier it is to recognize the opportunities that truly fit.</p><p>Hiring is a two-way street. What would make <em>you</em> walk away from an offer?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/no-thanks-my-7-non-negotiables-for/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/no-thanks-my-7-non-negotiables-for/comments"><span>Leave a comment</span></a></p><div><hr></div><p><em>Thanks for reading <strong>The Engineering Leader</strong></em>. &#128591;</p><p><em>If you enjoyed this issue, tap the </em>&#10084;&#65039;<em>, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</em></p><p>&#128075; <em>Let&#8217;s keep in touch. Connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Books That Changed My Life]]></title><description><![CDATA[From leadership to mindset: 46 shelf&#8209;worthy reads that shape how I think, lead, and grow.]]></description><link>https://newsletter.rafapaez.com/p/the-books-that-changed-my-life</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/the-books-that-changed-my-life</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 04 May 2025 08:01:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!eB6H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eB6H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eB6H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eB6H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eB6H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eB6H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eB6H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:366756,&quot;alt&quot;:&quot;My all-time favorite books&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/162762559?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="My all-time favorite books" title="My all-time favorite books" srcset="https://substackcdn.com/image/fetch/$s_!eB6H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eB6H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eB6H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eB6H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f6cec3-9aa1-48a8-8d8c-0dc7faea7af1_1536x864.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Bookshelf That Built Me</figcaption></figure></div><div class="pullquote"><p>"A reader lives a thousand lives before he dies. The man who never reads lives only one."<br>&#8212; <em>George R.R. Martin</em></p></div><p>I love physical books. There&#8217;s something special about holding them, turning pages, and scribbling notes in the margins. I read digitally too. It&#8217;s convenient, fast, and practical. But when a book truly resonates, I buy a physical copy. If it earns a spot on my shelf, it means I want it close.</p><p>This list doesn&#8217;t include every book I&#8217;ve read. Just the ones that changed how I think, lead, and live. My bookshelf<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> isn&#8217;t decoration. It&#8217;s filled with mentors, coaches, and trusted companions on my journey as a leader and lifelong learner.</p><p>Below, you&#8217;ll find my favourites organized by category, each with summaries and personal highlights.</p><p>These books are my best of the best.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>1. Leadership &amp; Management</strong></h2><p>The following are books that guide readers through various leadership roles, from engineering management to executive leadership, and general organizational change.</p><h3><strong>1.1 Engineering Management</strong></h3><p>Help you transition from engineer to manager (team leader, engineering manager, etc.), with insights on leadership, team dynamics, and mentorship.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/33369254-the-manager-s-path">The Manager&#8217;s Path</a></strong> <em>&#8211; Camille Fournier</em></p><p><em>A Guide for Tech Leaders Navigating Growth and Change</em></p><p>A roadmap for transitioning from individual contributor to technical leadership, with insights into mentorship, feedback, and team dynamics.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/50363684-become-an-effective-software-engineering-manager">Become an Effective Software Engineering Manager</a></strong><em> &#8211; James Stanier</em><br>Practical advice for new engineering managers, covering communication, team development, and the shift from coding to leadership.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/324750.High_Output_Management">High Output Management</a></strong><em> &#8211; Andrew S. Grove</em><br>A classic management guide from Intel&#8217;s former CEO, emphasizing output-oriented management and effective team leadership.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/45303387-an-elegant-puzzle">An Elegant Puzzle</a></strong> <em>&#8211; Will Larson</em></p><p><em>Systems of Engineering Management</em><br>Tackles complex engineering management challenges through systems thinking, addressing team structure, scaling, and organizational design.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/58502800-engineering-management-for-the-rest-of-us">Engineering Management for the Rest of Us</a></strong> <em>&#8211; Sarah Drasner</em><br>Offers empathetic, approachable leadership strategies focusing on communication and building inclusive, high-performing teams.</p></li></ul><h3><strong>1.2 Technical Executive Leadership</strong></h3><p>Cover strategic thinking for tech leaders (managers, directors, VPs and CTOs)&#8212;scaling teams, setting vision, and aligning tech with business goals.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/44135420-team-topologies">Team Topologies</a></strong> <em>&#8211; Matthew Skelton &amp; Manuel Pais</em></p><p><em>Organizing Business and Technology Teams for Fast Flow</em><br>Explores optimal team structures and interactions to enhance software delivery and organizational effectiveness.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/199699997-the-engineering-executive-s-primer">The Engineering Executive&#8217;s Primer</a></strong><em> &#8211; Will Larson</em></p><p><em>Impactful Technical Leadership</em><br>Guidance for engineering executives on scaling teams, setting strategic vision, and driving impactful organizational change.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/211521049-the-cto-toolbox">The CTO ToolBox</a></strong><em> &#8211; Sergio Gago Huerta</em></p><p><em>The definitive list of tools and resources for Technology Leaders</em><br>A practical collection of tools and frameworks for CTOs, covering strategic alignment, team building, and tech-business integration.</p></li></ul><h3><strong>1.3 General Leadership &amp; Organizational Change</strong></h3><p>Cover leadership principles for any domain&#8212;focused on collaboration, empowerment, and execution.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/16158601-turn-the-ship-around">Turn the Ship Around!</a></strong> <em>&#8211; L. David Marquet</em></p><p><em>A True Story of Turning Followers into Leaders</em><br>A former submarine captain&#8217;s story of empowering his crew with a leader-leader model, transforming organizational performance.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/26271983-leading-teams">Leading Teams</a></strong> <em>&#8211; Mandy Flint &amp; Elisabet Vinberg Hearn</em></p><p><em>10 Challenges, 10 Solutions</em><br>Practical approaches to resolving team challenges through trust, collaboration, and shared purpose.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/9973202-the-art-of-action">The Art of Action</a></strong> <em>&#8211; Stephen Bungay</em></p><p><em>How Leaders Close the Gaps between Plans, Actions and Results</em><br>Combines military strategy with business insights to improve alignment, execution, and decision-making.</p></li></ul><h2><strong>2. Technical Mastery &amp; Engineering Craft</strong></h2><p>The books of this section are dedicated to enhancing technical skills, covering advanced engineering roles, software design, architecture, and craftsmanship.</p><h3><strong>2.1 Staff &amp; Principal Engineering</strong></h3><p>Help senior engineers grow their influence, lead without authority, and make strategic technical impact.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/61058107-the-staff-engineer-s-path">The Staff Engineer&#8217;s Path</a></strong> <em>&#8211; Tanya Reilly</em></p><p><em>A Guide for Individual Contributors Navigating Growth and Change</em><br>Guides senior engineers on navigating influence without authority, project execution, and mentoring across teams.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/56481725-staff-engineer">Staff Engineer</a></strong> <em>&#8211; Will Larson</em></p><p><em>Leadership Beyond the Management Track</em><br>Defines the staff engineer role, focusing on leadership, architecture, and strategic technical impact beyond management.</p></li></ul><h3><strong>2.2 Software Design &amp; Architecture</strong></h3><p>Focus on building scalable, maintainable systems with strong design principles and architecture.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/23463279-designing-data-intensive-applications">Designing Data-Intensive Applications</a></strong> <em>&#8211; Martin Kleppmann</em><br>A comprehensive guide to building scalable and maintainable data systems, with a focus on storage, processing, and integration.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/60631342-system-design-interview-an-insider-s-guide">System Design Interview </a></strong><em>&#8211; Alex Xu &amp; Sahn Lam</em></p><p><em>An Insider&#8217;s Guide: Volume 2</em> <br>Frameworks and real-world examples for tackling advanced system design problems effectively.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/56977420-understanding-distributed-systems">Understanding Distributed Systems</a></strong> <em>&#8211; Roberto Vitillo</em></p><p><em>What every developer should know about large distributed applications</em><br>Practical insights on building scalable, reliable distributed systems with a focus on fault tolerance and real-world applications.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/39996759-a-philosophy-of-software-design">A Philosophy of Software Design</a></strong> <em>&#8211; John Ousterhout</em><br>Discusses how to manage complexity and improve maintainability through thoughtful design principles.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/13507787-practical-object-oriented-design-in-ruby">Practical Object-Oriented Design in Ruby</a></strong> <em>&#8211; Sandi Metz</em><br>Teaches clean, maintainable OOP design using Ruby, with real-world examples and principles.</p></li></ul><h3><strong>2.3 Software Craftsmanship &amp; Engineering</strong></h3><p>Cover the path to engineering excellence&#8212;best practices, learning, and writing quality code.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/4099.The_Pragmatic_Programmer">The Pragmatic Programmer</a></strong> <em>&#8211; Andrew Hunt &amp; David Thomas</em></p><p><em>From Journeyman to Master</em><br>Offers timeless programming wisdom and practical tips to become a more adaptable and effective software developer.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/201545491-the-software-engineer-s-guidebook">The Software Engineer&#8217;s Guidebook</a></strong> <em>&#8211; Gergely Orosz</em></p><p><em>Navigating senior, tech lead, and staff engineer positions at tech companies and startups</em><br>A roadmap from junior to senior engineer, offering guidance on technical excellence and career growth.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/57345270-modern-software-engineering">Modern Software Engineering</a></strong> <em>&#8211; David Farley</em></p><p><em>Doing What Works to Build Better Software Faster</em><br>Advocates for continuous delivery, feedback loops, and disciplined engineering practices to improve software delivery.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/38732242-elixir-in-action">Elixir in Action</a></strong> <em>&#8211; Sa&#353;a Juri&#263;</em><br>Introduces Elixir and functional programming for building concurrent, resilient applications.</p></li></ul><h2><strong>3. Product, Business &amp; Strategy</strong></h2><p>This section covers the intersection of product development, business strategy, and startup methodologies, providing frameworks for building successful products and organizations.</p><h3><strong>3.1 Product Discovery &amp; Management</strong></h3><p>Focus on understanding customers, continuous discovery, and strong product management.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/35249663-inspired">Inspired</a></strong> <em>&#8211; Marty Cagan</em></p><p><em>How to Create Tech Products Customers Love</em><br>Reveals how top tech companies create products that customers love, emphasizing strong product management and discovery.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/58046715-continuous-discovery-habits">Continuous Discovery Habits</a></strong> <em>&#8211; Teresa Torres</em></p><p><em>Discover Products that Create Customer Value and Business Value</em><br>Provides a framework for ongoing customer discovery to inform effective, evidence-based product decisions.</p></li></ul><h3><strong>3.2 Business &amp; Startup Strategy</strong></h3><p>Cover strategy, startup methods, and how to scale a business effectively.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/11721966-good-strategy-bad-strategy">Good Strategy Bad Strategy</a></strong> <em>&#8211; Richard Rumelt</em></p><p><em>The Difference and Why It Matters</em><br>Distinguishes good strategies from bad ones and presents tools to craft focused, actionable plans.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/113934.The_Goal">The Goal</a></strong> <em>&#8211; Eliyahu M. Goldratt</em></p><p><em>A Process of Ongoing Improvement</em><br>A business novel introducing the Theory of Constraints through a story-driven approach to continuous improvement.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/10127019-the-lean-startup">The Lean Startup</a></strong> <em>&#8211; Eric Ries</em><br>A foundational book on building startups efficiently through iterative development and validated learning.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/12688360-predictable-revenue">Predictable Revenue</a> </strong><em>&#8211; Aaron Ross &amp; Marylou Tyler</em></p><p><em>Turn Your Business Into a Sales Machine with the $100 Million Best Practices of Salesforce.com</em> <br>A playbook for scaling B2B sales through repeatable outbound systems.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/18176747-the-hard-thing-about-hard-things">The Hard Thing About Hard Things</a> </strong><em>&#8211; Ben Horowitz</em></p><p><em>Building a Business When There Are No Easy Answers</em><br>Brutally honest lessons from a CEO&#8217;s journey through building and surviving tough startup situations.</p></li></ul><h3><strong>3.3 Culture, Collaboration &amp; Ways of Working</strong></h3><p>Focus on the people side of tech&#8212;team dynamics, remote work, and workplace culture.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/67825.Peopleware">Peopleware</a></strong> &#8211; <em>Tom DeMarco &amp; Timothy Lister</em></p><p><em>Productive Projects and Teams</em><br>A classic exploring how team environment and human factors drive software success more than tools or processes.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/6732019-rework">Rework</a></strong><em> &#8211; Jason Fried &amp; David Heinemeier Hansson</em><br>A bold rethinking of traditional business wisdom, focused on simplicity and impact over process.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/17316682-remote">Remote</a></strong> <em>&#8211; Jason Fried &amp; David Heinemeier Hansson</em></p><p><em>Office Not Required<br></em>A practical guide to managing distributed teams and thriving in a remote-first world.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/59456366-the-geek-way">The Geek Way</a></strong> <em>&#8211; Andrew McAfee</em></p><p><em>The Radical Mindset that Drives Extraordinary Results</em><br>Explores how &#8220;geek&#8221; values like transparency, experimentation, and speed can revolutionize organizational culture.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/26083308-the-devops-handbook/">The DevOps Handbook</a></strong> <em>&#8211; Gene Kim, Jez Humble, Patrick Debois, and John Willis</em></p><p><em>How to Create World-Class Agility, Reliability, and Security in Technology Organizations</em><br>Comprehensive guide on how to build high-performing technology organizations by combining DevOps, lean principles, and continuous delivery.</p></li></ul><h2><strong>4. Mindset &amp; Personal Growth</strong></h2><h3><strong>4.1 Habits, Focus &amp; Deep Work</strong></h3><p>Build better habits, focus deeply, and sustain long-term productivity.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/40121378-atomic-habits">Atomic Habits</a></strong> <em>&#8211; James Clear</em></p><p><em>An Easy &amp; Proven Way to Build Good Habits &amp; Break Bad Ones</em><br>Breakthrough framework for building good habits and eliminating bad ones using behavioral psychology.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/25744928-deep-work">Deep Work</a></strong> <em>&#8211; Cal Newport</em></p><p><em>Rules for Focused Success in a Distracted World</em><br>Advocates for deep focus and provides tactics to minimize distractions in knowledge work.</p></li></ul><h3><strong>4.2 Communication, Negotiation &amp; Influence</strong></h3><p>Sharpen your communication&#8212;be clear, assertive, persuasive, and confident in every conversation.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/53343.On_Writing_Well">On Writing Well</a></strong> <em>&#8211; William Zinsser</em></p><p><em>The Classic Guide to Writing Nonfiction</em><br>A gold standard for clear, graceful nonfiction writing.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/123857637-never-split-the-difference">Never Split the Difference</a></strong> <em>&#8211; Chris Voss</em></p><p><em>Negotiating as if Your Life Depended on It</em><br>Negotiation tactics from an FBI hostage negotiator that are surprisingly useful in everyday business and life.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/4865.How_to_Win_Friends_Influence_People">How to Win Friends &amp; Influence People</a></strong> <em>&#8211; Dale Carnegie</em><br>Timeless, practical advice on how to connect with others, build trust, and influence outcomes.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/1098624.When_I_Say_No_I_Feel_Guilty">When I Say No, I Feel Guilty</a></strong> <em>&#8211; Manuel J. Smith</em></p><p><em>How to Cope - Using the Skills of Systematic Assertive Therapy</em><br>A powerful introduction to assertiveness training using systematic behavioral techniques.</p></li></ul><h3><strong>4.3 Mental Toughness &amp; Discipline</strong></h3><p>Push past limits, develop grit, and strengthen your mindset through challenge and discomfort.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/41721428-can-t-hurt-me">Can&#8217;t Hurt Me</a></strong> <em>&#8211; David Goggins</em></p><p><em>Master Your Mind and Defy the Odds</em><br>A story of how extreme discipline and grit helped Goggins overcome trauma and achieve the impossible.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/63079845-never-finished">Never Finished</a></strong> <em>&#8211; David Goggins</em><br>The follow-up to <em>Can&#8217;t Hurt Me</em>, doubling down on relentless self-improvement.</p></li></ul><h3><strong>4.4 Stoicism, Antifragility &amp; Self-Mastery</strong></h3><p>Cultivate resilience, clarity, and control&#8212;learn to thrive under pressure and lead yourself first.</p><ul><li><p><strong><a href="https://www.goodreads.com/book/show/29093292-the-daily-stoic">The Daily Stoic</a></strong> <em>&#8211; Ryan Holiday &amp; Stephen Hanselman</em></p><p><em>366 Meditations on Wisdom, Perseverance, and the Art of Living</em><br>Daily meditations from Stoic philosophers to help navigate modern life with clarity and resilience.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/50233001-invicto">Invicto</a></strong> <em>&#8211; Marcos V&#225;zquez</em></p><p><em>Logra m&#225;s, sufre menos</em><br>A Spanish-language book on discipline, Stoicism, and living a purpose-driven life.</p></li></ul><ul><li><p><strong><a href="https://www.goodreads.com/book/show/13530973-antifragile">Antifragile</a></strong> <em>&#8211; Nassim Nicholas Taleb</em></p><p><em>Things That Gain from Disorder</em><br>Explores how certain systems actually benefit from chaos, volatility, and disorder.</p></li><li><p><strong><a href="https://www.goodreads.com/book/show/11468377-thinking-fast-and-slow">Thinking, Fast and Slow</a></strong> <em>&#8211; Daniel Kahneman</em><br>Nobel-winning insights into how we think, decide, and often fail without realizing it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/the-books-that-changed-my-life?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/the-books-that-changed-my-life?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></li></ul><h2>My Top 10 Personal Favourites</h2><p>I&#8217;ve read dozens of books on leadership, engineering, strategy, and personal growth&#8212;but these are the ones that stuck. I return to them often. Some brought clarity when I needed it; others pushed me to lead better, think deeper, or grow stronger. They live on my shelf because they changed something in me.</p><p>These are my all-time favourites, in no particular order. Each one includes a brilliant quote from the book, a brief note on why it matters to me, and a link where I&#8217;ve mentioned it (or a related post on a similar topic). They&#8217;re not just great reads&#8212;they&#8217;ve stuck with me and earned their place.</p><h3>1. The Manager&#8217;s Path</h3><p>I picked up this book early on my management journey. It didn&#8217;t have all the answers, but it gave me a fresh perspective on leadership&#8212;one that focused on growing <em>with</em> my team, not above them.</p><blockquote><p>&#8220;Regular 1-1s are like oil changes; if you skip them, plan to get stranded on the side of the highway at the worst possible time. Marc Hedlund.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0d2e3c0f-e28c-4a36-b1a4-9155a17ded85&quot;,&quot;caption&quot;:&quot;Have you ever wondered why managers are so busy, yet often you don&#8217;t know what they&#8217;re doing? Are you a hardworking manager who struggles to articulate your accomplishments at the end of the day?&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Manager&#8217;s Iceberg&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-02-25T10:01:08.448Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F318bb501-73b0-454f-b48f-5494a9e1cbe6_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/the-managers-iceberg&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:141979484,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:25,&quot;comment_count&quot;:4,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>2. High Output Management</h3><p>This book changed how I think about my job as a manager. Grove turns management into a process&#8212;clear, structured, and measurable. It helped me become more intentional about how I lead and scale teams.</p><blockquote><p>&#8220;The output of a manager is the output of the organizational units under his or her supervision or influence.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;577c69ab-263d-4d64-bc50-9552e1a71b2b&quot;,&quot;caption&quot;:&quot;Have you doubled your team size during the last months? You may have grown your reports from 7 to 14 individuals. &#8220;Congratulations&#8221;, one might think. But hold on a moment.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Managing Too Many People Is a Trap&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-02-11T10:00:33.191Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64761490-968a-4e9f-a007-3e6331d9251a_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/managing-too-many-people-is-a-trap&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:141564763,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>3. Team Topologies </h3><p>It gave me the language to talk about team structure, flow, and ownership&#8212;things we often feel but struggle to explain. Every engineering leader should read this.</p><blockquote><p>&#8220;When cognitive load isn&#8217;t considered, teams are spread thin trying to cover an excessive amount of responsibilities and domains.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;cbefc507-8357-477d-b96a-37ffc9bdfdf4&quot;,&quot;caption&quot;:&quot;You&#8217;re leading a talented development team that is working on a critical product feature. However, what should be three weeks&#8217; worth of work is taking months already. There is no clarity but chaos. The codebase is extremely complex, with no clear boundaries, and full of surprises. Autonomy to develop fast is a pipe dream.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why Your Teams Are Struggling to Deliver (and How to Fix It)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-12T16:01:49.307Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18142854-625e-4ec5-aad3-5e3be45fde28_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/why-your-teams-are-struggling-to&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:154672594,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:33,&quot;comment_count&quot;:5,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>4. Turn the Ship Around!</h3><p>This book reshaped how I think about authority. Marquet shows that true leadership is about giving control, not taking it. It made me a more empowering, trust-first leader.</p><blockquote><p>&#8220;Leadership is communicating to people their worth and potential so clearly that they are inspired to see it in themselves.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1ec22554-5b5a-4d61-8410-6a55e63d284c&quot;,&quot;caption&quot;:&quot;Imagine this: you&#8217;re in the middle of a high-stakes incident. The platform is down, customers are affected, and the team is stuck. Not because they lack the skills, but because they&#8217;re waiting&#8212;for your decision, approval, and instructions.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Emancipate Your Team: Leadership Through Intent, Not Control&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-05T12:30:22.503Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33761dfb-1086-4a17-85ca-3221f7eb83cb_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/emancipate-your-team-leadership-through&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:154190999,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:23,&quot;comment_count&quot;:4,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>5. The Staff Engineer&#8217;s Path</h3><p>I wish this existed earlier in my career. It captures the messy, unspoken side of being a senior IC&#8212;the politics, the influence, the impact beyond code. It&#8217;s practical and refreshingly honest.</p><blockquote><p>&#8220;You should put points into what you want to be good at so you can build up those skills.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;dc0b908c-00fd-4cc8-81e3-fb6fb34995df&quot;,&quot;caption&quot;:&quot;Have you ever experienced feeling taken advantage of or struggling to ask for what you want at work? Do you often think you fail to get your opinions heard, or do people readily dismiss or undermine your views? I have been there, and it does not feel good.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Say No at Work&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-02-04T10:00:31.407Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae915ef-1d1d-4de4-b0db-1654e86a273d_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/how-to-say-no-at-work&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:141353007,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:4,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>6. Designing Data-Intensive Applications</h3><p>I don&#8217;t just reference this book&#8212;I study it. It&#8217;s helped me make smarter architectural decisions and understand trade-offs at scale. Every time I open it, I learn something new.</p><blockquote><p>&#8220;Building for scale that you don&#8217;t need is a waste of effort and may lock you into an inflexible design.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;83dc9131-e5c7-4d93-a3e1-492d3686b259&quot;,&quot;caption&quot;:&quot;I recently finished reading the book Designing Data-Intensive Applications by Martin Kleppmann. It's a must-read for any software engineer or technical leader who takes seriously their career. The book provides an excellent overview of modern data engineering and distributed systems.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;On Being a Technical Manager Beyond Coding&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-01-14T17:00:21.546Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb40e0e2f-ed82-4dec-b163-c262efacee1a_800x800.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/on-being-a-technical-manager-beyond&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:140674948,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>7. The Pragmatic Programmer</h3><p>This is the book that made me fall in love with the craft of software engineering. It&#8217;s full of timeless wisdom&#8212;simple, sharp, and always relevant.</p><blockquote><p>&#8220;You can&#8217;t write perfect software. Did that hurt? It shouldn&#8217;t. Accept it as an axiom of life.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c37e29b6-e5de-4255-aaf1-95e059e9ed97&quot;,&quot;caption&quot;:&quot;A few years ago, we debated whether the &#8220;10x engineer&#8221; was a myth or a reality. Today, with the power of AI and a shift toward product-led engineering, a new archetype is emerging: the engineer who delivers 100x the impact. The divide between those who &#8220;just code&#8221; and those who solve&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Rise of the 100x Product Engineer&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-16T09:01:24.163Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae4e260d-2c82-40fc-9677-46e2517fa013_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/the-rise-of-the-100x-product-engineer&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:157226463,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:70,&quot;comment_count&quot;:10,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>8. Atomic Habits</h3><p>This book helped me actually <em>change</em>. It&#8217;s not about motivation&#8212;it&#8217;s about designing systems that make success inevitable. Small steps, done right, can be transformational.</p><blockquote><p>&#8220;All big things come from small beginnings. The seed of every habit is a single, tiny decision.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bd41bb02-b697-4304-8dde-7fa9b65cf571&quot;,&quot;caption&quot;:&quot;Yesterday, I saw a bold post on X:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Silent Layoff of Low-Agency Engineers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-27T12:02:37.321Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/the-silent-layoff-of-low-agency-engineers&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:162252398,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:42,&quot;comment_count&quot;:10,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>9 .Never Split the Difference</h3><p>This book changed how I approach conversations&#8212;at work, in life, everywhere. It taught me the importance of listening well and asking the right questions.</p><blockquote><p>&#8220;He who has learned to disagree without being disagreeable has discovered the most valuable secret of negotiation.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;35f11c71-7ce1-4568-aff0-729863598343&quot;,&quot;caption&quot;:&quot;I&#8217;ve seen brilliant engineering teams spend months building features no one uses and solving problems that didn&#8217;t exist. This was not because they lacked skill or effort but because they never truly understood the real problem. How much time could we save if we just asked the right questions first?&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Stop Solving the Wrong Problem&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-02T09:00:55.880Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe475b82-ea68-40fb-b1e8-862a267a9a7b_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/stop-solving-the-wrong-problem&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:156272324,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:38,&quot;comment_count&quot;:11,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>10. Can&#8217;t Hurt Me</h3><p>It&#8217;s raw and intense&#8212;and exactly what I needed during tough moments. Goggins taught me that limits are mostly in our minds, and discipline is freedom.</p><blockquote><p>&#8220;You are in danger of living a life so comfortable and soft, that you will die without ever realizing your true potential.&#8221;</p></blockquote><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7e88511c-574c-4a6e-9582-9219f950ab3b&quot;,&quot;caption&quot;:&quot;Ever since I discovered the concept of High Agency, it has captivated my attention, and now I cannot unsee it. Although the idea is not entirely new to me, I have finally found the perfect words to describe the way I have been approaching life and work.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;High Agency: The Mindset of Successful Leaders&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-02-18T10:01:46.324Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18c8336b-3963-47fb-8b05-7e7dd89d6075_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/high-agency-the-mindset-of-successful&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:141781458,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:51,&quot;comment_count&quot;:14,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Final Thoughts</h2><p>Every book on this list has shaped me in some meaningful way. Whether by shifting my perspective, advancing my career, or simply helping me see life more clearly.</p><p>But the real power of reading isn&#8217;t just in discovering new ideas. It&#8217;s in taking action and letting those ideas change you.</p><p>These are my favourites. What about yours? I&#8217;d love to hear which books have made a difference in your life.</p><p>Happy reading,<br>Rafa</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/the-books-that-changed-my-life/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/the-books-that-changed-my-life/comments"><span>Leave a comment</span></a></p><div><hr></div><p><em>Thanks for reading <strong>The Engineering Leader</strong></em>. &#128591;</p><p><em>If you enjoyed this issue, tap the </em>&#10084;&#65039;<em>, share it with someone who'd appreciate it, and subscribe to stay in the loop for future editions.</em></p><p>&#128075; <em>Let&#8217;s keep in touch &#8212; connect with me on <a href="https://www.linkedin.com/in/rafapaez/">LinkedIn</a>.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>If you&#8217;re curious about the objects on top of my bookshelf (from left to right):</p><ol><li><p><strong>A vintage-style vinyl record player</strong> &#8211; A thoughtful farewell gift from my peers when I left Funding Circle UK. Still brings back great memories.</p></li><li><p><strong>A red Daruma doll</strong> &#8211; A traditional Japanese symbol of perseverance and good luck. A meaningful gift from my wife.</p></li><li><p><strong>A retro-style radio with silver knobs</strong> &#8211; Might come in handy during Spain&#8217;s occasional blackouts. <a href="https://en.wikipedia.org/wiki/2025_Iberian_Peninsula_blackout">Yes, they happen</a>.</p></li><li><p><strong>A reed diffuser with wooden sticks</strong> &#8211; Bamboo-scented and surprisingly effective. The room smells amazing.</p></li><li><p><strong>Just a corner of our printer</strong> &#8211; My daughters love printing coloring pages to paint. Ink runs out fast in this house.</p></li></ol></div></div>]]></content:encoded></item><item><title><![CDATA[The Silent Layoff of Low-Agency Engineers]]></title><description><![CDATA[AI won&#8217;t take your job. Being passive will.]]></description><link>https://newsletter.rafapaez.com/p/the-silent-layoff-of-low-agency-engineers</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/the-silent-layoff-of-low-agency-engineers</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 27 Apr 2025 12:02:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hUSn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hUSn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hUSn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!hUSn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!hUSn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!hUSn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hUSn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53f0dea6-077a-414f-892e-871369829cac_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107720,&quot;alt&quot;:&quot;Low Agency vs High Agency Engineers&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/162252398?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Low Agency vs High Agency Engineers" title="Low Agency vs High Agency Engineers" srcset="https://substackcdn.com/image/fetch/$s_!hUSn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!hUSn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!hUSn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!hUSn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53f0dea6-077a-414f-892e-871369829cac_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Yesterday, I saw a bold post on X:</p><blockquote><p>&#8220;Junior engineers are cooked&#8221;</p></blockquote><p>I get it. But I disagree.</p><p>AI won&#8217;t replace software engineers. Not even the less experienced ones.</p><p>It&#8217;s not the end of junior engineers. It&#8217;s the end of low-agency individuals.</p><p>Let me explain it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>The Invisible Farewell</h3><p>Layoffs aren&#8217;t always dramatic confrontations or tearful goodbyes. Sometimes, they&#8217;re more like quiet disappearances.</p><p>Imagine the shock of waking up one day to discover you&#8217;re no longer relevant to the team&#8217;s plans. No announcement, no explanation, just the unsettling silence of being forgotten.</p><p>In engineering, these silent layoffs often target people who never raise their voice or their hand; those who comfortably do what they&#8217;re told and nothing more. They&#8217;re rarely the problem, but they&#8217;re rarely the solution, either. When times get tough, they&#8217;re quietly the first to go.</p><h3>Meet David: The Cost of Being Passive</h3><p>Let me introduce David. On paper, David was flawless: punctual, reliable, accurate. He finished tasks exactly as instructed, and rarely made mistakes.</p><p>But David rarely <a href="https://newsletter.rafapaez.com/p/stop-solving-the-wrong-problem">asked why</a> his work mattered or how it impacted customers. He never proposed better solutions unless someone asked. He waited for direction instead of creating it. David was comfortably passive.</p><p>When the company needed cuts, leadership evaluated value differently: who was driving projects, taking risks, and <a href="https://newsletter.rafapaez.com/p/shape-more-estimate-less">shaping the product?</a> David didn&#8217;t come to mind. His contributions were solid, but his impact was invisible.</p><p>As Larry Winget reminds us:</p><blockquote><p>&#8220;You get paid for results, not effort&#8221;</p></blockquote><p>David gave effort, but he lacked initiative and ownership. He followed orders, and quietly followed his career out the door.</p><h3>Understanding the &#8216;Silent Layoff&#8217;</h3><p>Silent layoffs happen when companies subtly phase out employees whose contributions aren&#8217;t visibly significant. Unlike dramatic, public layoffs, these happen quietly, slowly, and often go unnoticed until it&#8217;s too late.</p><p>Low-agency engineers aren&#8217;t disruptive or problematic, which ironically makes them more vulnerable. In good times, companies tolerate passivity. But when challenges arise, passive employees are often the first considered expendable.</p><p>Focusing only on writing code without broader impact can put engineers at similar risk. The role of <a href="https://newsletter.rafapaez.com/p/the-end-of-coders-and-why-thats-great">coders is fading</a>, while <a href="https://newsletter.rafapaez.com/p/the-rise-of-the-100x-product-engineer">product-minded engineers are on the rise</a>. </p><p>Engineers who simply &#8220;code what they&#8217;re told&#8221; are becoming less valuable in an industry that increasingly demands broader product thinking, ownership, and strategic contribution.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/the-silent-layoff-of-low-agency-engineers?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/the-silent-layoff-of-low-agency-engineers?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h3>What Exactly is High Agency?</h3><p><a href="https://newsletter.rafapaez.com/p/high-agency-the-mindset-of-successful">High agency</a> is the mindset and belief that you can actively shape your environment and outcomes, rather than passively accepting circumstances. High-agency engineers proactively solve problems, question assumptions, and drive meaningful change without waiting for permission.</p><p>High agency doesn&#8217;t mean reckless action. It means confident autonomy. It means owning not just your work but its broader impact. Low-agency engineers see their roles as tasks given, not opportunities created.</p><p>George Mack, the person behind <a href="https://www.highagency.com/">HighAgency.com</a> (highly recommend reading), believes that high agency might be the most important idea of the 21st century. And once you see it, you can&#8217;t unsee it.</p><blockquote><p>&#8220;High agency isn&#8217;t one skill &#8212; it&#8217;s the rare combination of clear thinking, bias to action, and the courage to disagree when it matters.&#8221;</p><p>&#8212; George Mack</p></blockquote><h3>A Word of Caution: Don&#8217;t Mistake Noise for High Agency</h3><p>Taking up airtime in meetings, posting endless Slack messages, or debating every decision without moving anything forward isn&#8217;t high agency. Being noisy without delivering outcomes can backfire just as badly as being invisible.</p><p>Real agency is about connecting action to results. It means pushing projects forward, solving real problems, and making an actual impact, not just broadcasting opinions.</p><p>Do not confuse high agency with <a href="https://newsletter.rafapaez.com/p/hero-culture-is-hurting-your-team">being a hero</a>. High agency is about making the team, the product, and the business better, not about stealing the spotlight.</p><p>Noise for the sake of attention dilutes credibility. True influence comes from thoughtful contribution and reliable execution. Engineers who confuse noise with impact burn goodwill fast&#8212;and often find themselves just as vulnerable during cuts.</p><p>The goal is not to talk more. It is to matter more.</p><h3>Why Companies Quietly Cut Low-Agency Engineers</h3><p>When revenue clouds gather, finance teams run a brutal thought experiment: <em>If we lost this person tomorrow, would our customers notice before our monitoring did?</em></p><p>Low&#8209;agency engineers rarely pass that test. Their work is useful but tucked so deep in the scaffolding that its impact is hard to trace.</p><p>High&#8209;agency engineers, by contrast, staple their code to metrics that matter: conversion, uptime, cash. They steer critical projects, coach peers, and surface risks before risk surfaces them.</p><p>That ruthless logic hides in plain sight across high&#8209;performance cultures. When budgets contract, the quiet and comfortable become the easiest cuts. Not because they&#8217;re bad, but because their absence costs the least.</p><h3>How to Avoid the Silent Layoff Trap</h3><p>Before adopting new behaviors, shift your mindset from &#8220;What tasks am I assigned?&#8221; to &#8220;What outcomes can I actively influence?&#8221; High agency begins internally before it&#8217;s seen externally.</p><p>Follow these five habits to stay indispensable:</p><ol><li><p><strong>Speak Up&#8212;Clearly and Consistently</strong><br>Quiet competence isn&#8217;t enough. Offer well&#8209;formed opinions, ask thoughtful questions, and challenge shaky assumptions. Make your presence and perspective felt.</p></li><li><p><strong>Take End&#8209;to&#8209;End Ownership</strong><br>Don&#8217;t just finish tasks&#8212;own outcomes. Know why they matter, who benefits, and what success looks like. When problems surface, lead the fix.</p></li><li><p><strong>Translate Work into Business Impact</strong><br>Always anchor achievements in measurable value: &#8220;Optimised the cache, cutting page load by 150&#8239;ms and saving 20&#8239;% in server costs&#8221; beats &#8220;Tweaked performance.&#8221;</p></li><li><p><strong>Show Initiative, Regularly</strong><br>Don&#8217;t wait for someone to hand you the next ticket. Spot gaps, volunteer for hairy problems, and propose improvements before they&#8217;re assigned.</p></li><li><p><strong>Invest in Cross&#8209;Team Relationships</strong><br>Seek perspectives outside your pod. Pair with design, chat with support, and demo to sales. Allies amplify your influence and keep your work visible when budgets shrink.</p></li></ol><p>Proactivity is the hallmark of high-agency people. Rather than just reacting to issues, high-agency engineers actively seek out opportunities, spot risks before they escalate, and shape the future instead of waiting for it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/the-silent-layoff-of-low-agency-engineers/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/the-silent-layoff-of-low-agency-engineers/comments"><span>Leave a comment</span></a></p><h3>Leaders: Build High&#8209;Agency Teams</h3><p>Agency starts at the top. High-agency teams don&#8217;t emerge by accident. They&#8217;re built deliberately by leaders who prioritize autonomy, ownership, and proactivity. Your processes either amplify ownership or smother it. Tilt the odds toward the former:</p><ul><li><p><strong>Authorize, don&#8217;t approve.</strong> Push decisions to the lowest competent level and back them publicly. Trust is gasoline for agency.</p></li><li><p><strong>Reward smart risk.</strong> Celebrate experiments that moved metrics or taught a lesson&#8212;even if the first try failed. Punishing every misstep breeds spectators, not owners.</p></li><li><p><strong>Broadcast the &#8220;why.&#8221;</strong> Context is the mother of initiative. Share customer anecdotes, revenue targets, and strategic trade&#8209;offs so engineers see the full chessboard.</p></li><li><p><strong>Surface dissent early.</strong> Make it safe&#8212;and expected&#8212;to challenge plans before code is poured in concrete. Silence in planning should raise questions, not be mistaken for agreement.</p></li><li><p><strong>Model the behavior.</strong> Unblock yourself, admit mistakes, and ship visible wins. Teams copy what they see.</p></li></ul><p>Simon Sinek sums it up:</p><blockquote><p>&#8220;Leadership is not about being in charge. It is about taking care of those in your charge.&#8221;</p></blockquote><p>Taking care means creating a playground where smart people can <a href="https://newsletter.rafapaez.com/p/emancipate-your-team-leadership-through">act, own and thrive</a>, loudly enough to be heard and wisely enough to matter.</p><h3>Final Thoughts: Reject Passivity, Own Your Career</h3><p>Careers aren&#8217;t lost in dramatic layoffs. They&#8217;re silently eroded by choosing passivity over action, comfort over challenge, and waiting over ownership.</p><p>If you recognized any part of yourself in David&#8217;s story, take it as an urgent signal to shift your approach&#8212;starting now.</p><p>High agency isn&#8217;t something you&#8217;re born with; it&#8217;s something you practice daily:</p><ul><li><p>Speak up clearly about what matters, even when it&#8217;s uncomfortable.</p></li><li><p>Take on problems proactively, instead of waiting for instructions.</p></li><li><p>Make your impact visible by connecting your work explicitly to meaningful outcomes.</p></li></ul><p>In today&#8217;s tech market, the threat isn&#8217;t AI. It&#8217;s becoming passive and unnoticed.</p><p><strong>Choose action over inaction, ownership over comfort, and visibility over invisibility</strong>.</p><p>Your career depends on it.</p><div><hr></div><p><em>Enjoyed the article? Hit the &#10084;&#65039; button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[In the Flow: Where Your Best Work Actually Happens]]></title><description><![CDATA[Why Deep Focus, Not Longer Hours, Is the Key to High Performance]]></description><link>https://newsletter.rafapaez.com/p/in-the-flow-where-your-best-work</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/in-the-flow-where-your-best-work</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 20 Apr 2025 08:00:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently shared the bellow comic illustration with the message <em>&#8220;How to get lucky.&#8221;</em> It showed a single glowing window in a sea of darkness: someone working late into the night while the rest of the neighborhood slept.</p><p>As expected, some harsh responses poured in.</p><blockquote><p>&#8220;You don&#8217;t need to ruin your health to succeed.&#8221;</p><p>&#8220;This has a toxic productivity vibe.&#8221;</p><p>&#8220;Sleep deprivation kills creativity.&#8221;</p><p>&#8220;Stop glorifying hustle.&#8221;</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mTnV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mTnV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!mTnV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!mTnV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!mTnV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mTnV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4056830,&quot;alt&quot;:&quot;How to get lucky&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/161596815?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to get lucky" title="How to get lucky" srcset="https://substackcdn.com/image/fetch/$s_!mTnV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!mTnV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!mTnV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!mTnV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c137ff0-d35b-4486-a071-f08fd4e6d294_1024x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How to get lucky</figcaption></figure></div><p>And they&#8217;re absolutely right.</p><p><strong>Health matters. Sleep is essential. Burnout is real</strong>. I&#8217;m not here to romanticize exhaustion or suggest that success requires sacrificing your well-being.</p><p>But here&#8217;s what many people missed.</p><p>That image is not about self-destruction. It is about <em>flow state</em>. It is about being <em>in the zone</em>.</p><p><strong>Some people find their best focus when the world goes quiet</strong>. After the messages stop. After the kids are asleep. When there is finally space to think. (Yes, that&#8217;s me.)</p><p>Of course, seeking luck or excellence doesn&#8217;t come from comfort alone<strong>.</strong> It comes from showing up with intentional focus. Not through burnout, but by knowing when you&#8217;re at your best and making space for it.</p><p>Not every late night is a red flag. Some are a reflection of purpose.</p><p>Let&#8217;s talk about what makes the difference.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The Magic of Flow</h2><p>Have you ever sat down to work and, in just a couple of hours, accomplished more than you did the entire day before? It happens to me, more often than I&#8217;d like to admit.</p><p>That kind of productivity isn&#8217;t a fluke. It&#8217;s what psychologists call <strong>flow</strong>. Some people call it being &#8220;in the zone.&#8221; It&#8217;s a mental state where focus sharpens, distractions disappear, and time seems to bend.</p><p><strong>Flow is a powerful mental state</strong> where you become so immersed in your work that the outside world fades away. You&#8217;re not just getting things done, you&#8217;re doing your best thinking. Ideas connect faster. You make decisions with clarity. You&#8217;re fully present, and it shows in the quality of your output.</p><p>For many of us, especially in engineering, that kind of clarity doesn&#8217;t always happen between nine and five. It tends to show up after the last meeting ends, when Slack is quiet, and your calendar finally stops demanding attention.</p><p><strong>This isn&#8217;t about glorifying late nights</strong>. It&#8217;s about understanding the conditions that make deep focus possible. For some, that&#8217;s early mornings. For others, it&#8217;s the quiet of night. What matters isn&#8217;t when the work gets done, but how present you are when it does.</p><p>Psychologist Mih&#225;ly Cs&#237;kszentmih&#225;lyi, who coined the term <em>flow</em>, described it as:</p><blockquote><p>&#8220;A state in which people are so involved in an activity that nothing else seems to matter; the experience is so enjoyable that people will continue to do it even at great cost, for the sheer sake of doing it.&#8221;</p></blockquote><p>Flow doesn&#8217;t come from pressure. It comes from presence. It&#8217;s not about working harder. It&#8217;s about working with depth and clarity.</p><p>It can be hard to reach, but when it happens, you feel it. You&#8217;re immersed. Ideas connect effortlessly. You&#8217;re moving with focus and ease. And when you pause, you realize time has passed, but you barely noticed.</p><p><strong>That&#8217;s the magic of flow.</strong> It&#8217;s rare, but when it shows up, it&#8217;s one of the most rewarding ways to work.</p><h2>Productivity Is Personal: Early Birds vs. Night Owls</h2><p>When it comes to productivity, there&#8217;s no one-size-fits-all schedule. Some people are sharp at sunrise. Others hit their stride long after the world winds down. Yet we still treat early risers as the gold standard, as if productivity only counts before noon.</p><p><strong>But real productivity isn&#8217;t about conforming to the clock</strong>. It&#8217;s about understanding your natural rhythm and working with it, not against it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jA8B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jA8B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!jA8B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!jA8B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!jA8B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jA8B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80440,&quot;alt&quot;:&quot;In The Flow: Different Patterns Of Deep Work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/161596815?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="In The Flow: Different Patterns Of Deep Work" title="In The Flow: Different Patterns Of Deep Work" srcset="https://substackcdn.com/image/fetch/$s_!jA8B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!jA8B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!jA8B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!jA8B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0439f3-3ac3-4f2a-aa59-64d4b8e66144_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In the Flow: Different Patterns of Deep Work</figcaption></figure></div><p>I&#8217;m a night owl.</p><p>My focus doesn&#8217;t peak at sunrise. It usually kicks in after my kids go to bed, when the house is quiet and the world finally slows down. No meetings. No messages. No expectations. Just space. And in that silence, I often find flow.</p><p>Not every night. I&#8217;m not burning the candle seven days a week or entering the zone on demand. But when it happens, it&#8217;s deep, it&#8217;s creative, and it&#8217;s some of my best work.</p><p>And that&#8217;s the point.</p><p>Some people find their rhythm at dawn. Others, like me, find it after dark. One isn&#8217;t better than the other. What matters is knowing when you focus best, and protecting that time.</p><p>Trying to force night owls into early schedules doesn&#8217;t make them more productive. It just drains energy. Likewise, expecting early birds to stay sharp into the evening rarely ends well.</p><p>As Naval Ravikant once said: </p><blockquote><p>&#8220;Escape competition through authenticity.&#8221;</p></blockquote><p>The same holds true for productivity. When your work aligns with your natural rhythm, it becomes not only more effective but also more sustainable.</p><p>This isn&#8217;t an argument against structure. It&#8217;s a case for flexibility and self-awareness. What matters isn&#8217;t when the work gets done. It&#8217;s the quality, the intent, and the outcome.</p><p><strong>Respect your rhythm. That&#8217;s where your best work actually happens</strong>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/in-the-flow-where-your-best-work?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/in-the-flow-where-your-best-work?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>Busy Isn&#8217;t the Enemy. Distraction Is.</h2><p>You&#8217;ve probably heard the saying: <em>&#8220;If you want something done, ask a busy person.&#8221;</em> It&#8217;s not because they are over-committed. It&#8217;s because they have learned how to be busy with intention.</p><p><strong>Being busy the right way means staying focused</strong>. These are the people who carve out time for deep work, guard their attention, and say no to what does not matter. They do not confuse motion with progress. They know what deserves their energy and when.</p><p>The irony? Many of them are also the ones who make space for rest, learning, exercise, and family. They work hard, but they work smart. And they understand that productivity is not about doing more. It is about doing what matters, when it matters, with full attention.</p><p><strong>The real enemy is not being busy. It is being distracted</strong>. It is the nonstop pings. The meetings that should have been messages. The inbox that grows faster than your focus can recover.</p><p>True productivity, the kind that actually moves the needle, requires uninterrupted focus. And for many of us, especially if you&#8217;re a people manager, that kind of space only exists at the edges of the day.</p><p>As Cal Newport wrote in <em>Deep Work</em>:</p><blockquote><p>&#8220;Clarity about what matters provides clarity about what does not.&#8221;</p></blockquote><p>It is not about doing everything. It is about protecting what matters most.</p><h2>Rest Is Part of the Work: The Antidote to Burnout</h2><p>Let&#8217;s not confuse admiration for flow with a celebration of overwork. Just because someone can focus deeply late at night doesn&#8217;t mean they should live in a constant state of output.</p><p><strong>Flow is not a replacement for rest</strong>, and it&#8217;s definitely not a strategy for burnout.</p><p>The top performers I&#8217;ve worked with, whether in engineering, leadership, or creative roles, all treat rest as part of the work. They understand what elite athletes know: recovery is not a break from training. It is training.</p><p>No one expects a sprinter to run at full speed every day without rest. Champions don&#8217;t just train harder. They recover smarter. They optimize for endurance, clarity, and longevity.</p><p>The same holds true in knowledge work. Sleep is not laziness. It is cognitive maintenance. Time off is not indulgent. It is how we stay sharp, creative, and emotionally present.</p><p><strong>Flow is powerful, but it is not endless</strong>. When it becomes forced, when it replaces connection, reflection, or self-care, it loses what makes it valuable. What once felt energizing becomes draining.</p><p>Balance is not a luxury. It is the infrastructure that allows you to do deep work without crashing. As Arianna Huffington wrote in <em>Thrive</em>:</p><blockquote><p>&#8220;Burnout is not the price you have to pay for success.&#8221;</p></blockquote><p>Rest isn&#8217;t the opposite of great work. It&#8217;s what makes great work possible.</p><h2>Leaders: Design for Flow, Not Control</h2><p>If you&#8217;re in a leadership role, this is where your mindset matters most. Don&#8217;t measure your team by how early they log on or how late they stay. Measure them by outcomes. By the clarity of their thinking. By the quality of their work.</p><p><strong>Your job is not to supervise hours. It&#8217;s to create the conditions for focus.</strong></p><p>That means protecting time for deep work. Pushing back against unnecessary meetings. Letting go of the idea that real work only happens when everyone is online at the same time.</p><p>This is one of the many reasons I love remote and async work. It acknowledges a simple truth: not everyone feels productive at the same time. Some people need quiet mornings. Others find their focus after dark. Some need long stretches of uninterrupted time. Others work best in bursts. Remote work gives them the space to find their rhythm and own their results.</p><p>Synchronous work can be useful but defaulting to it stifles autonomy and flow. Leaders need to stop confusing constant visibility with real productivity.</p><p>Engineers don&#8217;t need more check-ins. They need more trust. They don&#8217;t need more structure. They need more space.</p><p>If you want high performance, build an environment where flow can happen, and then step aside and let it.</p><p>Jason Fried, in <em>It Doesn&#8217;t Have to Be Crazy at Work</em>, put it bluntly:</p><blockquote><p>&#8220;Modern-day offices have become interruption factories&#8230; How can you expect anyone to get work done in an environment like that?&#8221;</p></blockquote><p><strong>The best teams don&#8217;t thrive in noise. They thrive in focus</strong>. And it&#8217;s your job to protect it.</p><h2>Final Thoughts</h2><div class="pullquote"><p>&#8220;Great work doesn&#8217;t come from more hours. It comes from knowing when you&#8217;re at your best.</p><p>Respect your rhythm. That&#8217;s where your best work actually happens.&#8221;</p></div><p>Doing your best work isn&#8217;t about pushing harder. It&#8217;s about knowing when you&#8217;re at your best and creating the space for it to happen.</p><p>Sometimes that looks like a glowing window at 2 a.m. Sometimes it looks like a quiet morning with no meetings. What it doesn&#8217;t look like is forcing everyone into the same mold, schedule, or rhythm.</p><p>Flow is personal. Productivity is personal. And the environments we build, both for ourselves and for our teams, should reflect that.</p><p>Great work is not the result of nonstop hustle. It&#8217;s the outcome of clarity, intention, and trust. It comes from aligning effort with energy, not sacrificing health for output. And it lasts longer when it&#8217;s built on rest, not burnout.</p><p>So if you find your flow late at night, or in the early morning, or in between school runs and quiet afternoons, that&#8217;s not something to fix. That&#8217;s something to protect.</p><p>Your best work lives there.</p><p>Make space for it.</p><div><hr></div><p><em>Enjoyed the article? Hit the &#10084;&#65039; button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The End of Coders (And Why That’s Great News)]]></title><description><![CDATA[How AI is Transforming Software Engineers from Coders into Creators]]></description><link>https://newsletter.rafapaez.com/p/the-end-of-coders-and-why-thats-great</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/the-end-of-coders-and-why-thats-great</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 13 Apr 2025 12:02:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZJ1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZJ1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZJ1I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!ZJ1I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!ZJ1I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!ZJ1I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZJ1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65735,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/161226891?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.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_!ZJ1I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!ZJ1I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!ZJ1I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!ZJ1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb50b63-0b26-4383-b940-2a798abc950f_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Imagine waking up tomorrow to find automation has taken over your software development job.</p><p>No more writing repetitive boilerplate code, debugging tedious errors, or wrestling with yet another JavaScript framework. Scary? At first glance, sure. But if you&#8217;re honest, there&#8217;s a hint of relief in there too.</p><p>Everyone seems terrified about losing their jobs to Artificial Intelligence (AI), and I get it. But I&#8217;m not afraid. In fact, I&#8217;m excited.</p><p>Why spend time on tasks machines do better when I could focus on strategy, creativity, and solving complex, meaningful problems?</p><p>Welcome to the end of the &#8220;coder.&#8221;</p><p>But before you panic, trust me: this is actually great news. Let me explain why.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The Historical Pattern of Automation</h2><blockquote><p>&#8220;The factory of the future will have only two employees: a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.&#8221;</p><p><strong>&#8212; Warren Bennis</strong></p></blockquote><p>Automation isn&#8217;t new. Every major technological revolution has sparked fears of job losses. The Industrial Revolution, for example, caused panic over the disappearance of manual labor. People worried about losing tedious, repetitive tasks like hand-harvesting crops or manually assembling machinery.</p><p>But let&#8217;s be honest, do you really miss manual harvesting or lifting heavy machine parts by hand? Probably not.</p><p>In reality, automating those tasks freed workers to take on more meaningful, less physically demanding roles. It also paved the way for entirely new industries and job categories.</p><p>Similarly, the so-called &#8220;end of coders&#8221; isn&#8217;t the end of software engineers. It simply means that the repetitive, mundane parts of the job will no longer impede real innovation.</p><h2>My First Job as a &#8220;Coder&#8221; Made Little Sense</h2><blockquote><p>&#8220;Programmers are not typists. Typing is not the bottleneck.&#8221;</p><p><strong>&#8212; Kent Beck</strong></p></blockquote><p><a href="https://newsletter.rafapaez.com/i/140431400/three-short-stories-about-autonomy">As I wrote</a> in one of my first articles, in 2004 I started my first job as a &#8220;coder&#8221;. My role was to translate highly detailed spec sheets into code. Every input, output, and function was predefined by my analyst literally on a paper sheet. There was minimal scope for independent thought, creative ideas, or my own choices.</p><p>One day, I asked my analyst (who was also my manager):</p><p><em>&#8220;Aren&#8217;t you spending more time writing this spec sheet than it would take to just write the code yourself?&#8221;</em></p><p>He replied:</p><p><em>&#8220;Yes, I could write the code faster but this is the only way you&#8217;ll learn to code.&#8221;</em></p><p>Technically, he was right; I was learning to code. But I wasn&#8217;t learning about how to solve software engineering problems. And the process, while well-intentioned, was painfully inefficient for everyone.</p><p>Fast forward to today, software engineers are no longer just coders. They are expected to think critically, solve complex problems, collaborate across teams, and influence product decisions.</p><p>Despite this shift, many still spend most of their time writing code, stuck in a cycle of translating instructions and repeating predictable tasks. Even at senior levels, the complex and meaningful challenges that drew us to the field often remain out of reach.</p><h2>AI Won&#8217;t Take Your Job. It&#8217;ll Take Your Boredom</h2><blockquote><p>&#8220;AI won&#8217;t take your job. It&#8217;s somebody using AI that will take your job.&#8221;</p><p><strong>&#8212; Richard Baldwin</strong></p></blockquote><p>AI has already started replacing repetitive tasks across countless industries. In software development, AI tools can now effortlessly write code, perform routine debugging, and even suggest optimized code solutions faster than most humans.</p><p>If your job mainly involves translating clearly defined tasks into code, you&#8217;re essentially competing against a machine. Spoiler alert: the machine will eventually win.</p><p>But here&#8217;s the good news: AI won&#8217;t replace creativity, ingenuity, and strategic thinking, at least in the short-term. </p><p>The core of software engineering has never truly been about writing the code. It&#8217;s always been about problem-solving.</p><h2><strong>Creating Solutions, Not Just Writing Code</strong></h2><blockquote><p>&#8220;The engineer&#8217;s first problem in any design situation is to discover what the problem really is.&#8221;</p><p><strong>&#8212; Unknown</strong></p></blockquote><p>Let&#8217;s imagine a different future. Instead of spending hours writing predictable CRUD operations or integrating APIs, engineers could describe an application in natural language and watch as AI instantly generates optimized, reliable code.</p><p>In this AI-driven era, engineers evolve into architects, creators, and strategists. Our role shifts from writing every line of code to envisioning new possibilities, designing thoughtful systems, and solving problems AI alone can&#8217;t yet understand or fully address.</p><p>Rather than debugging obscure syntax errors late at night or chasing the latest framework, we&#8217;ll focus our energy on crafting <a href="https://newsletter.rafapaez.com/p/stop-solving-the-wrong-problem">solutions that truly matter</a>. We&#8217;ll build products that transform healthcare, education, sustainability, and countless other vital areas of society.</p><p>This is our opportunity to innovate, create, and push the boundaries of what&#8217;s possible, <a href="https://newsletter.rafapaez.com/p/beyond-the-code">beyond code</a>.</p><h2>Embracing the Shift (and Loving It)</h2><blockquote><p>&#8220;It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.&#8221;</p><p><strong>&#8212; Charles Darwin</strong></p></blockquote><p>I hear you, change can feel scary. Especially when it challenges the skills we&#8217;ve spent years mastering. But the most impactful engineers have never just been coders. They&#8217;ve been problem-solvers, creators, innovators, and builders of the future.</p><p>This shift away from manual coding isn&#8217;t about losing what we love. It&#8217;s about making room for more of what we came here to do. More creativity. More collaboration. More space to design experiences, <a href="https://newsletter.rafapaez.com/p/shape-more-estimate-less">shape products</a>, and imagine new possibilities.</p><p>We&#8217;re not stepping back, we&#8217;re stepping up. From execution to invention. From syntax to strategy.</p><p>It&#8217;s time to let go of the fear and embrace the evolution. Because coding was never the destination, it was just the starting point for something far greater.</p><h2>Should We Still Learn to Code?</h2><blockquote><p>&#8220;Everyone should learn how to program a computer because it teaches you how to think.&#8221;</p><p><strong>&#8212; Steve Jobs</strong></p></blockquote><p>Absolutely. But maybe not in the way we&#8217;ve traditionally thought about it.</p><p>Learning to code is still crucial. It teaches logic, problem-solving, and structured thinking. Understanding code gives you insight into how software works, helping you collaborate effectively and leverage the power of automation and AI.</p><p>The key is to shift the focus. Instead of emphasizing writing endless lines of code, focus on understanding system function, architecting effective solutions, and <a href="https://newsletter.rafapaez.com/p/is-poor-communication-sabotaging">communicating your ideas clearly</a>.</p><p>In the future, coding may be less about writing everything yourself and more about orchestrating systems, automating the mundane, and building products people love.</p><p>In other words, we&#8217;re entering the era of <a href="https://newsletter.rafapaez.com/p/the-rise-of-the-100x-product-engineer">the 100x Product Engineer</a>.</p><h2>Final Thoughts</h2><blockquote><p>&#8220;It was never about coding. It was always about solving problems that truly matter.&#8220;</p><p><strong>&#8212; Rafa P&#225;ez</strong></p></blockquote><p>The end of coding isn&#8217;t really the end. It&#8217;s a new beginning. A chance to redefine what it means to be a software engineer and focus our talents where they matter most.</p><p>Imagine what we can achieve when we&#8217;re no longer bogged down by repetitive tasks. Imagine the applications we can build, the problems we can solve, and the innovations we can unleash.</p><p>So let&#8217;s welcome this change. Let&#8217;s leave the code to the machines and direct our energy toward solving the complex, fascinating, and impactful challenges of our world.</p><p>The future of product engineering is bright, and it doesn&#8217;t require you to write every line of code yourself.</p><div><hr></div><p><em>Enjoyed the article? Hit the &#10084;&#65039; button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Shape More, Estimate Less]]></title><description><![CDATA[Stop Estimating Chaos&#8212;Start Shaping Clarity]]></description><link>https://newsletter.rafapaez.com/p/shape-more-estimate-less</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/shape-more-estimate-less</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 06 Apr 2025 12:02:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JQKJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JQKJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JQKJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!JQKJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!JQKJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!JQKJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JQKJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:502256,&quot;alt&quot;:&quot;Abstract vs Shaped vs Concrete&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/160697585?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Abstract vs Shaped vs Concrete" title="Abstract vs Shaped vs Concrete" srcset="https://substackcdn.com/image/fetch/$s_!JQKJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!JQKJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!JQKJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!JQKJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f5152f4-43c2-462e-a76c-7dd017fb29d8_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Let me guess: someone asked for an estimate this week, didn&#8217;t they?</p><p>It always starts innocently enough:</p><blockquote><p>&#8220;Hey, can you give me a quick estimate for this project?&#8221;</p></blockquote><p>It sounds harmless. But hidden in that simple question, there is a can of worms just waiting to explode all over your roadmap, your priorities, and your engineering team&#8217;s sanity.</p><p>If you&#8217;ve been around long enough in tech, you&#8217;ve probably lived some version of this drama. The characters may vary, but the scene is all too familiar.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The Broken Conversation</h2><p>For context:</p><ul><li><p><strong>PM</strong> here could be a Product Manager, an internal stakeholder, or even an executive. They usually represent the &#8220;what&#8221; and &#8220;why&#8221; of a project.</p></li><li><p><strong>TL</strong> stands for Team Leader (or Tech Lead), the engineering voice responsible for guiding the team on the &#8220;how&#8221; and &#8220;how long.&#8221;</p></li></ul><p>Let&#8217;s drop in on a typical exchange:</p><blockquote><p><strong>PM:</strong> Hey! I need an estimate for the Y project.</p><p><strong>TL:</strong> Seriously? We&#8217;re already swamped with the X project.</p><p><strong>PM:</strong> This comes straight from leadership&#8212;I need it tomorrow.</p><p><strong>TL:</strong> Fine. We&#8217;ll see if we can squeeze it in.</p><p><em>(Next day)</em></p><p><strong>TL:</strong> It&#8217;ll take around 4 weeks.</p><p><strong>PM:</strong> Four weeks? That&#8217;s too long. It should only take two.</p><p><strong>TL:</strong> Then why did you even ask? Just pick a number next time!</p><p><strong>PM:</strong> Don&#8217;t get defensive. Leadership expects it in two weeks, so make it happen.</p><p><strong>TL:</strong> Not my problem if leadership can&#8217;t handle reality.</p><p><strong>PM:</strong> This attitude isn&#8217;t helping anyone.</p></blockquote><p>Sound familiar?</p><h3>What Went Wrong?</h3><p>The PM just wants to keep things moving. The TL is trying to protect their team from being crushed under impossible expectations. Leadership needs velocity. Engineering needs clarity. But instead of pulling together, everyone ends up pulling apart.</p><h4>Team Leader Mistakes</h4><ul><li><p>Started with defensiveness instead of curiosity or alignment.</p></li><li><p>Didn&#8217;t clarify trade-offs, just dropped a number with no reasoning.</p></li><li><p>Reacted emotionally, escalating conflict instead of managing expectations.</p></li></ul><h4>Product Manager Mistakes</h4><ul><li><p>Demanded an estimate without having the work clearly defined first.</p></li><li><p>Used urgency as pressure, not as context for collaboration.</p></li><li><p>Challenged the estimate without understanding how it was made.</p></li><li><p>Treated the estimate as a commitment, not a conversation starter.</p></li></ul><p>This happens because we&#8217;re often trying to answer the wrong question. We think we need better estimates. But we actually need better &#8220;shaped&#8221; work.</p><h2>The Estimate Trap</h2><p>Estimates have always divided the software world. Some see them as essential for planning. Others view them as unreliable guesses wrapped in false confidence.</p><p>The <strong>#NoEstimates</strong> movement, championed by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Vasco Duarte&quot;,&quot;id&quot;:198277349,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d66a68-7ea4-44ba-9468-22bad21fed6f_350x348.jpeg&quot;,&quot;uuid&quot;:&quot;54bfe2d6-4757-4a0d-b0dc-0b381587d67b&quot;}" data-component-name="MentionToDOM"></span>, challenges the need for estimates entirely. It argues that estimating delivery dates based on early lists of features or stories leads to waste, misalignment, and mistrust&#8212;and that teams are better off delivering value incrementally.</p><p>But most experienced engineers and product leaders agree:</p><div class="pullquote"><p>The real problem isn&#8217;t estimates&#8212;it&#8217;s how they&#8217;re treated.</p></div><p>Too often, estimates become promises. As if engineering had a simple formula:</p><pre><code>estimate(feature_or_project) =&gt; duration_in_days</code></pre><p>But estimating without shaping the work is like guessing how long it takes to build a house without knowing if it&#8217;s a cottage or a skyscraper.</p><p>You get vague input. You throw out a number. That number becomes the expectation. And when reality doesn&#8217;t match? Blame, fire drills, and broken trust follow.</p><h3>Deadlines Aren&#8217;t the Enemy</h3><p>There&#8217;s a crucial distinction:</p><ul><li><p><strong>Estimates ask</strong>: &#8220;How long will this take?&#8221;</p></li><li><p><strong>Deadlines say</strong>: &#8220;We&#8217;re willing to spend this much.&#8221;</p></li></ul><p>Think of a deadline as a <strong>budget of time and resources</strong>.</p><blockquote><p>&#8220;This idea is worth two weeks of our time. What&#8217;s the best value we can deliver within that budget?&#8221;</p></blockquote><p>That shift in mindset reframes deadlines from pressure into <strong>strategic investment</strong>. You&#8217;re not guessing. You&#8217;re deciding how much to spend and asking what&#8217;s achievable within that limit.</p><p>It leads to:</p><ul><li><p>Smarter prioritization</p></li><li><p>Scoped-down, realistic outcomes</p></li><li><p>Team autonomy</p></li><li><p>More predictable delivery</p></li></ul><p>Instead of asking, <em>&#8220;How long will Feature Y take?&#8221;</em>, ask:</p><blockquote><p>&#8220;We have a two-week budget&#8212;what&#8217;s the best version we can build with it?&#8221;</p></blockquote><p>This approach avoids over-promising based on shaky assumptions.<br>It empowers teams to make thoughtful trade-offs and deliver with confidence.</p><h3>Cooking Analogy: Estimate vs Deadline</h3><p>You&#8217;ve got 1 hour before a meeting and want to eat something healthy.</p><p><strong>Estimate mindset</strong>:</p><blockquote><p>&#8220;This curry looks good&#8212;how long will it take?&#8221; The recipe says 45 minutes. Halfway in, you're missing ingredients. You run out of time.</p></blockquote><p><strong>Deadline mindset</strong>:</p><blockquote><p>&#8220;I&#8217;ve got 1 hour&#8212;what can I cook that&#8217;s healthy and doable?&#8221; You scan the kitchen, make a stir-fry or salad, and show up fed and on time.</p></blockquote><p>Deadlines don&#8217;t lower the bar&#8212;they sharpen your focus.</p><p>In product work, the same principle applies:</p><ul><li><p>Fix the <strong>time</strong>, shape the <strong>scope</strong> &#8594; momentum and clarity</p></li><li><p>Fix the <strong>scope</strong>, estimate the <strong>time</strong> &#8594; stress and misalignment</p></li></ul><h2>What Is Shaping, Anyway?</h2><p>If you&#8217;ve read <em><a href="https://basecamp.com/shapeup">Shape Up</a></em> by Ryan Singer, this concept will sound familiar. But even if you haven&#8217;t, it&#8217;s pretty intuitive:</p><blockquote><p>&#8220;Shaping is work that happens before the cycle begins, to set boundaries on what the team will be asked to deliver. It involves defining the problem, roughing out the solution, and addressing risks before committing to build it.&#8221;</p><p>&#8212; <em>Shape Up</em>, Ryan Singer</p></blockquote><h3>The Three Properties of Shaped Work</h3><p>Shaped work has three essential characteristics:</p><ul><li><p><strong>Rough</strong>: It&#8217;s intentionally unfinished, giving designers and developers the flexibility to apply their expertise and handle real trade-offs during implementation.</p></li><li><p><strong>Solved</strong>: Even though it&#8217;s rough, the core solution is thought through at a macro level. There&#8217;s enough direction to guide the work, and foreseeable risks have been addressed.</p></li><li><p><strong>Bounded</strong>: It includes clear limits. It defines what not to do and fits within a specific time frame&#8212;known as the &#8220;appetite.&#8221; This helps keep scope in check.</p></li></ul><p>These traits give the team room to make decisions while staying aligned with the problem and constraints, reducing risk and increasing focus.</p><h3>The Four Core Steps of Shaping</h3><ol><li><p><strong>Set boundaries</strong>: Decide how much time the idea is worth (the appetite) and define the core problem you&#8217;re solving.</p></li><li><p><strong>Rough out the solution</strong>: Sketch a high-level approach without diving into detailed specs or wireframes.</p></li><li><p><strong>Address risks</strong>: Identify edge cases, technical unknowns, or gaps that could derail the project or lead to open-ended work.</p></li><li><p><strong>Write the pitch</strong>: If the idea still looks viable, summarize it in a short pitch that outlines the problem, the solution, key constraints, and any identified risks.</p></li></ol><h3>Shaping Together: Product, Design, Engineering</h3><p>Shaping isn&#8217;t a solo mission. It works best when Product, Design, and Engineering shape the work together&#8212;<strong>before</strong> it ever hits the development cycle.</p><p>Each role brings something valuable:</p><ul><li><p><strong>Product Managers</strong> bring context and priorities.</p></li><li><p><strong>Designers</strong> bring user empathy and interaction thinking.</p></li><li><p><strong>Engineers</strong> bring constraints, edge cases, and technical trade-offs.</p></li></ul><p>This collaboration helps surface blind spots early. It prevents scope blow-ups later. And it leads to a better solution&#8212;because everyone helped shape it.</p><p>As Fred Brooks famously said:</p><blockquote><p>&#8220;Plan to throw one away; you will, anyhow.&#8221;</p></blockquote><p>Shaping helps you throw away the wrong idea before any code gets written.</p><h3>Why Shaping Matters</h3><p>In simple terms, shaping is about scoping the work before it reaches the engineering team. You&#8217;re not asking engineers to build&#8212;or estimate&#8212;something that&#8217;s undefined. You&#8217;re giving them a solvable, constrained problem.</p><p>It&#8217;s not waterfall. It&#8217;s not months of documentation. It&#8217;s just enough structure to move forward with confidence.</p><p>Instead of asking, <em>&#8220;What will it take to build Feature Y?&#8221;</em>, you ask:</p><blockquote><p><em>&#8220;Here&#8217;s the user problem, here&#8217;s how much time we&#8217;re willing to spend, and here&#8217;s a rough idea of how to solve it.&#8221;</em></p></blockquote><p>This flips the conversation from guessing to collaborating.</p><h2>Fixing the Conversation: Two Better Ways Forward</h2><p>Estimates and deadlines often drive the conversation around software projects. But without clear boundaries and defined scope, they lead to confusion and friction. So how do we fix it?</p><p>Here are two clear, collaborative ways to handle this:</p><h3>Approach 1: Appetite-Driven (Shape Up Method)</h3><p>Start by setting a fixed time boundary&#8212;your appetite&#8212;and then shape the project accordingly. This approach doesn&#8217;t rely on estimating how long work might take. Instead, it scopes the project to fit within your defined timeline.</p><blockquote><p><strong>PM:</strong> We&#8217;re looking to tackle Problem Z with Project Y. Leadership values delivering something impactful in about two weeks. Can we shape this together to see what&#8217;s achievable?</p><p><strong>TL:</strong> Great clarity. Given our workload with Project X, let&#8217;s review priorities and see what fits within two weeks.</p><p><em>(Next day)</em></p><p><strong>TL:</strong> We&#8217;ve shaped something valuable that fits into two weeks, but it means deferring some features. Here&#8217;s what&#8217;s feasible&#8230;</p><p><strong>PM:</strong> Excellent. I&#8217;ll present this scoped version to leadership.</p></blockquote><p>This conversation aligns the team around a realistic goal and shared constraints, making collaboration easier.</p><h3>Approach 2: Shaping First, Estimating Second</h3><p>Alternatively, shape the solution first, then estimate the effort needed. Here, estimation happens only after you&#8217;ve collaboratively defined the work clearly.</p><blockquote><p><strong>PM:</strong> We want to address Problem Z with Project Y. Could you help shape the solution so we can estimate it accurately?</p><p><strong>TL:</strong> Absolutely. Let&#8217;s first define what success looks like and break down the main components clearly.</p><p><em>(Next day)</em></p><p><strong>TL:</strong> After shaping the solution, we estimate roughly 3 to 4 weeks, depending on certain implementation details. We&#8217;ve also identified some potential risks.</p><p><strong>PM:</strong> Perfect. This gives us clarity to prioritize and adjust scope accordingly. Let&#8217;s move forward.</p></blockquote><p>This approach ensures estimates are realistic and rooted in a clear understanding of the work.</p><p>Both paths prioritize clarity and collaboration, helping your team replace guessing games with structured, meaningful discussions.</p><h2>Final Thoughts</h2><div class="pullquote"><p>You don&#8217;t need better estimates. You need better shaped work.</p></div><p>Whether your team prefers working within a fixed time box or estimating after shaping, <strong>the real game-changer is clarity</strong>:</p><ul><li><p>Clarity on the problem.</p></li><li><p>Clarity on constraints.</p></li><li><p>Clarity on what success looks like.</p></li></ul><p><strong>Shaping gives you that</strong>:</p><ul><li><p>It replaces guesswork with grounded conversations.</p></li><li><p>It turns conflict into collaboration.</p></li><li><p>It creates space for engineering and product to work as partners&#8212;not opponents.</p></li></ul><p>So the next time someone says, &#8220;Can you estimate this real quick?&#8221;&#8212;pause. Smile. And ask:</p><blockquote><p>&#8220;Can we shape this first?&#8221;</p></blockquote><p>Because the fastest way to deliver value isn&#8217;t rushing to a number. It&#8217;s understanding the work well enough to make a real bet.</p><p>P.S. If this resonated, forward it to your favorite PM, TL, or anyone who still believes shipping starts with a number. Let&#8217;s shape smarter, together.</p><div><hr></div><p><em>Enjoyed the article? Hit the &#10084;&#65039; button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Vibe Leading]]></title><description><![CDATA[What Today&#8217;s Leaders Need to Succeed in the Era of Rapid Innovations]]></description><link>https://newsletter.rafapaez.com/p/vibe-leading</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/vibe-leading</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 30 Mar 2025 11:01:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gtAd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gtAd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gtAd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!gtAd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!gtAd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!gtAd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gtAd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:84269,&quot;alt&quot;:&quot;Vibe Leading&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/160177817?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Vibe Leading" title="Vibe Leading" srcset="https://substackcdn.com/image/fetch/$s_!gtAd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!gtAd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!gtAd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!gtAd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5433f4d0-4df8-44be-990d-63dfd47d3976_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Traditional management is dead.</strong> Old ways of managing people and leading teams no longer work.</p><p>Conventional leadership models&#8212;rooted in hierarchy, rigid processes, and top-down decision-making&#8212;are increasingly falling short.</p><p>The tech industry moves at lightning speed. We&#8217;re experiencing the rise of the <em><a href="https://newsletter.rafapaez.com/p/the-rise-of-the-100x-product-engineer">100x Product Engineer</a></em> and many leaders operate in <em><a href="https://newsletter.rafapaez.com/p/meditations-on-founder-mode">Founder Mode</a></em>.</p><p>To stay relevant in today&#8217;s fast-moving world, managers and leaders need to embrace &#8220;Vibe Leading&#8221;.</p><p>Let&#8217;s explore what that looks like in practice.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Introducing Vibe Leading</h2><p><strong>Vibe Leading</strong> is a term I&#8217;ve been thinking about recently, inspired by <em><a href="https://en.wikipedia.org/wiki/Vibe_coding">Vibe Coding</a>.</em> But it&#8217;s not just about using Generative AI to be more efficient, make faster decisions and lead effectively. It&#8217;s about tuning into the energy, emotions, and dynamics of your team&#8212;observing the <em>vibes</em>.</p><p>While modern leaders should embrace tools like Generative AI and Large Language Models (LLMs) to stay effective and make smarter, more tailored decisions, Vibe Leading goes beyond technology. It&#8217;s about sensing shifts in team dynamics, reading the room, and aligning emotional awareness with business needs.</p><p>Vibe Leaders use intuition, empathy, and adaptability to guide their teams&#8212;not just to keep up with rapid change, but to drive innovation that serves both people and purpose. AI is part of the toolbox, but real leadership comes from human connection.</p><p><strong>Traditional management&#8212;rigid plans and strict oversight&#8212;often slows teams down and stifles creativity</strong>. Today&#8217;s engineering challenges are too complex and fast-moving for one-size-fits-all solutions.</p><p>Importantly, Vibe Leading isn&#8217;t about abandoning structure. It&#8217;s about blending:</p><ul><li><p>Flexibility with clarity.</p></li><li><p>Empathy with accountability.</p></li><li><p>Intentional guidance with autonomy.</p></li></ul><p>This balanced approach helps leaders stay attuned to their team&#8217;s energy and rhythm&#8212;ensuring they remain agile, creative, and genuinely motivated.</p><h2>What Vibe Leading Isn&#8217;t</h2><p><strong>Vibe Leading isn&#8217;t about being impulsive or skipping the basics</strong>. Just like &#8220;vibe coding&#8221; can lead to bugs if done without understanding, Vibe Leading can go wrong if misused.</p><p>Relying only on intuition&#8212;without clear communication, accountability, or guidance&#8212;can cause confusion and misalignment. Vibe Leading doesn&#8217;t replace planning, critical thinking, or responsibility.</p><p><strong>Strong leadership foundations and experience matter</strong>. Leaders need solid skills like strategy, decision-making, and conflict resolution. When done right, Vibe Leading adds flexibility and emotional intelligence to strong, thoughtful leadership.</p><h2><strong>Why Vibe Leading Matters</strong></h2><p><strong>Nowadays, engineering teams move extremely fast&#8212;they have to</strong>. They innovate, adapt, and evolve constantly. Leaders who stick to rigid hierarchies, slow approvals, and micromanagement end up slowing things down.</p><p>Today&#8217;s engineers &#8220;vibe code&#8221;&#8212;they work using creative LLM prompts, iterate quickly, and collaborate fluidly. Leaders need to match that energy by being empathetic, adaptable, and tuned in to team dynamics.</p><p><strong>Vibe Leaders don&#8217;t wait for one-on-one's or retros to solve problems</strong>. They sense shifts early, respond quickly, and keep things moving. This prevents issues from growing and keeps the team focused and energized.</p><p><strong>Vibe Leading matters because it turns managers and leaders into enablers of innovation</strong>&#8212;keeping teams inspired, aligned, and ready for whatever comes next.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.com/p/vibe-leading?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.rafapaez.com/p/vibe-leading?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>Core Principles of Vibe Leading</h2><p><strong>Great Vibe Leaders live by a few essential principles</strong>. These principles guide them in consistently driving innovation, team cohesion, and sustained success:</p><ol><li><p><strong><a href="https://newsletter.rafapaez.com/p/adaptability-the-key-to-leading-through">Embrace Adaptability</a>:</strong> Recognize that uncertainty is inevitable. Swiftly adapt your strategies and approaches as conditions evolve, staying responsive and agile. And remember, change is constant.</p></li></ol><blockquote><p>&#8220;Adaptability is about the powerful difference between adapting to cope and adapting to win.&#8221; </p><p><strong>&#8212; Max McKeown&#8203;</strong></p></blockquote><ol start="2"><li><p><strong><a href="https://newsletter.rafapaez.com/p/high-agency-the-mindset-of-successful">Cultivate High Agency</a>:</strong> Foster a culture where team members feel empowered to take initiative, own their decisions, and drive impactful outcomes with resilience and perseverance.</p></li></ol><blockquote><p>&#8220;If your ship doesn&#8217;t come in, swim out to meet it.&#8221; </p><p><strong>&#8212; Jonathan Winters&#8203;</strong></p></blockquote><ol start="3"><li><p><strong><a href="https://newsletter.rafapaez.com/p/close-the-umbrella">Don&#8217;t Shield, Strengthen</a>:</strong> Instead of blocking every challenge, help your team grow by facing them. Resilience, confidence, and problem-solving skills are built through experience, not over-protection.</p></li></ol><blockquote><p>&#8220;Smooth seas do not make skillful sailors.&#8221; </p><p><strong>&#8212; African Proverb</strong></p></blockquote><ol start="4"><li><p><strong><a href="https://newsletter.rafapaez.com/p/emancipate-your-team-leadership-through">Lead with Intent, Not Control</a>:</strong> Clearly communicate the direction and purpose, empowering and trusting your team to find their paths to achieve shared goals without micromanagement.</p></li></ol><blockquote><p>&#8220;Never tell people how to do things. Tell them what to do and they will surprise you with their ingenuity.&#8221;</p><p><strong>&#8212; George S. Patton</strong></p></blockquote><ol start="5"><li><p><strong><a href="https://newsletter.rafapaez.com/p/hero-culture-is-hurting-your-team">Develop Leaders, Not Heroes</a>:</strong> Invest in building leadership qualities across your entire team. Great leaders multiply their impact by nurturing more leaders, rather than relying on individual heroics.</p></li></ol><blockquote><p>&#8220;The function of leadership is to produce more leaders, not more followers.&#8221; </p><p><strong>&#8212; Ralph Nader</strong></p></blockquote><ol start="6"><li><p><strong><a href="https://newsletter.rafapaez.com/p/tactical-tornadoes-vs-strategic-sculptors">Combine Strategy and Tactics</a></strong>: Pair strategic vision with rapid execution to keep your team aligned and moving fast. This balance drives high-quality results without losing sight of the bigger picture.</p></li></ol><blockquote><p>&#8220;Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat.&#8221;</p><p><strong>&#8212; Sun Tzu</strong></p></blockquote><ol start="7"><li><p><strong><a href="https://newsletter.rafapaez.com/p/principles-over-processes">Lead with Principles Over Processes</a></strong>: Use clear, adaptable principles to guide your team, enabling innovation and smart, independent decisions without relying on rigid rules or processes.</p></li></ol><blockquote><p>&#8220;Policies are many, Principles are few, Policies will change, Principles never do.&#8221; </p><p><strong>&#8212; John C. Maxwell</strong></p></blockquote><p>These principles help Vibe Leaders navigate complexity, foster genuine team connections, and amplify collective business impact.</p><h2>Becoming a Vibe Leader</h2><p><strong>Vibe Leading starts with self-awareness and intention</strong>. Reflect on your current leadership style&#8212;are you relying too much on rigid rules? Are you tuned in to your team&#8217;s emotions, needs, and dynamics?</p><p><strong>Be open </strong>about your goals and invite honest feedback. Talk about the values you want to lead with&#8212;like adaptability, agency, and empowerment&#8212;and involve the team in shaping those principles together.</p><p><strong>Stay flexible</strong>. Pay attention to the signals your team sends, and regularly check if your actions match your values. Embrace change with resilience and lead with calm confidence, even in uncertain times.</p><p><strong>Empower your team </strong>by trusting them with clear responsibilities. Encourage ownership by letting them take initiative and make decisions. Guide when needed, but avoid jumping in to fix everything.</p><p><strong>Balance long-term vision with day-to-day speed</strong>. Keep your goals clear, but stay open to adjusting your path as things evolve.</p><p><strong>Finally, grow future leaders</strong>. Mentor intentionally, celebrate team wins over individual ones, and foster a culture of continuous learning and shared success.</p><h2>Final Thoughts</h2><p>Vibe Leading isn&#8217;t just a new style. It&#8217;s a necessary shift for leading in today&#8217;s era of rapid innovations.</p><p>To succeed, you need to connect with your team on a deeper level. Pay attention to their needs. Adapt as things change. Empower them to grow and do their best work.</p><p>When you lead this way, you move beyond managing tasks. You start inspiring innovation and real growth.</p><p>The future of leadership is about unlocking the energy, creativity, and potential of your team to achieve outstanding business results.</p><p><strong>Embrace the </strong><em><strong>vibe</strong></em>: lead with intention, empathy, and clarity. Build teams that don&#8217;t just perform&#8212;they change industries and redefine success.</p><div><hr></div><p><em>Enjoyed the article? Hit the &#10084;&#65039; button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Measuring Performance the Right Way ]]></title><description><![CDATA[A Holistic Approach to Evaluating Engineers Beyond Short-Term, Visible Impact]]></description><link>https://newsletter.rafapaez.com/p/measuring-performance-the-right-way</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/measuring-performance-the-right-way</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 23 Mar 2025 09:02:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oIzI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Today&#8217;s article is a guest post by </em><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jose Parre&#241;o Garcia&quot;,&quot;id&quot;:255728031,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c4dad41-478b-4960-a5e0-98ed1e54657e_1168x1046.jpeg&quot;,&quot;uuid&quot;:&quot;9547ba3e-f883-4482-af04-a7c1763fe3fc&quot;}" data-component-name="MentionToDOM"></span><em>, Senior Data Science Lead.</em></p><p><em>Jose is the author of </em><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Senior Data Science Lead&quot;,&quot;id&quot;:2833541,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/joseparreogarcia&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbe3704e-4589-40b2-bbb8-007336c4f09a_990x990.png&quot;,&quot;uuid&quot;:&quot;52a499ae-5a8e-4ff3-a1c3-78afa5b3f534&quot;}" data-component-name="MentionToDOM"></span>, <em>one of my favorite newsletters about Data Engineering, Data Science and Leadership!</em></p><div class="embedded-publication-wrap" data-attrs="{&quot;id&quot;:2833541,&quot;name&quot;:&quot;Senior Data Science Lead&quot;,&quot;logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbe3704e-4589-40b2-bbb8-007336c4f09a_990x990.png&quot;,&quot;base_url&quot;:&quot;https://joseparreogarcia.substack.com&quot;,&quot;hero_text&quot;:&quot;Helping managers build world-class teams, data professionals master storytelling and guiding those looking to break into Data Science. I have built teams from scratch and lead 50+ data scientists. Now, I share my experience with you.&quot;,&quot;author_name&quot;:&quot;Jose Parre&#241;o Garcia&quot;,&quot;show_subscribe&quot;:true,&quot;logo_bg_color&quot;:&quot;#ffffff&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPublicationToDOMWithSubscribe"><div class="embedded-publication show-subscribe"><a class="embedded-publication-link-part" native="true" href="https://joseparreogarcia.substack.com?utm_source=substack&amp;utm_campaign=publication_embed&amp;utm_medium=web"><img class="embedded-publication-logo" src="https://substackcdn.com/image/fetch/$s_!t4IN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbe3704e-4589-40b2-bbb8-007336c4f09a_990x990.png" width="56" height="56" style="background-color: rgb(255, 255, 255);"><span class="embedded-publication-name">Senior Data Science Lead</span><div class="embedded-publication-hero-text">Helping managers build world-class teams, data professionals master storytelling and guiding those looking to break into Data Science. I have built teams from scratch and lead 50+ data scientists. Now, I share my experience with you.</div><div class="embedded-publication-author-name">By Jose Parre&#241;o Garcia</div></a><form class="embedded-publication-subscribe" method="GET" action="https://joseparreogarcia.substack.com/subscribe?"><input type="hidden" name="source" value="publication-embed"><input type="hidden" name="autoSubmit" value="true"><input type="email" class="email-input" name="email" placeholder="Type your email..."><input type="submit" class="button primary" value="Subscribe"></form></div></div><p><em>Thank you, Jose, for sharing your experiences, lessons, and insights with all of us.</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oIzI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oIzI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!oIzI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!oIzI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!oIzI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oIzI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117906,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/159100308?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.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_!oIzI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!oIzI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!oIzI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!oIzI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06fd1da-0c21-4f41-9ff3-77da6092f87b_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>"What gets measured gets managed." But, what if we are measuring the wrong things?</p><p>In most organisations, revenue, cost and user driven metrics (acquisitions or retention) are the North Star metrics. And, if you build solutions that significantly move these, then, of course you should be recognised.</p><p>However, not all impact is equal. Today, I want to share with you 5 real stories where traditional impact measurement falls short. Each story will challenge a common assumption:</p><ol><li><p><strong>The &#163;1M that wasn&#8217;t fully recognized</strong>. Why a machine learning improvement that generated $1M in revenue wasn&#8217;t considered strategic.</p></li><li><p><strong>The &#163;1M that </strong><em><strong>was</strong></em><strong> recognized (and why context matters)</strong>. A parallel example where a similar financial outcome led to much greater recognition.</p></li><li><p><strong>The problem with recognition-based impact</strong>. How a team that provided company-wide enablement received 10x the visibility but wasn&#8217;t necessarily creating 10x the impact.</p></li><li><p><strong>The challenge of measuring slow-moving metrics</strong>. Why long-term improvements often go unrewarded, even when they fundamentally change an organisation&#8217;s capabilities.</p></li><li><p><strong>The amplifier effect: impact that multiplies over time</strong>. How a single contributor reshaped engineering standards and de-risked projects without producing a measurable metric.</p></li></ol><h2><strong>Story #1: Flights ranking: the &#163;1M that wasn&#8217;t fully recognized</strong></h2><blockquote><p><em>"A &#163;1M revenue boost sounds like a success story. So why wasn&#8217;t it enough?"</em></p></blockquote><p>Let&#8217;s start with a case that should, on paper, be an easy win.</p><p>One of our senior data scientists was working on flights ranking, a core component of how we optimize search results for travelers. The goal was to improve how we rank flight options, leading to better user engagement and, ultimately, higher conversion rates.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UZca!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UZca!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png 424w, https://substackcdn.com/image/fetch/$s_!UZca!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png 848w, https://substackcdn.com/image/fetch/$s_!UZca!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png 1272w, https://substackcdn.com/image/fetch/$s_!UZca!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UZca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png" width="626" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/abddbc64-2912-4274-a09d-a5546c757cb2_626x728.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:626,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UZca!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png 424w, https://substackcdn.com/image/fetch/$s_!UZca!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png 848w, https://substackcdn.com/image/fetch/$s_!UZca!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.png 1272w, https://substackcdn.com/image/fetch/$s_!UZca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabddbc64-2912-4274-a09d-a5546c757cb2_626x728.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>They successfully deployed an experiment that increased redirect rates by small percentage, but leading to an additional &#163;1M in annualized revenue.</p><p>A million dollars. That is real, measurable impact.</p><h4><strong>So, why wasn&#8217;t this a clear-cut recognition case?</strong></h4><p>The issue wasn&#8217;t the outcome. It was how the result was achieved.</p><p>Instead of developing a novel ranking approach or strategically enhancing our model, the senior data scientist relied on brute-force optimization. The approach itself required persistence, patience, and solid execution, but not deep innovation.</p><p>And to be clear: <strong>this is not a bad approach.</strong> It&#8217;s a completely valid way to optimize machine learning models. In fact, for a junior or mid-level data scientist<strong>,</strong> this would be an outstanding contribution. But for a <em>senior</em>? The expectation is <strong>not just to find a better model, it&#8217;s to think more strategically about how we get there.</strong></p><p><em>(PS: If you are interested in knowing more about our competency framework, <a href="https://open.substack.com/pub/joseparreogarcia/p/data-science-competency-framework-guide?r=48950f&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=false">check this article where I go into it in detail</a>)</em></p><h4><strong>Recognition vs. long-term strategic growth</strong></h4><p>This is where the distinction between <strong>recognition and career progression</strong> becomes important.</p><ul><li><p><strong>Recognition is deserved.</strong> This person delivered real business value. It&#8217;s entirely reasonable to acknowledge their effort. A stronger bonus or public appreciation are great ways of doing so.</p></li><li><p><strong>But was it a promotion-worthy achievement?</strong> Not necessarily. Strategic, senior-level impact goes beyond just testing variations. It involves pushing boundaries, introducing new frameworks, or fundamentally improving our approach.</p></li></ul><p>If we start promoting based solely on absolute impact, without considering how the impact was achieved, we set the wrong precedent:</p><ul><li><p>We risk incentivizing brute-force, low-leverage solutions instead of encouraging deep problem-solving.</p></li><li><p>We signal that optimization work alone is enough to climb to the next level.</p></li><li><p>We fail to differentiate between impact that any capable data scientist could achieve and impact that truly redefines our competitive advantage.</p></li></ul><p>So, the real challenge is to figure out if we are rewarding results, or are we building a culture that encourages the right kind of impact?</p><p>Next, let&#8217;s look at another &#163;1M success story&#8212;but this time, one that was fully recognized.</p><h2><strong>Story #2: Hotel ranking: the other &#163;1M, but this time, it was recognised</strong></h2><blockquote><p><em>"Two teams. Two ranking models. Two &#163;1M revenue boosts. So why was this one seen differently?"</em></p></blockquote><p>On the surface, the outcomes look identical. The flights ranking experiment and the hotel ranking project both increased revenue by $1M per year. But the effort, complexity, and long-term impact of the two could not have been more different.</p><ul><li><p>They had to design and implement a brand-new ranking system from scratch.</p></li><li><p>They worked cross-functionally with engineers, data scientists, and product teams to get it production-ready.</p></li><li><p>They integrated machine learning models, heuristics, and operational constraints to ensure accuracy.</p></li></ul><p>The heuristics they initially used may not have been more complex than the brute-force approach used in flights ranking. But the difference is they weren&#8217;t just iterating on a model; they were creating the entire infrastructure that powered ranking.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sUuK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sUuK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png 424w, https://substackcdn.com/image/fetch/$s_!sUuK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png 848w, https://substackcdn.com/image/fetch/$s_!sUuK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png 1272w, https://substackcdn.com/image/fetch/$s_!sUuK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sUuK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png" width="749" height="988" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:988,&quot;width&quot;:749,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sUuK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png 424w, https://substackcdn.com/image/fetch/$s_!sUuK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png 848w, https://substackcdn.com/image/fetch/$s_!sUuK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.png 1272w, https://substackcdn.com/image/fetch/$s_!sUuK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c1a998f-2815-4ce9-80de-2bc3c62a9b3a_749x988.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><h4><strong>Same financial impact, but a different kind of work</strong></h4><p>So why did this team receive more recognition than the flights ranking team? Because absolute impact isn&#8217;t the only factor.<strong> Context matters.</strong></p><ul><li><p><strong>Flights Ranking was an optimisation.</strong> They tuned parameters and ran brute-force experiments to squeeze out incremental gains.</p></li><li><p><strong>Hotel Ranking was an architectural rebuild.</strong> They created an entirely new framework that could support further innovation.</p></li></ul><p>When evaluating impact, we need to ask:</p><ol><li><p><strong>Is this solving a high-leverage problem?</strong> The hotel ranking system improved not just one model but the entire infrastructure, unlocking future enhancements beyond this single &#163;1M win.</p></li><li><p><strong>Does this scale beyond the immediate project?</strong> The new system can support future features and ML improvements, creating a compounding effect.</p></li><li><p><strong>Is this work foundational?</strong> Unlike a parameter tweak, this was a major system investment that elevated our ranking capabilities across the company.</p></li></ol><p>In this story, the key element is that we ensured that we recognised and rewarded work that raised the bar.</p><p>Next, let&#8217;s shift the conversation from financial impact to another flawed metric: recognition-driven measurement.</p><h2><strong>Story #3: Enablement teams: The problem with visibility-based recognition</strong></h2><blockquote><p><em>"If a team gets 10x more public praise, does that mean they are 10x more impactful?"</em></p></blockquote><p>So far, we have examined impact through the lens of measurable business value. But what happens when impact is measured by recognition rather than actual contribution?</p><p>This is where visibility bias comes into play.</p><p>In our data science discipline, we have a centralised enablement team responsible for maintaining and improving our A/B testing statistical engine.</p><p>As part of their role, they:</p><ul><li><p>Provide support for teams across the company running experiments.</p></li><li><p>Host &#8220;green flag&#8221; Q&amp;A sessions to help teams interpret results.</p></li><li><p>Ensure that our internal experimentation framework is used correctly.</p></li></ul><p>Because of their cross-functional nature, they interact with far more teams than a typical data science squad. And since they are often solving urgent, visible problems, they receive a great amount of recognition.</p><p>We have an internal &#8220;high-5&#8221; system where employees can send thank-you notes and public appreciation to colleagues. It&#8217;s a great tool for celebrating contributions, but if we were to measure impact by sheer number of high-5s, the enablement team would outperform every other team by an order of magnitude.</p><ul><li><p>Does that mean they are 10x more impactful than a team working on core ranking models?</p></li><li><p>Does that mean they should be prioritized for promotions over others who work on complex, but less visible, problems?</p></li></ul><p>Of course not. But this is exactly what happens when we conflate recognition with impact.</p><h4><strong>So, how do we know if enablement teams are overperforming?</strong></h4><p>This doesn&#8217;t mean the enablement team isn&#8217;t valuable. Let me be clear: they are. Their role is to amplify the effectiveness of others. But measuring their impact solely by recognition would be like judging an engineer&#8217;s effectiveness by the number of Slack messages they send.</p><p>Instead, a good way of looking at contributions from enablement teams would be:</p><ul><li><p>Look at the multiplier effect: how much do they improve the quality of experimentation across the company?</p></li><li><p>What tooling did they ship that helped teams move forward in new ways?</p></li><li><p>How many green flag duties do they have to cover? Paradoxically, if the platform was perfect, the team wouldn&#8217;t get too many urgent requests.</p></li></ul><p>Next, let&#8217;s look at another case where traditional impact measurement falls short: slow-moving metrics that take years to show their full value.</p><h2><strong>Story #4: Slow metrics, where long-term impact is hard to measure</strong></h2><blockquote><p><em>"If a team spends three years improving a system, but the results come in tiny increments, does that make their work any less valuable?"</em></p></blockquote><p>Some of the most important work in a company happens slowly, bit by bit, over months or even years. If we are not careful, we risk undervaluing it simply because it doesn&#8217;t fit neatly into quarterly or annual reporting cycles.</p><h4><strong>The flight price calendar: A 3-year effort with an astonishing result</strong></h4><p>One of the most complex challenges in flight meta-search is accurately estimating flight prices over time. Imagine a traveler looking at our calendar view, where they can see estimated prices for flights across an entire month or even a full year.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!182z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!182z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png 424w, https://substackcdn.com/image/fetch/$s_!182z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png 848w, https://substackcdn.com/image/fetch/$s_!182z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png 1272w, https://substackcdn.com/image/fetch/$s_!182z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!182z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png" width="653" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:653,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!182z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png 424w, https://substackcdn.com/image/fetch/$s_!182z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png 848w, https://substackcdn.com/image/fetch/$s_!182z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.png 1272w, https://substackcdn.com/image/fetch/$s_!182z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a06588-bf17-482d-87e3-7d74f2dd6cb8_653x506.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>Seems straightforward, right? I can tell you, it is not.</p><ul><li><p><strong>Flight prices change constantly</strong>, sometimes multiple times per day.</p></li><li><p><strong>We don&#8217;t always have real-time data</strong> for every date, meaning we need to estimate missing prices.</p></li><li><p><strong>Users expect accuracy</strong>. If they see a flight for &#163;60 on the calendar but land on a page where it&#8217;s suddenly &#163;80, they lose trust in our platform.</p></li></ul><p><strong>For years, our coverage accuracy metric hovered at 40%.</strong> Because of that, our calendar view was super sparse, as we didn&#8217;t want to fill it with prices where we knew that 60% of the times they were wrong.</p><p>A dedicated team spent 3 years improving this system.</p><ul><li><p>They developed new estimation techniques to increase accuracy.</p></li><li><p>They improved how we pull and refresh pricing data at scale.</p></li><li><p>They fine-tuned coverage algorithms to ensure fewer gaps in the calendar.</p></li></ul><p>And after 3 years of continuous work, they raised the <strong>accuracy metric from 40% to 80%.</strong></p><h4><strong>Why this work was at risk of being overlooked</strong></h4><p>This improvement happened bit by bit, quarter by quarter. No single release made a giant, eye-catching difference overnight. But when you zoom out, the impact is undeniable:</p><ul><li><p>80% accuracy means a dramatically better user experience.</p></li><li><p>Users trust the calendar view more, increasing engagement and bookings.</p></li><li><p>The foundation is now in place for future improvements, making our pricing system far more scalable.</p></li></ul><p>If we are not intentional, slow-moving improvements like this get ignored because:</p><ol><li><p><strong>We expect impact to be immediate.</strong> Quarterly results dominate decision-making, making multi-year investments seem &#8220;less urgent.&#8221;</p></li><li><p><strong>It&#8217;s hard to tie improvements directly to revenue.</strong> Unlike an A/B test that increases conversions by 1%, this work supports many different downstream impacts.</p></li><li><p><strong>Incremental gains are harder to &#8220;sell&#8221; internally.</strong> A team that says, <em>&#8220;We improved accuracy from 40% to 43% this quarter&#8221; </em>sounds less impressive than one that says, <em>&#8220;We ran an experiment that made $500K.&#8221;</em></p></li></ol><p>So, next time, ask yourself if you are looking at the full picture, not just quarterly snapshots? If you are recognising compounding improvements, even if they take years? Or, if you are valuing long-term thinking as much as short-term wins?</p><p>Finally, let&#8217;s look at an even harder-to-measure form of impact: The Amplifier Effect.</p><h2><strong>Story #5: The amplifier effect</strong></h2><blockquote><p><em>"What if the most valuable work doesn&#8217;t move a single metric&#8212;but makes everything better?"</em></p></blockquote><p>We have explored cases where impact was measured incorrectly, undervalued, or too slow to be appreciated. But what about work that doesn&#8217;t have a direct metric at all? Work that multiplies the effectiveness of others, but is never attached to a single person&#8217;s performance review?</p><h4><strong>A Data Scientist who transformed engineering standards</strong></h4><p>One of the most impactful people on my team wasn&#8217;t a senior engineer or a principal scientist. She was a mid-level data scientist who saw a problem, took ownership, and quietly reshaped how we worked.</p><ul><li><p>She noticed that our engineering standards for Git repos, data storage, and other core infrastructure were inconsistent.</p></li><li><p>Instead of waiting for someone else to fix it, she took the initiative to improve them.</p></li><li><p>She reached out to senior engineers for guidance, learning how to implement best practices properly.</p></li><li><p>She built a new, standardized approach that the team agreed was the right way forward.</p></li></ul><p>The improvements weren&#8217;t tied to a specific revenue goal. They weren&#8217;t even officially on the roadmap. But, they made everything smoother, faster, and more maintainable.</p><p>Then, came the most important part. Instead of moving on to another project, she focused on spreading what she learned.</p><ul><li><p>She trained 3 other teammates on the new framework.</p></li><li><p>She ensured no single person was a bottleneck for this knowledge.</p></li><li><p>She created a standard approach that future projects could build on.</p></li></ul><h4><strong>The problem with traditional impact measurement</strong></h4><p>If you judged her performance by standard metrics, her work didn&#8217;t show up anywhere.</p><ul><li><p>She didn&#8217;t build a new model.</p></li><li><p>She didn&#8217;t deliver a direct revenue increase.</p></li><li><p>She didn&#8217;t improve an existing KPI.</p></li></ul><p>But what she did do was de-risk future projects, improve team efficiency, and level up the entire organization. And as part of our competency framework, she nailed the &#8220;expertise&#8221; and &#8220;build it right&#8221; sections for her level. Thus, was accordingly rewarded with a great bonus and more challenges that would set her up to a promotion path.</p><h2><strong>Rethinking how we measure impact</strong></h2><blockquote><p><em>"Not all impact is measurable. And not all measurable impact is equal."</em></p></blockquote><p>I hope you have enjoyed my 5 stories that challenged me personally to change the way I was defining impact. To summarise them:</p><ul><li><p><strong>Impact isn&#8217;t just about revenue.</strong> Two $1M projects can have vastly different strategic value.</p></li><li><p><strong>Visibility doesn&#8217;t equal value.</strong> The loudest contributions aren&#8217;t always the most important.</p></li><li><p><strong>Slow-moving progress matters.</strong> Some of the most critical work takes years to show results.</p></li><li><p><strong>Amplifiers shape the future.</strong> The best contributors don&#8217;t just create impact&#8212;they enable it at scale.</p></li></ul><p>If we only reward what is easiest to measure, we risk deprioritizing foundational work, discouraging long-term thinking, and failing to recognize those who make the entire system better.</p><div><hr></div><p><em>Enjoyed the article? Hit the &#10084;&#65039; button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Sustaining High Performance Without Burnout]]></title><description><![CDATA[A Leadership Guide to Driving Results Without Sacrificing Well-Being]]></description><link>https://newsletter.rafapaez.com/p/sustaining-high-performance-without</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/sustaining-high-performance-without</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 16 Mar 2025 13:01:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!V_GV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V_GV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V_GV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!V_GV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!V_GV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!V_GV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V_GV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:98706,&quot;alt&quot;:&quot;Sustaining High Performance Without Burnout&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/159174848?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sustaining High Performance Without Burnout" title="Sustaining High Performance Without Burnout" srcset="https://substackcdn.com/image/fetch/$s_!V_GV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!V_GV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!V_GV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!V_GV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b279685-eedc-4e65-8a3a-b64803aa684f_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Deadlines tighten. Backlogs grow. Leadership urges you to <em>push harder</em>. You comply&#8212;only to witness productivity stall, morale collapse, and your best engineers eyeing the exits.</p><p><strong>What went wrong?</strong></p><p>While it seems intuitive that pushing harder should increase output, productivity doesn&#8217;t scale linearly with pressure. Instead, it follows an inverted-U curve:</p><ul><li><p><strong>Underworked:</strong> Low pressure leads to boredom, disengagement, and sluggish results.</p></li><li><p><strong>Overworked:</strong> High pressure causes burnout, reduced productivity, and unhappy teams.</p></li><li><p><strong>Optimal Zone:</strong> Healthy pressure sparks engagement, creativity, and sustained performance.</p></li></ul><p>Your challenge as a leader is to keep your team in this optimal zone. Easier said than done, especially under escalating business demands.</p><p>Let&#8217;s explore why this happens&#8212;and how you can address it proactively.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Understanding the Productivity Paradox</h2><blockquote><p>&#8220;Teams are like rubber bands&#8212;useful tension drives progress, but overstretching breaks them.&#8221;<br>&#8212; Adapted from Yerkes-Dodson Law</p></blockquote><p>Engineers thrive on challenges. Teams excel when they&#8217;re stretched just enough to stay motivated, engaged, and continually learning. Healthy tension fuels innovation and progress, but there&#8217;s a critical tipping point:</p><p>When pressure becomes excessive, productivity doesn&#8217;t rise&#8212;it collapses. High stress leads to declining morale, reduced creativity, increased mistakes, and turnover. Even your most committed engineers lose motivation, hurting both immediate output and long-term effectiveness.</p><p><strong>The goal is clear:</strong> find the sweet spot between productive challenge and harmful stress.</p><h2>The PACE Framework for Sustained High Performance</h2><blockquote><p>&#8220;If you can&#8217;t measure it, you can&#8217;t improve it.&#8221;<br>&#8212; Peter Drucker</p></blockquote><p>Managing workload and productivity sustainably requires clear, actionable metrics. The PACE framework combines both quantitative and qualitative insights, enabling managers to keep teams in a high-performance zone without risking burnout.</p><p><strong>PACE stands for:</strong></p><ul><li><p><strong>P &#8211; Productivity Metrics</strong><br>Measure productivity using clear indicators such as deployment frequency, lead time for changes, and perceived rate of delivery. Watch for the point at which these metrics peak and start to decline.</p></li><li><p><strong>A &#8211; Attitude and Morale</strong><br>Track how team members feel about their work through regular one-on-ones, anonymous surveys, team health checks, or engagement scores (such as eNPS). Healthy morale correlates with better output.</p></li><li><p><strong>C &#8211; Capacity Utilization</strong><br>Monitor workload distribution to maintain a sustainable pace. Compare the amount of planned tasks versus unplanned tasks, since an excess of unplanned work may indicate inefficiencies or high technical debt.</p></li><li><p><strong>E &#8211; Errors and Escalations</strong><br>Track bugs, defects, incidents, escalations, rework and perceived software quality. Rising error rates often signal that teams are stretched too thin, making early detection and resolution essential.</p></li></ul><h2>Putting PACE into Action for Sustainable Results</h2><blockquote><p>&#8220;Action is the foundational key to all success.&#8221;<br>&#8212; Pablo Picasso</p></blockquote><p>Simply knowing about PACE isn&#8217;t enough; it must be woven into day-to-day leadership. Below are practical steps for implementing the framework and ensuring sustained performance:</p><ol><li><p><strong>Establish Baselines: </strong>Gather initial data across all four dimensions&#8212;productivity, morale, capacity, and errors&#8212;over a 4&#8211;6 week period. These baselines serve as reference points.</p></li><li><p><strong>Define Thresholds and Alerts: </strong>Set clear triggers for each metric. When numbers rise or fall beyond predefined limits, it signals the need for intervention.</p></li><li><p><strong>Schedule Regular Check-ins: </strong>Conduct weekly or biweekly reviews to discuss:</p><ul><li><p><strong>Productivity Metrics</strong> (e.g., deployment frequency, lead time)</p></li><li><p><strong>Capacity Utilization</strong> (team capacity, plan vs. unplanned work)</p></li><li><p><strong>Errors and Escalations</strong> (defects, incidents, overall quality trends)</p></li><li><p><strong>Team Morale and Well-Being</strong> (candid conversations about engagement)</p></li></ul></li><li><p><strong>Share Insights with Leadership: </strong>Present data-driven reports that clarify the team&#8217;s status. This transparency helps align decisions and priorities at the leadership level, reducing the risk of misguided top-down pressure.</p></li><li><p><strong>Adjust and Recalibrate Proactively: </strong>Adapt workloads, priorities, and resources based on the signals PACE provides. If a particular metric crosses its threshold, take early action to prevent burnout or dips in quality.</p></li></ol><h2>Empowering Teams to Perform at Their Full Potential</h2><p>Burnout is a real concern, but not every team works at full capacity. Some are close to their breaking point, shown by rising errors, frequent escalations, and declining quality. Others have <a href="https://newsletter.rafapaez.com/p/why-your-teams-are-struggling-to">room to improve</a> efficiency, productivity, and speed. Recognizing which situation applies is the first step to effective leadership.</p><h3>Determining When and How to Push for Greater Outcomes</h3><blockquote><p>&#8220;A good objective of leadership is to help those who are doing poorly to do well and to help those who are doing well to do even better.&#8221;<br>&#8212; Jim Rohn</p></blockquote><p>When a team has untapped potential, the goal should not be to push indiscriminately. Instead, push more effectively by clarifying expectations, removing bottlenecks, and fostering accountability:</p><ul><li><p><strong>Clarify Expectations: </strong>Make sure everyone understands what high performance looks like, then set clear, measurable goals.</p></li><li><p><strong>Eliminate Bottlenecks: </strong>Identify inefficiencies&#8212;slow processes, excessive meetings, <a href="https://newsletter.rafapaez.com/p/the-illusion-of-shared-ownership">unclear ownership</a>&#8212;and remove them to maintain momentum.</p></li><li><p><strong>Improve Focus: </strong>Reduce distractions, cut unnecessary work, and give engineers time for deep, uninterrupted work.</p></li><li><p><strong>Challenge Growth: </strong>Stretch teams beyond their comfort zone with ambitious but achievable targets that spur development.</p></li><li><p><strong>Leverage Strong Leadership: </strong>Provide structure, coaching, and mentorship so teams can move <a href="https://newsletter.rafapaez.com/p/emancipate-your-team-leadership-through">from underperformance to excellence</a>.</p></li></ul><h3>Push Smarter, Not Harder, for Lasting Impact</h3><blockquote><p>&#8220;Working on the right thing is probably more important than working hard.&#8221;<br>&#8212; Caterina Fake</p></blockquote><p>Effective leadership is not about piling more tasks onto an already full plate. It is about guiding your team in <a href="https://newsletter.rafapaez.com/p/stop-solving-the-wrong-problem">the right direction</a> and applying pressure where it drives the most impact. Consider these principles:</p><ul><li><p><strong>Prioritize Ruthlessly: </strong>Focus on high-impact tasks, communicate what is being deprioritized, and do fewer things better.</p></li><li><p><strong>Balance Pressure with Recovery: </strong>Allow periods of rest after intense sprints so teams can recharge and remain innovative.</p></li><li><p><strong>Use Data to Drive Decisions: </strong>Monitor key indicators (such as workload, morale, and quality) and adjust proactively, rather than relying on guesswork.</p></li><li><p><strong>Set Realistic Expectations: </strong>Align with both leadership and your team on achievable targets, maintaining trust and reducing unnecessary stress.</p></li></ul><h2>Navigating Leadership Demands to Deliver More Without Burnout</h2><blockquote><p>&#8220;The art of leadership is saying no, not saying yes. It is very easy to say yes.&#8221;<br>&#8212; Tony Blair</p></blockquote><p>Even with clear data and well-reasoned arguments, you may still face demands for increased output from senior leaders. Use the following strategies to uphold sustainable practices while maintaining strong relationships and credibility.</p><h3>1. Clarify and Align on Priorities</h3><p>Before taking on new requests, determine which existing priorities can be postponed or dropped. If your team is already at full capacity, framing the conversation around trade-offs helps leadership see the impact of additional tasks.</p><p><strong>How to Do It</strong></p><ul><li><p>Share current PACE metrics (e.g., capacity utilization and error rates) to illustrate workload limits.</p></li><li><p>Ask leadership to choose which tasks to deprioritize if new demands are non-negotiable.</p></li></ul><p><strong>Example Conversation</strong></p><blockquote><p>&#8220;Our PACE data shows we&#8217;re already at 95% capacity this quarter. We can add Feature X, but that means postponing Feature Y until the next cycle. Which is more critical?&#8221;</p></blockquote><h3>2. Provide Transparency into Risks</h3><p>Clearly articulate the potential downsides of overburdening the team, such as increased defects, turnover, or missed deadlines. Present quantifiable data to reinforce these risks as real business concerns, not just &#8220;soft&#8221; issues.</p><p><strong>How to Do It</strong></p><ul><li><p>Present actual metrics (e.g., rising defect rates, longer lead times) that correlate directly with current workload.</p></li><li><p>Connect the dots between burnout and tangible costs (decreased morale, employee attrition, slower delivery).</p></li></ul><p><strong>Example Conversation</strong></p><blockquote><p>&#8220;Over the past cycle, defect rates have increased by 20%, which aligns with the surge in overtime. If we keep pushing at this pace, we risk both quality and retention.&#8221;</p></blockquote><h3>3. Offer Incremental Commitments</h3><p>Instead of rejecting a request outright or caving in fully, propose a balanced approach that allows a test run. Short bursts of extra effort, paired with planned recovery, can achieve goals without long-term damage.</p><p><strong>How to Do It</strong></p><ul><li><p>Suggest a small-scale pilot or a temporary &#8220;push period,&#8221; followed by a scheduled slowdown.</p></li><li><p>Use the results to evaluate whether maintaining this level of pressure is truly beneficial.</p></li></ul><p><strong>Example Conversation</strong></p><blockquote><p>&#8220;We can sprint for three weeks to deliver Feature X sooner, but we need to schedule one week of buffer afterward to handle technical debt and keep morale up. Would that approach work for you?&#8221;</p></blockquote><h3>4. Escalate Constructively</h3><p>If leadership continues to insist on unrealistic demands, it may be necessary to involve higher-level stakeholders. Approach this step in a spirit of collaboration, not confrontation, keeping the focus on sustainable results.</p><p><strong>How to Do It</strong></p><ul><li><p>Request a meeting with upper management to ensure alignment on priorities and potential risks.</p></li><li><p>Present clear data from the PACE framework to show current limitations and ask for strategic guidance.</p></li></ul><p><strong>Example Conversation</strong></p><blockquote><p>&#8220;I&#8217;m fully committed to delivering strong outcomes, but additional workload could trigger burnout. Could we discuss these capacity concerns with senior leadership so we can refine priorities and avoid hurting long-term productivity?&#8221;</p></blockquote><p>Data-driven transparency, constructive trade-offs, and well-defined recovery periods help preserve sustainable performance without alienating leadership. <a href="https://newsletter.rafapaez.com/p/how-to-say-no-at-work">Saying &#8220;no&#8221;</a> (or &#8220;not now&#8221;) isn&#8217;t shirking responsibility&#8212;it&#8217;s about safeguarding your team&#8217;s well-being and securing the best long-term results for the business.</p><h2>Final Thoughts</h2><p>High-performing teams thrive when they are challenged at the right level, without risking burnout. The PACE framework provides a structured way to measure and adjust workload so teams can work at their peak without running on empty.</p><p>Not every team is at full capacity. Some have room to grow. In those cases, applying strategic pressure, refining processes, and offering strong leadership can unlock hidden potential.</p><p>Great managers do not simply demand more. They create the conditions for sustainable high performance. The goal is not just immediate output, but also long-term excellence. Push smart, not just hard.</p><div><hr></div><p><em>Enjoyed the article? Hit the &#10084;&#65039; button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Promotion Trap: Why You Should Stop Chasing Titles]]></title><description><![CDATA[Titles and Promotions Won&#8217;t Make You Happy&#8212;But Growth and Impact Will]]></description><link>https://newsletter.rafapaez.com/p/the-promotion-trap-why-you-should</link><guid isPermaLink="false">https://newsletter.rafapaez.com/p/the-promotion-trap-why-you-should</guid><dc:creator><![CDATA[Rafa Páez]]></dc:creator><pubDate>Sun, 09 Mar 2025 11:30:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ndkI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ndkI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ndkI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!ndkI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!ndkI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!ndkI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ndkI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50535,&quot;alt&quot;:&quot;The Promotion Trap&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.rafapaez.com/i/158682536?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Promotion Trap" title="The Promotion Trap" srcset="https://substackcdn.com/image/fetch/$s_!ndkI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!ndkI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!ndkI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!ndkI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ddb041e-0342-4ac8-843e-4870f2a635cd_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Climbing the career ladder isn&#8217;t the only way to grow. In fact, sometimes it&#8217;s the fastest path to burnout.</p><p>What if actively choosing not to chase promotions could become one of your best career decisions?</p><p>Promotions often seem like the ultimate measure of success&#8212;higher pay, a flashy job title, and an impressive LinkedIn profile. Yet many who relentlessly pursue this traditional form of success quickly discover that reality isn&#8217;t as fulfilling as it appears.</p><p>In this article, I&#8217;ll reassure you that it&#8217;s perfectly okay&#8212;and often wiser&#8212;to stop chasing the next promotion, whether you decline it or never even get offered the next one.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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">Thanks for reading The Engineering Leader! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Why I Stopped Chasing Titles</strong></h2><p>Some years ago, I was a Senior Engineering Manager, just one step from becoming Head of Engineering of a great scaleup. By traditional standards, I was quickly climbing. Then I made a decision that confused many colleagues: I left that role for an Engineering Manager position at a fast-growing international startup.</p><p>On paper, it looked like a demotion. In reality, it was an upgrade&#8212;in responsibilities, impact, and purpose. My title shrank, yet my scope expanded significantly. I led team leaders and staff engineers, tackling more complex challenges.</p><p>Ironically, at many companies, my responsibilities could easily have warranted a Head or even Director title. This inconsistency highlights a broader issue: titles are inconsistent across organizations and rarely reflect reality.</p><p>Don&#8217;t get me wrong&#8212;titles matter. They open doors, convey credibility, and mark progress. But titles alone don&#8217;t define your value or organizational impact. What truly matters is your work, behaviors, leadership, and the problems you solve.</p><p>I stopped chasing titles because I realized they don&#8217;t define my worth or determine my impact. My actions matter, not the title on my LinkedIn profile.</p><p>Before stressing over job titles, ask yourself: Am I truly growing, or am I just collecting labels?</p><h2><strong>The Uncomfortable Truth About Promotions</strong></h2><p>Like many, I once believed promotions directly equaled growth. I was wrong.</p><p>Early in your career, promotions feel essential, especially in an &#8220;up or out&#8221; culture&#8212;either you get promoted, or you risk losing your job.</p><p>However, once you reach senior roles, the reality shifts dramatically. Promotions become less about your skill and more about the perception <em>the right people</em> have of you. Relationships, internal politics, and visibility often outweigh genuine competence and hard impactful work.</p><p>Sylvia Ann Hewlett captures this bluntly in <em>Executive Presence</em>:</p><blockquote><p>&#8220;Being perceived as leadership material is as crucial as actual accomplishments.&#8221;</p></blockquote><p>Advancement, therefore, isn&#8217;t just about competence&#8212;it&#8217;s about fitting a particular leadership mold. That can feel deeply unfair if you believe promotions should be merit-based.</p><p>Depending on your company, leadership, and personal values, this might be a game you don&#8217;t want to play.</p><h2><strong>Why Chasing a Promotion May End Badly</strong></h2><p>Chasing promotions can feel exciting, but it&#8217;s also a gamble&#8212;one that can easily lead to frustration, disappointment, or burnout. Here&#8217;s why.</p><h3><strong>a) If you don&#8217;t get the promotion</strong></h3><p>Imagine spending months or even years tackling high-stakes projects, resolving team conflicts, expanding your teams, and driving success across the entire engineering organization&#8212;fully expecting that all this hard work will secure your next promotion. Then the announcement comes&#8212;and your name is not on the list.</p><p>It&#8217;s a bitter pill. You feel undervalued, overlooked, and question whether the extra effort was worth it.</p><p>But here&#8217;s a harsh truth: treating promotions as ultimate validation rarely ends well. It often leads to bitterness or burnout, neither of which fosters effective leadership or a fulfilling career.</p><h3><strong>b) If you do get the promotion</strong></h3><p>Surprisingly, achieving the promotion can be equally risky. While it might include a modest salary increase, it often brings significant additional workload, stress, and much higher expectations.</p><p>Consider the hidden imbalance of promotions:</p><ul><li><p><strong>Salary</strong> &#8594; Slight increase</p></li><li><p><strong>Scope of Responsibilities</strong> &#8594; Noticeable increase</p></li><li><p><strong>Risk of Burnout</strong> &#8594; Significant increase</p></li></ul><p>Suddenly, what felt like a reward can become a burden. Pressure intensifies, and if you&#8217;re not aligned with leadership or ready for extra responsibilities, the promotion could make you miserable.</p><p>The lesson? Promotions aren&#8217;t magic fixes for career growth or satisfaction. Blindly chasing them may land you in roles you never wanted&#8212;or worse, ones that drain you. </p><h2><strong>Are You Climbing the Right Ladder?</strong></h2><p>We often treat careers like video games, relentlessly chasing the next level. But ask yourself: Is the next level truly where you want to be?</p><p>Before fixating on promotions, reflect on what genuinely drives you. Is it higher salary and status or something deeper&#8212;personal growth, meaningful challenges, or alignment with your values?</p><p>Promotions, especially into management roles, often mean sacrificing technical work you love for increased stress from managing teams, navigating politics, and juggling competing priorities.</p><p>Camille Fournier, author of <em>The Manager&#8217;s Path,</em> wisely points out:</p><blockquote><p>&#8220;Management is a career change, not a promotion. Treat it that way.&#8221;</p></blockquote><p>Becoming a manager means redefining your career, often stepping away from beloved technical work to face new challenges.</p><p>If management isn&#8217;t the right path for you, consider staying on the technical track. Many companies today offer <strong>Staff Engineer</strong> or <strong>Principal Engineer</strong> roles, allowing you to grow and advance without stepping into management.</p><h2>Growth Beyond Promotions</h2><p>True career growth isn&#8217;t just about climbing upwards&#8212;it&#8217;s about expanding your impact. Whether you&#8217;re an engineer (individual contributor) or a people manager, there are many ways to grow without chasing a new title.</p><p>Here are some meaningful ways to develop your career:</p><h3>For Individual Contributors</h3><ul><li><p><strong>Mentoring &amp; Pair Programming</strong>: Elevating junior engineers, improving the team&#8217;s skillset and best practices.</p></li><li><p><strong>Specialization</strong>: Becoming the go-to expert in performance optimization, security, infrastructure, or AI/ML.</p></li><li><p><strong>Owning Large-Scale Systems</strong>: Leading critical technical areas and cross-teams initiatives that drive significant business impact.</p></li></ul><h3>For Engineering Leaders</h3><ul><li><p><strong>Building High-Performing Teams</strong>: Fostering autonomy, accountability, and continuous improvement.</p></li><li><p><strong>Scaling Organizations</strong>: Optimizing hiring, onboarding, and organizational structures.</p></li><li><p><strong>Influencing Strategy</strong>: Aligning engineering efforts with broader strategic business objectives.</p></li></ul><p>A bigger title doesn&#8217;t always mean true progress or fulfillment. Instead of chasing promotions, invest in the areas that excite you. True career growth happens when you increase your impact, not just your job title.</p><h2>Final Thoughts</h2><p>Titles and promotions are appealing milestones&#8212;easy to measure and publicly recognized. But they are not the key to long-term success or happiness.</p><p>Instead of chasing titles, seek genuine growth, deeper challenges, and authentic fulfillment<strong>. </strong>Your career will flourish when you pursue impact rather than status.</p><p>Before chasing your next title, pause and reflect: <em>Are you seeking genuine growth, or just chasing validation?</em></p><div><hr></div><p><em>Enjoyed the article? Hit the &#10084;&#65039; button and share it with others who might find it helpful. Subscribe to support my work and stay updated on future issues!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.rafapaez.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://newsletter.rafapaez.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Related Reading</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;ae8fa37c-6b91-4d3e-9551-6a6107f4061e&quot;,&quot;caption&quot;:&quot;You are a skilled software engineer who is constantly studying and improving your technical skills. You consider yourself one of the top engineers in your company at your current level. However, you recently missed a promotion, and colleagues with less experience than you got promoted. Meanwhile, you're feeling stuck in your career without knowing why. &#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Art of Getting Promoted&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:12296261,&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;bio&quot;:&quot;Engineering Leader and AI Enthusiast. Sharing insights from 20+ years of experience. I&#8217;ve scaled platforms and teams at unicorn startups in remote environments. I enjoy helping others speed up their careers.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-01-21T10:00:12.895Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe2f1402-a6ea-46f8-9455-f22119e35286_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.rafapaez.com/p/the-art-of-getting-promoted&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:140880979,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Engineering Leader&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd155dda7-e8cb-4b60-b810-b85456d27894_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item></channel></rss>