<?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[Refactoring: 💡 Ideas]]></title><description><![CDATA[Three short engineering ideas to start the week on the right foot!]]></description><link>https://refactoring.fm/s/monday-ideas</link><image><url>https://substackcdn.com/image/fetch/$s_!CR5A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png</url><title>Refactoring: 💡 Ideas</title><link>https://refactoring.fm/s/monday-ideas</link></image><generator>Substack</generator><lastBuildDate>Thu, 14 May 2026 16:02:37 GMT</lastBuildDate><atom:link href="https://refactoring.fm/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Refactoring ETS]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[refactoring@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[refactoring@substack.com]]></itunes:email><itunes:name><![CDATA[Luca Rossi]]></itunes:name></itunes:owner><itunes:author><![CDATA[Luca Rossi]]></itunes:author><googleplay:owner><![CDATA[refactoring@substack.com]]></googleplay:owner><googleplay:email><![CDATA[refactoring@substack.com]]></googleplay:email><googleplay:author><![CDATA[Luca Rossi]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Blank pages, decisions, and weekly readings! 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #207]]></description><link>https://refactoring.fm/p/blank-pages-decisions-and-weekly</link><guid isPermaLink="false">https://refactoring.fm/p/blank-pages-decisions-and-weekly</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 11 May 2026 07:01:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ymRD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a></em></p><div><hr></div><blockquote><h2>Become an investor in AI infra startups! &#10024;</h2><p><em>Today&#8217;s sponsor is <a href="https://www.av.vc/ai-tools-syndicate?utm_medium=email&amp;utm_source=tofu&amp;utm_content=partner-follow-up&amp;utm_campaign=RefactoringMayASend#easyvest">Alumni Ventures</a>!</em></p><p>If you ever thought about doing some angel investing in AI products you like, you can do so via our friends at Alumni Ventures, that give you <a href="https://d5w9-p04.na1.hs-sales-engage.com/Ctc/L3+23284/d5W9-p04/JlY3pr4cW95jsWP6lZ3lCW4fXfmr8VCyLDN5wjD5YHtbdmW39fMnp6fm55QW1vkDkG5jTCMGMgHSJFFxb7cVMPJmS5pgTLPN304H72Mywh8N53XDCcgy-J-VBmqD63MbKrvW6kBQj12n3v_sW7CT43d5s1thWW2RKLTd5qqWrsW7bVZZw8Ch7F8W43X0Nd2Tvzc9W8QKLPX2jQZKvW7q_ZHB95gD52W9hb7w-5xH4hJW5-stdH7kvW1dW7XgGpy5Mz_bfW55bGXx2cMjLcW7jpTNC7nLHVZW3J0y2c7_YvdsW4g5Gn_67_s-sW7SqkRw3xMfQBW7bNVM_7bfbYpW6ThQ051M1lTgW6rn-G865jT2XW4cXtks6zcm8tW3qXHRp1q7XCgW8ryst55knr1Mf8cCqkF04">access to high-growth startup opportunities</a>, co-invested alongside top VC firms like Andreessen Horowitz (a16z), Bessemer, &amp; YCombinator.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ymRD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ymRD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png 424w, https://substackcdn.com/image/fetch/$s_!ymRD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png 848w, https://substackcdn.com/image/fetch/$s_!ymRD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!ymRD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ymRD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png" width="684" height="342" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:684,&quot;bytes&quot;:140499,&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://refactoring.fm/i/196796659?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.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_!ymRD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png 424w, https://substackcdn.com/image/fetch/$s_!ymRD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png 848w, https://substackcdn.com/image/fetch/$s_!ymRD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!ymRD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf754e5d-f2ee-4225-b0bf-c97c2a6218ad_2600x1300.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>You can signup for free and get:</p><ul><li><p>A curated deal flow of high-potential AI infrastructure startups</p></li><li><p>Deals in which AV is already investing alongside elite lead venture firms</p></li><li><p>No cost to see deals, and no obligation to invest</p></li></ul><p><strong><a href="https://www.av.vc/ai-tools-syndicate?utm_campaign=RefactoringMayASend&amp;utm_medium=email&amp;utm_content=partner-follow-up&amp;utm_source=tofu#easyvest">Join Alumni Ventures AI Infrastructure Syndicate Today &#8594;</a></strong> </p></blockquote><div><hr></div><h1>&#128161; Never start from a blank page</h1><p>A lot of people ask me how I take notes and write articles &#8212; even more so recently, since I <a href="https://refactoring.fm/p/how-i-run-the-tolaria-project">shipped Tolaria</a>.</p><p>I have often talked about this in the newsletter. I am quite opinionated about it, and a lot of these opinions made it into Tolaria. </p><p>One of these is about the (in)famous <strong>blank page</strong>.</p><p>There is this romantic view of writers sitting in front of a blank page and crafting their work through sheer inspiration. In reality, if you&#8217;re starting from nil, you&#8217;re doing it wrong.</p><p>About this, I love a famous quote from an Italian singer-songwriter, who once was asked how long it takes to write a song. He said:</p><blockquote><p><em>&#8220;It takes me about 10 minutes &#8212; but only if I spend the rest of my life making sure that eventually it takes me 10 minutes.&#8221;</em></p></blockquote><p>This applies to all knowledge work. Good writing is about <em>connecting</em> and <em>refining</em> ideas you already captured, rather than creating from scratch. The prep work <em>is</em> the work.</p><p>To make prep work easier, I am a big believer in dividing it into multiple steps:</p><ul><li><p><strong>Capture</strong> &#8212; store the thought on a durable support.</p></li><li><p><strong>Organize</strong> &#8212; refine it, place it where you&#8217;ll need it, and connect it to other thoughts.</p></li><li><p><strong>Express</strong> &#8212; use it to do something larger.</p></li></ul><p>These are <em>different tasks</em>, and are best done at different times. Conflating them leads to predictable failure modes:</p><ul><li><p>Capture + Organize leads to <em>exhaustion</em> (every note becomes a chore).</p></li><li><p>Organize + Express leads to <em>chaos</em> (missed insights, no scalability).</p></li><li><p>All three at once leads to <em>writer&#8217;s block</em>.</p></li></ul><p>Luhmann&#8217;s Zettelkasten and Tiago Forte&#8217;s CODE system are both built around this separation. You don&#8217;t need to follow either to the letter, but the principle matters.</p><p>I wrote a full piece about note taking a while back &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:170699182,&quot;url&quot;:&quot;https://refactoring.fm/p/how-to-take-notes&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How To Take Notes &#127793;&quot;,&quot;truncated_body_text&quot;:&quot;Hey there! Last week we had our book club review of How to Take Smart Notes, by S&#246;nke Ahrens.&quot;,&quot;date&quot;:&quot;2025-08-13T07:02:05.589Z&quot;,&quot;like_count&quot;:53,&quot;comment_count&quot;:3,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79ab7b78-71cf-42d2-a607-3aa18960cb64_2400x572.png&quot;}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-to-take-notes?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How To Take Notes &#127793;</div></div><div class="embedded-post-body">Hey there! Last week we had our book club review of How to Take Smart Notes, by S&#246;nke Ahrens&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">9 months ago &#183; 53 likes &#183; 3 comments &#183; Luca Rossi</div></a></div><div><hr></div><h1>&#127897;&#65039; Principles for better decisions</h1><p>One of the interviews I go back to the most often is the one I did last year with Annie Duke. </p><p>Annie is a former world-class poker player, author of <em>Thinking in Bets</em>, and one of the clearest thinkers on decision-making.</p><p>The conversation was packed with useful frameworks, and one that stuck with me was her four-principle checklist for high-quality decisions:</p><ul><li><p><strong>Speed assessment</strong> &#8212; before anything else, decide how much time this decision deserves. Ask: how long-term is the impact, and how reversible is it? Spend time and effort accordingly.</p></li><li><p><strong>Make the implicit explicit</strong> &#8212; we often decide by &#8220;feel.&#8221; Annie&#8217;s view, instead, is to articulate what that gut feeling actually is. What are the real criteria? Making reasoning explicit helps you catch flawed logic before you commit, and makes it harder to rationalize a bad choice after the fact.</p></li><li><p><strong>Quantify qualitative opinions</strong> &#8212; instead of calling a market &#8220;great,&#8221; rate it. Even in a shallow way, e.g. on a scale from 1 to 10. This forces precision and, in teams, surfaces hidden disagreements otherwise masked by vague language.</p></li><li><p><strong>Collect opinions independently</strong> &#8212; never gather important input in a group setting. Anchoring bias and groupthink are real. Collect individual perspectives first, then compare differences without forcing consensus.</p></li></ul><p>Here is the full interview with Annie:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b937e090-d377-4987-be17-5ce1f38e5216&quot;,&quot;caption&quot;:&quot;Today's guest is Annie Duke, who is a former world-class professional poker player and one of the world's top experts on decision-making. She's a bestseller author and coach of many tech founders and teams.&quot;,&quot;cta&quot;:&quot;Watch now&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Thinking in Bets for Engineers &#127922;&#8212; with Annie Duke&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2025-08-01T06:02:15.453Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/youtube/w_728,c_limit/p8HAJh52DaE&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://refactoring.fm/p/thinking-in-bets-for-engineers-with&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:&quot;7755b2e2-da54-4316-82ff-24d3fd49836e&quot;,&quot;id&quot;:169735574,&quot;type&quot;:&quot;podcast&quot;,&quot;reaction_count&quot;:22,&quot;comment_count&quot;:0,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.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><h1>&#128218; Weekly Readings</h1><p>Finally, here are the best articles I have read this week:</p><div><hr></div><h4>&#129351; <a href="https://randsinrepose.com/archives/sometimes-your-job-is-to-get-in-the-way/">Sometimes Your Job Is to Get in the Way</a></h4><h5>5 min &#8226; by Rands</h5><p>Good leaders know when to stay out of the way &#8212; but <em>great</em> leaders also know when to step in and draw a hard line. Fantastic story by Rands, about how a major Slack outage led to a complete transformation of their development process, driven by strong leadership.</p><div><hr></div><h4>&#129352; <a href="https://larahogan.me/blog/why-cant-they-just-revisited/">Why Can&#8217;t They Just&#8230;</a></h4><h5>5 min &#8226; by Lara Hogan</h5><p>&#8220;Why can&#8217;t they just&#8230;&#8221; is a phrase we all use when frustrated with other teams or roles. Instead of dismissing it, Lara explains how to use it as a signal to dig into the <em>complexities</em> behind decisions you don&#8217;t understand, and turn frustration into collaborative problem-solving. Loved it.</p><div><hr></div><h4>&#129353; <a href="https://kristoff.it/blog/contributor-poker-and-ai/">Contributor Poker and AI</a></h4><h5>6 min &#8226; by Loris Cro</h5><p>Open source maintainers don&#8217;t bet on PRs, they bet on <em>contributors</em>. This is a great take by Zig and the best articulated thesis I have heard about banning AI-generated contributions. Worth a read.</p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Personal leverage, junior engineers, and weekly reading 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #206]]></description><link>https://refactoring.fm/p/personal-leverage-junior-engineers</link><guid isPermaLink="false">https://refactoring.fm/p/personal-leverage-junior-engineers</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 04 May 2026 07:01:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vgH8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>.</em></p><div><hr></div><blockquote><h2><a href="https://watch.getcontrast.io/register/unblocked-how-to-stop-babysitting-your-agents?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary">Stop babysitting your agents!</a> &#128581;&#8205;&#9794;&#65039;</h2><p><em>Today&#8217;s newsletter is brought to you by <a href="https://watch.getcontrast.io/register/unblocked-how-to-stop-babysitting-your-agents?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary">our friends at Unblocked</a>!</em></p><p>Agents can generate code, we know it.</p><p>But getting it right for our system, conventions, and past decisions is still the hard part &#8212; we waste time and tokens in correction loops. Patching many MCPs together may give agents access to <em>information</em>, but not necessarily <em>understanding</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vgH8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vgH8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png 424w, https://substackcdn.com/image/fetch/$s_!vgH8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png 848w, https://substackcdn.com/image/fetch/$s_!vgH8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png 1272w, https://substackcdn.com/image/fetch/$s_!vgH8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vgH8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png" width="686" height="343" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1200,&quot;resizeWidth&quot;:686,&quot;bytes&quot;:256566,&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://refactoring.fm/i/196095778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.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_!vgH8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png 424w, https://substackcdn.com/image/fetch/$s_!vgH8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png 848w, https://substackcdn.com/image/fetch/$s_!vgH8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.png 1272w, https://substackcdn.com/image/fetch/$s_!vgH8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71ddf9af-32fa-4c71-8d56-70516bfbfb84_1200x600.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>That&#8217;s why I am a fan of what <a href="https://watch.getcontrast.io/register/unblocked-how-to-stop-babysitting-your-agents?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary">Unblocked</a> is building with their <strong>context engine</strong> &#8212; giving agents exactly what they need to <em>understand</em> things and succeed. <a href="https://watch.getcontrast.io/register/unblocked-how-to-stop-babysitting-your-agents?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary">Join their webinar on May 6th (free)</a> to see:</p><ul><li><p>Where teams get stuck on the AI maturity curve</p></li><li><p>How a context engine solves for quality, efficiency, and cost</p></li><li><p>Live demo: the same coding task with and without a context engine</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://watch.getcontrast.io/register/unblocked-how-to-stop-babysitting-your-agents?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary&quot;,&quot;text&quot;:&quot;Learn more and register!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://watch.getcontrast.io/register/unblocked-how-to-stop-babysitting-your-agents?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary"><span>Learn more and register!</span></a></p></blockquote><div><hr></div><h1>&#128161; Personal leverage is now unlimited</h1><p>A couple of months ago I wrote about <a href="https://refactoring.fm/p/my-experience-with-openclaw">my experience with OpenClaw</a> &#8212; what I do with it, what procedures it runs automatically, and so on.</p><p>I also argued that the story of OpenClaw itself seems to point to the idea that a good solo engineer can now achieve&#8230; pretty much anything. Look at the progression of AI assistants and coding tools:</p><ol><li><p>At first, it was VS Code + Copilot. Created by Github/Microsoft, which is a big tech.</p></li><li><p>Copilot was surpassed by Cursor, created by a team around 1/100th its size.</p></li><li><p>Cursor was then surpassed by Claude Code, which has been created literally by 2 engineers inside Anthropic, and whose team to this day is ~20 engineers.</p></li><li><p>OpenClaw has been created by Peter Steinberger. That&#8217;s it.</p></li></ol><p>In my (very small, comparably) experience with <a href="https://github.com/refactoringhq/tolaria">Tolaria</a>, I am seeing this as well. If you are equipped with the right set of ingredients, it&#8217;s hard now to see the limits of what a single engineer can do. But what are these ingredients? To me it&#8217;s:</p><ol><li><p><strong>&#128295; Tech skills</strong> &#8212; you still need these! Especially to steer a sizable project. E.g. Peter is first and foremost a world-class engineer.</p></li><li><p>&#129489;&#8205;&#127859; <strong>Taste</strong> &#8212; your personal taste for what good looks like, your domain expertise, how knowledgeable you are about the problem you want to solve, your <em>product</em> senses &#8212; these are the things that AI is not going to replace anytime soon, if ever.</p></li><li><p>&#127939; <strong>Drive</strong> &#8212; above all, the drive and discipline needed to put something out there. I know an awful lot of people who have the first two ingredients, but kinda miss this one.</p></li></ol><p>My OpenClaw article is one of the most popular pieces I have ever written, you can catch up with it below &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:187528754,&quot;url&quot;:&quot;https://refactoring.fm/p/my-experience-with-openclaw&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;My experience with OpenClaw &#129438;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here! This is a &#128274; weekly essay &#128274; from Refactoring! To access all our articles, library, and community, subscribe to the full version:&quot;,&quot;date&quot;:&quot;2026-02-11T08:00:09.106Z&quot;,&quot;like_count&quot;:53,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79ab7b78-71cf-42d2-a607-3aa18960cb64_2400x572.png&quot;}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/my-experience-with-openclaw?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">My experience with OpenClaw &#129438;</div></div><div class="embedded-post-body">Hey, Luca here! This is a &#128274; weekly essay &#128274; from Refactoring! To access all our articles, library, and community, subscribe to the full version&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 53 likes &#183; Luca Rossi</div></a></div><div><hr></div><h1>&#127897;&#65039; Junior engineers will just be fine</h1><p>Last month I <a href="https://refactoring.fm/p/every-engineer-is-a-manager-now-with">interviewed the legendary Chris Lattner</a> on the podcast. Chris created LLVM, Swift, led Tesla autopilot, brought TPUs to the market at Google, and more! He is now the founder of Modular, where he creates portable infra to work with GPUs.</p><p>Chris told me that, despite the industry-wide narrative that AI favors senior engineers, Modular is actively <strong>hiring a ton of new college grads</strong> and interns. Chris&#8217; reasoning is based on two observations:</p><ul><li><p><strong>&#129504; AI-native thinking</strong> &#8212; junior engineers bring a completely different expertise. They are native to the tools and adapt faster than many experienced engineers.</p></li><li><p><strong>&#9878;&#65039; Team balance</strong> &#8212; good teams need people at multiple levels learning from each other. All-senior or all-junior teams both fail in different ways. (we wrote about this also <a href="https://refactoring.fm/p/in-praise-of-normal-engineers">here</a>!)</p></li></ul><p>You can find the full interview with Chris below:</p><div id="youtube2-PLQs_hHTzSk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PLQs_hHTzSk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PLQs_hHTzSk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/7x5fP9l9veyl7VlGFBdoH3?si=ea44113412aa4fc9">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/every-engineer-is-a-manager-now-with">Substack</a></strong></p><div><hr></div><h1>&#128218; Weekly Readings</h1><p>Finally, here are the best articles I have read this week:</p><div><hr></div><h4>&#129351; <a href="https://www.epicproduct.engineer/the-last-software-engineer">The Last Software Engineer</a></h4><h5>10 min &#8226; by Kent C. Dodds</h5><p>Fast forward to the moment <em>right before</em> AI takes over everything engineers do &#8212; what&#8217;s the last valuable thing left? I won&#8217;t spoiler! Fantastic article by Kent.</p><div><hr></div><h4>&#129352; <a href="https://www.aicelabs.com/articles/why-sell-software-if-anyone-can-make-it">Why Sell Software If Anyone Can Make It?</a></h4><h5>2 min &#8226; by Clemens Adolphs</h5><p>It&#8217;s not hard to make bread at home &#8212; even better than the one you buy at the bakery. Yet nobody really does it at scale. Don&#8217;t let the &#8220;everyone can code now&#8221; narrative scare you out of building a software business.</p><div><hr></div><h4>&#129353; <a href="https://www.chrismdp.com/coding-with-ai/">How I use AI to Code</a></h4><h5>19 min &#8226; by Chris Sherwood</h5><p>A thorough, opinionated guide on AI coding, updated to April 2026. Covers both the mindset and the practical tools. I liked it!</p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Bad code, progressive complexity, and weekly readings💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #205]]></description><link>https://refactoring.fm/p/bad-code-progressive-complexity-and</link><guid isPermaLink="false">https://refactoring.fm/p/bad-code-progressive-complexity-and</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 27 Apr 2026 07:01:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/5Q4FasJl0SA" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>.</em></p><div><hr></div><h2><a href="https://newsletter.chainofthought.show/p/inverting-the-innovators-dilemma">Reporting from Salesforce&#8217;s TDX event!</a> &#129489;&#8205;&#128187;</h2><p><em>This week&#8217;s sponsor is Salesforce!</em></p><p>Our friend <a href="https://newsletter.chainofthought.show/">Conor Bronsdon</a> was our eyes and ears on the floor at <a href="https://www.salesforce.com/tdx/">TDX</a> last week, and wrote a full breakdown on <a href="https://newsletter.chainofthought.show/p/inverting-the-innovators-dilemma">Chain of Thought</a>.</p><p>He says <a href="https://www.salesforce.com/eu/form/agentforce/maximizing-roi-with-agentforce/?d=701ed00000p99uMAAQ&amp;nc=701ed00000pCjLLAA0&amp;utm_content=701ed00000p99uMAAQ&amp;gclsrc=aw.ds&amp;gad_source=1&amp;gad_campaignid=22814410482&amp;gbraid=0AAAABAVtBhSz9uEfWIk83PbS9EjJJUZ2A&amp;gclid=CjwKCAjwqazPBhALEiwAOuXqdCdRf0LHVCkka--kPqK_4UWHYHr9LG1ow0N0iMmldmIcE-7kiaKfGRoCH6sQAvD_BwE">Agentforce</a> is now Salesforce's fastest-growing product, and the signs were everywhere at TDX:</p><ul><li><p>60+ new MCP tools in Headless 360</p></li><li><p>Agent Script open-sourced on GitHub</p></li><li><p>Agentforce Vibes 2.0 (their vibe coding tool),</p></li><li><p>plus new Slack agent capabilities.</p></li></ul><p>Salesforce went as far as publishing the full language spec, grammar, parser, and compiler for their agent-definition language. </p><p>They're betting an <strong>open agent ecosystem wins</strong> developer adoption, while enterprise-grade upgrade paths let businesses actually ship reliable agents to production.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.chainofthought.show/p/inverting-the-innovators-dilemma&quot;,&quot;text&quot;:&quot;Read the full TDX breakdown&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.chainofthought.show/p/inverting-the-innovators-dilemma"><span>Read the full TDX breakdown</span></a></p><div><hr></div><h1>&#128161; Coding is not solved, but bad code&#8230; kinda is</h1><p>Last week I launched <a href="https://refactoring.fm/p/introducing-tolaria">Tolaria</a>, which by now is one of the <a href="https://github.com/refactoringhq/tolaria">fastest growing repos</a> on the whole Github! It got <strong>6000+ stars</strong> in less than a week.</p><p>Tolaria is a lot of code: 100K+ LOCs, 2K+ commits, 3K+ tests, 70+ ADRs. I publicly said many times <a href="https://refactoring.fm/i/194609000/tolaria-refactoring">I didn&#8217;t write any of it</a>, which made some people think I believe coding is <em>solved</em>.</p><p>I don&#8217;t think coding is solved <em>at large</em>, but <em>bad code</em> feels solved. To understand what I mean by that, a useful way to think about tech debt is to split it into two kinds:</p><ul><li><p><strong>Bad code</strong></p></li><li><p><strong>Misaligned code</strong></p></li></ul><p><em>Bad code</em> is basic hygiene failure: lack of tests, high complexity, tight coupling, duplication, outdated libraries. It is bad regardless of business context, and we know it increases lead time, outages, and maintenance cost.</p><p>As of today this kind of debt is largely avoidable if you <strong>choose to enforce quality</strong>. On Tolaria, AI-generated code must meet three gates: high test coverage, strong CodeScene health scores, and current library/docs usage. These rules live both in CLAUDE.md and CI, because agents still forget or ignore instructions. Once those checks are in place, the basics can be trusted without manually reviewing every line.</p><p><em>Misaligned code</em> is harder, and is definitely not solved yet. Code may be clean, tested, and well-structured, but still wrong for the product direction you want. It&#8217;s code that is a good circle when you really needed a square: a leaky abstraction, an old design assumption, or a model that no longer matches intent.</p><p>Reviewing architecture and abstractions still feels supremely important, because they're the things that the AI model can&#8217;t figure out by itself, because they are about what you want to build in the future, and why.</p><p>I wrote more about this in my series of articles about my AI coding workflow:</p><ol><li><p><strong><a href="https://refactoring.fm/p/my-ai-coding-workflow">My AI Coding Workflow</a></strong> (Feb 2026)</p></li><li><p><strong><a href="https://refactoring.fm/p/updates-to-my-ai-coding-workflow">Updates to My AI Coding Workflow</a></strong> (Apr 2026)</p></li><li><p><strong><a href="https://refactoring.fm/p/introducing-tolaria">Introducing Tolaria</a></strong> (last week!)</p></li></ol><div><hr></div><h1>&#127897;&#65039; Progressive disclosure of complexity</h1><p>In May last year I interviewed Guillermo Rauch, founder and CEO of Vercel</p><p>Guillermo talked about the qualities of great technology, and one principle that stuck with me was what he called the <strong>progressive disclosure of complexity</strong>.</p><p>A defining feature of great tech is that&#8217;s approachable for beginners but powerful enough for enterprise needs.</p><p>This principle guides the design of Vercel, Next.js, and everything they do.</p><blockquote><p><em><strong>&#8220;I&#8217;m building a platform that should not be intimidating for your first line of code, and gives you the superpower that you could be one day a top 30 internet website with the same infrastructure, with the same tools, with the same access.&#8221;</strong></em></p></blockquote><p>Guillermo draws inspiration from products like the iPhone, which can be used by both children and the elderly while still serving business professionals with complex needs.</p><p>His approach to API design focuses on what he calls <em>token minimization</em> (not AI tokens!) &#8212; requiring minimal code to get started, then gradually introducing more sophisticated features as needed:</p><ul><li><p>&#127937; <strong>Low barrier to entry</strong> &#8212; a new Next.js project can be started with just a few lines of code.</p></li><li><p>&#127793; <strong>Growing with users</strong> &#8212; complexity is only introduced when needed for specific requirements.</p></li><li><p>&#128260; <strong>Same technology at all scales</strong> &#8212; the technology that powers a beginner&#8217;s first project is the same that can scale to handle millions of users.</p></li></ul><p>Here is the full interview with Guillermo:</p><div id="youtube2-5Q4FasJl0SA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5Q4FasJl0SA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5Q4FasJl0SA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/2K73fsshI6PvWPsd0pPPHq?si=49224547d4b6431d">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/the-vercel-journey-with-guillermo">Substack</a></strong></p><div><hr></div><h1>&#128218; Weekly Readings</h1><p>Finally, here are the best articles I have read this week:</p><div><hr></div><h4>&#129351; <a href="https://theengineeringmanager.substack.com/p/my-cto-daily-driver">My CTO Daily Driver</a></h4><h5>8 min &#8226; by James Stanier</h5><p>I basically recommend all of James&#8217; articles, and this makes no exception. He explains how he uses Claude Code to drive a personalized <em>CTO workspace</em> with memory. With custom slash commands tied to Linear, Notion, and BetterStack.</p><div><hr></div><h4>&#129352; <a href="https://bcantrill.dtrace.org/2026/04/12/the-peril-of-laziness-lost/">The Peril of Laziness Lost</a></h4><h5>12 min &#8226; by Bryan Cantrill</h5><p>Laziness has always been a programmer&#8217;s <em>virtue</em> &#8212; it&#8217;s what drives us to build abstractions instead of doing the same thing twice. LLMs don&#8217;t have that instinct: you have to <em>supply it</em> to them. If you don&#8217;t, you lose the elegance, efficiency, and maintainability that comes from human constraints.</p><div><hr></div><h4>&#129353; <a href="https://x.com/intuitiveml/status/2043545596699750791?s=46">99% of Our Production Code Is Written by AI</a></h4><h5>20 min &#8226; by Peter Pang</h5><p>Took a lot of ideas from this post. Feels a bit AI-generated at times, but the ideas around feature gates, self-healing feedback loop, and bug fixing are awesome. Peak &#8220;harness engineering&#8221;, as kids call it these days.</p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Devex floor, saving the day, and weekly reading 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #204]]></description><link>https://refactoring.fm/p/devex-floor-saving-the-day-and-weekly</link><guid isPermaLink="false">https://refactoring.fm/p/devex-floor-saving-the-day-and-weekly</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 20 Apr 2026 07:00:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vm_O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>.</em></p><div><hr></div><h2><a href="https://watch.getcontrast.io/register/unblocked-webinar-stop-babysitting-your-agents-building-a-context-engine-for-mergeable-code?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary">Stop babysitting your agents</a> &#127868;</h2><p><em>Today&#8217;s sponsor is <a href="https://watch.getcontrast.io/register/unblocked-webinar-stop-babysitting-your-agents-building-a-context-engine-for-mergeable-code?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary">Unblocked</a>!</em></p><p>Agents can generate code. But getting it right for your system, conventions, and past decisions is the hard part &#8212; you end up wasting time and tokens in correction loops.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uisF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uisF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png 424w, https://substackcdn.com/image/fetch/$s_!uisF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png 848w, https://substackcdn.com/image/fetch/$s_!uisF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png 1272w, https://substackcdn.com/image/fetch/$s_!uisF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uisF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png" width="484" height="270.0210526315789" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1330,&quot;resizeWidth&quot;:484,&quot;bytes&quot;:447044,&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://refactoring.fm/i/194396094?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.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_!uisF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png 424w, https://substackcdn.com/image/fetch/$s_!uisF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png 848w, https://substackcdn.com/image/fetch/$s_!uisF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.png 1272w, https://substackcdn.com/image/fetch/$s_!uisF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fded0d914-dec4-47bc-933b-144b8277c03c_1330x742.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>More MCPs give agents access to information but not understanding. The teams pulling ahead use a context engine to give agents exactly what they need.</p><p><a href="https://watch.getcontrast.io/register/unblocked-webinar-stop-babysitting-your-agents-building-a-context-engine-for-mergeable-code?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary">Join our friends at Unblocked on April 23 (FREE)</a> to see:</p><ul><li><p>Where teams get stuck on the AI maturity curve</p></li><li><p>How a context engine solves for quality, efficiency, and cost</p></li><li><p>Live demo: the same coding task with and without a context engine</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://watch.getcontrast.io/register/unblocked-webinar-stop-babysitting-your-agents-building-a-context-engine-for-mergeable-code?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary&quot;,&quot;text&quot;:&quot;Register now!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://watch.getcontrast.io/register/unblocked-webinar-stop-babysitting-your-agents-building-a-context-engine-for-mergeable-code?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=primary"><span>Register now!</span></a></p><div><hr></div><h1>&#128161; Developer Experience is your floor</h1><p>By now we all largely agree that AI amplifies your existing dev practices &#8212; good and bad. I think what most people don&#8217;t realize is just <em>how strong</em> the amplification is.</p><p>Last month I commented on <a href="https://refactoring.fm/p/the-era-of-the-software-factory">the recent </a><strong><a href="https://refactoring.fm/p/the-era-of-the-software-factory">State of Software Delivery</a></strong><a href="https://refactoring.fm/p/the-era-of-the-software-factory"> report</a>. With respect to one year ago, the median team sees:</p><ul><li><p>&#128200; +15% activity on feature branches</p></li><li><p>&#128201; -7% activity on the main branch</p></li><li><p>&#128201; -15% success rate on the main branch</p></li></ul><p>These numbers are brutal: the average team sees exactly <em>zero</em> impact from AI. Even negative in some cases, as displayed by activity on the main branch.</p><p>On the other end, if you look at the top quartiles, the reality is different. Top 5% teams are ~2x as fast, with the same success rate. Top 10% teams are +50% faster, and top 25% are +25% faster.</p><p>These are <em>big</em> numbers, and they come from the teams who were already at the top 3 years ago. So, paraphrasing the famous quote, the best time to invest in good devex was years ago, but the second best time is <em>now.</em></p><p>Good devex is the <em>floor</em> that enables a team to profit from AI. I like the idea that good devex is enabled by three factors:</p><ul><li><p><strong>&#129504; Balanced cognitive load</strong> &#8212; work is challenging but achievable.</p></li><li><p><strong>&#128260; Tight feedback loops</strong> &#8212; engineers are continuously informed that are going in the right direction.</p></li><li><p><strong>&#9201;&#65039; Enough focus time</strong> &#8212; engineers have enough uninterrupted time to do what they need to do.</p></li></ul><p>When these three things happen, engineers can enter a <strong>flow state</strong>: complete immersion in their activity with extreme focus, productivity, and personal enjoyment.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vm_O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vm_O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png 424w, https://substackcdn.com/image/fetch/$s_!vm_O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png 848w, https://substackcdn.com/image/fetch/$s_!vm_O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png 1272w, https://substackcdn.com/image/fetch/$s_!vm_O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vm_O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:226009,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/194396094?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.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_!vm_O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png 424w, https://substackcdn.com/image/fetch/$s_!vm_O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png 848w, https://substackcdn.com/image/fetch/$s_!vm_O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png 1272w, https://substackcdn.com/image/fetch/$s_!vm_O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdea02411-c22d-4934-8e52-83a6ea28f7d8_1970x1088.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here are some questions you can ask yourself to assess where you at with these:</p><ul><li><p>Reduce cognitive load &#8594; <em>What feels hard as a developer? How can I make it easier?</em></p></li><li><p>Tighten feedback loops &#8594; <em>What feels slow? How can I make it faster?</em></p></li><li><p>Improve focus time &#8594; <em>What feels wasteful? How can I reduce interruptions?</em></p></li></ul><p>I wrote a full piece about DevEx, AI, and Product Engineering, and how these are the new pyramid of software engineering &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:189655863,&quot;url&quot;:&quot;https://refactoring.fm/p/the-new-pyramid-of-software-engineering&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;The New Pyramid of Software Engineering &#127956;&#65039;&quot;,&quot;truncated_body_text&quot;:&quot;There are a lot of opinions around these days about the future of software, including of course my own.&quot;,&quot;date&quot;:&quot;2026-03-04T08:01:19.283Z&quot;,&quot;like_count&quot;:49,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79ab7b78-71cf-42d2-a607-3aa18960cb64_2400x572.png&quot;}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/the-new-pyramid-of-software-engineering?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">The New Pyramid of Software Engineering &#127956;&#65039;</div></div><div class="embedded-post-body">There are a lot of opinions around these days about the future of software, including of course my own&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 months ago &#183; 49 likes &#183; Luca Rossi</div></a></div><div><hr></div><h1>&#127897;&#65039; Why did the day need saving?</h1><p>Last year I interviewed Rands&#8212;one of my heroes&#8212;and we talked a lot about AI, engineering management, and things we are getting wrong in tech.</p><p>Rands believes, as an industry, we are too attached to <em>hero culture</em> that celebrates heroics and <em>save-the-day</em> moments.</p><blockquote><p><em><strong>&#8220;Good job saving the day. Why did the day need saving? We screwed up and you had to save the day so good job cleaning up your screw up.&#8221;</strong></em></p></blockquote><p>Rands believes in <strong>proactive prevention</strong> rather than reactive heroics: addressing issues when they are still yellow flags, instead of big red ones. Effective management goes unnoticed because teams function smoothly &#8212; but that should be a badge of honor.</p><p>Acts of prevention sometimes are hard because they go against your instincts, like giving <strong>early corrective feedback</strong> before problems escalate. It feels easy and innocuous to avoid these small-scale conflicts, but these are exactly what you need to prevent the big fuck-ups.</p><p>Here is the full interview with Rands:</p><div id="youtube2-T8pcMl3rmbM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;T8pcMl3rmbM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/T8pcMl3rmbM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://refactoring.fm/p/how-to-manage-humans-with-rands">Spotify</a></strong> and &#128236; <strong><a href="https://open.spotify.com/episode/6bBVwfdumlhJusAFHuuv3h?si=9e6945c8c46e4f78">Substack</a></strong></p><div><hr></div><h1>&#128218; Weekly Readings</h1><p>Finally, here are the best articles I have read this week:</p><div><hr></div><h4>&#129351; <a href="https://theengineeringmanager.substack.com/p/who-will-be-the-senior-engineers">Who Will Be the Senior Engineers of 2035?</a></h4><h5>11 min &#8226; by James Stanier</h5><p>Great article by James, who put together a lot of resources and ideas (also from different industries), and connected the dots to understand what may happen to the software engineering job market. Recommended read.</p><div><hr></div><h4>&#129352; <a href="https://www.strix.ai/blog/cal-com-is-closing-its-code-due-to-ai-threats">Open Source Isn&#8217;t Dead</a></h4><h5>3 min &#8226; by Alex Schapiro</h5><p>Cal.com <a href="http://cal.com/blog/cal-com-goes-closed-source-why">recently announced</a> it&#8217;s going closed source, citing AI vulnerability scanning as the #1 reason. This piece pushes back, and I actually agree with it: closing source code doesn&#8217;t remove the attack surface &#8212; AI can still attack you <em>black-box</em>, at runtime. The better response is continuous AI defense (fire with fire!).</p><div><hr></div><h4>&#129353; <a href="https://lethain.com/agents-as-scaffolding/">Agents as Scaffolding for Recurring Tasks</a></h4><h5>4 min &#8226; by Will Larson</h5><p>Great practical pattern for introducing agents into your workflows: start by prototyping with agent-driven automation, then <em>refactor</em> some agentic parts away into deterministic code, keeping the agent only where it truly shines: navigating ambiguity.</p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Asking engineers, signal areas, and weekly readings 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #203]]></description><link>https://refactoring.fm/p/asking-engineers-signal-areas-and</link><guid isPermaLink="false">https://refactoring.fm/p/asking-engineers-signal-areas-and</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 13 Apr 2026 07:39:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dofp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>.</em></p><div><hr></div><h2><a href="https://www.augmentcode.com/blog/confidence-is-the-new-bottleneck">How Augment Code is going AI-native</a></h2><p><em>Today&#8217;s sponsor is <a href="https://www.augmentcode.com/">Augment Code</a>!</em></p><p>The guys at Augment have been documenting how they are transforming their engineering team to be AI-first, in several great blog posts:</p><ul><li><p><a href="https://www.augmentcode.com/blog/how-we-hire-ai-native-engineers-now">How we hire AI-native engineers now</a></p></li><li><p><a href="https://www.augmentcode.com/blog/confidence-is-the-new-bottleneck">Confidence is the new bottleneck</a></p></li></ul><p>They would also love to hear from other leaders going through the same thing, and have been running a quick survey for this. You can find it below &#128071;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://form.typeform.com/to/iYpaa0lo&quot;,&quot;text&quot;:&quot;Check out the 5-min survey&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://form.typeform.com/to/iYpaa0lo"><span>Check out the 5-min survey</span></a></p><div><hr></div><h1>&#128161; Just ask engineers</h1><p>By now, as of 2026, there is <a href="https://refactoring.fm/p/the-era-of-the-software-factory?utm_source=publication-search">solid consensus</a> that good developer experience is <em>upstream</em> of how your engineering team performs as a whole. And good devex is, in turn, mostly about <strong>removing friction</strong> from the daily work of engineers.</p><p>To remove friction you first need to know where it hides. What are the biggest blockers for your team? What is slow, hard, or simply a waste of time?</p><p>As engineers, we have a natural bias towards <strong>telemetry</strong> &#8212; quantitative data taken automatically from our processes, so we can debug it as if it were software. This is increasingly backed by research, from <a href="https://refactoring.fm/p/accelerate">Accelerate</a> onwards, and I have written extensively about it:</p><ul><li><p><a href="https://refactoring.fm/p/how-to-get-started-with-engineering">How to get started with engineering metrics</a></p></li><li><p><a href="https://refactoring.fm/p/whats-next-in-measuring-dev-productivity?utm_source=publication-search">What&#8217;s next in measuring dev productivity</a></p></li><li><p><a href="https://refactoring.fm/p/you-have-metrics-now-what?utm_source=publication-search">You have metrics, now what?</a></p></li></ul><p>To summarize what I think about metrics: <strong>they are good, but they are not enough</strong>. Most metrics are <em>cues</em> that something is (or is not) working, but they don&#8217;t tell you what the problem is. They are <em>lagging indicators</em>: to find the actual blockers, you need to dig deeper.</p><p>How? The answer is usually deceptively simple: <strong>ask engineers</strong>. They know.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dofp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dofp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png 424w, https://substackcdn.com/image/fetch/$s_!dofp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png 848w, https://substackcdn.com/image/fetch/$s_!dofp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png 1272w, https://substackcdn.com/image/fetch/$s_!dofp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dofp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png" width="1456" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:398366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/193797604?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.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_!dofp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png 424w, https://substackcdn.com/image/fetch/$s_!dofp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png 848w, https://substackcdn.com/image/fetch/$s_!dofp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png 1272w, https://substackcdn.com/image/fetch/$s_!dofp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0dcb77-0b55-4861-94df-74d51d4a5ad0_4248x1860.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you combine <strong>qualitative</strong> signal from engineers&#8217; opinions with <strong>quantitative</strong> data from your systems, you&#8217;ll be <em>unstoppable</em>. But counterintuitively, most managers find it harder to do the former&#8212;have good conversations to identify problems&#8212;than the latter.</p><p>So, I am a fan of doing the so-called <strong>Listening Tour</strong>, whose name I lifted from <em><a href="https://developerexperiencebook.com/">Frictionless</a></em>, but whose execution I tweaked based on my own experience. I wrote a full piece about it at the start of the year, and I still stand by it &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:185828322,&quot;url&quot;:&quot;https://refactoring.fm/p/the-listening-tour&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;The Listening Tour &#128222;&quot;,&quot;truncated_body_text&quot;:&quot;For the last month I have been running a program for CTOs and VPs of small to mid-size companies to help them make their engineering teams ship faster.&quot;,&quot;date&quot;:&quot;2026-01-28T08:00:22.619Z&quot;,&quot;like_count&quot;:35,&quot;comment_count&quot;:3,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79ab7b78-71cf-42d2-a607-3aa18960cb64_2400x572.png&quot;}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/the-listening-tour?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">The Listening Tour &#128222;</div></div><div class="embedded-post-body">For the last month I have been running a program for CTOs and VPs of small to mid-size companies to help them make their engineering teams ship faster&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 35 likes &#183; 3 comments &#183; Luca Rossi</div></a></div><div><hr></div><h1>&#127897;&#65039; Past behavior predicts future results</h1><p>With tech chops getting a bit <em>diluted</em> by AI, <strong>behavioral interviews</strong> have recently gotten into the spotlight as a crucial way to select good engineers. Always have been? Probably &#8212; but today, even more so.</p><p>I recently talked about this <a href="https://refactoring.fm/p/how-to-master-behavioral-interviews-e75">on the podcast with Austin McDonald</a>, former hiring committee chair at Meta. Austin said behavioral interviewers are essentially <strong>forecasters</strong>: they study your past performance to predict your future results. And, with people, this generally works (unlike with financial portfolios!)</p><p>Austin breaks down what interviewers look for into <strong>signal areas</strong>:</p><ul><li><p><strong>&#127919; Scope &amp; ownership</strong> &#8212; how large a project can you handle, and do you drive it forward without being asked?</p></li><li><p><strong>&#127787;&#65039; Ambiguity &amp; perseverance</strong> &#8212; how do you navigate unclear situations and push through setbacks?</p></li><li><p><strong>&#129309; Conflict resolution, communication &amp; leadership</strong> &#8212; how do you handle disagreements, convey ideas, and rally teams?</p></li></ul><p>These signal areas map closely to most company values, but not always one-to-one. Newer AI companies like Anthropic, for instance, look for safety-oriented signals about thinking through the implications of building AI.</p><p>So Austin recommends combining general areas with company-specific research&#8212;their website, recruiter conversations, YouTube talks&#8212;to build a complete picture of what you&#8217;ll be assessed on.</p><blockquote><p><em><strong>&#8220;Every question they ask has this kind of thing behind it. Especially follow-up questions. People often forget &#8212; when they get a follow-up question, they just think the person wants more information. Instead, think: why are they asking me this?&#8221;</strong></em></p></blockquote><p>In fact, companies exist on a wide spectrum:</p><ul><li><p>Amazon sits at one extreme end with <a href="https://www.amazon.jobs/content/en/our-workplace/leadership-principles">16 rigorously enforced leadership principles</a>.</p></li><li><p>Meta is in the middle with <a href="https://www.metacareers.com/swe-prep-onsite">five structured behavioral areas</a>.</p></li><li><p>Google has traditionally leaned more technical.</p></li></ul><p>Here is the full interview with Austen:</p><div id="youtube2-dIUZ8AcCfLg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;dIUZ8AcCfLg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/dIUZ8AcCfLg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/5dTyUawGzRizbC8PJPsPIG?si=5c3a2c5c494b4e73">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/how-to-master-behavioral-interviews-e75">Substack</a></strong></p><div><hr></div><h1>&#128218; Weekly Readings</h1><p>Finally, here are the best articles I have read this week:</p><div><hr></div><h4>&#129351; <a href="https://piechowski.io/post/git-commands-before-reading-code/">The Git Commands I Run Before Reading Any Code</a></h4><h5>3 min &#8226; by Ally Piechowski</h5><p>Great piece that makes you understand the power of version control history. There is so much you can understand about a codebase (and a team) by running simple git commands. Hotspots, bus factor, bug clusters, crisis patterns &#8212; all from git history.</p><div><hr></div><h4>&#129352; <a href="https://martinfowler.com/articles/reduce-friction-ai/feedback-flywheel.html">Feedback Flywheel</a></h4><h5>10 min &#8226; by Rahul Garg</h5><p>I really liked this article &#8212; it&#8217;s very practical and proposes some novel angles to AI feedback. Every AI interaction generates signal: prompts that worked, context that was missing, patterns that failed. Rahul proposes a structured practice that takes learnings from AI sessions and feeds them back into the team&#8217;s shared artifacts.</p><div><hr></div><h4>&#129353; <a href="https://newsletter.whatsmyjob.club/archive/the-human-weight-of-it/">The Human Weight of It</a></h4><h5>7 min &#8226; by Cate Huston</h5><p>Can Claude replace coaching? Cate has been experimenting: using AI for structured issues, but keeping her human coach for the <em>messier</em> stuff. AI is great when you need structure and validation. But when you need to feel <em>seen</em>, you need the human weight of someone else&#8217;s confidence in you. I loved it.</p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA["Why" context, functional teams, and weekly readings 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #202]]></description><link>https://refactoring.fm/p/why-context-functional-teams-and</link><guid isPermaLink="false">https://refactoring.fm/p/why-context-functional-teams-and</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 06 Apr 2026 07:12:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0UaP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><blockquote><h2>Build with <em><a href="https://www.augmentcode.com/product/intent">Intent</a> &#128301;</em></h2><p><em>This is brought to you by today&#8217;s sponsor, <a href="https://www.augmentcode.com/">Augment Code</a>!</em></p><p><em>It is no secret that I am a fan of what Augment Code is building, and I am especially a big fan of <a href="https://www.augmentcode.com/product/intent">Intent</a>, their developer workspace where agents are coordinated via live specs.</em></p><p><em>Intent was created by Amelia Wattenberger, with whom I <a href="https://refactoring.fm/p/what-comes-after-the-ide-with-amelia">talked on the podcast</a> last month about what comes after the IDE. We also wrote an <a href="https://refactoring.fm/p/the-telephone-game-of-software">article together</a> about what it means to translate specs at different altitudes, from the original product intent (pun intended) to the final code. We called it: the telephone game of software &#128071;</em></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;deeea281-350d-4765-9d82-6dffa025625d&quot;,&quot;caption&quot;:&quot;My favorite byproduct of the AI shift in engineering is that it is making us think harder at workflows and ideas we have taken for granted for a long time.&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 Telephone Game of Software&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2026-03-25T08:42:59.887Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8713384-a4c2-4057-b6c2-731abcc0d68b_2382x1580.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://refactoring.fm/p/the-telephone-game-of-software&quot;,&quot;section_name&quot;:&quot;&#129525; Essays&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:191761060,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:36,&quot;comment_count&quot;:0,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p><em>You can learn more about Intent, Augment Code, and Amelia&#8217;s work below.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.augmentcode.com/product/intent&quot;,&quot;text&quot;:&quot;Learn more about Intent&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.augmentcode.com/product/intent"><span>Learn more about Intent</span></a></p></blockquote><div><hr></div><h1>1) &#127919; In your AI context, share the <em>why</em></h1><p>Most of the conversation about how to create good AI context for coding focuses on <em>tactical</em> parts, like PRDs, tech specs, or dev process conventions.</p><p>These are obviously important, and basically cover <em>what</em> should be done, and <em>how</em>.</p><p>There is a third category of context, though, that feels a bit underrated today, which is about the <strong>why</strong>.</p><p>Let&#8217;s say you are not simply developing a new feature, but you want to get help from the AI to find architecture improvements, refactoring opportunities, or make some product strategy. To do that, the <em>what</em> is still up in the air, and the <em>how</em> is largely not relevant yet. Instead, you need context on <em>why</em> something would be valuable to have.</p><p><em><strong>Why</strong></em><strong> context</strong> can be evergreen (e.g. your principles, values, the business domain), about the future (e.g. your quarter goals), and about the past (e.g. your past goals, ADRs).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0UaP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0UaP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png 424w, https://substackcdn.com/image/fetch/$s_!0UaP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png 848w, https://substackcdn.com/image/fetch/$s_!0UaP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!0UaP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0UaP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png" width="1456" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:387654,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/193052967?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.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_!0UaP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png 424w, https://substackcdn.com/image/fetch/$s_!0UaP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png 848w, https://substackcdn.com/image/fetch/$s_!0UaP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!0UaP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c80fb31-523a-4379-a3f9-e829d6bdca3a_2042x1184.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This stuff is not <em>always</em> important to perform some task, but in cases where it is, it is invaluable. So, before you even think about AI, you can ask yourself questions like:</p><ul><li><p><em>How much of this is written down?</em></p></li><li><p><em>Has everyone access to it? Do they know where it is?</em></p></li><li><p><em>Do people think it&#8217;s important? What does it happen if they ignore it?</em></p></li></ul><p>I wrote a full guide about context engineering earlier this year &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:177872864,&quot;url&quot;:&quot;https://refactoring.fm/p/managing-context-for-ai-coding&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How to Manage Context in AI Coding &#128209;&quot;,&quot;truncated_body_text&quot;:&quot;Last month I had the privilege to keynote at the CTO Craft Conference in Berlin, where I tried to paint a broad picture of how engineering teams are using AI today.&quot;,&quot;date&quot;:&quot;2025-11-05T08:01:35.835Z&quot;,&quot;like_count&quot;:57,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79ab7b78-71cf-42d2-a607-3aa18960cb64_2400x572.png&quot;}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/managing-context-for-ai-coding?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How to Manage Context in AI Coding &#128209;</div></div><div class="embedded-post-body">Last month I had the privilege to keynote at the CTO Craft Conference in Berlin, where I tried to paint a broad picture of how engineering teams are using AI today&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">6 months ago &#183; 57 likes &#183; 1 comment &#183; Luca Rossi</div></a></div><div><hr></div><h1>2) &#127897;&#65039; Functional vs cross-functional teams</h1><p>A couple of months ago I interviewed <strong>Gon&#231;alo Silva</strong>, CTO at <a href="https://doist.com/">Doist</a>.</p><p>Among other things, Gon&#231;alo told me Doist organizes engineering into functional teams (Android, iOS, Frontend, Backend, &#8230;) rather than cross-functional product teams, because it allows them to create a culture of deep expertise and passion:</p><blockquote><p><em><strong>&#8220;When we hire for our Android team, we go after people who are really passionate about Android, and then we put them in an Android team where they own the Android apps. When you pair control and passion, usually you get a lot of taste back.&#8221;</strong></em></p></blockquote><p>To ship features, they assemble temporary squads each quarter, staffing them based on project needs. This creates flexibility: e.g. when COVID hit, they were able to pivot almost the entire company to work on <a href="https://twist.com/">Twist</a> within four weeks.</p><p>The flip side is that <em>continuity</em> can suffer. A feature might launch, but two months later when interesting feedback arrives, nobody&#8217;s actively working on it anymore. So there&#8217;s no perfect system, and Doist intentionally optimizes for agility over long-lived domain expertise.</p><p>Their product team is also extremely lean: just four people (including the head of product) supporting about 30 engineers working on product-related work. Engineers are expected to be autonomous and opinionated: they dogfood their own products daily, so everyone has informed perspectives on what to build next.</p><p>Here is the full interview with Gon&#231;alo:</p><div id="youtube2-zaGmjQzmR-I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;zaGmjQzmR-I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/zaGmjQzmR-I?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/3NCLKPNCEHKiqOTjPQi1rb?si=10d44545a12847ea">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/how-todoist-is-built-with-goncalo">Substack</a></strong></p><div><hr></div><h1>&#128218; Weekly Readings</h1><p>Finally, here are the best articles I have read this week:</p><div><hr></div><h4>&#129351; <a href="https://apenwarr.ca/log/20260316">Every Layer of Review Makes You 10x Slower</a></h4><h5>11 min &#8226; by Avery Pennarun</h5><p>Awesome piece that many many people I know need to read. Every layer of review makes your process exponentially slower &#8212; and AI can speed up the coding part, but it does nothing against the time spent <em>waiting</em> for others to do stuff. Reducing reviews is less about AI and more about building a culture of quality and trust.</p><div><hr></div><h4>&#129352; <a href="https://annievella.com/posts/the-middle-loop/">The Middle Loop</a></h4><h5>7 min &#8226; by Annie Vella</h5><p>AI is shifting engineering work from <em>creation</em> to <em>verification</em>: Annie calls it the <em>middle loop</em>, sitting between the inner loop (writing code) and the outer loop (CI/CD, deploy). A useful mental model for how the day-to-day of engineering is evolving.</p><div><hr></div><h4>&#129353; <a href="https://alexhwoods.com/dont-let-ai-write-for-you/">Don&#8217;t Let AI Write For You</a></h4><h5>2 min &#8226; by Alex Woods</h5><p>Writing is fundamentally about <em>structuring your thinking</em>. Producing text is simply a (nice) byproduct of it. So, using LLMs to write for you undermines both your credibility and your ability to reason deeply. Use them for research and brainstorming, but the final words should be yours.</p><div><hr></div><h4>4) <a href="https://larahogan.me/blog/ai-aha-team-meetings/">AI &#8220;Aha&#8221; Team Meetings</a></h4><h5>7 min &#8226; by Lara Hogan</h5><p>There&#8217;s a growing gap between engineers who are thriving with AI tools and those who feel left behind. Lara held many interviews to learn more about how teams work today. She proposes regular team meetings where people share their AI <em>aha moments</em>: tips, tricks, and even mistakes.</p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Leadership archetypes, perfect teams, and weekly readings 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #201]]></description><link>https://refactoring.fm/p/leadership-archetypes-perfect-teams</link><guid isPermaLink="false">https://refactoring.fm/p/leadership-archetypes-perfect-teams</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 30 Mar 2026 07:02:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JM_W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! </em></p><p><em>I am repeating <a href="https://refactoring.fm/p/slave-software-polarities-and-weekly">last week&#8217;s experiment</a> of adding the best articles I have read last week, other than the classic weekly ideas. Let me know if you like it!</em></p><p><em>To access all our articles, library, community, and support my work, subscribe to the <a href="https://refactoring.fm/about">full version of Refactoring</a>.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/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://refactoring.fm/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><blockquote><h2><em>Secure your mobile app and the APIs it interacts with</em></h2><p><em>Brought to you by this week&#8217;s sponsor &#8212; <a href="https://www.vpdae.com/redirect/wkl41xmowtqcvbv0st8spbxdxcw">Guardsquare</a>!</em></p><p><em>What if your APIs are trusting the wrong mobile apps? Cloned apps. Repackaged builds. Instrumented devices. Automated fraud. Most attackers don&#8217;t break in&#8212;they just log in.</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JM_W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JM_W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png 424w, https://substackcdn.com/image/fetch/$s_!JM_W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png 848w, https://substackcdn.com/image/fetch/$s_!JM_W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png 1272w, https://substackcdn.com/image/fetch/$s_!JM_W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JM_W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png" width="254" height="211.23905723905725" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acd641e3-e58c-4c97-af71-69d0c511124e_594x494.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:494,&quot;width&quot;:594,&quot;resizeWidth&quot;:254,&quot;bytes&quot;:126165,&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://refactoring.fm/i/192074275?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.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_!JM_W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png 424w, https://substackcdn.com/image/fetch/$s_!JM_W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png 848w, https://substackcdn.com/image/fetch/$s_!JM_W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png 1272w, https://substackcdn.com/image/fetch/$s_!JM_W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd641e3-e58c-4c97-af71-69d0c511124e_594x494.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p><em>On March 31 we&#8217;ll unpack what mobile attackers are actually doing and why securing only the app or API is no longer enough &#128071;</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.vpdae.com/redirect/wkl41xmowtqcvbv0st8spbxdxcw&quot;,&quot;text&quot;:&quot;Register now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.vpdae.com/redirect/wkl41xmowtqcvbv0st8spbxdxcw"><span>Register now</span></a></p></blockquote><div><hr></div><h1>1) &#129525; Tech Leadership Archetypes</h1><p>In February we published a great guide by the one and only Pat Kua about the various <a href="https://refactoring.fm/p/cto-archetypes">CTO Archetypes</a>. Last year we also published a similar one <a href="https://refactoring.fm/p/the-engineering-manager-archetypes">about Engineering Managers</a>.</p><p>I like <em>archetype</em> articles, because I believe they are useful for many things:</p><h3>1) Clarify expectations</h3><p>Two people with the same title can have radically different responsibilities. Naming the archetype you&#8217;re operating in helps make explicit where you&#8217;re spending time and what you&#8217;re optimizing for.</p><h3>2) Sense how the role evolves over time</h3><p>Archetypes are not a personality quiz, also because people, orgs, and roles change over time. They are most useful as point-in-time references. E.g. as a company grows from startup to international brand, the CTO role might shift from Startup to Scale-Up to M&amp;A. The same applies individually: a Group CTO might leave to found a company, becoming a Founder CTO.</p><h3>3) Identify signals when hiring</h3><p>Strong candidates use interviews to both sense <em>and shape</em> the role. Archetypes help you understand a company&#8217;s situation and spot mismatches early. If the role doesn&#8217;t align with your strengths, the model gives you language to say: <em>&#8220;This is a valid role, but not the one I&#8217;m best suited for.&#8221;</em></p><h3>4) Plan intentional career growth</h3><p>Many tech leaders excel at one company but struggle at another. Archetypes explain why: they help you reflect on where your strengths play best and what you&#8217;d need to develop to grow into other archetypes.</p><p>You can find the full guides below &#128071;</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;384a7216-9379-411e-b65b-df75e38e5869&quot;,&quot;caption&quot;:&quot;Hey! This week I am excited to host an original article by Pat Kua &#8212; a coach and CTO with 25+ years of experience in tech, and one of my favorite authors, whose ideas I have often quoted and mentioned here on Refactoring!&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;CTO Archetypes &#129513;&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2026-02-04T08:01:25.651Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Ksz1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a66bed-5310-4054-8f99-8243a9510899_2918x1918.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://refactoring.fm/p/cto-archetypes&quot;,&quot;section_name&quot;:&quot;&#129525; Essays&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:186312746,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:50,&quot;comment_count&quot;:0,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.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;9e0b3cba-9ebf-46bf-869e-11f25de58dcf&quot;,&quot;caption&quot;:&quot;Hey, Luca here! Today&#8217;s article is from Thiago Ghisi, a dear friend and one of the most thoughtful engineering writers I know.&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 Manager Archetypes &#128202;&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000},{&quot;id&quot;:2072940,&quot;name&quot;:&quot;Thiago Ghisi&quot;,&quot;bio&quot;:&quot;Helping Staff+ Engineers, EMs &amp; Tech Execs scale teams, grow careers &amp; fix the hard stuff. Previously Eng. Director @ Nubank, Apple, Amex, ThoughtWorks. LinkedIn: linkedin.com/in/thiagoghisi&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F784c8d44-3f15-4fe6-8db0-d9bcb340ea72_400x400.jpeg&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://thiagoghisi.substack.com/subscribe?&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://thiagoghisi.substack.com&quot;,&quot;primaryPublicationName&quot;:&quot;Ghisi's Newsletter&quot;,&quot;primaryPublicationId&quot;:1073383}],&quot;post_date&quot;:&quot;2025-06-04T06:01:01.438Z&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%2F6c3bb61f-fc24-4ba7-b4d9-4c54256d81df_3068x2034.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://refactoring.fm/p/the-engineering-manager-archetypes&quot;,&quot;section_name&quot;:&quot;&#129525; Essays&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:164997143,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:70,&quot;comment_count&quot;:4,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.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><h1>2) &#127897;&#65039; The Perfect Team</h1><p>At the end of last year <a href="https://refactoring.fm/p/how-to-build-product-development">I interviewed Rob Zuber</a>, CTO of CircleCI.</p><p>At some point I asked him what his <em>ideal</em> product team looked like &#8212; I mean the atomic unit of &lt;10 people building a product together.</p><p>His answer focused on a single quality: <strong>speed of learning</strong>. The fundamental question the team needs to ask all the time is: <em>what&#8217;s the fastest way to get the information needed to make the next decision?</em></p><p>Granted, simply asking the question is not enough, because there exist plenty of *bad answers.*To get <em>good</em> answers, Rob believes the team needs three factors:</p><ul><li><p>&#127919; <strong>Clear business understanding</strong> &#8212; every engineer needs to understand what the business is trying to achieve and why</p></li><li><p>&#9889; <strong>Rapid experimentation mindset</strong> &#8212; willingness to test hypotheses quickly rather than debate endlessly</p></li><li><p>&#129309; <strong>High trust environment</strong> &#8212; team members can admit when they&#8217;re stuck and ask for help without fear. Build the trust needed for anyone to be able to raise their hand and say &#8220;<em>I have no idea how to do this</em>&#8221;<em>.</em></p></li></ul><p>Here is the full interview with Rob:</p><div id="youtube2-FBkcI6LzyA0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;FBkcI6LzyA0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/FBkcI6LzyA0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/6FdD74W8LTRfFZJVCWxG0g?si=48a16d86e2ad426c">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/how-to-build-product-development">Substack</a></strong></p><div><hr></div><h1>3) &#128218; Weekly readings</h1><p>Finally, here are the best articles I have read this week:</p><div><hr></div><h4>&#129351; <a href="https://martinfowler.com/bliki/ArchitectureDecisionRecord.html">Architecture Decision Record</a></h4><h5>8 min &#8226; by Martin Fowler</h5><p>Maintaining ADRs is a great practice, which only got more useful with AI. Martin&#8217;s piece is a great primer for them, also linking to useful tools.</p><div><hr></div><h4>&#129352; <a href="https://www.citriniresearch.com/p/2028gic">The 2028 Global Intelligence Crisis</a></h4><h5>25 min &#8226; by Citrini Research</h5><p>I finally caught up with this viral imaginary report from 2028, that was published last month. Very useful to read to reflect on the second and third order effects of AI. It was a good test for my own beliefs: which predictions do I find reasonable? Which dubious?</p><div><hr></div><h4>&#129353; <a href="https://terriblesoftware.org/2026/03/03/nobody-gets-promoted-for-simplicity/">Nobody Gets Promoted for Simplicity</a></h4><h5>8 min &#8226; by Matheus Lima</h5><p>Tale as old as time &#8212; we most often reward complexity as a display of brilliance, and ignore simplicity. Engineers who over-build get a compelling narrative, while the ones who ship the simplest (and thus the best!) thing get&#8230; nothing.</p><div><hr></div><h4>4) <a href="https://randsinrepose.com/archives/better-faster-and-even-more/">Better, Faster, and Even More</a></h4><h5>10 min &#8226; by Rands</h5><p>I am really enjoying Rands&#8217; blog lately. It has become a blend of classic Rands&#8217; management advice and occasional tales from his own AI experiments. This is one of the latter. I also love how practical he explains these &#8212; there are code snippets!</p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Slave software, polarities, and weekly readings 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #200!]]></description><link>https://refactoring.fm/p/slave-software-polarities-and-weekly</link><guid isPermaLink="false">https://refactoring.fm/p/slave-software-polarities-and-weekly</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 23 Mar 2026 08:01:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CR5A!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there, Luca here! This is our <strong>200th edition</strong> of the Monday Ideas! &#127881;&#127882;</p><p>To celebrate this milestone I want to experiment with some tweaks. Instead of our classic three ideas, today I am going to post:</p><ol><li><p>&#129525; One idea from a recent <strong>article</strong> I wrote.</p></li><li><p>&#127897;&#65039; One idea from a recent <strong>podcast interview</strong> we did.</p></li><li><p>&#128218; A small digest of the <strong>best articles</strong> I have read this week (in the style of what I have been doing with <a href="https://hybridhacker.email/">Hybrid Hacker</a>).</p></li></ol><p>This should turn this Monday email into a <strong>weekly brief</strong> that gives you some food for thought and also keeps you posted about relevant stuff that is published outside of Refactoring.</p><p>I will include a poll at the end where you can <em>rate</em> this edition so I know what you think about it!</p><div><hr></div><blockquote><h2><em>Brought to you by <a href="https://getunblocked.com/?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=contextengine">Unblocked</a>! </em>&#128307;</h2><p>It&#8217;s not a secret that I am a big fan of what the guys at Unblocked are building &#8212; to me they are <em>the</em> <em>authority</em> about giving good context to AI agents. </p><p>I <a href="https://refactoring.fm/p/the-future-of-dev-tools-with-dennis?utm_source=publication-search">interviewed their founder</a> last year and we also wrote a <a href="https://refactoring.fm/p/managing-context-for-ai-coding?utm_source=publication-search">full guide together</a>, which is one of our most popular articles <em>ever</em>.</p><p>Unblocked gives coding agents the <strong>organizational knowledge</strong> to generate mergeable code without the back and forth. It pulls context from across your engineering stack, resolves conflicts, and cuts the rework cycle by delivering only what agents need for the task at hand.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getunblocked.com/?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=contextengine&quot;,&quot;text&quot;:&quot;See how Unblocked works&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://getunblocked.com/?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=contextengine"><span>See how Unblocked works</span></a></p></blockquote><div><hr></div><h1>1) &#129525; The rise of <em>slave</em> software</h1><p>There are a lot of situations in which comparing LLMs to people makes for a good analogy. One way LLMs <em>differ</em> from humans, though, is that they&#8217;re perfectly fine doing boring, repetitive work. All day, every day.</p><p>This changes the scope of human work, but I believe also the scope of <em>software itself</em>.</p><p>There is an awful lot of automations and internal tools that are patched together with Zapier, n8n, custom code here and there, that I suspect just aren&#8217;t worth building anymore when you can tell an agent &#8220;<em>every hour, go here, copy this, and paste it there</em>&#8221;.</p><p>Granted, deterministic software would be more efficient for some of these tasks, but the cost of building it is dramatically higher than a one-line instruction in a chat. Even in the age of AI-generated software, nothing beats just telling a <em>slave</em> to do the thing.</p><p>Also, LLMs can handle ambiguity in a way that regular software can&#8217;t (even if written by AI). For a lot of tasks, they can just wing it, and things more or less work.</p><p>Example: I wanted to export my ~10,000-note Notion workspace to markdown files for years, but the complexity always stopped me. Earlier this month OpenClaw did it perfectly, writing scripts for API calls but also improvising the tricky parts, figuring things out on the go. Just like I would have done manually, except that would have taken me weeks.</p><p>So I believe there&#8217;s a growing class of problems for which we won&#8217;t write software anymore. We&#8217;ll just <em>throw an AI slave</em> at them.</p><p>I wrote more about my experience with OpenClaw and personal agents in this recent piece:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;60643f35-3809-4787-903e-23d2b2f6fca3&quot;,&quot;caption&quot;:&quot;Hey, Luca here! This is a &#128274; weekly essay &#128274; from Refactoring! To access all our articles, library, and community, subscribe to the full version:&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;My experience with OpenClaw &#129438;&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2026-02-11T08:00:09.106Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ofse!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fbaa311-0b83-437c-ac1f-40dae96696c8_3172x1404.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://refactoring.fm/p/my-experience-with-openclaw&quot;,&quot;section_name&quot;:&quot;&#129525; Essays&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:187528754,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:51,&quot;comment_count&quot;:0,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.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><h1>2) &#127897;&#65039; Be skeptical of <em>polarities</em></h1><p>Two weeks ago <a href="https://refactoring.fm/p/leading-beyond-the-framework-with">I interviewed Richard Hughes-Jones</a>, a professional tech coach with 20+ years of experience.</p><p>One of the ideas that stuck the most with me is what he called <em>polarity work</em>: helping leaders see that what feels like an either/or choice is actually a both/and situation. A few classic examples:</p><ul><li><p><strong>Empowerment vs directness</strong> &#8212; leaders may think they can <em>either</em> empower their teams or have strong opinions about what to do. In most situations, you can find ways to do both at once.</p></li><li><p><strong>Team&#8217;s needs vs business&#8217; needs</strong> &#8212; seeing these two as being <em>at odds</em> is usually a limiting belief that prevents you from finding true good solutions.</p></li></ul><p>You can find the full interview below &#128071; and on <a href="https://www.youtube.com/watch?v=AtIm6kjqqjI">Youtube</a> and <a href="https://open.spotify.com/episode/2ChxJlcpyrgwpF0YXzgTnl?si=ac4b289b0ce2414f">Spotify</a></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;2bef1c1b-b476-48f3-8ede-7ce109670464&quot;,&quot;caption&quot;:&quot;Listen now:&quot;,&quot;cta&quot;:&quot;Watch now&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Leading Beyond the Framework &#129517; &#8212; with Richard Hughes-Jones&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2026-03-06T08:42:52.133Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e1705c52-fe5b-44a9-a626-345d61128117_2560x1440.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://refactoring.fm/p/leading-beyond-the-framework-with&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:&quot;2f3d908f-3334-44da-9cbe-199290a0098d&quot;,&quot;id&quot;:189883444,&quot;type&quot;:&quot;podcast&quot;,&quot;reaction_count&quot;:11,&quot;comment_count&quot;:0,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.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><h1>3) &#128218; Weekly readings</h1><p>Here are the top three articles I have read:</p><h4><a href="https://annievella.com/posts/finding-comfort-in-the-uncertainty/">Finding Comfort in the Uncertainty</a> &#129351;</h4><h5>8 min &#8226; by Annie Vella</h5><p>Annie attended <a href="https://www.thoughtworks.com/about-us/events/the-future-of-software-development">the future of software development retreat</a>, hosted by Martin Fowler and Thoughtworks, and reported back on her thoughts, which I really enjoyed. I love the eight themes she extracted and how she framed them.</p><h4><a href="https://antirez.com/news/162">GNU and the AI Reimplementations</a> &#129352;</h4><h5>9 min &#8226; by antirez</h5><p>Antirez <em>implicitly</em> comments on recent controversies about AI reimplementations (<a href="https://github.com/chardet/chardet/issues/327">1</a>, <a href="https://blog.cloudflare.com/vinext/">2</a>) by looking at examples from the past. I loved the historical perspective and also the new mental model he proposes: what matters now is <em>design</em>, <em>novelty</em>, and <em>craft</em>, not just the code itself.</p><h4><a href="https://boz.com/articles/prioritize-relatively">Prioritize Relatively</a> &#129353;</h4><h5>2 min &#8226; by Boz</h5><p>Super short post in Boz&#8217;s signature style, about how you should not prioritize things in isolation &#8212; but only prioritize them <em>against each other</em>.</p><div><hr></div><div class="poll-embed" data-attrs="{&quot;id&quot;:479267}" data-component-name="PollToDOM"></div><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Layoffs, normal engineers, and second brains 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #199]]></description><link>https://refactoring.fm/p/layoffs-normal-engineers-and-second</link><guid isPermaLink="false">https://refactoring.fm/p/layoffs-normal-engineers-and-second</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 16 Mar 2026 08:01:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FnQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>.</em></p><div><hr></div><blockquote><h3>&#128499;&#65039; Fill out a quick research survey and win $100</h3><p><em>This is sponsored by&#8230; a startup in stealth mode! </em>&#128517;</p><p>Share your experiences about the alignment of Product and Engineering organizations in the quick survey below. 10 randomly selected participants will get a <strong>$100 Amazon gift card</strong>!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://form.typeform.com/to/ZKNHS6jW&quot;,&quot;text&quot;:&quot;Fill out a 3-min survey&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://form.typeform.com/to/ZKNHS6jW"><span>Fill out a 3-min survey</span></a></p></blockquote><div><hr></div><h2>1) &#9986;&#65039; Layoffs predictions are (probably) overblown</h2><p>The recent <a href="https://open.substack.com/pub/conorbronsdon/p/block-cut-4000-jobs-and-blamed-ai?utm_source=share&amp;utm_medium=android&amp;">brutal layoffs at Block</a> have made headlines and reignited the conversation about the job market for engineers, AI, and so on.</p><p>The problem with headlines is <em>selection bias</em>: layoffs always make the news, but are they representative of the state of the market?</p><p>It doesn&#8217;t seem so.</p><p>On Indeed, for example, job postings for software engineers have steadily increased since mid last year &#128071;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FnQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FnQV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png 424w, https://substackcdn.com/image/fetch/$s_!FnQV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png 848w, https://substackcdn.com/image/fetch/$s_!FnQV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!FnQV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FnQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png" width="1456" height="594" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:594,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:185838,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/190814684?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.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_!FnQV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png 424w, https://substackcdn.com/image/fetch/$s_!FnQV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png 848w, https://substackcdn.com/image/fetch/$s_!FnQV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!FnQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55f09a4-d716-44e7-8d2d-fb9329f87f49_2676x1092.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>And in <a href="https://refactoring.fm/p/the-state-of-ai-adoption-in-engineering">our industry report</a> from Q4 last year, we reported how Directors, VPs, and CTOs are <em>skeptical </em>about AI reducing our need for engineers. They actually think we&#8217;ll need more &#128071;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2g7S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2g7S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png 424w, https://substackcdn.com/image/fetch/$s_!2g7S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png 848w, https://substackcdn.com/image/fetch/$s_!2g7S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png 1272w, https://substackcdn.com/image/fetch/$s_!2g7S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2g7S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png" width="1456" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108145,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/190814684?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.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_!2g7S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png 424w, https://substackcdn.com/image/fetch/$s_!2g7S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png 848w, https://substackcdn.com/image/fetch/$s_!2g7S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png 1272w, https://substackcdn.com/image/fetch/$s_!2g7S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef670482-d7a1-46a0-8944-90104d73e97f_1716x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here are a couple of revealing quotes from the survey:</p><blockquote><p><em>As cost of delivery goes down, more use cases have positive ROI so demand goes up<br>&#8212; Director of Engineering</em></p><p><em>We will continue to grow headcount. AI will simply increase the productivity and output of that headcount<br>&#8212; Director of Engineering</em></p></blockquote><p>You can find the full survey here:</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:175412279,&quot;url&quot;:&quot;https://refactoring.fm/p/the-state-of-ai-adoption-in-engineering&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;The State of AI Adoption in Engineering Teams &#128202;&quot;,&quot;truncated_body_text&quot;:&quot;Hey! I am incredibly excited to finally release our industry report on how engineering teams are using AI.&quot;,&quot;date&quot;:&quot;2025-10-08T07:02:17.190Z&quot;,&quot;like_count&quot;:50,&quot;comment_count&quot;:4,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79ab7b78-71cf-42d2-a607-3aa18960cb64_2400x572.png&quot;}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/the-state-of-ai-adoption-in-engineering?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">The State of AI Adoption in Engineering Teams &#128202;</div></div><div class="embedded-post-body">Hey! I am incredibly excited to finally release our industry report on how engineering teams are using AI&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">7 months ago &#183; 50 likes &#183; 4 comments &#183; Luca Rossi</div></a></div><div><hr></div><h2>2) &#128296; In the best teams, normal people do great work</h2><p>When people talk about world-class engineering orgs, they often have in mind teams that are top-heavy with staff and principal engineers, or recruiting heavily from the ranks of ex-FAANG employees or top universities.</p><p>But I would argue that a truly great engineering org is one where you don&#8217;t <em>have</em> to be one of the &#8220;best&#8221; or most pedigreed engineers in the world to get shit done and have a lot of impact on the business.</p><p>It&#8217;s actually the other way around.</p><p>A truly great engineering org is one where perfectly normal, workaday software engineers, with decent skills and an ordinary amount of expertise, can consistently move fast, ship code, respond to users, understand the systems they&#8217;ve built, and move the business forward a little bit more, day by day, week by week.</p><p>Anyone can build an org where the most experienced, brilliant engineers in the world can build product and make progress. That&#8217;s not hard. And putting all the spotlight on individual ability has a way of letting your leaders off the hook for doing their jobs.</p><p>Instead, it is a huge competitive advantage if you can build sociotechnical systems where less experienced engineers can convert their effort and energy into product and business momentum.</p><p>We talked more about normal engineers and 10x teams in this amazing article written by Charity Majors &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:156843938,&quot;url&quot;:&quot;https://refactoring.fm/p/in-praise-of-normal-engineers&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;In Praise of \&quot;Normal\&quot; Engineers &#128736;&#65039;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here! This is a new article from our brand new guest author program, where some of the best engineering writers in the world contribute to Refactoring with original pieces!&quot;,&quot;date&quot;:&quot;2025-02-12T07:02:05.804Z&quot;,&quot;like_count&quot;:99,&quot;comment_count&quot;:5,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79ab7b78-71cf-42d2-a607-3aa18960cb64_2400x572.png&quot;}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}},{&quot;id&quot;:32306597,&quot;name&quot;:&quot;Charity Majors&quot;,&quot;handle&quot;:&quot;charitydotwtf&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!EAp-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7a54851-0549-41da-b041-3cfc959ec0ba_3088x2316.jpeg&quot;,&quot;bio&quot;:&quot;cofounder and CTO of honeycomb.io; pioneered modern observability. co-author of O'Reilly books \&quot;Database Reliability Engineering\&quot; and \&quot;Observability Engineering\&quot;, now wrapping up the 2nd ed. loves free software, free speech, and peaty single malts.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-11-24T22:50:45.155Z&quot;,&quot;reader_installed_at&quot;:&quot;2023-08-30T02:09:51.674Z&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:5,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:5,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[10845,4756793,458709,2164237,61371,2733782,256838],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:2935724,&quot;primaryPublicationName&quot;:&quot;charity.wtf&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://charitydotwtf.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://charitydotwtf.substack.com/subscribe?&quot;}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/in-praise-of-normal-engineers?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">In Praise of "Normal" Engineers &#128736;&#65039;</div></div><div class="embedded-post-body">Hey, Luca here! This is a new article from our brand new guest author program, where some of the best engineering writers in the world contribute to Refactoring with original pieces&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 99 likes &#183; 5 comments &#183; Luca Rossi and Charity Majors</div></a></div><div><hr></div><h2>3) &#127897;&#65039; Your second brain with Claude Code</h2><p>In January <a href="https://refactoring.fm/p/career-sabbaticals-and-self-discovery">I interviewed Thiago Ghisi</a>, who is first and foremost a good friend of mine, former Director of Engineering at Nubank, and now on a sabbatical!</p><p>During his time off Thiago got into an ambitious personal project, using Claude Code to analyze decades of personal data. He created what he calls a &#8220;second brain on steroids&#8221; by converting notes, emails, and data dumps from various services into a searchable repository of his entire digital life.</p><p>The project began with migrating 15+ years of Evernote notes to Obsidian, then expanded to include:</p><ul><li><p>&#128231; <strong>Gmail data</strong> &#8212; 20 years of emails, parsed to extract meaningful communications and create daily activity digests</p></li><li><p>&#128241; <strong>Social media dumps</strong> &#8212; Twitter, LinkedIn data converted to searchable formats</p></li><li><p>&#128218; <strong>Kindle highlights</strong> &#8212; extensive parsing of Amazon data including Whispersync information</p></li><li><p>&#127897;&#65039; <strong>Content creation</strong> &#8212; transcripts of podcast appearances and articles written</p></li></ul><blockquote><p><em>&#8220;I ended up with Claude Code, just reading those data dumps and extracting things in Markdown. For example, I got my Gmail dump... And I got Claude Code to parse all the emails that I ever sent.&#8221;</em></p></blockquote><p>He shared the full story in the interview &#128071;</p><div id="youtube2-MJnw7YVSoSU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;MJnw7YVSoSU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/MJnw7YVSoSU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/1OvoINEDMGovVfOGspxXAq?si=3792bacfea024ed0">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/career-sabbaticals-and-self-discovery">Substack</a></strong></p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[The big three questions, AI code quality, and standardization 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #198]]></description><link>https://refactoring.fm/p/the-big-three-questions-ai-code-quality</link><guid isPermaLink="false">https://refactoring.fm/p/the-big-three-questions-ai-code-quality</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 09 Mar 2026 08:02:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!M7wu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>.</em></p><div><hr></div><blockquote><h3>&#128499;&#65039; Fill out a quick research survey and win $100</h3><p><em>This is sponsored by&#8230; a startup in stealth mode! </em>&#128517;</p><p>Share your experiences about the alignment of Product and Engineering organizations in the quick survey below. 10 randomly selected participants will get a <strong>$100 Amazon gift card</strong>!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://form.typeform.com/to/ZKNHS6jW&quot;,&quot;text&quot;:&quot;Fill out a 3-min survey&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://form.typeform.com/to/ZKNHS6jW"><span>Fill out a 3-min survey</span></a></p></blockquote><div><hr></div><h2>1) &#127933; The Big Three Behavioral Questions</h2><p>A couple of weeks ago I published <a href="https://refactoring.fm/p/how-to-master-behavioral-interviews-e75">my interview with Austen McDonald</a>, former hiring committee chair at Meta, about behavioral interviews.</p><p>Previously we also <a href="https://refactoring.fm/p/how-to-master-behavioral-interviews?utm_source=publication-search">published a guide</a> together, where we explored 1) why behaviorals today matter more than ever, and 2) how you should prepare for them.</p><p>For the latter, there are three questions I&#8217;m very confident you will hear in some variation in any behavioral interview, so it&#8217;s worth preparing for them explicitly:</p><h3>1.1) Tell me about yourself &#128587;&#8205;&#9794;&#65039;</h3><p>This is so ubiquitous it has its own acronym &#8212; TMAY (pronounced tee-may).</p><p>Your goal is to break the ice, leave a great first impression, set up context for the rest of the interview, and steer the conversation toward topics that showcase the best of your career. Here&#8217;s a structure that works:</p><ol><li><p><strong>Personal Summary</strong> &#8212; Start with a couple of sentences introducing yourself: your role, years of experience, and what you specialize in.</p></li><li><p><strong>Accomplishments</strong> &#8212; Highlight 2&#8211;3 key achievements, ideally recent ones, that show strong business value and technical difficulty.</p></li><li><p><strong>Forward-Looking Statement</strong> &#8212; End with a sentence connecting your past to the role you&#8217;re pursuing. Wrap it up and hand the conversation back to the interviewer.</p></li></ol><p>This should take 1&#8211;2 minutes max.</p><h3>1.2) Tell me about your favorite / most impactful project &#128296;</h3><p>This often comes right after TMAY, giving you the opportunity to double down on your impact. When picking what to talk about, choose the project with the most impact, scope, and personal contribution by you &#8212; regardless of how the question is phrased.</p><p>If you&#8217;re talking about a project of meaningful size, structure your response by grouping your actions around themes, then signposting those themes clearly as you speak. This makes a complex story easy to follow.</p><h3>1.3) Tell me about a conflict you resolved &#9876;&#65039;</h3><p>For this, pick a story where the stakes were high and you were highly involved. The interviewer wants to hear about the <em>behaviors</em> you demonstrated &#8212; how you navigated the situation, not just what happened. And it goes without saying, unless you are <em>really</em> confident in your storytelling, pick a story where you ended up being right.</p><p>You can find the full guide below &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:162605254,&quot;url&quot;:&quot;https://refactoring.fm/p/how-to-master-behavioral-interviews&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How to Master Behavioral Interviews &#128222;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here! This is a new article from our guest author program, where some of the best engineering writers in the world contribute to Refactoring with original pieces!&quot;,&quot;date&quot;:&quot;2025-05-07T06:00:56.616Z&quot;,&quot;like_count&quot;:36,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}},{&quot;id&quot;:59992961,&quot;name&quot;:&quot;Austen McDonald&quot;,&quot;handle&quot;:&quot;austenmc&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!901B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe807098d-a85a-41c5-aa0d-c99ffe66034a_1514x1514.jpeg&quot;,&quot;bio&quot;:&quot;Behavioral Interview Enthusiast and Former Senior Software Engineering Manager at Meta. Author of Mastering Behavioral Interviews. In 9y at FB, I supported 200+ engineers across multiple teams and chaired the iOS and Android hiring committees.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-11-04T17:43:56.783Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-04T17:43:05.367Z&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:1,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:1,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[10845,1319561,458709],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:2384644,&quot;primaryPublicationName&quot;:&quot;Mastering Behavioral Interviews&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://thebehavioral.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://thebehavioral.substack.com/subscribe?&quot;}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-to-master-behavioral-interviews?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How to Master Behavioral Interviews &#128222;</div></div><div class="embedded-post-body">Hey, Luca here! This is a new article from our guest author program, where some of the best engineering writers in the world contribute to Refactoring with original pieces&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 36 likes &#183; 1 comment &#183; Luca Rossi and Austen McDonald</div></a></div><div><hr></div><h2>2) &#128296; AI should improve your code quality</h2><p>Code quality is the #1 concern engineers have about AI. In fact, the dominant narrative is: AI will make you ship more code in less time, but you&#8217;ll have less control over it, and it&#8217;ll be riddled with bugs.</p><p>This <em>can</em> be true &#8212; but it&#8217;s not inevitable, and I don&#8217;t think it&#8217;s the best way to use AI.</p><p>What&#8217;s often overlooked is that AI is excellent at <strong>reasoning about existing code</strong>, which is at the core of reviewing and improving code. AI is fantastic at picking up code smells, security vulnerabilities, missing tests, and even team-specific issues like adherence to your own best practices and conventions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M7wu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M7wu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png 424w, https://substackcdn.com/image/fetch/$s_!M7wu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png 848w, https://substackcdn.com/image/fetch/$s_!M7wu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png 1272w, https://substackcdn.com/image/fetch/$s_!M7wu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M7wu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png" width="1456" height="497" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1e96952-55ea-4848-a730-269392b11820_2092x714.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:497,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149075,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/189996669?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.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_!M7wu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png 424w, https://substackcdn.com/image/fetch/$s_!M7wu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png 848w, https://substackcdn.com/image/fetch/$s_!M7wu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png 1272w, https://substackcdn.com/image/fetch/$s_!M7wu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e96952-55ea-4848-a730-269392b11820_2092x714.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What&#8217;s also interesting is that AI is shifting code quality further left. Many static analysis checks that previously lived in CI/CD are now real-time suggestions in the IDE. Some have even become MCP servers that can steer AI-generated code before you even save the file.</p><p>So, some of the best code quality tools, like CodeScene, Codacy, or Packmind, allow you to <em>enforce</em> code quality on standards possibly higher than how you would ever be able to on a 100% human team.</p><p>I also talked about this in relation to <a href="https://refactoring.fm/p/my-ai-coding-workflow">my own experiments</a>, for which I am able to keep ~9.5/10 code quality, via CodeScene.</p><p>So, if you ask me, the future of code quality is bright &#8212; but only if you&#8217;re intentional about using AI for that purpose, rather than treating it purely as a code generator.</p><p>This is just one of the ways in which what&#8217;s good for humans is good for AI, which I explored in this article late last year &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:173659480,&quot;url&quot;:&quot;https://refactoring.fm/p/whats-good-for-humans-is-good-for&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;What's good for humans is good for AI &#10084;&#65039;&quot;,&quot;truncated_body_text&quot;:&quot;It&#8217;s been a couple of months now that a lot of my attention has been focused on a single topic: how good engineering teams are using AI.&quot;,&quot;date&quot;:&quot;2025-09-18T07:02:14.948Z&quot;,&quot;like_count&quot;:29,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/whats-good-for-humans-is-good-for?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">What's good for humans is good for AI &#10084;&#65039;</div></div><div class="embedded-post-body">It&#8217;s been a couple of months now that a lot of my attention has been focused on a single topic: how good engineering teams are using AI&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">8 months ago &#183; 29 likes &#183; Luca Rossi</div></a></div><div><hr></div><h2>3) &#127897;&#65039; Standardization vs. flexibility</h2><p>One of <a href="https://refactoring.fm/p/how-to-build-product-development">Rob Zuber&#8217;s biggest regrets as CTO of CircleCI</a> was the lack of early standardization &#8212; which became extremely expensive to fix later. When we spoke a couple of months ago on the podcast, he drew a sharp line between decisions that are cheap early and expensive later, and those that remain cheap throughout.</p><p>So, a few things that <em>should</em> be standardized are:</p><ul><li><p>&#128187; <strong>Programming languages</strong> &#8212; avoid the &#8220;auth service written in a language no one knows&#8221; problem.</p></li><li><p>&#128295; <strong>Core infrastructure patterns</strong> &#8212; database connections, queuing, observability.</p></li><li><p>&#128203; <strong>CI/CD processes</strong> &#8212; critical for compliance, auditability, and as the main <em>crossroads</em> of your dev process.</p></li></ul><p>What can stay flexible:</p><ul><li><p>&#128421;&#65039; <strong>Developer environments</strong> &#8212; IDEs, terminal setups, and dev stuff that is up to individual preference.</p></li><li><p>&#128197; <strong>Some agile practices</strong> &#8212; as long as business and stakeholder needs are met!</p></li></ul><blockquote><p><em>&#8220;If you&#8217;re good at providing the things that your stakeholders need before they know they need them, you&#8217;ll have all kinds of freedom to make your own choices. If you aren&#8217;t, people will come make choices for you.&#8221; &#8212; Rob Zuber</em></p></blockquote><p>Rob argued that excessive standardization often emerges defensively, when engineering teams fail to communicate well with their stakeholders. So the real solution most of the time is not more rules, it&#8217;s just better communication.</p><p>Here is the full interview with Rob Zuber:</p><div id="youtube2-FBkcI6LzyA0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;FBkcI6LzyA0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/FBkcI6LzyA0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/show/7Luds9dmzZDoDC8Q7EMbSw">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/how-to-build-product-development">Substack</a></strong></p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Sharing your culture, finding your allies, and reliable code quality 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #197]]></description><link>https://refactoring.fm/p/sharing-your-culture-finding-your</link><guid isPermaLink="false">https://refactoring.fm/p/sharing-your-culture-finding-your</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 02 Mar 2026 08:01:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/PhWtlhfrsWI" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><h2>&#128214; <a href="https://packmind.com/?utm_source=refactoring&amp;utm_medium=paid_newsletter">Create a shared engineering playbook</a></h2><p><em>This idea is brought to you by <a href="https://packmind.com/?utm_source=refactoring&amp;utm_medium=paid_newsletter">Packmind</a>!</em> </p><p>Most teams adopt AI coding agents without an engineering playbook. Standards <strong>live in people&#8217;s heads</strong>, Slack threads, PR comments, or scattered docs, so AI agents are left guessing.</p><p>Packmind helps teams create and maintain a <strong>shared engineering playbook</strong>, and automatically enforce it across repositories and AI coding agents.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://packmind.com/?utm_source=refactoring&amp;utm_medium=paid_newsletter&quot;,&quot;text&quot;:&quot;Try Packmind Open Source&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://packmind.com/?utm_source=refactoring&amp;utm_medium=paid_newsletter"><span>Try Packmind Open Source</span></a></p><div><hr></div><h2>1) &#129716; Share your culture</h2><p>Speaking of handbooks, culture is not just what you write in there &#8212; it is what happens every day in your org. But you still need to communicate it effectively, especially to people who are not yet part of your company.</p><p>How do you show, rather than tell, your culture? This came up in one of our recent mastermind sessions. Here are the things I have found most useful:</p><h4>1&#65039;&#8419; Map your touch points</h4><p>Every interaction with candidates is an opportunity to demonstrate culture. The most important ones: your public presence (website, blog, open source work), job materials (descriptions, career page), and the interview process itself (how you communicate, what you ask, how interviewers behave).</p><p>Each step tells a story, and the strongest cultures are consistent across all touch points. Shopify, for example, sends candidates a culture handbook upfront &#8212; you can only move forward by explicitly accepting their principles.</p><h4>2&#65039;&#8419; Show, don&#8217;t tell</h4><p>Instead of listing abstract values, share real stories.</p><p>Engineering blogs are perfect for this: they reveal how your team thinks and solves problems. Public post-mortems show how you handle failure. Behind-the-scenes content shows how people actually collaborate.</p><h4>3&#65039;&#8419; Write from your best performers</h4><p>Do not write aspirational statements. Instead, observe your best engineers: what behaviors make them successful? Document those. Instead of &#8220;we value excellence,&#8221; write: &#8220;our best engineers seek feedback early and take ownership end-to-end.&#8221; Concrete behaviors are way more useful than abstract values.</p><p>We talked about this in depth in our article on generative culture &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:151864477,&quot;url&quot;:&quot;https://refactoring.fm/p/generative-culture&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;Generative culture &#129716;&quot;,&quot;truncated_body_text&quot;:&quot;A few weeks ago we wrote about engineering handbooks. From there, I got many emails with questions about culture, which is a similar but separate topic.&quot;,&quot;date&quot;:&quot;2024-11-20T07:01:06.683Z&quot;,&quot;like_count&quot;:38,&quot;comment_count&quot;:2,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/generative-culture?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Generative culture &#129716;</div></div><div class="embedded-post-body">A few weeks ago we wrote about engineering handbooks. From there, I got many emails with questions about culture, which is a similar but separate topic&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 38 likes &#183; 2 comments &#183; Luca Rossi</div></a></div><div><hr></div><h2>2) &#127884; Find your allies</h2><p>Improving how a team works&#8212;whether it is culture, quality, or any other kind of change&#8212;is a two-part problem:</p><ol><li><p>You have to identify what needs to change.</p></li><li><p>You have to make change happen.</p></li></ol><p>The second part is much harder. Change is an uphill battle against tight roadmaps and already stressed-out people. So for long-term transformations, one of the most important things you can do is <strong>find your allies</strong> and recruit them.</p><p>Your allies are the people who <em>care the most</em> about this change &#8212; the ones who will not give up when pressure builds, and who keep others accountable. Lasting change is always a mix of top-down and bottom-up input, and the bottom-up part needs <em>champions</em>, especially at the start.</p><p>This reminds me of <a href="https://refactoring.fm/p/my-favorite-ideas-from-ldx3">Christine Pinto&#8217;s three-step model</a> for improving quality in a team. Quality processes do not appear out of the blue &#8212; they follow a messy progression:</p><ol><li><p>&#129464; <strong>Crusader</strong> &#8212; one engineer acts as a hero, spearheading change largely on their own while influencing leadership.</p></li><li><p>&#129716; <strong>Coach</strong> &#8212; the hero teaches others, establishing principles and getting adoption.</p></li><li><p>&#127795; <strong>System</strong> &#8212; when critical mass is reached, individual efforts turn into team-wide processes.</p></li></ol><p>The pattern holds for culture too. It never starts with a policy: it starts with a person. We talked more about this below &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:169555409,&quot;url&quot;:&quot;https://refactoring.fm/p/how-to-help-a-struggling-team&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How to Help a Struggling Team &#128201;&quot;,&quot;truncated_body_text&quot;:&quot;Last month we had a great mastermind session about how to raise the quality bar of your team.&quot;,&quot;date&quot;:&quot;2025-07-30T08:01:18.277Z&quot;,&quot;like_count&quot;:25,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-to-help-a-struggling-team?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How to Help a Struggling Team &#128201;</div></div><div class="embedded-post-body">Last month we had a great mastermind session about how to raise the quality bar of your team&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">9 months ago &#183; 25 likes &#183; Luca Rossi</div></a></div><div><hr></div><h2>3) &#127897;&#65039; Static analysis is not enough for code quality</h2><p>In <a href="https://refactoring.fm/p/technical-debt-as-crime-scene-with">my chat on the podcast with Adam Tornhill</a>&#8212;author of <em>Your Code as a Crime Scene</em> and founder of CodeScene&#8212;one idea stood out to me: static analysis alone is not enough for code quality.</p><p>Traditional static analysis tools examine code at a single point in time, but Adam argues this misses the most critical dimension: <strong>impact and relevance</strong>.</p><blockquote><p><em>&#8220;You can have the most complicated code in the world, but if it has been stable in production for five years, there is nothing urgent on the roadmap.&#8221; <br>&#8212; Adam Tornhill</em></p></blockquote><p>Adam&#8217;s alternative is to <strong>analyze version control history</strong> to understand developer behavior patterns. This reveals a consistent finding across hundreds of codebases:</p><ul><li><p>&#127919; <strong>Extreme distribution</strong> &#8212; the majority of development work concentrates in just 2-3% of the total codebase.</p></li><li><p>&#128293; <strong>Hotspot priority</strong> &#8212; technical debt in highly-active areas becomes exponentially more expensive.</p></li></ul><p>This reframes how we should think about tech debt: do not fix the most complex code &#8212; fix the <em>most active</em> complex code.</p><p>Here is the full interview with Adam: </p><div id="youtube2-PhWtlhfrsWI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PhWtlhfrsWI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PhWtlhfrsWI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p> You can also find it on &#127911; <strong><a href="https://open.spotify.com/show/7Luds9dmzZDoDC8Q7EMbSw">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/technical-debt-as-crime-scene-with">Substack</a></strong></p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Short backlogs, interview methods, and evergreen manager advice 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #196]]></description><link>https://refactoring.fm/p/short-backlogs-interview-methods</link><guid isPermaLink="false">https://refactoring.fm/p/short-backlogs-interview-methods</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 23 Feb 2026 08:01:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VSgp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><h2>Product Methodology Survival Guide &#128218;</h2><p><em>This idea is brought to you by today&#8217;s sponsor, <a href="https://atono.io/?utm_campaign=256141042-2026%20%E2%80%93%20Pistachio%20%E2%80%93%20January%20Gated%20Asset&amp;utm_source=refactoring_fm_substack&amp;utm_medium=sponsored_ad&amp;utm_content=product_methodology_survival_guide">Atono</a>!</em></p><p>Planning gets messy when different teams work in different ways. One team runs sprints, another uses Kanban &#8211; leadership still needs to know what&#8217;s shipping next quarter.</p><p>Atono just published their <strong>Product Methodology Survival Guide</strong>, sharing how they made cross-team planning predictable inside their own engineering org &#8211; without forcing everyone into the same process.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G6jH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G6jH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png 424w, https://substackcdn.com/image/fetch/$s_!G6jH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png 848w, https://substackcdn.com/image/fetch/$s_!G6jH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png 1272w, https://substackcdn.com/image/fetch/$s_!G6jH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G6jH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png" width="1456" height="596" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:596,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3422418,&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://refactoring.fm/i/188500049?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.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_!G6jH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png 424w, https://substackcdn.com/image/fetch/$s_!G6jH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png 848w, https://substackcdn.com/image/fetch/$s_!G6jH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.png 1272w, https://substackcdn.com/image/fetch/$s_!G6jH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c4d636-c5c8-4866-9c62-6489f2775b32_3600x1473.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>We&#8217;ve also previously collaborated on pieces like <em><a href="https://refactoring.fm/p/the-ai-productivity-paradox">The AI Productivity Paradox</a></em> and <em><a href="https://refactoring.fm/p/how-to-build-a-product-engineering">How to Build a Product Engineering Culture</a></em>, so if you&#8217;ve enjoyed those, this guide goes deeper into the operational side.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://atono.io/product-methodology-survival-guide?utm_campaign=256141042-2026%20%E2%80%93%20Pistachio%20%E2%80%93%20January%20Gated%20Asset&amp;utm_source=refactoring_fm_substack&amp;utm_medium=sponsored_ad&amp;utm_content=product_methodology_survival_guide&quot;,&quot;text&quot;:&quot;Download the guide&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://atono.io/product-methodology-survival-guide?utm_campaign=256141042-2026%20%E2%80%93%20Pistachio%20%E2%80%93%20January%20Gated%20Asset&amp;utm_source=refactoring_fm_substack&amp;utm_medium=sponsored_ad&amp;utm_content=product_methodology_survival_guide"><span>Download the guide</span></a></p><div><hr></div><h2>1) &#128203; Keep backlogs radically short</h2><p>Speaking of Atono, this reminded me of one of the ideas we discussed in one of our articles together: backlogs &#8212; and how much we hate long ones!</p><p>Shipping fast in a sustainable way requires discipline about what you actually build. Long backlogs are one of the biggest hidden anti-patterns in product teams:</p><ul><li><p><strong>They demoralize the team</strong> &#8212; by removing the feeling of progress.</p></li><li><p><strong>They are ineffective at capturing priorities</strong> &#8212; because items stay there for a long time, becoming sneakily obsolete.</p></li><li><p><strong>They lead you to say yes to everything</strong> &#8212; counterintuitively, it is harder to reject feature requests when the backlog is already long, because &#8220;it&#8217;s just one more thing&#8221;. So you put it there, people get pissed when you assign &#8220;P3&#8221; to it, then you don&#8217;t touch it for six months, then it&#8217;s completely obsolete, then you delete it and piss the requester a second time.</p></li></ul><p><a href="https://www.google.com/search?q=mary+poppendieck">Mary Poppendieck</a>, Agile legend with 30+ years of experience, says &#8220;burn your backlog&#8221; every time she can, and that you should rather focus on flow:</p><blockquote><p><em>Once you&#8217;ve established your current output rate, then you have to stop accepting anything beyond that rate. No backlog. If you can only do ten a month, you only accept ten a month. And you don&#8217;t accept work beyond a month or two.</em></p><p>&#8212; Mary Poppendieck</p></blockquote><p>The Atono team only keeps 2-4 weeks of committed work, which means PMs and engineers reject work all the time. Small feature with unclear impact? Reject. Hard to reproduce bug on niche device? Reject. This discipline is what keeps them focused and fast.</p><p>You can find the full guide below &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:171035004,&quot;url&quot;:&quot;https://refactoring.fm/p/how-to-build-a-product-engineering&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How to Build a Product Engineering Culture &#129716;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here, welcome to a weekly edition of Refactoring! To access all our articles, library, and community, subscribe to the paid version:&quot;,&quot;date&quot;:&quot;2025-08-20T08:16:09.447Z&quot;,&quot;like_count&quot;:55,&quot;comment_count&quot;:4,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-to-build-a-product-engineering?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How to Build a Product Engineering Culture &#129716;</div></div><div class="embedded-post-body">Hey, Luca here, welcome to a weekly edition of Refactoring! To access all our articles, library, and community, subscribe to the paid version&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">9 months ago &#183; 55 likes &#183; 4 comments &#183; Luca Rossi</div></a></div><div><hr></div><h2>2) &#128296; Interview methods for 2026</h2><p>One of the obvious consequences of AI coding getting widespread is that the methods for interviewing engineers that worked just 2-3 years ago, are not working well anymore.</p><p>Last year I surveyed the community and ran a mastermind session with engineering managers to find out how they are adapting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VSgp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VSgp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png 424w, https://substackcdn.com/image/fetch/$s_!VSgp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png 848w, https://substackcdn.com/image/fetch/$s_!VSgp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png 1272w, https://substackcdn.com/image/fetch/$s_!VSgp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VSgp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png" width="1456" height="644" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28c6953c-4097-411d-ba48-69119cf746db_2258x998.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:644,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2262190,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/188500049?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.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_!VSgp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png 424w, https://substackcdn.com/image/fetch/$s_!VSgp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png 848w, https://substackcdn.com/image/fetch/$s_!VSgp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png 1272w, https://substackcdn.com/image/fetch/$s_!VSgp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28c6953c-4097-411d-ba48-69119cf746db_2258x998.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With some degree of simplification, there are three main things worth testing in any engineering interview: pure coding skills, system design ability, and how well someone works with others. The weight you give each depends on the role, but there&#8217;s a clear trend: with AI, pure coding matters less, while system design and collaboration matter more.</p><p>This reshuffles the classic methods.</p><p>LeetCode questions, long despised, have fallen further, as 90%+ can be solved with AI. Take-home assignments have a similar problem: open-ended + greenfield coding is just too convenient for models, making it hard to test real depth.</p><p>For replacing them, two methods stood out in the community:</p><ul><li><p><strong>&#128300; Case studies</strong> &#8212; you bring a real problem your team worked on and ask the candidate to design a solution live. It tests system design, trade-off reasoning, and communication simultaneously.</p></li><li><p><strong>&#128269; Code review</strong> &#8212; give the candidate a PR to review. It&#8217;s faster than a take-home, generates rich discussion, and tells you a lot about someone&#8217;s taste and judgment.</p></li></ul><p>Career highlight stories remain consistently useful at the end of any process, letting candidates show qualities that didn&#8217;t emerge elsewhere.</p><p>You can find the full guide below &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:158369676,&quot;url&quot;:&quot;https://refactoring.fm/p/how-to-interview-engineers&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How to Interview Engineers &#128203;&quot;,&quot;truncated_body_text&quot;:&quot;Hey there! This article closes our series on hiring engineers. It&#8217;s our third piece &#8212; in the first two we covered respectively:&quot;,&quot;date&quot;:&quot;2025-03-05T07:01:42.284Z&quot;,&quot;like_count&quot;:45,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-to-interview-engineers?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How to Interview Engineers &#128203;</div></div><div class="embedded-post-body">Hey there! This article closes our series on hiring engineers. It&#8217;s our third piece &#8212; in the first two we covered respectively&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 45 likes &#183; Luca Rossi</div></a></div><div><hr></div><h2>3) &#127897;&#65039; Evergreen career advice for engineering managers</h2><p>A couple of years ago I interviewed <a href="https://refactoring.fm/p/founder-mode-and-the-managers-path">Camille Fournier</a>, author of The Manager&#8217;s Path and veteran engineering leader. She offered four main pieces of advice for engineering managers looking to stay valuable and advance their careers, which are just as relevant today:</p><h4>1) Focus on relationships <strong>&#129309;</strong></h4><p>Camille emphasizes the importance of good relationships at all levels:</p><ul><li><p><strong>Reports</strong> &#8212; people have to want to work <em>for</em> you</p></li><li><p><strong>Peers</strong> &#8212; people have to want to work <em>with</em> you (peers and other teams)</p></li><li><p><strong>Superiors</strong> &#8212; your superiors have to want you to work for them</p></li></ul><h4>2) Maintain technical credibility <strong>&#128187;</strong></h4><p>For technical leadership roles, Camille suggests maintaining enough technical knowledge to ask good questions and understand the work:</p><blockquote><p><em>&#8220;I can ask people really good questions about what they&#8217;re doing and often understand what they say to me. And so [&#8230;] because I work in pretty heavily technical areas, people like that.&#8221;</em></p></blockquote><h4>3) Represent the company well <strong>&#127970;</strong></h4><p>She reminded managers that they are representatives of the company:</p><blockquote><p><em>&#8220;You are representative of the company. You can influence the company culture. But a lot of the value and the expectations of you is like, if your boss says you have to do something or something has to happen, how good are you at driving that thing to happen?&#8221;</em></p></blockquote><h4>4) Learn continuously <strong>&#128218;</strong></h4><p>Camille encourages managers to stay curious and open to new ideas:</p><blockquote><p><em>&#8220;You&#8217;ve got to challenge yourself to look outside of your own world, talk to managers at other places, make friends externally that are managers and hear about what they&#8217;re doing and just stay curious.&#8221;</em></p></blockquote><p>You can find the full interview below &#128071;</p><div id="youtube2-ycDyG1PH6T4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ycDyG1PH6T4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ycDyG1PH6T4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#128236; <strong><a href="https://refactoring.fm/p/founder-mode-and-the-managers-path">Substack</a></strong> and &#127911; <strong><a href="https://open.spotify.com/show/7Luds9dmzZDoDC8Q7EMbSw">Spotify</a></strong>.</p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[AI teams, adoption, and public reading 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #195]]></description><link>https://refactoring.fm/p/ai-teams-adoption-and-public-reading</link><guid isPermaLink="false">https://refactoring.fm/p/ai-teams-adoption-and-public-reading</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 16 Feb 2026 08:00:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AzKZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><h2>Agent-first development for your org &#129302;</h2><p><em>This idea is brought to you by today&#8217;s sponsor, <a href="https://www.warp.dev/resources/reports/cloud-agents-for-the-enterprise?utm_source=publications&amp;utm_medium=newsletter&amp;utm_campaign=2_16_2026_oz_launch_primary&amp;utm_content=refactoring">Warp</a>!</em></p><p>I am a fan of Warp, which I personally use, and I have been in touch with the team for a long time. We even <a href="https://refactoring.fm/p/developers-are-replacing-ides-with?utm_source=publication-search">wrote a piece together</a> last year.</p><p>Their latest work is <strong><a href="http://warp.dev/oz">Oz</a></strong><a href="http://warp.dev/oz"> </a><strong><a href="http://warp.dev/oz">&#8212; the orchestration platform for cloud agents</a></strong>.</p><p>The problem they want to solve is that engineers are shipping code faster than ever, but without good orchestration, individual productivity hits a ceiling fast. Gains don&#8217;t compound and leadership has 1) no visibility, and 2) no way to measure impact.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AzKZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AzKZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AzKZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AzKZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AzKZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AzKZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg" width="540" height="308.57142857142856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:630,&quot;resizeWidth&quot;:540,&quot;bytes&quot;:242701,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/187838507?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AzKZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AzKZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AzKZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AzKZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4074bbbe-5e7d-455f-bdc0-d409611b650c_630x360.jpeg 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 just released a full report that explores this, where you can learn:</p><ul><li><p>Why 75% of companies fail at building their own agentic systems</p></li><li><p>How teams save hours per engineer per day by using agent automations</p></li><li><p>What makes 60%+ of PRs agent-generated actually achievable</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.warp.dev/resources/reports/cloud-agents-for-the-enterprise?utm_source=publications&amp;utm_medium=newsletter&amp;utm_campaign=2_16_2026_oz_launch_primary&amp;utm_content=refactoring&quot;,&quot;text&quot;:&quot;Download the free report&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.warp.dev/resources/reports/cloud-agents-for-the-enterprise?utm_source=publications&amp;utm_medium=newsletter&amp;utm_campaign=2_16_2026_oz_launch_primary&amp;utm_content=refactoring"><span>Download the free report</span></a></p><div><hr></div><h2>1) &#128300; Most AI teams don&#8217;t need researchers</h2><p>&#8230; they may not even need AI engineers.</p><p>In October I wrote <a href="https://refactoring.fm/p/how-to-build-ai-into-tech-products">this piece</a> with Barr Yaron, who interviewed (and invested in) tens of founders of AI products.</p><p>She reports that many of the best, fastest-moving AI companies she has seen this year have zero papers, <strong>zero PhDs</strong>, and&#8230; zero guilt about it.</p><p>If you&#8217;re building applied AI products on top of foundation models from big labs, your team might look more like a modern software org: strong in prompt engineering, some MLOps, and good product intuition.</p><p>Nearly every applied AI initiative she has seen has started small, and from someone without a strong AI background: <strong>a hackathon project</strong>, a curious engineer, or an exec tinkering with a model. </p><p>Once an early demo proves useful, a small team is born. As organizations mature, many evolve into a platform-plus-product model: an <strong>AI platform team</strong> builds shared capabilities (evals, inference, data pipelines) and helps product engineers ship responsibly.</p><p>You can find the full article below!</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:177251750,&quot;url&quot;:&quot;https://refactoring.fm/p/how-to-build-ai-into-tech-products&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How to Build AI into Tech Products &#128296;&quot;,&quot;truncated_body_text&quot;:&quot;Hey! With all the AI craze happening right now, there are two questions tech teams usually ask themselves about it: 1) should we use more AI at work? and 2) should we integrate AI into our product?&quot;,&quot;date&quot;:&quot;2025-10-29T08:02:06.080Z&quot;,&quot;like_count&quot;:25,&quot;comment_count&quot;:2,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}},{&quot;id&quot;:106527927,&quot;name&quot;:&quot;Barr Yaron&quot;,&quot;handle&quot;:&quot;barryaron834142&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!2Uyv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F332fcb3c-1bae-478d-a987-506f7fc83cd0_144x144.png&quot;,&quot;bio&quot;:&quot;Partner at Amplify Partners&quot;,&quot;profile_set_up_at&quot;:&quot;2022-10-14T17:45:22.429Z&quot;,&quot;reader_installed_at&quot;:&quot;2025-08-07T22:28:42.037Z&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:6817124,&quot;primaryPublicationName&quot;:&quot;Barr Yaron&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://byaron.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://byaron.substack.com/subscribe?&quot;}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-to-build-ai-into-tech-products?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How to Build AI into Tech Products &#128296;</div></div><div class="embedded-post-body">Hey! With all the AI craze happening right now, there are two questions tech teams usually ask themselves about it: 1) should we use more AI at work? and 2) should we integrate AI into our product&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">6 months ago &#183; 25 likes &#183; 2 comments &#183; Luca Rossi and Barr Yaron</div></a></div><div><hr></div><h2>2) &#128218; I am reading in public, and it&#8217;s working</h2><p>At the end of last year I reviewed my whole content creation workflow.</p><p>By looking at the various steps, realized that those I struggled the most with (good reading &amp; research), are exactly those for which I didn&#8217;t have a <em>build-in-public</em> version.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hMxo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hMxo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png 424w, https://substackcdn.com/image/fetch/$s_!hMxo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png 848w, https://substackcdn.com/image/fetch/$s_!hMxo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png 1272w, https://substackcdn.com/image/fetch/$s_!hMxo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hMxo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png" width="1456" height="789" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:789,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:164800,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/187838507?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.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_!hMxo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png 424w, https://substackcdn.com/image/fetch/$s_!hMxo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png 848w, https://substackcdn.com/image/fetch/$s_!hMxo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.png 1272w, https://substackcdn.com/image/fetch/$s_!hMxo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24aa2f6d-405a-4c00-bce2-252e9ebb028b_1494x810.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>So I tried two things:</p><ul><li><p>I made my reading list public and <em>subscribable</em> on Mailbrew &#8212; you can find it <strong><a href="https://app.mailbrew.com/lucaronin/lucas-daily-brew-wa3o73OQUFjL">here</a></strong></p></li><li><p>I wrote an <a href="https://hybridhacker.email/p/what-i-read-this-week">experimental </a><em><a href="https://hybridhacker.email/p/what-i-read-this-week">digest</a></em><a href="https://hybridhacker.email/p/what-i-read-this-week"> email</a> on <a href="https://hybridhacker.email/">Hybrid Hacker</a>, our sister newsletter, containing the best articles I had read the previous week.</p></li></ul><p>Both experiments were a <strong>huge success</strong>.</p><p>I shared my <a href="https://app.mailbrew.com/lucaronin/lucas-daily-brew-wa3o73OQUFjL">reading list</a> on Linkedin and on the community, and as of today it counts ~150 subscribers, plus I got a lot of warm comments privately. This is not going to be a business whatsoever, so I am simply happy about it.</p><p>The digest emails are also getting a lot of great feedback, so I have kept writing them for the past 2 months or so.</p><p>Together, these experiments gave me incredible energy and provided the missing incentives to keep the underlying habits tidy. Now I feel a strong need to:</p><ul><li><p>Keep my reading sources relevant and up to date because there are others who depend on them, and</p></li><li><p>Read <em>more</em> and <em>better</em> because I am responsible for identifying great pieces that I can recommend to readers.</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_!p6uJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p6uJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png 424w, https://substackcdn.com/image/fetch/$s_!p6uJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png 848w, https://substackcdn.com/image/fetch/$s_!p6uJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png 1272w, https://substackcdn.com/image/fetch/$s_!p6uJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p6uJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png" width="1456" height="845" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:845,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:239193,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/187838507?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.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_!p6uJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png 424w, https://substackcdn.com/image/fetch/$s_!p6uJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png 848w, https://substackcdn.com/image/fetch/$s_!p6uJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png 1272w, https://substackcdn.com/image/fetch/$s_!p6uJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403f0bb2-c5cc-4708-b633-5242a0c5d00e_1462x848.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The lesson I learned from this is to try to create practical <em>incentives</em> for the things that I want to keep doing! Full article here &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:179256243,&quot;url&quot;:&quot;https://refactoring.fm/p/what-i-am-reading-in-2025-and-how&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;What I am reading in 2025 (and how) &#128218;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here! This is a &#128274; weekly essay &#128274; from Refactoring! To access all our articles, library, and community, subscribe to the full version:&quot;,&quot;date&quot;:&quot;2025-11-19T08:01:19.874Z&quot;,&quot;like_count&quot;:47,&quot;comment_count&quot;:4,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/what-i-am-reading-in-2025-and-how?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">What I am reading in 2025 (and how) &#128218;</div></div><div class="embedded-post-body">Hey, Luca here! This is a &#128274; weekly essay &#128274; from Refactoring! To access all our articles, library, and community, subscribe to the full version&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">6 months ago &#183; 47 likes &#183; 4 comments &#183; Luca Rossi</div></a></div><div><hr></div><h2>3) &#127897;&#65039; Driving AI adoption as a CTO</h2><p>In October I interviewed Darragh Curran, CTO at Intercom, who famously went <em>all-in</em> on AI by:</p><ul><li><p>Setting a <a href="https://ideas.fin.ai/p/2">public target</a> of getting the team to be 2x as productive</p></li><li><p>Spinning off a completely separate AI product, <a href="http://fin.ai/">Fin</a>, instead of bolting AI onto Intercom as an afterthought.</p></li></ul><p>I asked him how he drives AI adoption inside the team, and he replied with a four-step framework:</p><ol><li><p>&#127919; <strong>Set ambition and tone</strong> &#8212; make it clear this isn&#8217;t optional or experimental, but essential.</p></li><li><p>&#128679; <strong>Remove barriers</strong> &#8212; be deliberately permissive about tool choice (Cursor, Claude, Copilot, etc.).</p></li><li><p>&#129330; <strong>Make hands-on experience</strong> &#8212; personally use the tools to understand the developer experience.</p></li><li><p>&#9200; <strong>Protect learning time</strong> &#8212; explicitly give engineers permission to invest time in learning new workflows.</p></li></ol><p>He says the biggest challenge isn&#8217;t technical but cultural, and as a manager you need to navigate this through good conversations, plus implementing the steps above.</p><p>Many engineers also cite lack of time as the primary barrier to adopting AI tools, creating a tension between delivery pressure and the learning required for long-term productivity gains &#128071;</p><blockquote><p><em>&#8220;The number one reason folks have said that they haven&#8217;t really got up to speed with the tools is they just feel like they don&#8217;t have time. So we&#8217;ve tried to make very clear to people and their managers that this is important. You can take time.&#8221;</em></p></blockquote><p>Here is the full interview with Darragh:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f137a7e0-a153-4878-b997-19e9ea53d3ac&quot;,&quot;caption&quot;:&quot;Listen now:&quot;,&quot;cta&quot;:&quot;Watch now&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The AI Transformation at Intercom &#129302; &#8212; with Darragh Curran&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000}],&quot;post_date&quot;:&quot;2025-10-24T07:00:47.915Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/youtube/w_728,c_limit/UaBR4ou7XQg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://refactoring.fm/p/the-ai-transformation-at-intercom&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:&quot;f2762462-604d-41e9-9ceb-b707b8e8f6d1&quot;,&quot;id&quot;:176812915,&quot;type&quot;:&quot;podcast&quot;,&quot;reaction_count&quot;:10,&quot;comment_count&quot;:0,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.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>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Productivity placebo, hard work, and strategic quitting]]></title><description><![CDATA[Monday Ideas &#8212; Edition #194]]></description><link>https://refactoring.fm/p/productivity-placebo-hard-work-and</link><guid isPermaLink="false">https://refactoring.fm/p/productivity-placebo-hard-work-and</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 09 Feb 2026 08:01:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/p8HAJh52DaE" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>!</em></p><div><hr></div><h2>&#127903;&#65039; Scale AI coding without sacrificing quality</h2><p>On February 23rd I will <strong><a href="https://codescene.com/resources/webinars/scale-ai-coding-safely-without-sacrificing-quality">join a webinar</a></strong> with <a href="https://refactoring.fm/p/technical-debt-as-crime-scene-with?utm_source=publication-search">Adam Tornhill</a> and our friends at <a href="https://codescene.com/resources/webinars/scale-ai-coding-safely-without-sacrificing-quality">CodeScene</a> about how to use AI to <em>improve</em> your code quality &#8212; instead of making it worse!</p><p>I am a big fan of <a href="https://codescene.com/resources/webinars/scale-ai-coding-safely-without-sacrificing-quality">CodeScene</a> and all of their recent work, including their <a href="https://codescene.io/docs/developer-tools/mcp/codescene-mcp-server.html">MCP server</a> and their <a href="https://codescene.com/hubfs/whitepapers/AI-Ready-Code-How-Code-Health-Determines-AI-Performance.pdf">code health whitepaper</a>.</p><p>If you want to hang out and have a chat there, you can RSVP for free below! &#128071;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codescene.com/resources/webinars/scale-ai-coding-safely-without-sacrificing-quality&quot;,&quot;text&quot;:&quot;Join our webinar on AI code quality&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codescene.com/resources/webinars/scale-ai-coding-safely-without-sacrificing-quality"><span>Join our webinar on AI code quality</span></a></p><div><hr></div><h2>1) &#128138; Beware AI productivity &#8220;placebo&#8221;</h2><p>Research on productivity is tricky, because most data is just&#8230; self-reported.</p><p>The way we usually investigate AI&#8217;s impact is by asking developers how they <em>feel</em> about it &#8212; and engineers are generally satisfied. However, we also know that <strong><a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/">the only time</a></strong> we tried to measure productivity using proper control groups, developers <em>thought</em> they were more productive, while they actually were not.</p><p>In other words, it&#8217;s <strong>productivity placebo</strong>: AI triggers the <em>feeling</em> of progress without guaranteeing real output.</p><p>Has it ever happened to you to get into a multi-hour bug-fixing rabbit hole, try everything and nothing works, you give up for the day, and then the morning after you fix it in 5 minutes?</p><p>This happens because relentless bug fixing is like a <strong>fake state of flow</strong>. You enter a workflow with quick feedback loops (change something &#8594; see if it works), and it feels cognitively easy to sustain, so you can go on for hours. But it feels easy precisely because you are not truly engaged &#8212; you are working on autopilot, and unsurprisingly, not making real progress.</p><p>There is a way to work with AI that feels exactly like this. You feel productive, but you are not.</p><p>So how do you escape it? To me it&#8217;s about good work hygiene:</p><ul><li><p><strong>Stay engaged</strong> &#8212; try to understand what the AI is doing, provide feedback, and steer the output actively.</p></li><li><p><strong>Do not multi-task</strong> &#8212; pick one of two extremes. Either set things up so the agent is autonomous for a <em>long</em> time, allowing you to meaningfully do something else (e.g. a meeting), <em>or</em> move in short iterations that keep you focused on the task without wandering to email, browser, or Slack. Frequent context switch makes us stupid and less capable of intercepting AI mistakes.</p></li><li><p><strong>Make frequent pauses</strong> &#8212; get up for 5 mins every 30 (pomodoro-style), have a quick walk, and get back to work. Avoid your own <em>brain rot</em> by forcing yourself to <em>reset</em> frequently.</p></li></ul><p>I covered this recently in this article &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:179796144,&quot;url&quot;:&quot;https://refactoring.fm/p/the-ai-productivity-paradox&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;The AI Productivity Paradox &#127939;&#8205;&#9794;&#65039;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here! This is a weekly essay from Refactoring! To access all our articles, library, and community, subscribe to the full version:&quot;,&quot;date&quot;:&quot;2025-11-26T08:38:21.704Z&quot;,&quot;like_count&quot;:40,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/the-ai-productivity-paradox?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">The AI Productivity Paradox &#127939;&#8205;&#9794;&#65039;</div></div><div class="embedded-post-body">Hey, Luca here! This is a weekly essay from Refactoring! To access all our articles, library, and community, subscribe to the full version&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">6 months ago &#183; 40 likes &#183; Luca Rossi</div></a></div><div><hr></div><h2>2) &#127947;&#65039;&#8205;&#9794;&#65039; Hard work is a lagging indicator</h2><p>There is a big feud in tech over hard work. It&#8217;s between teams who work long hours / 996 / hustle all the time, vs those who focus on a more measured approach, in the style of &#8220;slow is smooth, smooth is fast&#8221;.</p><p>It has become a culture war &#8212; people attach part of their identities to one camp, and often disdain the other.</p><p>I believe this whole conversation is based on a fallacy.</p><p>In my experience, <strong>motivated people </strong><em><strong>naturally</strong></em><strong> work hard</strong> &#8212; because they care, not because you told them so. When you hire talented people and give them the right amount of direction and agency, the result is... they work hard!</p><p>Working hard feels <em>fun</em> when people do so because they enjoy pushing themselves. It&#8217;s not fun when they do it <strong>out of fear</strong>, or to seek approval. That&#8217;s where teams crash and burn.</p><p>So the question is: have you created the conditions where people <em>want</em> to work hard? Or do they do it because they feel <strong>they need to</strong>?</p><p>Hard work works best as a <em>lagging indicator</em> &#8212; the natural output of a healthy, high-agency environment. You can&#8217;t force it <em>upstream</em>, but you can create the conditions for it to happen <em>downstream</em>.</p><p>I talked about this (and a lot more) with Greg Foster, co-founder of Graphite, in this recent piece &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:180384931,&quot;url&quot;:&quot;https://refactoring.fm/p/how-graphite-ships&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How Graphite Ships &#128674;&quot;,&quot;truncated_body_text&quot;:&quot;It&#8217;s a weird time for engineering teams.&quot;,&quot;date&quot;:&quot;2025-12-03T08:02:10.246Z&quot;,&quot;like_count&quot;:17,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}},{&quot;id&quot;:7119536,&quot;name&quot;:&quot;Greg Foster&quot;,&quot;handle&quot;:&quot;gmfoster&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2eb87cb-299b-478a-8378-d1b6de848cf0_709x709.png&quot;,&quot;bio&quot;:&quot;Cofounder of graphite.dev - building the future of code review&quot;,&quot;profile_set_up_at&quot;:&quot;2022-07-28T12:10:27.981Z&quot;,&quot;reader_installed_at&quot;:&quot;2023-06-11T22:49:23.941Z&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:1019304,&quot;primaryPublicationName&quot;:&quot;Small Diffs - by Greg Foster&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://smalldiffs.gmfoster.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://smalldiffs.gmfoster.com/subscribe?&quot;}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-graphite-ships?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How Graphite Ships &#128674;</div></div><div class="embedded-post-body">It&#8217;s a weird time for engineering teams&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">5 months ago &#183; 17 likes &#183; Luca Rossi and Greg Foster</div></a></div><div><hr></div><h2>3) &#127897;&#65039; Strategic quitting</h2><p>In August <a href="https://refactoring.fm/p/thinking-in-bets-for-engineers-with?utm_source=publication-search">I interviewed Annie Duke</a> on the podcast. Annie is one of the world&#8217;s top experts in decision-making and we talked about it at length during the interview.</p><p>When making decisions under uncertainty, Annie argued that one of the most important skills is <strong>quitting</strong> &#8212; yet it&#8217;s severely undervalued due to cultural associations with failure.</p><p>The core logic is simple: since we&#8217;re neither omniscient nor have time machines, we&#8217;ll always learn new information after making decisions. Sometimes this information suggests we should change course.</p><blockquote><p><em><strong>&#8220;What more important skill could you have than the ability to quit what you&#8217;re doing? You make a decision under conditions of uncertainty, afterwards you find out new stuff... and then you get to stop.&#8221;</strong></em></p></blockquote><p>People don&#8217;t quit when they should because they:</p><ul><li><p>Associate quitting with failure and lack of character</p></li><li><p>Fear judgment from others (though research shows people actually respect good quitting)</p></li><li><p>Fall victim to sunk cost fallacy</p></li></ul><p>Annie uses the extreme example of Shavano Keith, who broke her leg at mile 8 of the London Marathon but continued running for 18 more miles despite medical advice to stop.</p><p>You can&#8217;t <em>think</em> your way out of cognitive biases, but you can create processes that help. Two of the most effective ideas are:</p><ul><li><p>&#128203; <strong>Kill criteria</strong> &#8212; define in advance what signals would indicate it&#8217;s time to quit.</p></li><li><p>&#128101; <strong>Accountability partners</strong> &#8212; have others help enforce your kill criteria.</p></li></ul><p>Annie explains that there&#8217;s a huge psychological difference between encountering a warning signal on the fly versus having pre-committed to act on that signal. The signal is identical, but your response will be dramatically different.</p><p>Here is the full interview with Annie:</p><div id="youtube2-p8HAJh52DaE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;p8HAJh52DaE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/p8HAJh52DaE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/5cfb2HDKIZ3xEfCWPpuj0c?si=Zt_92deCTkWpIo5ph1iouQ">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/thinking-in-bets-for-engineers-with?utm_source=publication-search">Substack</a></strong></p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[CLI tools, bringing problems, the forest, and the desert 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #193]]></description><link>https://refactoring.fm/p/cli-tools-bringing-problems-the-forest</link><guid isPermaLink="false">https://refactoring.fm/p/cli-tools-bringing-problems-the-forest</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 02 Feb 2026 08:01:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aBop!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><h2>&#10060; Stop doing work about work</h2><p><em>This idea is brought to you by <a href="https://runsteady.com/guide/?utm_source=newsletter&amp;utm_campaign=refactoring_2_2_26">Steady</a>!</em></p><p>55% of your engineering team&#8217;s time is spent doing busywork&#8212;chasing status updates, hunting for information and managing the mechanics of work. </p><p>All that <strong>work about work</strong> pulls devs out of flow, threatening focus, productivity and velocity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://runsteady.com/guide/?utm_source=newsletter&amp;utm_campaign=refactoring_2_2_26" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kcQd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png 424w, https://substackcdn.com/image/fetch/$s_!kcQd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png 848w, https://substackcdn.com/image/fetch/$s_!kcQd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png 1272w, https://substackcdn.com/image/fetch/$s_!kcQd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kcQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png" width="702" height="285.9107142857143" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:593,&quot;width&quot;:1456,&quot;resizeWidth&quot;:702,&quot;bytes&quot;:557793,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://runsteady.com/guide/?utm_source=newsletter&amp;utm_campaign=refactoring_2_2_26&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/186182323?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.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_!kcQd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png 424w, https://substackcdn.com/image/fetch/$s_!kcQd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png 848w, https://substackcdn.com/image/fetch/$s_!kcQd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.png 1272w, https://substackcdn.com/image/fetch/$s_!kcQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c997aa-cd6d-4965-a637-8fa7714a83f2_1546x630.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 guys at Steady, who I have known for a long time (here is <a href="https://refactoring.fm/p/continuous-coordination-with-henry">my interview with Henry</a>!) have  <a href="https://runsteady.com/guide/?utm_source=newsletter&amp;utm_campaign=refactoring_2_2_26">created an awesome guide</a> for what they call <strong>continuous coordination</strong>:</p><ul><li><p>The proven system that gives teams time back</p></li><li><p>How to increase autonomy and accountability</p></li><li><p>Advanced techniques for reducing coordination overhead</p></li></ul><p>Check it out below &#128071;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://runsteady.com/guide/?utm_source=newsletter&amp;utm_campaign=refactoring_2_2_26&quot;,&quot;text&quot;:&quot;Get the free guide&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://runsteady.com/guide/?utm_source=newsletter&amp;utm_campaign=refactoring_2_2_26"><span>Get the free guide</span></a></p><div><hr></div><h2>1) &#128421;&#65039; From IDEs to CLI tools</h2><p>When you open up Cursor, or VS Code with Copilot, it feels like a normal IDE with AI bolted on top.</p><p>This is obvious from the UI: 70% of the screen is traditional IDE real estate&#8212;editor, file sidebar, terminal&#8212;while the AI chat gets a column on the right.</p><p>Sure, you can tweak the layout, but the <em>karma</em> of the tool remains that of an IDE.</p><p>Why is this a problem? When I&#8217;m not <em>writing</em> code, most of this interface is noise&#8212;context I don&#8217;t need, at the expense of context I <em>do</em> need: what is the AI doing? What commands is it running? What&#8217;s the plan?</p><p>These two types of context are fundamentally different. I&#8217;d call the first <strong>engineer context</strong>, and the second <strong>manager context</strong>.</p><p>So, if I had to summarize the difference between Cursor and Claude Code in one line:</p><ul><li><p><strong>Cursor treats me as an IC</strong></p></li><li><p><strong>Claude Code treats me as a manager</strong></p></li></ul><p>Which leads me to this slide you may have seen on Linkedin, which made me laugh &#8212; but also reflect.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DJ0Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg" width="1398" height="884" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:884,&quot;width&quot;:1398,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96690,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/186182323?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DJ0Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0e1763-fa92-4eb6-ace6-fb4028595566_1398x884.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This <em>is</em> vibe coding via humans &#8212; also known as management. In the picture it&#8217;s not great management maybe, but management nonetheless.</p><p>In fact, the developers I know who are having the most success with AI are, first and foremost, <strong>good managers of themselves</strong>.</p><p>Now, I think CLI tools make this transition easier because they spare you from the cognitive pull of the code itself. You can still jump into your IDE whenever you need to, but the terminal keeps focus on the sequence of actions and instructions.</p><p>In other words, it defaults to <em>manager mode</em>, while IDEs default to <em>engineer mode</em>.</p><p>I have written more about this shift in this recent article &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:175960120,&quot;url&quot;:&quot;https://refactoring.fm/p/developers-are-replacing-ides-with&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;Engineers are replacing IDEs with terminals &#128421;&#65039;&quot;,&quot;truncated_body_text&quot;:&quot;Six months ago, every developer I knew who was serious about AI coding used an IDE &#8212; like Cursor or Windsurf. I know because I asked them &#8212; which is part of my fiduciary duty towards readers: I ask people how they work, so I can later write about it.&quot;,&quot;date&quot;:&quot;2025-10-15T07:00:51.454Z&quot;,&quot;like_count&quot;:43,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/developers-are-replacing-ides-with?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Engineers are replacing IDEs with terminals &#128421;&#65039;</div></div><div class="embedded-post-body">Six months ago, every developer I knew who was serious about AI coding used an IDE &#8212; like Cursor or Windsurf. I know because I asked them &#8212; which is part of my fiduciary duty towards readers: I ask people how they work, so I can later write about it&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">7 months ago &#183; 43 likes &#183; 1 comment &#183; Luca Rossi</div></a></div><div><hr></div><h2>2) &#128296; Bring me solutions&#8230; but also problems!</h2><p>I keep getting back to <a href="https://refactoring.fm/p/the-engineer-executive-translation">this article</a> that Anna Shipman published on Refactoring at the end of last year. It&#8217;s full of small gems that I think about often.</p><p>One of them is about the <em>clich&#233;</em> that <strong>execs want solutions</strong>, not problems. Like many cliches there is truth in it, but also nuance.</p><p>As an exec, I would much rather know about problems than <em>never</em> find out because you didn&#8217;t want to tell me without a solution, so this shouldn&#8217;t become a reason not to flag areas where your leaders should be concerned.</p><p>However, you do not want to pass all decisions up to your boss either.</p><p>You probably have great ideas about how to solve issues you see, and generating good solutions is a skill that definitely improves with practice. If you want your proposal to land, it needs to cover not just &#8220;we should solve this problem&#8221; but &#8220;and here&#8217;s one way we could do that&#8221;. It&#8217;s also useful to include some options you considered and discarded.</p><p>Your initial proposed solutions may not align with business value, but you will get feedback and learn and improve. If you never try, you will never get better and you will find you are senior and still making similar suggestions that do not get adopted.</p><p>You can find the full (awesome) piece here:</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:178065441,&quot;url&quot;:&quot;https://refactoring.fm/p/the-engineer-executive-translation&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;The Engineer &#8594; Executive Translation Layer &#128256;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here! Today we are hosting a fantastic new article by Anna Shipman, CTO at Kooth.&quot;,&quot;date&quot;:&quot;2025-11-12T08:01:00.523Z&quot;,&quot;like_count&quot;:27,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}},{&quot;id&quot;:411731536,&quot;name&quot;:&quot;Anna Shipman&quot;,&quot;handle&quot;:&quot;08740annashipman&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c41f7b58-210b-4e51-9ee9-eed131f347c5_3259x3259.jpeg&quot;,&quot;bio&quot;:&quot;Strategic technology leader. CTO at Kooth. Previously Technical Director at the Financial Times, Technical Architect at GDS. Love Vim, cryptic crosswords and pool. I speak at conferences, and write about strategy and tech leadership on my blog, JFDI.&quot;,&quot;profile_set_up_at&quot;:null,&quot;reader_installed_at&quot;:null,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/the-engineer-executive-translation?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">The Engineer &#8594; Executive Translation Layer &#128256;</div></div><div class="embedded-post-body">Hey, Luca here! Today we are hosting a fantastic new article by Anna Shipman, CTO at Kooth&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">6 months ago &#183; 27 likes &#183; Luca Rossi and Anna Shipman</div></a></div><div><hr></div><h2>3) &#127897;&#65039; The Forest &amp; The Desert</h2><p>I keep using this analogy all the time. It was created <a href="https://tidyfirst.substack.com/p/forest-and-desert">by Kent Beck</a> and it explains how software teams often live different realities.</p><p>Teams that work in the <strong>desert</strong> have strict processes and limited resources. There is no room for error, and everything feels unsafe and ready to kill you.</p><p>In the <strong>forest</strong>, instead, things just work. There is collaboration, flexibility, and things are built in small, safe steps. People share a clear goal and feel great about their work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aBop!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aBop!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp 424w, https://substackcdn.com/image/fetch/$s_!aBop!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp 848w, https://substackcdn.com/image/fetch/$s_!aBop!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp 1272w, https://substackcdn.com/image/fetch/$s_!aBop!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aBop!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp" width="452" height="452" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:452,&quot;bytes&quot;:941300,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/186182323?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aBop!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp 424w, https://substackcdn.com/image/fetch/$s_!aBop!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp 848w, https://substackcdn.com/image/fetch/$s_!aBop!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp 1272w, https://substackcdn.com/image/fetch/$s_!aBop!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8351a146-ed1e-46d1-a0f8-825eb6343eca_1456x1456.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I also talked about this with <a href="https://refactoring.fm/p/growing-the-development-forest-with?utm_source=publication-search">Martin Fowler on the podcast</a> last year, and he said something that stuck with me:</p><blockquote><p><em><strong>&#8220;It&#8217;s hard to communicate what you can do in the forest, and how fast you can move, to people who&#8217;ve never lived in that world.&#8221;</strong></em></p></blockquote><p>These worlds are not only different &#8212; each one hardly understands the other, which is why practices from one camp are often met with resistance and skepticism from the other camp.</p><p>Here is the full interview with Martin:</p><div id="youtube2-lurbDAEU0KM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;lurbDAEU0KM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/lurbDAEU0KM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/0oVNX0NzTNAsI6bgqoLWZp?si=f39c1ffa617e4cea">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/growing-the-development-forest-with?utm_source=publication-search">Substack</a></strong></p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Specialists, AI docs, and neuroleadership 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #192]]></description><link>https://refactoring.fm/p/specialists-ai-docs-and-neuroleadership</link><guid isPermaLink="false">https://refactoring.fm/p/specialists-ai-docs-and-neuroleadership</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 26 Jan 2026 09:46:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CagC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><h2>Join our yearly industry report and win $150! &#128499;&#65039;</h2><p>Once or twice a year we run broad surveys to investigate the <em>state</em> of some important part of software engineering. We have done that in the past with <a href="https://refactoring.fm/p/the-state-of-ai-adoption-in-engineering">AI adoption</a>, <a href="https://refactoring.fm/p/the-path-to-engineering-maturity?utm_source=publication-search">engineering maturity</a>, and more.</p><p>This time we want to understand what the <strong>development process</strong> looks like for teams today! Many trends have been steering it for the past few years (AI, product engineering, devex, and more), so we would like to report an updated picture for 2026.</p><p>You can answer the survey below, it should take only <strong>~7 minutes</strong> &#128071;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://form.typeform.com/to/k7B0lZ2M&quot;,&quot;text&quot;:&quot;Answer our survey and win $150!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://form.typeform.com/to/k7B0lZ2M"><span>Answer our survey and win $150!</span></a></p><p>The questions will also <strong>make you reflect</strong> on your own process, so there is utility in that! And, as always, respondents have the chance to win one of 20 Refactoring memberships (<strong>$150 value</strong>).</p><div><hr></div><h2>1) &#127912; Generalists for product + specialists for platform</h2><p>I have been thinking long and hard about the role of <em>generalist</em> and <em>specialist</em> engineers in modern teams.</p><p>When you look at what the best teams do, there is a recurring pattern:</p><ul><li><p><strong>&#128241; Generalists work on product</strong></p></li><li><p><strong>&#129521; Specialists work on platform</strong></p></li></ul><p>The best way to use e.g. a senior frontend engineer&#8217;s skills is not to build yet another form, but to build the component system that empowers others. That&#8217;s 1) a higher-leverage use of their time, and 2) more engaging and rewarding work for them.</p><p>So generalists scale throughput, while specialists scale quality.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CagC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CagC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CagC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CagC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CagC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CagC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg" width="1456" height="634" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:634,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:71907,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/185399228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CagC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CagC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CagC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CagC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf357b71-920e-4d15-9be3-1bcf616f55dc_1456x634.jpeg 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">That&#8217;s how you go fast, at scale, without compromising quality, and with everybody doing work that is challenging for them.</figcaption></figure></div><p>You might call one &#8220;product engineering&#8221; and the other &#8220;platform engineering&#8221;, but the two are closer than they may seem. Good platform engineering suspiciously looks like product engineering, but where your customers are other engineers.</p><p>Platform engineers do pretty much the equivalent of what the best product engineers do: they design products (tools), build things that customers want, dogfood them, and ship things from top to bottom.</p><p>I wrote more about this in this recent take on what a great team looks like today &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:176641207,&quot;url&quot;:&quot;https://refactoring.fm/p/what-does-an-elite-team-look-like&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;What does an elite team look like today? &#129351;&quot;,&quot;truncated_body_text&quot;:&quot;Over the past few weeks I have been interviewing several Refactoring community members. It&#8217;s mostly people who are responsible for engineering teams &#8212; EMs, tech leads, but also VPs of small to mid-size orgs.&quot;,&quot;date&quot;:&quot;2025-10-22T07:02:14.157Z&quot;,&quot;like_count&quot;:31,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/what-does-an-elite-team-look-like?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">What does an elite team look like today? &#129351;</div></div><div class="embedded-post-body">Over the past few weeks I have been interviewing several Refactoring community members. It&#8217;s mostly people who are responsible for engineering teams &#8212; EMs, tech leads, but also VPs of small to mid-size orgs&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">7 months ago &#183; 31 likes &#183; Luca Rossi</div></a></div><div><hr></div><h2>&#128203; AI docs cheatsheet</h2><p>You see everywhere that AI changes documentation, what&#8217;s worth documenting, and so on. But how? Here is my cheat sheet:</p><ul><li><p><strong>Provide business context</strong> &#8212; As humans, we often outperform AI only because we have more context into specific business nuances. These would be tedious to include in individual prompts, so provide them upfront. Hayden Miyamoto pioneered this with <a href="https://www.youtube.com/watch?v=_K_F_icxtrI&amp;utm_content=buffer65050&amp;utm_medium=social&amp;utm_source=bufferapp.com&amp;utm_campaign=buffer">the Master Prompt method</a>: a long one-pager where AI can learn everything about your company, team, and goals.</p></li><li><p><strong>Capture decisions</strong> &#8212; The most valuable human docs aren&#8217;t descriptions anymore (have they ever been?!), they are <em>decisions</em>. E.g. <a href="https://adr.github.io/">ADRs</a> (Architecture Decision Records) work like append-only logs: you don&#8217;t update them when things change, you write a new decision that supersedes the old one. AI can trace this evolution and understand the current state, history, and the <em>why</em> behind decisions.</p></li><li><p><strong>Keep docs simple and close to the action</strong> &#8212; Markdown wins over complex formats. Docs in repos get the double benefit of being in the same context space and easy to update with code.</p></li><li><p><strong>Automate the </strong><em><strong>How</strong></em> &#8212; Trust AI to own the implementation layer: code comments, API docs, runbooks. Enforce updating these at every commit for disciplined doc history.</p></li><li><p><strong>Connect AI to all your tools</strong> &#8212; Finally, knowledge is scattered across Linear, Slack, repos, and wikis. Use AI as a horizontal layer to navigate it all.</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_!4Ip-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Ip-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png 424w, https://substackcdn.com/image/fetch/$s_!4Ip-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png 848w, https://substackcdn.com/image/fetch/$s_!4Ip-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png 1272w, https://substackcdn.com/image/fetch/$s_!4Ip-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Ip-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png" width="1456" height="743" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:743,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:225056,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/185399228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.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_!4Ip-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png 424w, https://substackcdn.com/image/fetch/$s_!4Ip-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png 848w, https://substackcdn.com/image/fetch/$s_!4Ip-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png 1272w, https://substackcdn.com/image/fetch/$s_!4Ip-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc827af-3377-4bc3-83bc-3f7f309636f9_1682x858.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I wrote a full guide on this here &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:166402811,&quot;url&quot;:&quot;https://refactoring.fm/p/how-engineering-docs-change-with&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How AI is Changing Engineering Docs &#128209;&quot;,&quot;truncated_body_text&quot;:&quot;Here's a thought experiment: tomorrow morning, an AI wakes up with perfect knowledge of every programming language, framework, and design pattern ever created. It can read any codebase, understand any system, and generate any documentation you ask for.&quot;,&quot;date&quot;:&quot;2025-06-23T06:02:24.531Z&quot;,&quot;like_count&quot;:73,&quot;comment_count&quot;:2,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-engineering-docs-change-with?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How AI is Changing Engineering Docs &#128209;</div></div><div class="embedded-post-body">Here's a thought experiment: tomorrow morning, an AI wakes up with perfect knowledge of every programming language, framework, and design pattern ever created. It can read any codebase, understand any system, and generate any documentation you ask for&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 73 likes &#183; 2 comments &#183; Luca Rossi</div></a></div><div><hr></div><h2>3) &#127897;&#65039; The SCARF Model</h2><p>Last October <a href="https://refactoring.fm/p/building-psychologically-safe-teams">I interviewed Meg Adams</a> on the podcast, and we talked about <strong>Neuroleadership</strong>.</p><p>Neuroleadership applies neuroscience research to leadership contexts, focusing on how brain structure and nervous system function impact thinking, feeling, and decision-making.</p><p>One of the ideas that stuck the most with me was the <strong>SCARF model</strong>, which represents five domains that our brains continuously evaluate in social situations:</p><ul><li><p><strong>&#127942; Status</strong> &#8212; how important we feel compared to others</p></li><li><p><strong>&#128302; Certainty</strong> &#8212; how predictable the future feels</p></li><li><p><strong>&#127918; Autonomy</strong> &#8212; our sense of control over events and choices</p></li><li><p><strong>&#129309; Relatedness</strong> &#8212; feeling of connection and safety with others</p></li><li><p><strong>&#9878;&#65039; Fairness</strong> &#8212; evaluation of whether exchanges and decisions are just</p></li></ul><blockquote><p><em><strong>&#8220;Our brains respond to social situations much like physical threat and reward. Think of how you might feel if I was holding a knife versus if I was handing you a plate of warm cookies that I made just for you.&#8221;</strong></em></p></blockquote><p>When these domains feel supported, our brain&#8217;s reward circuitry activates &#8212; we feel collaborative, open to change, and perform at our best. When threatened, the threat circuitry kicks in instead, limiting resources to planning and reasoning while scanning for more threats.</p><p>For engineering teams specifically, <strong>certainty</strong> and <strong>autonomy</strong> tend to be the most frequently triggered. Engineers often struggle with moving goalposts and lack of control over their time and work approach.</p><p>Here is the full interview with Meg:</p><div id="youtube2-_vgx8TAlgbk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_vgx8TAlgbk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/_vgx8TAlgbk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/0sQx4bkQDAFjgagAVIckcd?si=a6aab1418737489e">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/building-psychologically-safe-teams">Substack</a></strong></p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Context, capabilities, and tech hubs 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #191]]></description><link>https://refactoring.fm/p/context-capabilities-and-tech-hubs</link><guid isPermaLink="false">https://refactoring.fm/p/context-capabilities-and-tech-hubs</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 19 Jan 2026 08:00:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jYkf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><h2>&#128300; AI code review with the judgment of your best engineer</h2><p><em>This idea is brought to you by today&#8217;s sponsor, <a href="https://getunblocked.com/code-review/?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=codereview&amp;utm_content=judgment">Unblocked</a>!</em></p><p>This week I am happy to promote <a href="https://getunblocked.com/code-review/?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=codereview&amp;utm_content=judgment">Unblocked</a>, which I am a big fan of, and whose team I have been in touch with for a long time.</p><p>Unblocked is the only AI code review tool that not only has a deep understanding of your codebase &#8212; it also knows past decisions and internal knowledge, giving you <strong>high-value feedback</strong> shaped by how your system actually works.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getunblocked.com/code-review/?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=codereview&amp;utm_content=judgment&quot;,&quot;text&quot;:&quot;Try Unblocked for free&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://getunblocked.com/code-review/?utm_source=refactoring&amp;utm_medium=email&amp;utm_campaign=codereview&amp;utm_content=judgment"><span>Try Unblocked for free</span></a></p><div><hr></div><h2>2) &#128203; Task context vs shared context</h2><p>There is consensus today that AI works well when it has the right context. This spawned the whole <strong>context engineering</strong> conversation &#8212; RAG, MCPs, context windows, and so on.</p><p>But before we design <em>systems</em> around it, the big question to me is: what does <em>good context</em> look like? Not just for AI, for humans too.</p><p>When an engineer builds a new feature, they obviously need product specs, UI designs, and technical requirements. But imagine they&#8217;re not on your team&#8212;they&#8217;re a contractor you&#8217;ve just brought in (which is closer to what an AI is). Suddenly they need much more: Do you require tests? How do you instrument features? What about feature flags? Naming conventions?</p><p>A useful mental model separates two types of context:</p><ul><li><p><strong>&#9745;&#65039; Task-specific instructions</strong> &#8212; the <em>what</em> needs to be done</p></li><li><p>&#128260; <strong>Procedures and principles</strong> &#8212; the <em>how</em> it should be done</p></li></ul><p>In any team, with or without AI, a good north star is continuously <strong>shrinking the what and growing the how</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jYkf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jYkf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png 424w, https://substackcdn.com/image/fetch/$s_!jYkf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png 848w, https://substackcdn.com/image/fetch/$s_!jYkf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!jYkf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jYkf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png" width="1456" height="497" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:497,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:455277,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/184642054?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.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_!jYkf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png 424w, https://substackcdn.com/image/fetch/$s_!jYkf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png 848w, https://substackcdn.com/image/fetch/$s_!jYkf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!jYkf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443c5f44-f699-4e17-9e5b-79bfa46982ea_3142x1072.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You don&#8217;t want to say &#8220;write tests&#8221; in every prompt or ticket&#8212;you want it to be standard practice that everyone (including AI) already knows.</p><p>So the best context system is one where developers succeed with <strong>minimal explicit instructions</strong>.</p><p>To improve on this you need to <strong>focus on inputs, not outputs</strong>. When something turns out wrong, ask: was it sloppiness, or was context missing? In my experience, it&#8217;s usually the latter.</p><p>So, good context engineering isn&#8217;t (just) about defining the right context&#8212;it&#8217;s about nurturing the <strong>feedback loop</strong> that improves it over time. For every failure, fix the output, but also go back and improve the inputs.</p><p>We wrote a full guide on context engineering late last year &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:177872864,&quot;url&quot;:&quot;https://refactoring.fm/p/managing-context-for-ai-coding&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How to Manage Context in AI Coding &#128209;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here! This is a &#10024; monthly free essay &#10024; from Refactoring! To access all our articles, library, and community, subscribe to the full version:&quot;,&quot;date&quot;:&quot;2025-11-05T08:01:35.835Z&quot;,&quot;like_count&quot;:55,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/managing-context-for-ai-coding?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How to Manage Context in AI Coding &#128209;</div></div><div class="embedded-post-body">Hey, Luca here! This is a &#10024; monthly free essay &#10024; from Refactoring! To access all our articles, library, and community, subscribe to the full version&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">6 months ago &#183; 55 likes &#183; 1 comment &#183; Luca Rossi</div></a></div><div><hr></div><h2>3) &#129521; Technical capabilities from <a href="https://refactoring.fm/p/accelerate">Accelerate</a></h2><p>These days I looked back at my notes on <a href="https://refactoring.fm/p/accelerate">Accelerate</a>, and went through the <em>technical capabilities</em> that the research proved to have the biggest impact on delivery performance.</p><p>It&#8217;s such an incredible <em>greatest hits</em> of practices. You can literally hang this on a wall and look at it every so often to think about how you are doing:</p><ol><li><p><strong>Version Control</strong> &#8212; keep <em>all</em> production artifacts (code, configs, infrastructure) in version control for reproducibility and traceability.</p></li><li><p><strong>Automated Testing</strong> &#8212; reliable tests (unit, integration, acceptance) give teams confidence to deploy frequently, correlated with lower failure rates and faster recovery. See our <strong><a href="https://refactoring.fm/how-to-test-software-in-2023">full guide on testing</a></strong>.</p></li><li><p><strong>Test Data Management</strong> &#8212; the most common bottleneck in reliable testing is having good test data, which requires intentional investment.</p></li><li><p><strong>Continuous Integration (CI)</strong> &#8212; developers merge work into a central repository, triggering automated builds and tests to catch integration issues early.</p></li><li><p><strong>Trunk-Based Development</strong> &#8212; developers work in short-lived branches and integrate at least daily, avoiding the integration hell of long-lived feature branches.</p></li><li><p><strong>Continuous Delivery</strong> &#8212; main branch code is <em>always deployable</em>. It passes CI, gets deployed to staging, and awaits manual approval for production.</p></li><li><p><strong>Continuous Deployment</strong> &#8212; every change passing tests gets <a href="https://refactoring.fm/p/do-you-need-staging">automatically deployed to production</a>. This is the aspirational goal. Note: deploying doesn&#8217;t mean <em>releasing</em>&#8212;decouple these with techniques like <a href="https://refactoring.fm/i/159691291/canary">canary releases</a>.</p></li><li><p><strong>Shift Left on Security</strong> &#8212; integrate security early by automating checks in the delivery pipeline. More <a href="https://refactoring.fm/p/how-to-write-secure-code">here</a>.</p></li><li><p><strong>Loosely Coupled Architecture</strong> &#8212; components can change and deploy independently, reducing coordination and blast radius. See <a href="https://refactoring.fm/p/monoliths-vs-microservices">monoliths vs microservices</a>.</p></li><li><p><strong>Empowered Teams</strong> &#8212; teams have autonomy to design, build, test, and deploy without excessive dependencies. As per <a href="https://refactoring.fm/p/team-topologies">Team Topologies</a>.</p></li></ol><p>Here is our full review and summary of Accelerate:</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:161296640,&quot;url&quot;:&quot;https://refactoring.fm/p/accelerate&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;Accelerate &#128215;&quot;,&quot;truncated_body_text&quot;:&quot;Every two months we read a book in our community book club, read it on our own, and review it together in a lively online event.&quot;,&quot;date&quot;:&quot;2025-04-16T06:00:49.854Z&quot;,&quot;like_count&quot;:37,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/accelerate?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Accelerate &#128215;</div></div><div class="embedded-post-body">Every two months we read a book in our community book club, read it on our own, and review it together in a lively online event&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 37 likes &#183; Luca Rossi</div></a></div><div><hr></div><h2>4) &#127897;&#65039; Sicily vs tech hubs</h2><p>In April of this year <a href="https://refactoring.fm/p/open-source-complexity-and-ai-coding">I interviewed Salvatore &#8220;Antirez&#8221; Sanfilippo</a>, creator of Redis and of a <em>wealth</em> of open source software.</p><p>It is safe to say Salvatore is one of the most gifted engineers <em>in the world</em>, and he made a deliberate choice to build his career from Sicily (Italy) rather than relocating to tech hubs like Silicon Valley.</p><p>In our chat, he explained that while being in tech centers might lead to greater wealth, it&#8217;s not necessary for engineering excellence:</p><blockquote><p><strong>&#8221;To be a successful software engineer, you can be everywhere, but to make a lot of money, it is much better to stay in the center of things.</strong></p><p><strong>For me, it was not a problem of performance, but how much money you want to make.&#8221;</strong></p></blockquote><p>He also believes that once you reach a comfortable income threshold (he mentions around &#8364;4,000/month in Italy), additional money contributes minimally to wellbeing.</p><p>So, his decision to remain in Sicily was driven by:</p><ul><li><p><strong>Personal values</strong> &#8212; preferring Europe&#8217;s balance of capitalism and social services.</p></li><li><p><strong>Community connections</strong> &#8212; maintaining important relationships in his hometown.</p></li><li><p><strong>Quality of life</strong> &#8212; prioritizing wellbeing over wealth accumulation.</p></li></ul><p>He notes that he&#8217;s seen many young people in the US who &#8220;become rich too fast&#8221; and experience a lack of purpose as a result, reinforcing his comfort with his choices.</p><p>This is one of the interviews I look back to the most often, not just for the <em>tech</em> part, but for the wisdom and general life advice.</p><p>Here is the full interview with Salvatore:</p><div id="youtube2-PlyzvM--xbQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PlyzvM--xbQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PlyzvM--xbQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/54GPfeYSfixDw7TxTeIbNo?si=bdbe9ec29a454bf2">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/open-source-complexity-and-ai-coding">Substack</a></strong></p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[AI skeptics, generalists, and precision vs accuracy 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #190]]></description><link>https://refactoring.fm/p/ai-skeptics-generalists-and-precision</link><guid isPermaLink="false">https://refactoring.fm/p/ai-skeptics-generalists-and-precision</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 12 Jan 2026 08:03:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!u2Zw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a></strong></em></p><div><hr></div><h2>1) &#127897;&#65039; Reward AI skeptics</h2><p>In September <a href="https://refactoring.fm/p/navigating-ai-development-workflows">I interviewed Birgitta B&#246;ckeler</a>, global lead for AI-assisted software delivery at ThoughtWorks. Her full-time work is to figure out how engineering teams can make the most out of AI!</p><p>One idea that I loved is that teams that are having the most success with AI are often approaching it with <em>both</em> <strong>critical thinking</strong> and <strong>ambitious experimentation</strong>.</p><p>In other words, while avoiding the <em>extremes</em> of (blind) faith or (complete) skepticism, they encourage and accept some version of both.</p><p>To Birgitta, the key to <em>progressing</em> our understanding of AI is not to sit in the right camp &#8212; of believers or skeptics &#8212; but rather to constantly <strong>produce high-quality thinking</strong> about it, in any direction.</p><p>If you have skeptics on your team, who are posing legitimate arguments, as opposed to pure prejudice, you should reward them! Someone has to play the devil&#8217;s advocate and that&#8217;s a healthy part of the exploration.</p><div class="pullquote"><p><em>&#8220;Critical thinking, married with some ambition and some excitement about trying things, I think that&#8217;s key. You have to always reward critical thinking, whether it&#8217;s skepticism or optimism.&#8221; &#8212; Birgitta B&#246;ckeler</em></p></div><p>Here is the full interview with Birgitta:</p><div id="youtube2-65ctfy3Rmgc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;65ctfy3Rmgc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/65ctfy3Rmgc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/0V39plqJJC7NdehKY1Kxyd?si=2dd0768452a54f33">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/navigating-ai-development-workflows">Substack</a></strong></p><div><hr></div><h2>2) &#127919; Precision vs Accuracy</h2><p>In June last year I attended the LDX3 conference, where <a href="https://www.patkua.com/">Pat Kua</a> gave a great talk about <strong>delivery management</strong>.</p><p>One of the ideas that stuck with me is the difference between precision and accuracy in software engineering:</p><ul><li><p><strong>Accuracy</strong> &#8212; is about building the <em>right thing</em> (meets business needs).</p></li><li><p><strong>Precision</strong> &#8212; is about building it <em>consistently</em> (on time, good quality, etc).</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_!u2Zw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u2Zw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png 424w, https://substackcdn.com/image/fetch/$s_!u2Zw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png 848w, https://substackcdn.com/image/fetch/$s_!u2Zw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png 1272w, https://substackcdn.com/image/fetch/$s_!u2Zw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u2Zw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png" width="996" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01aca180-5de3-4063-b031-090cfa55c655_996x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:996,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136824,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/183889911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.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_!u2Zw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png 424w, https://substackcdn.com/image/fetch/$s_!u2Zw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png 848w, https://substackcdn.com/image/fetch/$s_!u2Zw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png 1272w, https://substackcdn.com/image/fetch/$s_!u2Zw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01aca180-5de3-4063-b031-090cfa55c655_996x572.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This distinction matters because it leads to different <em>failure modes</em> for teams. You may have teams that are:</p><ul><li><p><strong>Precisely inaccurate</strong> <em>&#8212;</em> extremely good at executing stuff, but it&#8217;s not stuff that brings a lot of value. E.g. they are overly focused on technical work and are somewhat detached from customers.</p></li><li><p><strong>Imprecisely accurate</strong> <em>&#8212;</em> they can identify where the value is, but they are inconsistent in the delivery. E.g. they make good plans but never ship things on time, or releases often lead to big fires.</p></li></ul><p>Diagnosing <em>how</em> your team fails is the first step towards improving.</p><div><hr></div><h2>3) &#127942; Generalists are motivated by impact (and they are right)</h2><p>It&#8217;s hard to find a proper definition of <em>what makes</em> for a generalist.</p><p>Common traits include being proficient in many skills, being able to apply for roles across different career tracks, and regularly performing tasks that fall into different domains.</p><p>These things also <strong>exist on a spectrum</strong>. Full-stack engineers may feel like generalists, but they are arguably less so than a good friend of mine who started as a pre-school teacher, turned into customer success operator, QA engineer, and eventually engineering manager.</p><p>There is a common notion that people end up generalists because of accidental twists in their careers. It may be the case for some, but I don&#8217;t think it&#8217;s how it happens for most. The reality is <strong>we follow our inclinations</strong> more than we realize.</p><p>I have known a lot of generalists, and here is an observation: the vast majority of them are <strong>motivated by impact</strong> and the value they create, rather than building stuff for the sake of it.</p><p>This is usually the right mindset in tech.</p><p>By and large, people get promoted because of the impact they produce, not the skills they possess. And on your resume, what you helped accomplish always speaks for your skills <em>more</em> than anything else you can put there.</p><p>We need to avoid the trap of valuing ourselves, as professionals, by the <strong>level of sophistication of the software</strong> we craft, and instead value ourselves by the amount of value we create for the customers and the business.</p><p>Incidentally, I think that&#8217;s also what will allow us to <strong>embrace AI without restraint</strong>, instead of feeling threatened by it.</p><p>I wrote more about generalists, specialists, and AI, in this recent piece &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:174835336,&quot;url&quot;:&quot;https://refactoring.fm/p/generalists-in-2025&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;Generalists in 2025 &#127912;&quot;,&quot;truncated_body_text&quot;:&quot;About four years ago, I published an article about generalists which was part advice part self-therapy.&quot;,&quot;date&quot;:&quot;2025-10-01T07:00:23.197Z&quot;,&quot;like_count&quot;:47,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/generalists-in-2025?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Generalists in 2025 &#127912;</div></div><div class="embedded-post-body">About four years ago, I published an article about generalists which was part advice part self-therapy&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">7 months ago &#183; 47 likes &#183; Luca Rossi</div></a></div><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Leaps of faith, fragmentation, and hands-on managers 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #189]]></description><link>https://refactoring.fm/p/leaps-of-faith-fragmentation-and</link><guid isPermaLink="false">https://refactoring.fm/p/leaps-of-faith-fragmentation-and</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 05 Jan 2026 08:00:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yTVj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><blockquote><h3>Brought to you by <a href="https://wb.aboard.com/try/?utm_source=Refactoring&amp;utm_medium=Referral&amp;utm_campaign=Jan05Newsletter">Aboard</a>!&#128314;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GcPg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GcPg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!GcPg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!GcPg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!GcPg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GcPg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png" width="438" height="246.375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:438,&quot;bytes&quot;:132500,&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://refactoring.fm/i/182851404?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.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_!GcPg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!GcPg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!GcPg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!GcPg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ac4d0a1-4f2c-4583-b9ac-ced13bcf59d5_1920x1080.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><em><strong><a href="https://wb.aboard.com/try/?utm_source=Refactoring&amp;utm_medium=Referral&amp;utm_campaign=Jan05Newsletter">Aboard</a> is your partner for AI transformation.</strong> We use a proprietary AI platform to build software to help you run your business. Our software looks good, uses best practices, is highly secure, and ships in a fraction of the time it used to take.</em></p><p><em><strong>We aren&#8217;t bots&#8212;we manage them. </strong>We keep people at the center, both our engineers and our clients. AI accelerates development, but humans step in when it matters most: to refine, polish, and launch at production quality.</em></p><p><em><strong>Your growth matters to us. </strong>Spend less time struggling toward software solutions. We&#8217;ll save you time and money, and stay nearby whenever you need us.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://wb.aboard.com/try/?utm_source=Refactoring&amp;utm_medium=Referral&amp;utm_campaign=Jan5Newsletter&quot;,&quot;text&quot;:&quot;Learn more about Aboard&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://wb.aboard.com/try/?utm_source=Refactoring&amp;utm_medium=Referral&amp;utm_campaign=Jan5Newsletter"><span>Learn more about Aboard</span></a></p></blockquote><div><hr></div><h2>1) &#129668; Take a small AI leap of faith</h2><p>In most workflows, today, people are using AI to create <em>drafts</em> &#8212; drafts of code, drafts of code reviews, drafts of docs &#8212; and have humans do a final pass.</p><p>This is nice, but it also corners people into doing a lot of context switching and micro tasks.</p><p>I believe that sometimes, under controlled conditions, we should take a leap of faith and <strong>completely automate some tasks with AI</strong>.</p><p>We should switch from an &#8220;<em>approve first</em>&#8221; to a &#8220;<em>possibly revert later</em>&#8221; approach.</p><p>Ask yourself: what are those things that AI can do that would be relatively inexpensive to revert in case it does them wrong? Chances are it&#8217;s more than you think.</p><div><hr></div><h2>2) &#128241; Fragmentation testing journey</h2><p>Earlier this year we wrote a <a href="https://refactoring.fm/p/how-to-do-mobile-testing-right">thorough guide</a> on mobile fragmentation testing.</p><p>A key theme was that your approach to fragmentation should evolve alongside your product and team journey: applying enterprise-level rigor to a pre-PMF product wastes resources, just as neglecting testing at scale is a recipe for disaster.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yTVj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yTVj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png 424w, https://substackcdn.com/image/fetch/$s_!yTVj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png 848w, https://substackcdn.com/image/fetch/$s_!yTVj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png 1272w, https://substackcdn.com/image/fetch/$s_!yTVj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yTVj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png" width="1456" height="968" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:968,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:326164,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/182851404?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.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_!yTVj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png 424w, https://substackcdn.com/image/fetch/$s_!yTVj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png 848w, https://substackcdn.com/image/fetch/$s_!yTVj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.png 1272w, https://substackcdn.com/image/fetch/$s_!yTVj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965b2306-2633-49b5-b39a-595ef77ba653_2628x1748.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>We tried to map your fragmentation strategy to each stage, so here is the cheat sheet:</p><h3>Zero-to-One &#127793;</h3><p><strong>Focus:</strong> Speed, iteration, validating core hypotheses.</p><p>Your device &#8220;matrix&#8221; is likely just the founders&#8217; phones plus a couple of emulators for basic layout checks. Testing is manual and happy-path only: does the core loop work? Can users sign up? Automation is probably overkill.</p><p><strong>Risk tolerance:</strong> Very high. The bigger risk is building the wrong product, not having a polished app on every device. Don&#8217;t let fragmentation concerns slow you down.</p><h3>Finding PMF / Early Growth &#129716;</h3><p><strong>Focus:</strong> Stabilizing core features, growing users, understanding segments.</p><p>Use analytics to identify your top 5-10 devices and OS versions&#8212;this becomes your evolving matrix. Testing is still manual but more structured. Consider automating 1-2 critical paths (e.g. signup, purchase) if you have expertise. Cloud device services become useful for occasional checks on devices you don&#8217;t own.</p><p><strong>Risk tolerance:</strong> Medium. Core functionality on popular devices must be solid.</p><h3>Scaling / Established Product &#127795;</h3><p><strong>Focus:</strong> Reliability, performance at scale, protecting brand reputation.</p><p>Maintain a well-defined, multi-tiered matrix updated with fresh analytics. Invest significantly in UI automation for regression testing. Rely heavily on cloud device farms, potentially supplemented by an in-house lab over time.</p><p><strong>Risk tolerance:</strong> Low for Tier 1 devices, higher for Tier 3.</p><p>You can find the full guide below &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:163377248,&quot;url&quot;:&quot;https://refactoring.fm/p/how-to-do-mobile-testing-right&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How to Test Mobile Apps &#128241;&quot;,&quot;truncated_body_text&quot;:&quot;Mobile apps are the primary interface through which hundreds of millions of people interact with services daily.&quot;,&quot;date&quot;:&quot;2025-05-14T06:01:29.598Z&quot;,&quot;like_count&quot;:38,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-to-do-mobile-testing-right?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How to Test Mobile Apps &#128241;</div></div><div class="embedded-post-body">Mobile apps are the primary interface through which hundreds of millions of people interact with services daily&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 38 likes &#183; Luca Rossi</div></a></div><div><hr></div><h2>3) &#127897;&#65039; Managers need to be more hands-on</h2><p>In May <a href="https://refactoring.fm/p/how-to-manage-humans-with-rands">I interviewed Rands</a>, Senior Director of Engineering at Apple and writer of several popular books about engineering management, including &#8220;Managing Humans&#8221;, which is a personal favorite of mine.</p><p>I asked him how engineering management is changing today, and the first thing he noted was how <em>the pace of change</em> dramatically increased. With respect to a decade ago, where management felt more like a <em>timeless</em> skill, today it feels harder for individuals and teams to adapt and learn new playbooks as quickly as tech evolves.</p><p>For this reason, Rands now believes engineering leaders should stay deeply connected to tech, reversing his earlier stance that managers should step away from coding.</p><p>His preferred org structure, however, remains consistent:</p><ul><li><p><strong>&#128101; 7&#177;3 direct reports</strong> &#8212; optimal span for providing meaningful human attention to each team member.</p></li><li><p><strong>&#128202; Three layers maximum</strong> &#8212; from CEO to individual contributor for effective communication.</p></li><li><p><strong>&#129309; Small, empowered teams</strong> &#8212; avoiding the bureaucratic layering that characterizes large tech companies.</p></li></ul><blockquote><p><em><strong>&#8220;I truly believe that a manager or leader is capable of managing about seven plus or minus three folks... more than that, and you do not have time for humans.&#8221;</strong></em></p></blockquote><p>And speaking about AI, rather than changing what ideal teams look like, Rands believes it&#8217;s making already-optimal team structures even more effective.</p><p>Here is the full interview with Rands:</p><div id="youtube2-T8pcMl3rmbM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;T8pcMl3rmbM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/T8pcMl3rmbM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also find it on &#127911; <strong><a href="https://open.spotify.com/episode/6bBVwfdumlhJusAFHuuv3h?si=4ae2cac034fe4097">Spotify</a></strong> and &#128236; <strong><a href="https://refactoring.fm/p/how-to-manage-humans-with-rands">Substack</a></strong></p><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p>]]></content:encoded></item><item><title><![CDATA[Weekly review, AI adoption, and brain modes 💡]]></title><description><![CDATA[Monday Ideas &#8212; Edition #188]]></description><link>https://refactoring.fm/p/weekly-review-ai-adoption-and-brain</link><guid isPermaLink="false">https://refactoring.fm/p/weekly-review-ai-adoption-and-brain</guid><dc:creator><![CDATA[Luca Rossi]]></dc:creator><pubDate>Mon, 29 Dec 2025 08:01:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_D_6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hey, Luca here, welcome to a weekly edition of the</em>&#128161;<em> <strong>Monday Ideas</strong> </em>&#128161;<em> from Refactoring! To access all our articles, library, and community, subscribe to the <a href="https://refactoring.fm/about">full version</a>:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Supercharge your tech career &#128640;&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://refactoring.fm/subscribe?"><span>Supercharge your tech career &#128640;</span></a></p><p><em>Resources: </em>&#127963;&#65039;<em> <strong><a href="https://refactoring.fm/p/library-tracks">Library</a></strong> &#8226; </em>&#128172;<em> <strong><a href="https://refactoring.fm/p/refactoring-community">Community</a> </strong>&#8226;<strong> </strong></em><strong>&#127897;&#65039;</strong><em><strong> <a href="https://refactoring.fm/podcast">Podcast</a> </strong>&#8226; </em>&#128227;<em> <strong><a href="https://airtable.com/app6T1no2xUAkvqqI/pagmohBDjtBNk9dKY/form">Advertise</a> </strong></em></p><div><hr></div><h2>1) &#127793; Review your notes weekly</h2><p>Most people who know me are aware I&#8217;m a note-taking nerd. And as a full-time writer, I am afraid I&#8217;ve become even more insufferable about it.</p><p>I usually avoid giving specific advice&#8212;everyone should find the tools and workflows that work for their life. But there&#8217;s one thing I recommend to everyone: do a <strong>weekly review</strong> of your notes to 1) organize them, and 2) trash what doesn&#8217;t deserve long-term storage.</p><p>During the review, I go through <em>everything</em> I captured that week. The key is <strong>separating reviewing from capturing</strong> and <strong>processing everything at once</strong>. When you do this, interesting things happen:</p><ul><li><p>Many things that seemed interesting days ago no longer do. I delete over 60% of what I capture.</p></li><li><p>When you&#8217;re in &#8220;organization mode&#8221;, you find more connections and work faster than doing it hastily on the spot.</p></li><li><p>It becomes a genuinely pleasurable activity&#8212;like a mini time capsule where each idea feels like a rediscovery.</p></li></ul><p>I also use this time to clear email, DMs, downloads, and tasks&#8212;everything that piles up during the week&#8212;so each Monday starts with a clean slate.</p><p>If you set personal goals, it&#8217;s also the perfect time to check progress and plan your next actions.</p><p>The weekly review is <em>by far</em> my most important routine. I talked more about it (and my whole note-taking nerdiness) in this recent article:</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:170699182,&quot;url&quot;:&quot;https://refactoring.fm/p/how-to-take-notes&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;How To Take Notes &#127793;&quot;,&quot;truncated_body_text&quot;:&quot;Hey there! Last week we had our book club review of How to Take Smart Notes, by S&#246;nke Ahrens.&quot;,&quot;date&quot;:&quot;2025-08-13T07:02:05.589Z&quot;,&quot;like_count&quot;:50,&quot;comment_count&quot;:2,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/how-to-take-notes?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">How To Take Notes &#127793;</div></div><div class="embedded-post-body">Hey there! Last week we had our book club review of How to Take Smart Notes, by S&#246;nke Ahrens&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">9 months ago &#183; 50 likes &#183; 2 comments &#183; Luca Rossi</div></a></div><div><hr></div><h2>2) &#128296; Explore &#8594; Embrace &#8594; Empower</h2><p>In October we released our biggest industry report ever, about the <a href="https://refactoring.fm/p/the-state-of-ai-adoption-in-engineering">state of AI adoption</a> in real-world engineering teams.</p><p>We connected the dots about how 400+ teams use AI, and we came up with a three-step process: <strong>Explore &#8594; Embrace &#8594; Empower</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_D_6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_D_6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png 424w, https://substackcdn.com/image/fetch/$s_!_D_6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png 848w, https://substackcdn.com/image/fetch/$s_!_D_6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png 1272w, https://substackcdn.com/image/fetch/$s_!_D_6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_D_6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png" width="1456" height="965" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:965,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:258813,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://refactoring.fm/i/176123729?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!_D_6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png 424w, https://substackcdn.com/image/fetch/$s_!_D_6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png 848w, https://substackcdn.com/image/fetch/$s_!_D_6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.png 1272w, https://substackcdn.com/image/fetch/$s_!_D_6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42538bb0-0e5b-4fa1-adb4-46fd16ec6400_2004x1328.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>&#127793; Explore</h4><p>Adoption begins with <strong>personal exploration</strong>&#8212;engineers getting familiar with AI tools and their ergonomics. This is largely bottom-up. Managers can encourage it by providing tools without performance expectations, identifying champions, and creating knowledge-sharing ceremonies.</p><p>Early wins include small automations, AI-written features, minor refactoring, and more docs and tests.</p><h4>&#129716; Embrace</h4><p>Once basic proficiency exists, graduate AI usage into <strong>team practices</strong>: AI doing first-pass code reviews, better testing and documentation standards, improved meeting summaries.</p><p>Critically, these must become actual standards&#8212; e.g. if AI makes testing easier, <em>enforce</em> tests in PRs. Some things might feel risky, but if it doesn&#8217;t feel risky, is it real change?</p><p>Create <strong>feedback loops</strong> through retros and 1:1s to continuously tweak what&#8217;s working.</p><h4>&#127795; Empower</h4><p>What do we do with the <strong>residual capacity</strong> AI creates?</p><p>The best teams use it to <strong>expand people&#8217;s scope</strong>&#8212;engineers going full-stack, PMs creating prototypes, designers trying frontend. Benefits include reduced coordination costs, higher velocity, and stronger growth.</p><p>AI keeps improving, so we keep adapting. Let&#8217;s get to work!</p><p>You can find the full report below &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:175412279,&quot;url&quot;:&quot;https://refactoring.fm/p/the-state-of-ai-adoption-in-engineering&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;The State of AI Adoption in Engineering Teams &#128202;&quot;,&quot;truncated_body_text&quot;:&quot;Hey! I am incredibly excited to finally release our industry report on how engineering teams are using AI.&quot;,&quot;date&quot;:&quot;2025-10-08T07:02:17.190Z&quot;,&quot;like_count&quot;:50,&quot;comment_count&quot;:4,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/the-state-of-ai-adoption-in-engineering?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">The State of AI Adoption in Engineering Teams &#128202;</div></div><div class="embedded-post-body">Hey! I am incredibly excited to finally release our industry report on how engineering teams are using AI&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">7 months ago &#183; 50 likes &#183; 4 comments &#183; Luca Rossi</div></a></div><div><hr></div><h2>3) &#129504; Create mode vs Review mode</h2><p>Beyond productivity gains, I&#8217;ve been paying attention to <strong>how using AI makes me feel</strong> about doing work.</p><p>And the concerning part is I often feel... dumber. Or more precisely, <em>less engaged</em> &#8212; my brain enters a lazier mode that&#8217;s hard to steer back.</p><p>I call it <strong>create mode</strong> vs <strong>review mode</strong>:</p><h4>&#127912; Create mode</h4><p>Create mode is when you produce output through some non-obvious process&#8212;writing an algorithm, or an essay, or an important email.</p><p>You make <em>connections</em> between ideas and turn them into something new. It feels draining but rewarding, like a workout. Every time you create these connections, you&#8217;re rewiring your brain, improving your mental models.</p><h4>&#128300; Review mode</h4><p>Review mode is when your brain compares a draft against rules about what it should look like and improves it.</p><p>It feels 10x cheaper energy-wise, and I feel as humans we&#8217;re genuinely good at it &#8212; spotting details and steering output tactically.</p><p>But review mode has limits. Most critically, it&#8217;s hard to radically change course once you have a draft. The draft becomes an anchor. Daniel Kahneman, in <a href="https://refactoring.fm/p/thinking-fast-and-slow">Thinking, Fast and Slow</a> called it the <strong>anchoring bias</strong>, and provided a hilarious example &#128071;</p><blockquote><p><em>In an experiment, Kahneman asked participants to estimate the percentage of African countries in the United Nations. Before answering, they spun a wheel that landed on either 10 or 65. Those who saw 10 guessed an average of 25%, while those who saw 65 guessed 45%. The initial number, despite being random (and they knew it!), significantly influenced their estimates.</em></p></blockquote><p>I feel this is the trap with AI assistance. Having a first version in front of you restricts what you can create yourself. There&#8217;s a mix of anchoring, sunk cost, and genuine laziness that kicks in.</p><p>So what&#8217;s the solution?! I explored some heuristics in this recent article &#128071;</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:172676883,&quot;url&quot;:&quot;https://refactoring.fm/p/ai-and-cognitive-debt&quot;,&quot;publication_id&quot;:64099,&quot;publication_name&quot;:&quot;Refactoring&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CR5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;title&quot;:&quot;AI &amp; Cognitive Debt &#129504;&quot;,&quot;truncated_body_text&quot;:&quot;Hey, Luca here, welcome to a monthly free edition of Refactoring! To access all our articles, library, and community, subscribe to the full version:&quot;,&quot;date&quot;:&quot;2025-09-10T07:01:20.049Z&quot;,&quot;like_count&quot;:75,&quot;comment_count&quot;:14,&quot;bylines&quot;:[{&quot;id&quot;:6835984,&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;handle&quot;:&quot;refactoring&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;bio&quot;:&quot;I write everyday about how to make great software and work well with humans, to 60K+ friends.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-04T06:23:53.965Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-15T17:35:42.775Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:247311,&quot;user_id&quot;:6835984,&quot;publication_id&quot;:64099,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:64099,&quot;name&quot;:&quot;Refactoring&quot;,&quot;subdomain&quot;:&quot;refactoring&quot;,&quot;custom_domain&quot;:&quot;refactoring.fm&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Learn how to make your engineering team ship faster and better. Read weekly by 170,000+ engineers and managers&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b19138f-e653-496f-a117-a85305715dba_400x400.png&quot;,&quot;author_id&quot;:6835984,&quot;primary_user_id&quot;:6835984,&quot;theme_var_background_pop&quot;:&quot;#2096ff&quot;,&quot;created_at&quot;:&quot;2020-07-06T14:20:40.525Z&quot;,&quot;email_from_name&quot;:&quot;&#127744; Refactoring&quot;,&quot;copyright&quot;:&quot;Refactoring ETS&quot;,&quot;founding_plan_name&quot;:&quot;&#127942; Community plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;lucaronin&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://refactoring.fm/p/ai-and-cognitive-debt?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!CR5A!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b19138f-e653-496f-a117-a85305715dba_400x400.png" loading="lazy"><span class="embedded-post-publication-name">Refactoring</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">AI &amp; Cognitive Debt &#129504;</div></div><div class="embedded-post-body">Hey, Luca here, welcome to a monthly free edition of Refactoring! To access all our articles, library, and community, subscribe to the full version&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">8 months ago &#183; 75 likes &#183; 14 comments &#183; Luca Rossi</div></a></div><div><hr></div><p>And that&#8217;s it for today! If you are finding this newsletter valuable, <strong>subscribe to the full version</strong>!</p><p>1700+ engineers and managers have joined already, and they receive our flagship weekly long-form articles about <strong>how to ship faster</strong> and <strong>work better together</strong>! Learn more about the <a href="http://refactoring.fm/about">benefits of the paid plan here</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://refactoring.fm/subscribe?&quot;,&quot;text&quot;:&quot;Make your team ship faster!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://refactoring.fm/subscribe?"><span>Make your team ship faster!</span></a></p><p>See you next week!<br>Luca</p><div><hr></div><p></p><p></p>]]></content:encoded></item></channel></rss>