<?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[Software Design: Tidy First?]]></title><description><![CDATA[Software design is an exercise in human relationships. So are all the other techniques we use to develop software. How can we geeks get better at technique as one way of getting better at relationships?]]></description><link>https://tidyfirst.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!RtcJ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Ftidyfirst.substack.com%2Fimg%2Fsubstack.png</url><title>Software Design: Tidy First?</title><link>https://tidyfirst.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 06 Jun 2026 02:46:20 GMT</lastBuildDate><atom:link href="https://tidyfirst.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Kent Beck]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[sponsorships@kentbeck.com]]></webMaster><itunes:owner><itunes:email><![CDATA[sponsorships@kentbeck.com]]></itunes:email><itunes:name><![CDATA[Kent Beck]]></itunes:name></itunes:owner><itunes:author><![CDATA[Kent Beck]]></itunes:author><googleplay:owner><![CDATA[sponsorships@kentbeck.com]]></googleplay:owner><googleplay:email><![CDATA[sponsorships@kentbeck.com]]></googleplay:email><googleplay:author><![CDATA[Kent Beck]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[You Don't Get to Create Anything]]></title><description><![CDATA[Randy Shoup set out to be an international lawyer.]]></description><link>https://tidyfirst.substack.com/p/you-dont-get-to-create-anything-6cb</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/you-dont-get-to-create-anything-6cb</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 03 Jun 2026 14:05:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/eWtWa23W6zc" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-eWtWa23W6zc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;eWtWa23W6zc&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/eWtWa23W6zc?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>Randy Shoup set out to be an international lawyer. He studied in West Berlin when there was still a wall around it, spent a year at Stanford Law, and had what should have been the perfect summer internship on Sand Hill Road. Instead he spent it watching inventors light up whiteboards with brilliant ideas &#8212; then being told his job was just to write them down. That summer broke something open. He went back to Oracle that fall and never looked back. Kent and Randy dig into what it means to need to make things, why the people who wrote the original distributed systems playbook aren&#8217;t panicking about AI wiping it clean, and how Jevons paradox explains what happens when cognition gets cheap.</p><div><hr></div><p>This season of Still Burning is sponsored by <strong><a href="https://workos.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=randy-shoup">WorkOS</a></strong> and <strong><a href="https://www.augmentcode.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=randy-shoup">Augment Code</a></strong>.<br><br>Listen to the <a href="https://share.transistor.fm/s/bfd572f8">audio version here.</a></p>]]></content:encoded></item><item><title><![CDATA[Trust Factory]]></title><description><![CDATA[&#8220;We&#8217;re accumulating code faster than we are accumulating trust.&#8221; Sometimes a phrase just hits.]]></description><link>https://tidyfirst.substack.com/p/trust-factory</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/trust-factory</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 02 Jun 2026 13:33:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7PYA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.linkedin.com/feed/update/urn:li:activity:7466398001243000832" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7PYA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png 424w, https://substackcdn.com/image/fetch/$s_!7PYA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png 848w, https://substackcdn.com/image/fetch/$s_!7PYA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png 1272w, https://substackcdn.com/image/fetch/$s_!7PYA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7PYA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png" width="1068" height="622" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:622,&quot;width&quot;:1068,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154193,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.linkedin.com/feed/update/urn:li:activity:7466398001243000832&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/200098564?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.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_!7PYA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png 424w, https://substackcdn.com/image/fetch/$s_!7PYA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png 848w, https://substackcdn.com/image/fetch/$s_!7PYA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png 1272w, https://substackcdn.com/image/fetch/$s_!7PYA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7722f-0e29-4f66-a51e-9ab1810de560_1068x622.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;We&#8217;re accumulating code faster than we are accumulating trust.&#8221; Sometimes a phrase just hits. Yes, we can create code faster now, but software is bipedal&#8212;code &amp; trust go together. One without the other just hops along awkwardly.</p><p>Trust is as tricky as code. Both are asymmetrical. Code works or it doesn&#8217;t. One mistake in a long string of good decisions is the same as just a mistake. Trust accumulates slowly &amp; evaporates in an instant. The difference is that in software sometimes you can repair the mistake in time proportional to the time it took to make the mistake. Trust is irreversible. Once gone it&#8217;s hard-to-impossible to get it back.</p><p>XP offered faster accumulation of functionality than folks were used to, but it didn&#8217;t suffer from the lack of trust we see among genie pioneers. I never thought of it this way before but XP manufactured trust. But how? What is a trust factory? We&#8217;ll go from practices to principles to values.</p><h2>Practices</h2><p>I&#8217;m going to go through XP Classic here, not that newfangled XPAI that folks are talking about, since the new set of practices is not yet settled.</p><p>Practices build trust:</p><ul><li><p>Programmer testing. Thorough automated testing demonstrates trustworthiness to the rest of the team. It also builds trust within the programmer.</p></li><li><p>Pairing. Pairing builds trust between programmers. The reduced defect count &amp; improved structure build trust with the rest of the team.</p></li><li><p>Continuous integration. Integrating small sets of changes, optimized for safety, reduces gotcha moments for the rest of the team.</p></li><li><p>Weekly planning. Demonstrating concrete progress to those who depend on it builds trust, as does honestly reporting hiccups.</p></li><li><p>Customer on the team. All the little interactions during the day&#8212;asking domain questions, getting clarification, offering alternatives&#8212;build trust.</p></li><li><p>Continuous deployment. Knowing that your code is running correctly in production adds to your own confidence. Knowing that everyone else operates under the same constraint adds to your confidence in each other. Customers seeing small changes appear nearly instantly builds their trust.</p></li><li><p>Refactoring. When improving structure reduces defects or reduces future effort, it builds trust.</p></li><li><p>Observability. Knowing that you&#8217;ll be alerted to malfunctions builds trust, as does the skin in the game of knowing that you&#8217;ll be alerted encouraging prudence so you avoid those malfunctions.</p></li></ul><p>What I notice about this list that I didn&#8217;t expect is that each practice that creates trust also encourages trustworthiness. If I know I&#8217;m going to get paged in the night, I&#8217;ll do the work to reduce the chance that I&#8217;ll be paged in the night. If I know I&#8217;m going to be writing tests, I&#8217;ll do the work to make writing tests easier. I wonder if this is a general feature of the trust factory? We&#8217;ll find out</p><h2>Principles</h2><p>XP builds on a coherent set of principles aligned with producing value with software. Not surprisingly, given the topic of this essay, they also align with producing trust.</p><ul><li><p>Humanity. Acknowledging that we are all humans with needs creates trust, in part by encouraging folks to be more honest and clear about their needs.</p></li><li><p>Mutual benefit. Looking for win/wins let&#8217;s everyone relax &amp; quit trying to grab more than their share of the pie.</p></li><li><p>Improvement. Acknowledging that today isn&#8217;t perfect but it&#8217;s better than yesterday &amp; tomorrow will be better still encourages folks to trust each other.</p></li><li><p>Flow. Seeing concrete progress frequently encourages trust, even when things are going slower than we&#8217;d like.</p></li><li><p>Redundancy. When we address difficult problems several different ways we increase the chance that the problem won&#8217;t erode trust.</p></li></ul><p>Sure looks like the same effect is at work. Trust encourages trustworthiness. I&#8217;ll be treated with human respect so I treat others with human respect. Others benefit me so I&#8217;m encouraged to benefit others.</p><p>Does the same process work at the level of values?</p><h2>Values</h2><p>Values are the vaguest level of describing XP but contain the most purpose. How do values encourage trust?</p><ul><li><p>Communication. Saying things that need to be said in ways that can be received builds trust.</p></li><li><p>Simplicity. I&#8217;m getting iffy about simplicity as a value since successful systems always end up complicated, but having pieces that are easily described builds trust.</p></li><li><p>Feedback. Knowing that you&#8217;ll be listened to encourages honesty, even when the topic is difficult.</p></li><li><p>Courage. Acting from vision &amp; purpose in spite of fears encourages the team to trust each other.</p></li><li><p>Respect. Seems obvious to me.</p></li></ul><p>Once again, creating trust creates the conditions for creating more trust.</p><div><hr></div><p style="text-align: center;"><em>This quarter&#8217;s newsletter is brought to you in partnership with WorkOS.</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UNis!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UNis!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" width="256" height="48.96" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:153,&quot;width&quot;:800,&quot;resizeWidth&quot;:256,&quot;bytes&quot;:17765,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/184465222?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.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_!UNis!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw" loading="lazy" fetchpriority="high"></picture><div></div></div></a></figure></div><p><a href="https://workos.com/?utm_source=tidyfirst&amp;utm_medium=newsletter&amp;utm_campaign=q2-2026&amp;utm_content=article-top">WorkOS</a> is the infrastructure B2B and AI-native companies use to sell to enterprise. It covers everything enterprise security requires: SSO, SCIM, RBAC, Audit Logs, AI governance, and more. Engineering teams ship it in days. Trusted by 2,000+ fast-growing companies, including OpenAI, Anthropic, Cursor, and Vercel.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://workos.com/?utm_source=tidy_first&amp;utm_medium=newsletter&amp;utm_campaign=kent_beck_sponsorship&amp;utm_content=trust_factory_mid&quot;,&quot;text&quot;:&quot;Build Trust With Enterprise&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://workos.com/?utm_source=tidy_first&amp;utm_medium=newsletter&amp;utm_campaign=kent_beck_sponsorship&amp;utm_content=trust_factory_mid"><span>Build Trust With Enterprise</span></a></p><div><hr></div><h2>Vibe Coding Versus Trust</h2><p>Software development that focuses on trust as much as features has always been rare. We are now shifting to individuals interacting individually with the genie (I call this the single player problem. Trust, as the opening quote points out, lags features. This mismatch is unstable, unsustainable. When it corrects it&#8217;s going to be painful. How does single player augmented development as naively practiced erode trust?</p><ul><li><p>Genies &#8220;care&#8221; about satisfying prompts, not purposes. Generated software often doesn&#8217;t behave correctly in circumstances that are the least unusual. Thinking, &#8220;This works,&#8221; &amp; then, &#8220;Oh no, it doesn&#8217;t,&#8221; erodes trust.</p></li><li><p>Encouraging single player development eliminates most of the little chances to build trust.</p></li><li><p>Purely reactive project management, the natural style when on the feature hamster wheel, risks tactical progress but strategic failure.</p></li><li><p>The genie ignores optionality &amp; future change. Walking off the end of the productivity pier is a big trust breaker.</p></li></ul><h2>So?</h2><p>I&#8217;m not saying trust is all that matters. I&#8217;m saying trustworthy behavior resulting in trustworthy software resulting in trust is the path to effective augmented development.</p><p>I&#8217;ve been guilty of saying, &#8220;The program is the truth.&#8221; At one level this is true&#8212;whatever we think the system does, what the system actually does is what the system actually does. However, the software system is, as <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jessica Kerr&quot;,&quot;id&quot;:2616183,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10e32fde-b1c9-4b1a-99ac-11a1d9f32744_512x512.jpeg&quot;,&quot;uuid&quot;:&quot;0b92c50c-cd37-4add-8940-80b7a3b7e32d&quot;}" data-component-name="MentionToDOM"></span> points out, a <a href="https://medium.com/@jessitron/symmathecist-n-c728957ce71f">symmathesy</a>, a human-technical system. We are in it, cannot help affecting it, we can only influence not control it.</p><p>What would trust-optimized augmented development look like?</p><ul><li><p>Slow development to ensure that the damn stuff actually works.</p></li><li><p>Slow development to include structural improvements that expand options.</p></li><li><p>Slow development to encourage frequent person-to-person interaction.</p></li><li><p>Slow development to reinforce &amp; update long-term purpose.</p></li></ul><p>That&#8217;s how you go faster. More chances to build trust-&gt;more focus on trustworthiness-&gt;more trust.</p>]]></content:encoded></item><item><title><![CDATA[Genie Lessons from Genie Sessions: Prose as a Programming Language]]></title><description><![CDATA[Kent sits down with one of the founders of OpenProse to talk through their method of prose as a programming language.]]></description><link>https://tidyfirst.substack.com/p/genie-lessons-from-genie-sessions</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/genie-lessons-from-genie-sessions</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 26 May 2026 12:47:53 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198861105/6828f7d187b80c0103d21ff0f50f05d0.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><em>This session is sponsored by <a href="https://openprose.ai?utm_source=substack&amp;utm_medium=newsletter&amp;utm_campaign=KB-live-may22-2026&amp;utm_content=sponsor-header">OpenProse</a>. More on them below &#8212; they're also the reason we're here.</em></p><div><hr></div><p>Dan Barrett built <a href="https://openprose.ai/?utm_source=substack&amp;utm_medium=newsletter&amp;utm_campaign=KB-live-may22-2026&amp;utm_content=body-mention">OpenProse</a> &#8212; a framework that lets you write programs in structured English and run them with an AI agent like Claude Code. The description sounds either obvious or impossible depending on your priors. When I told him it sounded impossible, he said: &#8220;People were shocked that it works.&#8221;</p><p>So we installed it and built something live.</p><p>The project: a service that would show me tides, weather, sunrise, moonrise &#8212; everything I want to know before a walk along the coast. One command. A few minutes. It came back with an hourly tide chart for Montara (I picked a town I don&#8217;t actually live in), fog conditions, waxing crescent moon, the works.</p><p>Here&#8217;s what interested me about the architecture underneath.</p><p>Each OpenProse component has a <code>requires</code> block and an <code>ensures</code> block. Requires is what the component expects from its caller. Ensures is what it promises to produce. I said that looks like a function &#8212; domain and range. Dan said think more like a service. The distinction matters: when you have many components, an inversion-of-control container wires them together by matching ensures blocks to requires blocks. The same way Spring would wire Java components &#8212; except the whole thing is written in structured English and run by an LLM.</p><p>The Dijkstra objection comes up immediately: natural language is too ambiguous to be a programming language. Dan&#8217;s answer: we don&#8217;t know what&#8217;s possible until we walk the landscape. Plenty of people would have said nothing is possible with prose. That&#8217;s clearly not true. The question is just where the edges are &#8212; and you can only find those by trying.</p><p>The <code>ensures</code> block is effectively a postcondition. It&#8217;s what every sibling component can rely on. When I asked about extract method &#8212; you write one of these things, it grows, eventually you pull a piece out and name it &#8212; Dan said yes, all the time. Usually just by asking Claude to do exactly that.</p><p>The other clever piece: sub-agents pass pointers instead of data. Variable bindings are files. The pointers are file paths. When a sub-agent produces a giant context block &#8212; a full PDF analysis, a research output, a tide chart &#8212; it writes it to disk and hands back the path. The main thread stays clean. Context management, done at the file system level.</p><p>I&#8217;m building a Smalltalk VM from scratch right now &#8212; yes, literally writing a VM &#8212; and watching this I thought about how different it is to build a virtual machine when your primitives are LLM calls instead of machine instructions. My VM is 1000x faster. But the primitives here are so much larger that on the right problems, it&#8217;s a wash.</p><p>What&#8217;s next for OpenProse is interesting. Dan&#8217;s thesis is that the whole industry is moving toward declaring outcomes and letting agents figure out the path. Codex has a <code>/goal</code> feature. Anthropic just shipped something called Outcomes in their API. The pattern is: specify what you want to be true, not how to make it true. OpenProse is an early articulation of that idea at the framework level.</p><p>One of my many projects from the last 40 years is now actually possible. The genie just got smarter.</p><div><hr></div><p>Dan is at <a href="https://twitter.com/IRL_DanB?utm_source=substack&amp;utm_medium=newsletter&amp;utm_campaign=KB-live-may22-2026&amp;utm_content=dan-twitter">@IRL_DanB</a> on Twitter and <a href="mailto:dan@openprose.ai">dan@openprose.ai</a>. OpenProse is open source &#8212; search it on GitHub and follow along. He loves feedback and means it.</p><p></p><div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="https://substackcdn.com/image/fetch/$s_!RtcJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Ftidyfirst.substack.com%2Fimg%2Fsubstack.png"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Kent Beck in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="https://substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=tidyfirst" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[Scope Is The Steering Wheel]]></title><description><![CDATA[This stuck in my craw at the time Patrick published it but I didn&#8217;t have the energy to respond.]]></description><link>https://tidyfirst.substack.com/p/scope-is-the-steering-wheel</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/scope-is-the-steering-wheel</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Thu, 21 May 2026 15:52:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!J2of!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://x.com/patrickc/status/1869422495985750459" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J2of!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png 424w, https://substackcdn.com/image/fetch/$s_!J2of!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png 848w, https://substackcdn.com/image/fetch/$s_!J2of!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png 1272w, https://substackcdn.com/image/fetch/$s_!J2of!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J2of!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png" width="588" height="355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:355,&quot;width&quot;:588,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66884,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://x.com/patrickc/status/1869422495985750459&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/194819858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.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_!J2of!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png 424w, https://substackcdn.com/image/fetch/$s_!J2of!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png 848w, https://substackcdn.com/image/fetch/$s_!J2of!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png 1272w, https://substackcdn.com/image/fetch/$s_!J2of!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95692fa1-12b5-4c02-883d-99b5741aacd9_588x355.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This stuck in my craw at the time Patrick published it but I didn&#8217;t have the energy to respond. Now, with the ever-increasing, genie-fueled emphasis on speed, it deserves a second look. Among its several flaws as a statement is that it misses one point that XP got right, a point that&#8217;s become leveraged.</p><p>I&#8217;ll start gently, addressing the OP directly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yk1L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yk1L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg 424w, https://substackcdn.com/image/fetch/$s_!yk1L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg 848w, https://substackcdn.com/image/fetch/$s_!yk1L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!yk1L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yk1L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg" width="1456" height="714" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:714,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:576548,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/194819858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.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_!yk1L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg 424w, https://substackcdn.com/image/fetch/$s_!yk1L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg 848w, https://substackcdn.com/image/fetch/$s_!yk1L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!yk1L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0efa156-48cb-406e-ad09-f23fb00d1b51_2491x1222.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Responsibility</h2><p>I don&#8217;t like the tone. Who exactly hired The Slow (may as well be honest &amp; capitalize)? Who created the incentive system in which they operate?</p><p>Take responsibility for your part in the situation you describe. You&#8217;re not above it all. If you&#8217;re going to be judgmental, judge everyone. Or follow the not-a-Walt Whitman quote and, &#8220;Be curious, not judgmental.&#8221;</p><div><hr></div><p style="text-align: center;"><em>This quarter&#8217;s newsletter is brought to you in partnership with WorkOS.</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UNis!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UNis!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" width="256" height="48.96" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:153,&quot;width&quot;:800,&quot;resizeWidth&quot;:256,&quot;bytes&quot;:17765,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/184465222?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.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_!UNis!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw" loading="lazy" fetchpriority="high"></picture><div></div></div></a></figure></div><p><a href="https://workos.com/?utm_source=tidyfirst&amp;utm_medium=newsletter&amp;utm_campaign=q2-2026&amp;utm_content=article-top">WorkOS</a> is the infrastructure B2B and AI-native companies use to sell to enterprise. It covers everything enterprise security requires: SSO, SCIM, RBAC, Audit Logs, AI governance, and more. Engineering teams ship it in days. Trusted by 2,000+ fast-growing companies, including OpenAI, Anthropic, Cursor, and Vercel.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://workos.com/?utm_source=tidy_first&amp;utm_medium=newsletter&amp;utm_campaign=kent_beck_sponsorship&amp;utm_content=genie-tarpit_bottom&quot;,&quot;text&quot;:&quot;Find Out More&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://workos.com/?utm_source=tidy_first&amp;utm_medium=newsletter&amp;utm_campaign=kent_beck_sponsorship&amp;utm_content=genie-tarpit_bottom"><span>Find Out More</span></a></p><div><hr></div><h2>Slow &amp; Expensive Do Go Together</h2><p>There&#8217;s reasons slow &amp; expensive go together. I have connections to the design world. If you fly a team of nth generation carpenters in from Paris to build your cabinets on-site, it&#8217;s going to be expensive &amp; it&#8217;s going to take time.</p><p>&#8220;Slow+expensive&#8221; has become decoupled from &#8220;valuable&#8221; in the situation you describe. Part of the investment was much more valuable than other parts. If you can just make the valuable investment &amp; defer the rest, yes, you win.</p><h2>Compressibility</h2><p>&#8220;Lopping a year off the schedule&#8221; works until it doesn&#8217;t. Here&#8217;s your intention:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VPK4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VPK4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VPK4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VPK4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VPK4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VPK4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg" width="1456" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:474503,&quot;alt&quot;:&quot;Sooner leads to cheaper&quot;,&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://tidyfirst.substack.com/i/194819858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sooner leads to cheaper" title="Sooner leads to cheaper" srcset="https://substackcdn.com/image/fetch/$s_!VPK4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VPK4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VPK4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VPK4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20645011-993f-4059-8e81-f3ef8cb7e7fe_2314x1188.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>There&#8217;s a second order effect, though. Eventually you cut corners that bite back. When that happens, you lose control of time &amp; cost.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wVWs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wVWs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wVWs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wVWs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wVWs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wVWs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg" width="1456" height="620" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:620,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:449201,&quot;alt&quot;:&quot;But sooner also leads to worse, which leads to later &amp; more expensive&quot;,&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://tidyfirst.substack.com/i/194819858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="But sooner also leads to worse, which leads to later &amp; more expensive" title="But sooner also leads to worse, which leads to later &amp; more expensive" srcset="https://substackcdn.com/image/fetch/$s_!wVWs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wVWs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wVWs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wVWs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9862b9be-75ba-44b1-ba1c-ea0c9766e5a3_2497x1063.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>Now The Slow have incentive to lie to you about progress. They&#8217;re caught in a Catch-22, no-win situation. The optimal strategy for The Slow is to hunker down, spend most of their time keeping their noses above water, &amp; hope your attention passes on before they get fired.</p><p>But wait, there&#8217;s more! Nobody likes being in a no-win situation, so The Slow will inflate estimates, estimates they know you will slash. Now nobody knows anything about the project.</p><h2>Scope</h2><p>The missing concept is scope. You want a system that meets the following goals? Okay, how much of which goals first?</p><p>All of all the goals? Now you&#8217;ve created the perfect breeding ground for The Slow. And <em>you</em> did it. They aren&#8217;t &#8220;The Slow&#8221;. They are responding to your incentives.</p><p>Okay, how about this much of this goal &amp; that much of that goal &amp; more later. Now you get sooner, cheaper, &amp; better. Nobody is compressing the incompressible. The system remains transparent &amp; in control.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q0lY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q0lY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Q0lY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Q0lY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Q0lY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q0lY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg" width="1456" height="837" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:837,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:578346,&quot;alt&quot;:&quot;Less scope leads to sooner, better, &amp; cheaper&quot;,&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://tidyfirst.substack.com/i/194819858?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Less scope leads to sooner, better, &amp; cheaper" title="Less scope leads to sooner, better, &amp; cheaper" srcset="https://substackcdn.com/image/fetch/$s_!Q0lY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Q0lY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Q0lY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Q0lY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528192ce-0a9f-49d9-bda3-605f7f44a9bc_2395x1377.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>And because we navigate an uncertain &amp; rapidly changing landscape, cutting scope generates more feedback sooner, leading to less waste &amp; higher concentration of value.</p><h2>Wrap Up</h2><p>You&#8217;re right that sooner &amp; cheaper are connected. You&#8217;re right that projects often start over-scoped, that much investment isn&#8217;t concentrated on value.</p><p>I disagree with your characterization of your intervention as &#8220;adding a temporal constraint&#8221;. The many times I&#8217;ve seen this done well what happens is that folks are forced to make priority decisions they wouldn&#8217;t otherwise make. (Lots to say about why this deferral happens.) Tearing out calendar pages is the trigger making those scope decisions inescapable.</p>]]></content:encoded></item><item><title><![CDATA[Itchy Brain]]></title><description><![CDATA[Michael Grinich & Kent Beck on AI adoption, the future of software engineering, and what enterprise developer tools reveal about where tech is headed.]]></description><link>https://tidyfirst.substack.com/p/itchy-brain</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/itchy-brain</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 20 May 2026 14:15:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/Kh24KYFfH5Q" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-Kh24KYFfH5Q" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Kh24KYFfH5Q&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/Kh24KYFfH5Q?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>Michael Grinich has an unusual vantage point, his company powers enterprise infrastructure for hundreds of companies, so he sees how the AI transition is actually playing out across the industry, not just in the headlines.What he&#8217;s noticing: the whole ecosystem is accelerating, not just the AI companies. And most people are misreading what kind of moment this is. Kent and Michael talk about building when the marginal cost of software approaches zero, what the Red Queen theory tells us about AI competition, how engineering leadership is quietly changing, and what drew Michael to the itchy-brained compulsion to make things in the first place.<br><br>This season of Still Burning is sponsored by <strong><a href="https://workos.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=charity-majors">WorkOS</a></strong> and <strong><a href="https://www.augmentcode.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=charity-majors">Augment Code</a></strong>.</p>]]></content:encoded></item><item><title><![CDATA[Hey, N00b, We Didn't Hire You to Complete Tasks]]></title><description><![CDATA[Welcome!]]></description><link>https://tidyfirst.substack.com/p/hey-n00b-we-didnt-hire-you-to-complete</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/hey-n00b-we-didnt-hire-you-to-complete</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 15 May 2026 13:35:51 GMT</pubDate><content:encoded><![CDATA[<p>Welcome! I am going to pass on to you the secret to a successful and brief noobitude, and I won&#8217;t even keep you in suspense: nobody cares how many tasks you complete. Why not, and what we care about instead are the subject of the rest of this essay.</p><p>Look at your situation from our perspective (by &#8220;our&#8221; I mean &#8220;older engineers&#8221;). We hired a bunch of people like you. Some of y&#8217;all (we&#8217;ll call them A&#8217;s) will be amazing game-changers, making everyone around them wildly more productive. Many of you (B&#8217;s) will be solid performers. Some of you (the C&#8217;s) won&#8217;t be here in a year.</p><p>We seniors have our regular work to do, but we also have to figure out which category you fit into. We support the superior performers as much as we possibly can. We support the solid performers enough to help them mature. Brutal as it seems, we&#8217;d like to expend as little effort as possible on people who aren&#8217;t going to make it.</p><p>It&#8217;s your job to get in the category you want to be in and send us the signals that tell us that&#8217;s where you belong.</p><p>That stack of tasks you have to do? Your manager or your tech lead could finish those in much less time and with much less hassle than it takes to help you through them. If all we cared about was today&#8217;s productivity, we wouldn&#8217;t have hired you at all. Instead, we (the seniors) are focused on the future: we know there&#8217;s going to be far more work here than we could possibly accomplish. We are paying your salary now as the option premium on the engineer you are going to become. If we play this game right, we&#8217;ll have a kick-ass next generation of engineers. If not, we&#8217;ll have to be doing the same engineering jobs ten years from now, and we really don&#8217;t want to be doing that.</p><div><hr></div><p style="text-align: center;"><em>This quarter&#8217;s newsletter is brought to you in partnership with WorkOS.</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UNis!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UNis!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" width="256" height="48.96" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:153,&quot;width&quot;:800,&quot;resizeWidth&quot;:256,&quot;bytes&quot;:17765,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/184465222?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.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_!UNis!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw" loading="lazy" fetchpriority="high"></picture><div></div></div></a></figure></div><p><a href="https://workos.com/?utm_source=tidyfirst&amp;utm_medium=newsletter&amp;utm_campaign=q2-2026&amp;utm_content=article-top">WorkOS</a> is the infrastructure B2B and AI-native companies use to sell to enterprise. It covers everything enterprise security requires: SSO, SCIM, RBAC, Audit Logs, AI governance, and more. Engineering teams ship it in days. Trusted by 2,000+ fast-growing companies, including OpenAI, Anthropic, Cursor, and Vercel.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://workos.com/?utm_source=tidy_first&amp;utm_medium=newsletter&amp;utm_campaign=kent_beck_sponsorship&amp;utm_content=genie-tarpit_bottom&quot;,&quot;text&quot;:&quot;Find Out More&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://workos.com/?utm_source=tidy_first&amp;utm_medium=newsletter&amp;utm_campaign=kent_beck_sponsorship&amp;utm_content=genie-tarpit_bottom"><span>Find Out More</span></a></p><div><hr></div><h3>The Sorting Hat</h3><p>Noob A accomplishes 40 tasks this quarter. Noob B accomplishes 20. Which is better?</p><p>Not enough information. What if all the tasks were the same difficulty? Then which is better? Still not enough information. Remember, we&#8217;re trying to figure out if you&#8217;re an A, a B, or a C. What is the information we require to figure that out?</p><h2>B or C?</h2><p>The first level of sorting is figuring out if you&#8217;re a B or a C. Here are goals that are more important than closing your task in the absolute minimum time:</p><ul><li><p>Your code works.</p></li><li><p>You told other people what you were doing.</p></li><li><p>You got done in a reasonable amount of time (be good if it was within a factor of three of the initial estimate).</p></li><li><p>You did not cause other people unreasonable amounts of work. Work for people you asked for help&#8212;okay; reviewers who had to spend extra time&#8212;bad; on-calls who had to respond to errors&#8212;very bad; devops who had to respond to incidents you caused&#8212;double plus bad.</p></li></ul><p>Any attempt to game the system by claiming to have done work you haven&#8217;t done marks you immediately as a C. Assume you can&#8217;t game this system.</p><p>You will send out some C signals. That&#8217;s inevitable. We all did. Never, never send out the same C signal twice. And make sure the balance of the signals are that you are a B.</p><h2>A or B?</h2><p>The second level of sorting is, given you&#8217;re at least a B, are you an A? What distinguishes A&#8217;s is not how many tasks they close, but how much they learn from each task. Remember, your productivity sucks by our standards. We expect that. It&#8217;s the first derivative of your productivity that we&#8217;re looking for. Here are some signals that you&#8217;re an A:</p><ul><li><p>You make a convincing case that the task needn&#8217;t be done at all.</p></li><li><p>You mine data and discover the 10% of the task that creates 90% of the benefit.</p></li><li><p>You implement the task several ways.</p></li><li><p>You uncover a better design and submit a string of diffs not only implementing the task but simplifying other parts of the code too. Bonus points for doing this before you implement (make the hard change easy then make the easy change).</p></li><li><p>You submit a string of diffs instead of one big one. Bonus points if you push the diffs daily.</p></li><li><p>You write an internal tool that simplifies similar tasks. (You lose points if there are no similar tasks.)</p></li><li><p>You submit useful diffs in areas that having nothing to do with your team, but not at the cost of finishing your official tasks.</p></li><li><p>You write up what you learned in an interesting, useful and persuasive way.</p></li><li><p>You are an insightful and responsive reviewer.</p></li><li><p>You include solid unit tests. (I wish this was a B signal, but baby steps...)</p></li></ul><p>Isn&#8217;t it nice that the &#8220;kick ass&#8221; list is so much longer than the &#8220;don&#8217;t mess up&#8221; list? You have many ways to shine.</p><p>All the A signals share one trait&#8212;they take longer than just doing the work necessary to close the task. This isn&#8217;t permission to spend forever on shiny side-bars. Always get the task done in a reasonable amount of time, just not the absolute minimum time.</p><h2>But You&#8217;re Already Busy</h2><p>You may be wondering where this &#8220;extra&#8221; time is going to come from. You&#8217;re already committed up to your eyeballs. That&#8217;s where <em>Everything You Need To Know About Programming But Didn&#8217;t Know To Ask</em> [ed: to be written] comes in. We&#8217;ll talk about time management, task queue management, diff queue management, and other topics that will accelerate your progress.</p><p>Take the time you save and invest it in yourself in ways that benefit others. That&#8217;s what we&#8217;re looking for.</p>]]></content:encoded></item><item><title><![CDATA[Thinkies World Congress II: May 20, 2026]]></title><description><![CDATA[How about a discount?]]></description><link>https://tidyfirst.substack.com/p/thinkies-world-congress-ii-may-20</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/thinkies-world-congress-ii-may-20</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Thu, 14 May 2026 22:56:44 GMT</pubDate><content:encoded><![CDATA[<p>Unstick your stuck thinking. The organizing committee<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> is offering you half off attending <a href="https://www.eventbrite.com/e/thinkies-world-congress-ii-tickets-1987938370179?aff=oddtdtcreator">Thinkies World Congress II</a> next Wednesday, 0800-1100 Pacific time. Come learn about Thinkies, apply them, share what you learn, &amp; attending the amazing closing panel on creativity.</p><p>Use the discount code BreakTheStuck for 50% off the (already modest, if I do say so myself) ticket.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Our team of brilliant organizers have spent half a year bringing you TWC II: <a href="https://www.linkedin.com/in/gotmonkey/">Blake Lindsay</a> , <a href="https://www.linkedin.com/in/bmgmonteiro/">Bruno Monteiro</a>, <a href="https://www.linkedin.com/in/melomario/en/">M&#225;rio Melo</a> , <a href="https://www.linkedin.com/in/wisen/">Wisen Tanasa</a> , <a href="https://www.linkedin.com/in/carlogilmar/">Carlo Gilmar</a>. And the ringleader <a href="https://www.linkedin.com/in/artystarr/">Arty Starr</a>. (Give them all a listen on LinkedIn.)</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Thinkie: Wider Scope]]></title><description><![CDATA[Another way a bigger problem can be easier to solve]]></description><link>https://tidyfirst.substack.com/p/thinkie-wider-scope</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/thinkie-wider-scope</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Mon, 11 May 2026 16:06:12 GMT</pubDate><content:encoded><![CDATA[<p>I came across the following example &amp; I wanted to write about it but I realized it was a good example of a Thinkie &amp; I haven&#8217;t written about thiat Thinkie yet so here it is. Whew! Quite the opening sentence.</p><p>Pattern: You&#8217;re stuck thinking about a complicated problem.</p><p>Transformation: Look at the problem in its wider context. What are the &#8220;sources &amp; uses&#8221; (from Permaculture) of the problem? What feedback loops does it participate in?</p><p>Okay, here&#8217;s the motivating example. I&#8217;ve been hearing the slogan, &#8220;Profit is theft.&#8221; I&#8217;m not convinced but where does the idea come from? Here&#8217;s <a href="https://journalclub.io/episodes/the-attribution-crisis-in-llm-search-results-estimating-ecosystem-exploitation?token=V0l2H4S8OIz2iLAutDacYIDDtlLSUU8XBLuTeigWalscdqMkX3#scroll-down">the quote</a> that got me thinking about wider scope:</p><blockquote><p>In economics there&#8217;s a concept called &#8220;ecosystem exploitation.&#8221; It&#8217;s what happens when a producer appropriates the difference between what an input costs and what it contributes to the final output. In the original framing this was strictly about labor.</p><ul><li><p>A factory owner pays a worker a wage.</p></li><li><p>That worker produces something worth considerably more than that wage.</p></li><li><p>The owner sells that product and pockets the difference in value.</p></li></ul><p>That final act is <em>exploitation</em> because the surplus created in production is not returned to the input that generated it.</p></blockquote><p>The paper goes on to talk about how training LLMs is exploitive in this way, which I happen to agree with. However, not my point.</p><p>The structure above&#8212;paid a wage&#8594;produce&#8594;sold&#8212;isn&#8217;t the whole picture. &#8220;Profit is theft&#8221; makes good sense if that&#8217;s the whole picture. However, there&#8217;s a larger sequence into which this picture fits:</p><ol><li><p>Capital owner invests in building a factory.</p></li><li><p>Worker paid a wage.</p></li><li><p>Produces widget.</p></li><li><p>Widget sold at a profit.</p></li><li><p>Capital owner gets paid back with interest.</p></li></ol><p>What incentive does the capital owner have to build the factory, without which there is no production, without step 5? If we give all the profit to the worker, the factory never gets built. We&#8217;re going to have to find a way to split the excess of sales price - cost of production.</p><p>Now, I realize I have stepped into a giant centuries old debate, no, war, but that&#8217;s not my point (although my question about incentives for those producing content digested by LLMs holds). My point is rather than pick apart the pieces of a complicated problem, sometimes it&#8217;s more productive to zoom out &amp; see the problem in context.</p><p></p>]]></content:encoded></item><item><title><![CDATA[Thoughts, Not Thinking?]]></title><description><![CDATA[I saw a post on the changing build/buy/customize tradeoff & thought, &#8220;I should weigh in.]]></description><link>https://tidyfirst.substack.com/p/thoughts-not-thinking</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/thoughts-not-thinking</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 08 May 2026 13:31:32 GMT</pubDate><content:encoded><![CDATA[<p>I saw a post on the changing build/buy/customize tradeoff &amp; thought, &#8220;I should weigh in. The XP world has been grappling with this for decades.&#8221;</p><p>I dug in. Figured out the tradeoff curves. Speculated how they would change. It&#8217;s a pretty good framework, I think. I learned things putting it together.</p><h2>But&#8230;</h2><p>(There I go with the Boomer Ellipsis thing&#8230;) I looked &#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/thoughts-not-thinking">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Did We Do This to Ourselves?]]></title><description><![CDATA[Angie Jones spent years as the "geek whisperer" &#8212; translating technical possibility into human progress.]]></description><link>https://tidyfirst.substack.com/p/did-we-do-this-to-ourselves</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/did-we-do-this-to-ourselves</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 06 May 2026 13:31:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ddb16aaa-afef-411e-980c-cf17c53c47d1_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-W7spggyXBMI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;W7spggyXBMI&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/W7spggyXBMI?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>Angie Jones spent years as the "geek whisperer" &#8212; translating technical possibility into human progress. Then she led one of the most ambitious AI adoption programs in the industry, and the rug got pulled out. Now at the Agentic AI Foundation, she's working to make sure the standards powering the next era of software are built in the open, by everyone. Kent and Angie dig into the impossible bargain AI has handed engineers, what it really means to hire junior developers right now, and what scares her most about where we're all headed.<br><br>This season of Still Burning is sponsored by <strong><a href="https://workos.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=charity-majors">WorkOS</a></strong> and <strong><a href="https://www.augmentcode.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=charity-majors">Augment Code</a></strong>.<br><br>Listen to the <a href="https://share.transistor.fm/s/208da674">audio version here.</a></p>]]></content:encoded></item><item><title><![CDATA[Adaptive Radix Tree]]></title><description><![CDATA[Exploring & Explaining a Fast Sorted Map]]></description><link>https://tidyfirst.substack.com/p/adaptive-radix-tree</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/adaptive-radix-tree</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Mon, 04 May 2026 22:58:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DvFb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>This and the following chapters are from a forthcoming book: Adaptive Radix Tree: Sorted Maps For Fun &amp; Profit</p></blockquote><h1><strong>Chapter 0 &#8212; What&#8217;s a trie?</strong></h1><p>This tutorial assumes you&#8217;re a Go programmer who&#8217;s used <code>map[K]V</code> and has reached for a sorted map at some point &#8212; <code>google/btree</code>, <code>google/btree</code>, or one of the third-party red-black tree libraries &#8212; and got a feel for the API. It does <em>not</em> assume you know what a trie is or how an Adaptive Radix Tree differs from one.</p><p>Each chapter builds a working sorted map. Chapter 1 is the simplest imaginable trie. Chapters 2 through 7 each add one decision: lazy expansion, path compression, smaller node types, polymorphism. By chapter 8 you can read the project&#8217;s main <code>art.Tree</code> source as a known artifact rather than a wall of code. This chapter is just the primer &#8212; no Go yet.</p><h2><strong>The premise</strong></h2><p>A sorted map is a <code>map[K]V</code> whose iteration order is the natural ascending order of <code>K</code>, not insertion order or hash order. The operations are familiar:</p><pre><code><code>Put(k, v) // insert or replace
Get(k)    // (v, ok)
Delete(k) // remove if present
Len()     // count
Range(kFrom, kTo)     // iterator in ascending key order</code></code></pre><p>Two well-known data structures offer this API:</p><ul><li><p><strong>Hash maps with side indexes</strong> (e.g. <code>map[K]V</code> plus a sorted slice you maintain by hand). Lookups are O(1), but every mutation costs O(n) on the slice or O(log n) on a heap, and the iteration order is whatever you paid to maintain.</p></li><li><p><strong>Self-balancing BSTs</strong> &#8212; red-black, AVL, B-tree. Lookups, inserts, and deletes are O(log n); iteration is a tree walk. These compare keys as opaque blobs: every comparison reads <em>every byte</em> of the key until it finds a difference.</p></li></ul><p>Tries take the third path: <strong>don&#8217;t compare keys; walk them.</strong></p><h2><strong>The trie idea</strong></h2><p>A trie (&#8221;retrieval tree&#8221;, traditionally pronounced <em>try</em>) is a tree where each <em>edge</em> is labelled with one element of the key (a byte, in our case), and the path from root to a node is the prefix of every key reachable below it. There is no key comparison. Lookup reads the key byte-by-byte and follows the edge labelled with that byte.</p><blockquote><p>The trie was invented during the Cambrian data structure explosion.</p><ul><li><p><strong>Ren&#233; de la Briandais</strong> (1959) &#8212; &#8220;File Searching Using Variable Length Keys,&#8221; Proceedings of the Western Joint Computer Conference. First published description of the structure.</p></li><li><p><strong>Edward Fredkin</strong> (1960) &#8212; &#8220;Trie Memory,&#8221; <em>Communications of the ACM</em> 3(9):490&#8211;499. Coined the name <em>trie</em> (pronounced &#8220;try&#8221;) from the middle syllable of <em>re<strong>trie</strong>val</em>.</p></li></ul></blockquote><p>An ASCII picture of the keys <code>{hello:1, hi:2, help:3}</code>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DvFb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DvFb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DvFb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DvFb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DvFb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DvFb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg" width="1456" height="1012" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1012,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:756944,&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://tidyfirst.substack.com/i/196479109?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.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_!DvFb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DvFb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DvFb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DvFb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a5dd7a6-6d5e-454c-8ecb-1dc968bcc4af_2399x1668.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>Two consequences fall out for free:</p><ol><li><p><strong>Sorted iteration is automatic.</strong> At each node, visit children in ascending byte order. The yielded keys appear in byte-wise sorted order with no comparisons and no balancing.</p></li><li><p><strong>Shared work for shared prefixes.</strong> A lookup of <code>help</code> and a lookup of <code>hello</code> traverse the same first four edges. The per-byte cost depends on the keys&#8217; shape, not on the size of the map.</p></li></ol><h2><strong>What a trie costs</strong></h2><p>The honest tradeoffs are equally direct:</p><ul><li><p><strong>One node-traversal per byte.</strong> A 16-byte key is 16 pointer dereferences down the tree. If the tree is bigger than your L1 cache, that&#8217;s 16 cache misses. A B-tree comparing the same key against a few interior keys is fewer dereferences but each comparison reads more bytes; the right answer depends on the workload.</p></li><li><p><strong>Wasted nodes for sparse keysets.</strong> Every byte position where any key has a unique value gets its own node. If your keys are random 16-byte blobs, almost every level branches, and you pay for one inner node per byte per key. Chapter 1 makes this visible: ~33 MB to store 1 000 random 16-byte keys in the simplest possible trie.</p></li></ul><p>The book is structured according to the principles of David Parnas and Paul Clements's 1986 paper <em><a href="https://www.cs.tufts.edu/~nr/cs257/archive/david-parnas/fake-it.pdf">A Rational Design Process: How and Why to Fake It</a></em>. The first chapter introduces a simple-but-slow implementation. Each of the seven succeeding chapters addresses the slowness of the previous chapter until we have the whole ART.</p><ul><li><p><strong>Only full-sized nodes</strong> (chapter 1)&#8212;we build a whole working tree out of nodes that assume all 256 children are valid. (Foreshadowing&#8212;this will turn out to be a useful disaster.)</p></li><li><p><strong>Lazy expansion</strong> (chapter 2)&#8212;stop allocating inner nodes along a tail with no siblings.</p></li><li><p><strong>Path compression</strong> (chapter 3)&#8212;let one node represent several consecutive bytes when none of them branch.</p></li><li><p><strong>Small node type</strong> (chapter 4)&#8212;stores up to 4 keys.</p></li><li><p><strong>Polymorphism</strong> (chapter 5)&#8212;we&#8217;re going to add more node sizes, so why don&#8217;t we make it easy? (Make the hard change easy, then make the easy change.)</p></li><li><p><strong>In between node types</strong> (chapters 6 &amp; 7)&#8212;save space at the cost of computation by filling in nodes with up to 16 &amp; then 48 keys. (Of course it&#8217;s more interesting than a simple tradeoff when space saving reduces memory pressure &amp; thus saves time.)</p></li><li><p><strong>Polish</strong> (chapter 8)&#8212;inline-key buffers, embedded headers, a reused path buffer for <code>Range</code>. Allocations per key drop to roughly one.</p></li></ul><p>By chapter 8 the implementation is the same shape as the production <code>art.Tree</code> in the parent package. You will have built it, decision by decision, and you will have measured what each decision was worth.</p><blockquote><p><strong>Viktor Leis, Alfons Kemper, and Thomas Neumann</strong> at the Technical University of Munich published the adaptive radix tree first.</p><p>Published as &#8220;The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases&#8221; at ICDE 2013. PDF: <a href="https://db.in.tum.de/~leis/papers/ART.pdf">https://db.in.tum.de/~leis/papers/ART.pdf</a></p></blockquote><p>Onward to chapter 1, where we build the disaster. Well, the naive, memory wasteful version.</p>]]></content:encoded></item><item><title><![CDATA[Genie Sessions: Run, Right, and Fast for the Adaptive Radix Tree]]></title><description><![CDATA[A recording from Kent Beck's live video]]></description><link>https://tidyfirst.substack.com/p/run-right-and-fast-for-the-adaptive</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/run-right-and-fast-for-the-adaptive</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Sat, 02 May 2026 02:02:25 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/196134135/cd8a65255c465065a1ffe371c7052085.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Thank you <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;MetalMonkey&quot;,&quot;id&quot;:93636808,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@metalmonkey27&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc640ede-3226-4bbf-9de5-243dfe7321ed_997x961.png&quot;,&quot;uuid&quot;:&quot;8d1854a9-2464-4204-9c80-b8f2174178b8&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jawad Abu-Zakhem&quot;,&quot;id&quot;:135041624,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@jawadaz791637&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/608e16e3-c748-45b4-8bdb-06b4f0a043af_663x663.jpeg&quot;,&quot;uuid&quot;:&quot;7043fa29-bcf5-4ed3-a396-4179c161dc70&quot;}" data-component-name="MentionToDOM"></span>, and many others for tuning into my live video! Join me for my next live video in the app.</p><div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="https://substackcdn.com/image/fetch/$s_!RtcJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Ftidyfirst.substack.com%2Fimg%2Fsubstack.png"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Kent Beck in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="https://substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=tidyfirst" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[Unstick Your Stuck Thinking]]></title><description><![CDATA[Thinkies World Congress II, online May 20, 2026]]></description><link>https://tidyfirst.substack.com/p/unstick-your-stuck-thinking</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/unstick-your-stuck-thinking</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 01 May 2026 12:07:48 GMT</pubDate><content:encoded><![CDATA[<blockquote><p>&#8220;We can&#8217;t deploy more often because we have too many defects.&#8221;</p><p>&#8220;So when we have fewer defects we can deploy more often?&#8221;</p><p>&#8220;Wait, I didn&#8217;t say&#8230;&#8221;</p><p>&#8220;How would we have fewer defects? Programmers writing tests. Reviews of every production incident with followups.&#8221;</p><p>&#8220;How did you come up with so many ideas?&#8221;</p></blockquote><p>It&#8217;s not magic. It&#8217;s Thinkies. This one is called &#8220;Can&#8217;t/Because&#8221;. And you can learn any one of a hundred Thinkies to unstick your thinking at Thinkies World Congress II, online May 20, 2026.</p><h2>Thinkies</h2><p>Thinkies are <strong>learnable pattern transformations</strong> you can use to shift how you see a situation, expand the space of options, and spark new ideas &#8212; especially when things feel stuck or prematurely decided. It&#8217;s not about having the <em>right</em> idea, it&#8217;s about generating <em>lots</em> of ideas &#8212; some of which might be brilliant.</p><p style="text-align: justify;">Thinkies help you <strong>notice</strong> when a conversation or decision is falling into a predictable groove &#8212; and then offer you a way to step sideways, flip the frame, or open up new paths.</p><h2 style="text-align: justify;">TWC</h2><p style="text-align: justify;">The whole congress gives you a chance to get your hands on Thinkies in a supportive environment. We'll be gathering around virtual tables at the event, where facilitators will guide groups of attendees in applying a Thinkie to a sticky scenario and brainstorming ideas.</p><p style="text-align: justify;">One cool thing about Thinkies World Congress is that it doesn&#8217;t have to cost you a cent. Sign up as a facilitator, learn one Thinkie deeply at our facilitator&#8217;s training, &amp; you&#8217;re in the game.</p><p style="text-align: justify;">We&#8217;re looking to fill the rest of our roster of facilitators, but training starts May 5. Sign up <a href="https://thinkies.org/congress/twc-2/">here</a>! Or sign up as a participant if you prefer.</p><p style="text-align: justify;">The closing panel discussion on the nature of creativity, inspiration, &amp; innovation is crammed with world-class thinkers. Not to be missed.</p><h2 style="text-align: justify;">Program Committee</h2><p style="text-align: justify;">Our team of brilliant organizers have spent half a year bringing you TWC II: <a href="https://www.linkedin.com/in/gotmonkey/">Blake Lindsay</a> , <a href="https://www.linkedin.com/in/bmgmonteiro/">Bruno Monteiro</a>, <a href="https://www.linkedin.com/in/melomario/en/">M&#225;rio Melo</a> , <a href="https://www.linkedin.com/in/wisen/">Wisen Tanasa</a> , <a href="https://www.linkedin.com/in/carlogilmar/">Carlo Gilmar</a>. All led by the ringleader <a href="https://www.linkedin.com/in/artystarr/">Arty Starr</a>. (Give them all a listen on LinkedIn.)</p>]]></content:encoded></item><item><title><![CDATA[Genie Tarpit]]></title><description><![CDATA[Genies give you code that&#8217;s a degraded facsimile of the mediocre code it trained on.]]></description><link>https://tidyfirst.substack.com/p/genie-tarpit</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/genie-tarpit</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 29 Apr 2026 13:40:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mpAH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Genies give you code that&#8217;s a degraded facsimile of the mediocre code it trained on. How can we get the genie to give us valuable code?</p><p>&#8220;Valuable&#8221; lives on 2 axes:</p><ul><li><p>Features&#8212;what the code does now.</p></li><li><p>Futures&#8212;what we can get the code to do once we learn the lessons of this set of features.</p></li></ul><p>As an engineer I am constantly juggling these two dimensions so I wanted a way to visualize them. On the features axis software either works or it doesn&#8217;t (more or less) &amp; the region of working is rather small.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mpAH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mpAH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mpAH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mpAH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mpAH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mpAH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg" width="1096" height="716" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:716,&quot;width&quot;:1096,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:213075,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/195577087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.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_!mpAH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mpAH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mpAH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mpAH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4528b48d-6c9a-4019-a39d-e64d2c335e37_1096x716.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>(Note that this puts features on the opposite axis from where it appears on <a href="https://tidyfirst.substack.com/p/why-does-development-slow">Features Versus Futures</a>. I tried it both ways &amp; I like the layout best with the axes this way.)</p><p>The other axis is flexibility&#8212;can we make changes that:</p><ul><li><p>Work as expected</p></li><li><p>Don&#8217;t break anything that was already there.</p></li></ul><p>I&#8217;ve called this &#8220;optionality&#8221; or &#8220;futures&#8221; recently. Still looking for the right words.</p><p>Flexibility/optionality/futures has a wider operating range than whether the software works or not. You can skimp of flexibility for a while &amp; not really feel it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xhky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xhky!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic 424w, https://substackcdn.com/image/fetch/$s_!xhky!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic 848w, https://substackcdn.com/image/fetch/$s_!xhky!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic 1272w, https://substackcdn.com/image/fetch/$s_!xhky!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xhky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic" width="1456" height="976" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/717ee15d-1372-47f9-af53-de1c11ebbd5d.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:976,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:588409,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/195577087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xhky!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic 424w, https://substackcdn.com/image/fetch/$s_!xhky!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic 848w, https://substackcdn.com/image/fetch/$s_!xhky!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic 1272w, https://substackcdn.com/image/fetch/$s_!xhky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717ee15d-1372-47f9-af53-de1c11ebbd5d.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Orientation</h2><p>Where was development in ancient times, you know, six months ago? Well, you had some teams who had high standards for the behavior of the system&#8212;tests, frequent integration, observability, zero defect tolerance, retrospectives. They also had high standards on flexibility&#8212;readable code, mutual comprehension (pairing, mobbing, thorough reviews).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-Vsb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Vsb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic 424w, https://substackcdn.com/image/fetch/$s_!-Vsb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic 848w, https://substackcdn.com/image/fetch/$s_!-Vsb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic 1272w, https://substackcdn.com/image/fetch/$s_!-Vsb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Vsb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic" width="1456" height="996" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:996,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:712293,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/195577087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-Vsb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic 424w, https://substackcdn.com/image/fetch/$s_!-Vsb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic 848w, https://substackcdn.com/image/fetch/$s_!-Vsb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic 1272w, https://substackcdn.com/image/fetch/$s_!-Vsb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7bd3c-bd5c-4ee4-aaf8-d9f60d92d69d.heic 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>Treating the two axes as orthogonal is simplistic. If you have fewer interruptions from defects you have (or can choose to have) more time to invest in flexibility. Also, if you have flexibility you are more likely to create features that work.</p><h2>Muddling</h2><p>Most teams weren&#8217;t in the upper right. Instead, they muddled along with mostly-working software that was quite difficult to change. (We can talk later about why folks would choose to stay in this region when they could be further up &amp; to the right.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MCXs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MCXs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic 424w, https://substackcdn.com/image/fetch/$s_!MCXs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic 848w, https://substackcdn.com/image/fetch/$s_!MCXs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic 1272w, https://substackcdn.com/image/fetch/$s_!MCXs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MCXs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic" width="1456" height="1033" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c43b885-f076-48ff-a0a5-e4388881600b.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1033,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:807433,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/195577087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MCXs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic 424w, https://substackcdn.com/image/fetch/$s_!MCXs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic 848w, https://substackcdn.com/image/fetch/$s_!MCXs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic 1272w, https://substackcdn.com/image/fetch/$s_!MCXs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c43b885-f076-48ff-a0a5-e4388881600b.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Genie</h2><p>Here&#8217;s what I&#8217;ve observed&#8212;genies naturally live down &amp; to the left of muddling. The &#8220;plausible deniability&#8221; task orientation of the genie leaves it claiming success even though the code doesn&#8217;t work at all. And complexity piles on complexity until even the genie can&#8217;t pretend to make progress any more.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p-nI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p-nI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic 424w, https://substackcdn.com/image/fetch/$s_!p-nI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic 848w, https://substackcdn.com/image/fetch/$s_!p-nI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic 1272w, https://substackcdn.com/image/fetch/$s_!p-nI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p-nI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic" width="1456" height="1020" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13eaf4e8-baa0-497c-ab8d-537c9503328b.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1020,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:817810,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/195577087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p-nI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic 424w, https://substackcdn.com/image/fetch/$s_!p-nI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic 848w, https://substackcdn.com/image/fetch/$s_!p-nI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic 1272w, https://substackcdn.com/image/fetch/$s_!p-nI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13eaf4e8-baa0-497c-ab8d-537c9503328b.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Solution?</h2><p>You probably saw this one coming&#8212;nobody knows. Does the model need to be trained on better code? Trained on good commits? Better harnesses? Tests? Which tests? When? Better prompting? Or grasp the nettle of the Bitter Lesson &amp; let the model develop it&#8217;s own style of development, even if it turns out to be incomprehensible to us rapidly-obsolescing humans?</p><p>Awareness is the first step. Where are you? Where do you want to be?</p><div><hr></div><p style="text-align: center;"><em>This quarter&#8217;s newsletter is brought to you in partnership with WorkOS.</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UNis!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UNis!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" width="256" height="48.96" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:153,&quot;width&quot;:800,&quot;resizeWidth&quot;:256,&quot;bytes&quot;:17765,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/184465222?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.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_!UNis!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw" loading="lazy" fetchpriority="high"></picture><div></div></div></a></figure></div><p><a href="https://workos.com/?utm_source=tidyfirst&amp;utm_medium=newsletter&amp;utm_campaign=q2-2026&amp;utm_content=article-top">WorkOS</a> is the infrastructure B2B and AI-native companies use to sell to enterprise. It covers everything enterprise security requires: SSO, SCIM, RBAC, Audit Logs, AI governance, and more. Engineering teams ship it in days. Trusted by 2,000+ fast-growing companies, including OpenAI, Anthropic, Cursor, and Vercel.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://workos.com/?utm_source=tidy_first&amp;utm_medium=newsletter&amp;utm_campaign=kent_beck_sponsorship&amp;utm_content=genie-tarpit_bottom&quot;,&quot;text&quot;:&quot;Find Out More&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://workos.com/?utm_source=tidy_first&amp;utm_medium=newsletter&amp;utm_campaign=kent_beck_sponsorship&amp;utm_content=genie-tarpit_bottom"><span>Find Out More</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Genie Lessons: Nobody Wants Agents]]></title><description><![CDATA[Genie Lesson #5 | Tool: Intent (Augment Code)]]></description><link>https://tidyfirst.substack.com/p/genie-lessons-nobody-wants-agents</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/genie-lessons-nobody-wants-agents</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Thu, 23 Apr 2026 15:02:04 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/194532436/37dfa0e35a62a8e3bbd78159a91ddc8c.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><em>Genie Lessons from the Genie Sessions &#8212; every Friday I work on a real problem with an AI tool, live, for paid subscribers. Every Monday the lesson drops here, free.</em></p><div><hr></div><p>Nobody wants agents. Nobody wants agent swarms. I have a system and I want it to change. That&#8217;s the whole thing.</p><p>This session I was using Intent by Augment Code &#8212; multi-agent, coordinator plus implementer plus verifier. Working on an adaptive radix tree in Go, optimizing for human readability. The coordinator delegates, the implementer runs off and builds things, the verifier checks. I called it the Freudian architecture: id, superego, ego. The id rushes ahead. The superego folds its arms. The ego negotiates. It kind of works.</p><p>But watching the swarm spin up, I noticed something. I was managing it. Watching which agent was doing what. Wondering when to interrupt. Holding state in my head that the system should have been holding for me. I&#8217;d said I wanted readable code and instead I had a coordination problem.</p><p>The mismatch is this: when I was working on performance last week, what I actually wanted was &#8212; how much faster can we make this? How hard would it be? How much would it cost? Outcomes. I don&#8217;t want to prompt-engineer my way toward an answer. I want to describe the result I&#8217;m after and have the genie tell me if it&#8217;s achievable and what it would take. I&#8217;ve never been able to get two agents working on the same codebase at the same time without my head exploding. So I&#8217;m not convinced the swarm is the answer.</p><p>Multi-agent is a feature. Outcome-orientation is the thing the feature is supposed to deliver. We keep getting those confused.</p><p>The other frontier nobody&#8217;s working on yet: multiplayer. Right now, five agents can work on this codebase simultaneously. Five people can&#8217;t. That&#8217;s backwards. The person who figures out real-time collaborative augmented development &#8212; where multiple humans actually steer together, not just watch &#8212; that person is solving the real problem.</p><p>Nobody knows what that looks like. But I&#8217;m pretty sure it&#8217;s not a coordinator with finger guns.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y4Yz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y4Yz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png 424w, https://substackcdn.com/image/fetch/$s_!y4Yz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png 848w, https://substackcdn.com/image/fetch/$s_!y4Yz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png 1272w, https://substackcdn.com/image/fetch/$s_!y4Yz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y4Yz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png" width="242" height="33.1906556141673" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:182,&quot;width&quot;:1327,&quot;resizeWidth&quot;:242,&quot;bytes&quot;:50232,&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://tidyfirst.substack.com/i/194532436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.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_!y4Yz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png 424w, https://substackcdn.com/image/fetch/$s_!y4Yz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png 848w, https://substackcdn.com/image/fetch/$s_!y4Yz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png 1272w, https://substackcdn.com/image/fetch/$s_!y4Yz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f47f3f-c07a-49fd-bdbc-22b2de2deff7_1327x182.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This Genie Session was sponsored by Augment Code.</p><p>Intent is the AI coding tool built for the way software actually gets written now. Describe what you want. Intent handles the rest &#8212; planning, implementing, verifying &#8212; so you stay focused on outcomes, not orchestration.</p><p><strong><a href="https://www.augmentcode.com/product/intent?utm_source=kent_beck&amp;utm_medium=email&amp;utm_campaign=genie_2026_04&amp;utm_content=augment_intent">Try it out &#8594;</a></strong></p><div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="https://substackcdn.com/image/fetch/$s_!RtcJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Ftidyfirst.substack.com%2Fimg%2Fsubstack.png"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Kent Beck in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="https://substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=tidyfirst" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[Passing Tests Bore Me]]></title><description><![CDATA[Green. Yawn...]]></description><link>https://tidyfirst.substack.com/p/passing-tests-bore-me</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/passing-tests-bore-me</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 22 Apr 2026 16:07:41 GMT</pubDate><content:encoded><![CDATA[<blockquote><p>Codex: For this thread, we&#8217;ve used a meaningful amount [of tokens] because we&#8217;ve done several code/read/test/commit cycles with large test outputs. The biggest token consumers today were the repeated full make test outputs and file/diff reads. If you want to conserve tokens going forward, I can keep using shorter command output caps and only surface sum&#8230;</p></blockquote>
      <p>
          <a href="https://tidyfirst.substack.com/p/passing-tests-bore-me">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Find the North Star]]></title><description><![CDATA[Amelia Wattenberger didn&#8217;t want to be a developer &#8212; both her parents were, and from the outside it looked boring.]]></description><link>https://tidyfirst.substack.com/p/find-the-north-star</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/find-the-north-star</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 22 Apr 2026 13:05:48 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/194991339/b1594d293d0a176fd3cdf9c5cb761fa7.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Amelia Wattenberger didn&#8217;t want to be a developer &#8212; both her parents were, and from the outside it looked boring. Then she accidentally built a website, and everything changed. In this conversation, she and Kent talk about why play matters more right now than productivity, what we actually lose when every project has a KPI attached, and why the most important skill in augmented development might just be knowing when to step back.<br><br>This season of Still Burning is sponsored by <a href="https://workos.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=charity-majors">WorkOS</a> and <a href="https://www.augmentcode.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=charity-majors">Augment Code</a>.<br><br></p>]]></content:encoded></item><item><title><![CDATA[Extreme Time Value of Money: Late-stage Career Planning]]></title><description><![CDATA[First published January 4, 2021, just before this newsletter started.]]></description><link>https://tidyfirst.substack.com/p/extreme-time-value-of-money-late</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/extreme-time-value-of-money-late</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 21 Apr 2026 15:46:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JB05!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>First published January 4, 2021, just before this newsletter started. Comes more starkly into focus given my recent <a href="https://tidyfirst.substack.com/p/parkinsons">Parkinson&#8217;s diagnosis</a>. In that piece I introduced the time value of time, which I need to expand on further.</p></blockquote><p>A billion dollars in 30 years. Would you take it? I wouldn&#8217;t. Here&#8217;s why that&#8217;s not dumb for me.</p><p>This is another of my &#8220;smash two ideas together&#8221; essays. In this case, the ideas are:</p><ul><li><p>The time value of money &amp;</p></li><li><p>Mortality</p></li></ul><p>Heavy stuff, but there you have it. It&#8217;s a new year, time for big thoughts.</p><div><hr></div><p style="text-align: center;"><em>This quarter&#8217;s newsletter is brought to you in partnership with WorkOS.</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UNis!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UNis!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png" width="256" height="48.96" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:153,&quot;width&quot;:800,&quot;resizeWidth&quot;:256,&quot;bytes&quot;:17765,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/184465222?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.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_!UNis!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 424w, https://substackcdn.com/image/fetch/$s_!UNis!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 848w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1272w, https://substackcdn.com/image/fetch/$s_!UNis!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bebb7b-50b8-4313-9992-e9537eac7250_800x153.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p><a href="https://workos.com/?utm_source=tidyfirst&amp;utm_medium=newsletter&amp;utm_campaign=q2-2026&amp;utm_content=article-top">WorkOS</a> is the infrastructure B2B and AI-native companies use to sell to enterprise. It covers everything enterprise security requires: SSO, SCIM, RBAC, Audit Logs, AI governance, and more. Engineering teams ship it in days. Trusted by 2,000+ fast-growing companies, including OpenAI, Anthropic, Cursor, and Vercel.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://workos.com/?utm_source=tidyfirst&amp;utm_medium=newsletter&amp;utm_campaign=q2-2026&amp;utm_content=article-top&quot;,&quot;text&quot;:&quot;Find Out More&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://workos.com/?utm_source=tidyfirst&amp;utm_medium=newsletter&amp;utm_campaign=q2-2026&amp;utm_content=article-top"><span>Find Out More</span></a></p><div><hr></div><h2>Time Value of Money</h2><p>I turn 60 this year [ed: now 65]. I&#8217;ve recently noticed my career thinking diverging from that of my colleagues. They are more willing than I am to sacrifice now for gains later. Reflecting on the differences I&#8217;m led back to a theme of economics I learned early and have been teaching geeks ever since: the time value of money.</p><p>The absurdity of software engineering dogma at the beginning of my career dragged me to the time value of money. The trend back then was to do more and more work at first (spending money all the while) for (it was promised) greater and greater benefit later and later.</p><p>This didn&#8217;t make sense to me. Much of that up-front work turned out to be useless speculation. More fundamentally, this style contradicted a central tenet of economics&#8212;the time value of money.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JB05!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JB05!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JB05!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JB05!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JB05!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JB05!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg" width="700" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!JB05!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JB05!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JB05!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JB05!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7f330d4-9f4e-4749-b435-bef6f1db4fbb_700x572.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>A dollar today is better than a dollar tomorrow. It&#8217;s worth more. If I have a dollar today, I can invest it and make more by the time tomorrow comes around. I should prefer less than a dollar today to exactly a dollar tomorrow, less by a discount rate (which, spoiler alert, is hard to figure out and shouldn&#8217;t be modeled as a constant, but please keep reading).</p><p>If you accept this truth, then you do exactly the opposite of &#8220;spend more now to (maybe) make more later&#8221;. Those dollars you spend now are more expensive than the dollars you earn later. You can create economic value simply by figuring out how to earn sooner or spend later, even before making anything!</p><p>Aligning with economics requires that you start earning sooner and defer spending as long as possible. This seems to contradict engineering purity&#8212;if I do a great job today then I&#8217;ll never have to invest in this code again. Sorry, that&#8217;s not how money works. Look at XP and you&#8217;ll find a hundred ways to earn sooner and spend later.</p><p>(At this point I encourage you to do background work to gain intuition about the time value of money. Build a spreadsheet. Play with parameters. Let the difference between a dollar today and a dollar tomorrow soak into your bones. That&#8217;s what I did.)</p><p>Here are 2 more ways to think about the time value of money. First, the less time involved, the less it matters. This will be important as we talk about the effects of mortality.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VpgZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VpgZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VpgZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VpgZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VpgZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VpgZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg" width="700" height="558" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:558,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!VpgZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VpgZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VpgZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VpgZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0912a74-0822-4a09-8628-5f73277c6aa7_700x558.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>The second, the discount rate profoundly affects the difference in value. Compare 5% with 10% with the current yield on 30-year Treasuries of 1.6% [ed: 4.9%].</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZZBC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZZBC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZZBC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZZBC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZZBC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZZBC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg" width="700" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ZZBC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZZBC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZZBC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZZBC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d1214e4-0c94-4109-b5aa-e1c0b7e28f3d_700x500.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><h2>Discount Rate Isn&#8217;t Constant</h2><p>Back to that billion dollars in 30 years. Why is that worthless to me? Is a billion dollars in 1000 years worth anything to you? No. You won&#8217;t be alive to benefit from it. 100 years? Same.</p><p>If you&#8217;re 20-something, a billion dollars in 30 years is awesome. You can do whatever for 30 years, secure in the knowledge that your financial options will explode at the end of that period. And you&#8217;re likely to be alive to experience it. For me, though, a billion dollars after either I&#8217;m too old to enjoy it [ed: hello, Parkinson&#8217;s] or after I&#8217;m dead is worth nothing. I&#8217;d literally rather have one dollar in my hand today.</p><p>(All numbers taken from the morbidly fascinating <a href="https://flowingdata.com/2015/09/23/years-you-have-left-to-live-probably/">https://flowingdata.com/2015/09/23/years-you-have-left-to-live-probably/</a>).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8W0V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8W0V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png 424w, https://substackcdn.com/image/fetch/$s_!8W0V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png 848w, https://substackcdn.com/image/fetch/$s_!8W0V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png 1272w, https://substackcdn.com/image/fetch/$s_!8W0V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8W0V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png" width="700" height="369" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:369,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8W0V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png 424w, https://substackcdn.com/image/fetch/$s_!8W0V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png 848w, https://substackcdn.com/image/fetch/$s_!8W0V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.png 1272w, https://substackcdn.com/image/fetch/$s_!8W0V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a9bb22-9666-41f3-83ea-d78766bcef37_700x369.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>One of the challenges working with the time value of money is determining the discount rate. My discount rate here in the last stage of my career is not constant. That&#8217;s what I was missing. My colleagues have a smooth discount rate over the 10&#8211;20 year time scales we are used to. I stop financially caring about the future before they do. Here are the life probabilities for a 30-year-old male.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bw55!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bw55!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png 424w, https://substackcdn.com/image/fetch/$s_!bw55!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png 848w, https://substackcdn.com/image/fetch/$s_!bw55!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png 1272w, https://substackcdn.com/image/fetch/$s_!bw55!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bw55!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png" width="700" height="131" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:131,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!bw55!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png 424w, https://substackcdn.com/image/fetch/$s_!bw55!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png 848w, https://substackcdn.com/image/fetch/$s_!bw55!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png 1272w, https://substackcdn.com/image/fetch/$s_!bw55!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6ad25a-1111-4737-974c-58af8ff5b84e_700x131.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>As long as my young colleagues get paid off some time in the next 30 years they have a high probability (relative to me) to have a long time (relative to me) to enjoy their money.</p><p>My &#8220;discount rate&#8221; isn&#8217;t a single rate at all. Past a certain horizon, probably 30 years, it&#8217;s infinite. Before that it&#8217;s steep. I&#8217;m much more interested in money while I can enjoy spending it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AXyK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AXyK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AXyK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AXyK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AXyK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AXyK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg" width="700" height="537" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:537,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!AXyK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AXyK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AXyK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AXyK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1be8c1-26ef-496a-b42f-6bd0a4d6751a_700x537.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><h2>Time Value Arbitrage</h2><p>If you actually offered me a billion dollar 30-year principle-only bond I wouldn&#8217;t just use it to light a bonfire. I&#8217;d go find a bank (or similar counter-party with a smooth discount rate) and offer it to them. They&#8217;d give me the $600M today minus whatever for their transaction costs and risk of non-payment. I&#8217;d have instant options for retirement. They&#8217;d have more money in the future. Everybody happy.</p><p>Which brings me back to my disconnect with my (younger) colleagues. Tech compensation is biased towards the long term:</p><ul><li><p>4&#8211;5 year vesting schedules,</p></li><li><p>Further delays before liquidity [ed: and getting worse&#8212;topic for another day],</p></li><li><p>The risk of equity value dropping to zero and thus the need for a portfolio of equity, further extending the timeframe for The Big Score.</p></li></ul><p>4 years versus 8 years versus 12 years to liquidity is no big deal when you&#8217;re 30. For me, though, 4 years is a significant fraction of the time I have left to enjoy money.</p><p>I don&#8217;t have an answer to this mismatch. Much of the work I do creates value over decades. In the time I have left I have to both:</p><ul><li><p>Earn money so I have financial options &amp;</p></li><li><p>Enjoy the time.</p></li></ul><p>Is there a way to sell long-term benefits for short-term revenue? Technology compensation is stacked against me. At the very least I&#8217;m glad I have a frame for understanding my frustration.</p><h2>Epilog: Finance Matters</h2><p>Finance profoundly affects our work and our lives as geeks. It needs to be normal to talk about it. (There are also some cool concepts to explore in there &#8212; ask me about options pricing algorithms some time). Talking about it is part of <a href="https://www.facebook.com/notes/kent-beck/my-personal-mission/1811782322187957/?comment_id=10156253633513675">helping geeks feel safe in the world</a>.</p><p>Finance profoundly affects the options we will have for the rest of our lives. Gaining financial literacy and then acting sensibly based on that knowledge is low-cost and low-risk. I hope that talking about how financial tradeoffs change as context changes will encourage you to learn, apply what you learn, and benefit thereby.</p><h2>[ed: Updated Mortality Curve]</h2><p>Because Parkinson&#8217;s is now part of my life &amp; because Parkinson&#8217;s doesn&#8217;t so much affect lifespan as it affects quality of life, this data doesn&#8217;t help much but I put it here for completeness.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3uwL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3uwL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png 424w, https://substackcdn.com/image/fetch/$s_!3uwL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png 848w, https://substackcdn.com/image/fetch/$s_!3uwL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png 1272w, https://substackcdn.com/image/fetch/$s_!3uwL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3uwL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png" width="1121" height="614" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:614,&quot;width&quot;:1121,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:72387,&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://tidyfirst.substack.com/i/194925553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.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_!3uwL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png 424w, https://substackcdn.com/image/fetch/$s_!3uwL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png 848w, https://substackcdn.com/image/fetch/$s_!3uwL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.png 1272w, https://substackcdn.com/image/fetch/$s_!3uwL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3fe9f10-017b-4a5b-9b43-eda7336524bb_1121x614.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>]]></content:encoded></item><item><title><![CDATA[Parkinson's]]></title><description><![CDATA[Not trying to be subtle here]]></description><link>https://tidyfirst.substack.com/p/parkinsons</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/parkinsons</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Thu, 16 Apr 2026 13:16:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/VneWAxrSGgs" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Fantasy uses the trope of a line of desolation &amp; destruction slowly, inexorably advancing across the land, killing whatever it touches. Steven King&#8217;s <em>The Mist</em>. Miyazaki&#8217;s Sea of Corruption in <em>Nausica&#228; of the Valley of the Wind</em>. The Nothing in Ende&#8217;s <em>The Neverending Story</em>.</p><p>I have been diagnosed with Parkinson&#8217;s. Parkinson&#8217;s is like that advancing line of destruction, but operating on the brain. Alpha-synuclein (a protein) misfolds and, a little like prions, the misfolded proteins convince normally folded proteins to join the dark side. (This stuff is all so unspeakably cool if only it wasn&#8217;t happening to people.)</p><p>The proximate cause for this announcement is all the questions I&#8217;ve gotten from folks watching <a href="https://www.youtube.com/watch?v=T8M6En2NqB8&amp;list=PLlmVY7qtgT_lQ6JgZG6kd7KbQ5-DCjqKO">Still Burning</a> &amp; seeing my hand shake. By the time tremors appear, that line of misfolding has progressed far enough to destroy the 60-80% of the substantia nigra. The substantia nigra creates the dopamine that helps regulate movement (not the dopamine that used to form memories&#8212;I told you this shit was cool!)</p><h2>Feelings</h2><p>Not gonna lie&#8212;this has been an emotional shock for me. I&#8217;ve tried to figure out why it&#8217;s been so hard. I just turned 65 &amp; I&#8217;ve been keenly aware of the advance of time for a while. I think the disturbing aspect of my new situation is that my best case scenario for aging just got a lot worse. My 90-year-old ex-father-in-law is still sharp &amp; reasonably mobile. I comforted myself that I might grow old like that.</p><p>Now&#8230;not gonna happen. Over the next 5-15 years the tremors will worsen &amp; spread (just my left forearm &amp; thigh at the moment). Then my balance will go, followed by, well, it gets worse. Look it up if you want the details.</p><div class="pullquote"><p>I call it the time value of time. If I can do something this year it&#8217;s more valuable to me than doing the same thing next year &amp; <em>way</em> more valuable than doing it in 5 years.</p></div><p>The expectation of increasing limitations has got me shifting my personal &amp; business priorities. It&#8217;s the time value of time. If I can do something joyous this year it&#8217;s more valuable to me than doing the same thing next year &amp; <em>way</em> more valuable than doing it in 5 years.</p><h2>Business</h2><p>Part of me wishes I could just say to hell with it &amp; retire. I have a copy of Pauling&#8217;s General Chemistry I&#8217;ve been meaning to plow through, then Alberts&#8217; Biochemistry of the Cell. I want to use the tools I&#8217;ve always used to stare this thing in the face.</p><p>I can&#8217;t afford to stop my business. I need to make as much progress towards financial security as I can as quickly as possible. However, I won&#8217;t earn at the expense of enjoying my best, most mobile years. Offer me $100m/year for 3 years of 60-hour days and I&#8217;ll just laugh. Go ahead, try it. In practice I&#8217;ll either get lucky or I&#8217;ll muddle through. But I sure as hell won&#8217;t do something I don&#8217;t want to do in exchange for distant futures.</p><p>(If you were thinking of booking me for <a href="https://kentbeck.com/coaching.html">coaching</a>, consulting, or a <a href="https://kentbeck.com/#speaking">talk</a> for your team, might I suggest you contact my <a href="mailto:alyssa@kentbeck.com">business manager</a> sooner rather than later?)</p><h2>Next?</h2><p>I see no reason to waver from my mission of helping geeks feel safe in the world. I&#8217;m certainly going to keep coding <a href="https://github.com/KentBeck/ARMLivingObjects">interesting</a> <a href="https://github.com/KentBeck/AdaptiveRadixTree1">projects</a>. Art &amp; music are going to get more difficult but I have some ideas. Thinkies are taking on a life of their own. This newsletter will still be mostly on topic with occasional excursions because I have fewer fucks to give. Other than that, we&#8217;ll just see. </p><p>I&#8217;ll leave you with this poetic summary of the situation.</p><div id="youtube2-VneWAxrSGgs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;VneWAxrSGgs&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/VneWAxrSGgs?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>]]></content:encoded></item><item><title><![CDATA[The Bridge: Too Far]]></title><description><![CDATA[What's wrong with too much?]]></description><link>https://tidyfirst.substack.com/p/the-bridge-too-far</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/the-bridge-too-far</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 15 Apr 2026 13:10:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!i9VP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>tl;dr Instant besties don&#8217;t work out for me in the long run.</p><p>In </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;57880ae5-079b-4a08-8885-8026ea061b41&quot;,&quot;caption&quot;:&quot;I became an only child at four and a half.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Bridges&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:24333739,&quot;name&quot;:&quot;Kent Beck&quot;,&quot;bio&quot;:&quot;Programmer, artist, coach coach, singer/guitarist, peripatetic. Learning to be me. Full-time content producer. Mailto:kentlbeck@gmail.com&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%2F000da410-0ed6-4a25-80b1-6a46e964ae0b_242x242.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-01-16T14:31:46.440Z&quot;,&quot;cover_image&quot;:null,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://tidyfirst.substack.com/p/bridges&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:182003343,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:206,&quot;comment_count&quot;:8,&quot;publication_id&quot;:256838,&quot;publication_name&quot;:&quot;Software Design: Tidy First?&quot;,&quot;publication_logo_url&quot;:&quot;&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I talked about how I think about human connection as someone with both a history of trauma &amp; a twisty brain. We can establish a bridge with another person. We can walk half way across. We can meet in the middle. That&#8217;s connection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i9VP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i9VP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i9VP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i9VP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i9VP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i9VP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg" width="1456" height="798" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:798,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:188532,&quot;alt&quot;:&quot;Two stick figures standing together in the middle of a bridge over a chasm&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/186304574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two stick figures standing together in the middle of a bridge over a chasm" title="Two stick figures standing together in the middle of a bridge over a chasm" srcset="https://substackcdn.com/image/fetch/$s_!i9VP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i9VP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i9VP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i9VP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa48214dd-36e9-466b-b2ca-fcdf86c55b66_1486x814.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>(I&#8217;m the one in the hat, in case you don&#8217;t recognize me.)</p><p>That connection can ripen &amp; mature over time (topic for another day) but the basics remain&#8212;a bridge, and half way across.</p><p>Not all connections are good, are nourishing. Sometimes there&#8217;s just not a fit&#8212;my needs don&#8217;t fit what you can offer, your needs don&#8217;t fit what I can offer. Sometimes that lack of fit is down to timing, sometimes it&#8217;s structural, seemingly permanent.</p><p>As someone who both craves &amp; fears connection, how can I spot connections that are likely not to end up mutually nourishing? Put bluntly, what do red flags look like in the bridge analogy? What can I do when I realize this connection is not a connection that&#8217;s healthy for me to continue in?</p><h2>Too Far: Me</h2><p>One form of red flag is when I go too far&#8212;I go all the way to the other person&#8217;s side of the bridge. This happens when I go to the middle but the other person isn&#8217;t joining me.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h6mN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h6mN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg 424w, https://substackcdn.com/image/fetch/$s_!h6mN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg 848w, https://substackcdn.com/image/fetch/$s_!h6mN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!h6mN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h6mN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg" width="1456" height="869" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:869,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:315923,&quot;alt&quot;:&quot;Now the two people are on one side of the bridge, with the person wearing the hat (me) going too far&quot;,&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://tidyfirst.substack.com/i/186304574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Now the two people are on one side of the bridge, with the person wearing the hat (me) going too far" title="Now the two people are on one side of the bridge, with the person wearing the hat (me) going too far" srcset="https://substackcdn.com/image/fetch/$s_!h6mN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg 424w, https://substackcdn.com/image/fetch/$s_!h6mN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg 848w, https://substackcdn.com/image/fetch/$s_!h6mN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!h6mN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5edfdf0f-4e39-480e-8cf3-a0be65ac6327_2445x1460.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 manifests as, on their part:</p><ul><li><p>Cooler emotional tones</p></li><li><p>Less vulnerability</p></li><li><p>Less time investment</p></li><li><p>Less responsiveness</p></li></ul><p>When I&#8217;m feeling lonely, desperately in need of connection, I sometimes try to force the issue by further upping my tone, disclosure, time, responsiveness. </p><p>What&#8217;s wrong with going too far over? First, it drives some people away. Too much, too soon, leave me alone, creep. Second, there&#8217;s no end to how much I can give to try to force connection. Third, the folks who aren&#8217;t driven away tend to take advantage of, encourage, my over-giving. Not sustainable. Not a mutually nourishing connection.</p><h2>Too Far: Them</h2><p>The reverse happens as well. I connect with someone &amp; they immediately become my best friend&#8212;I&#8217;ll give you this, and that, and this, and that. Let me tell you my whole life story. Buy you presents. Take you to meet my family.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0SRi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0SRi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0SRi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0SRi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0SRi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0SRi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg" width="1456" height="865" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:865,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:334532,&quot;alt&quot;:&quot;Now the other person has jumped right to my side of the chasm&quot;,&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://tidyfirst.substack.com/i/186304574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Now the other person has jumped right to my side of the chasm" title="Now the other person has jumped right to my side of the chasm" srcset="https://substackcdn.com/image/fetch/$s_!0SRi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0SRi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0SRi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0SRi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bcdde3a-08e6-426e-9cb2-d44396865d38_2182x1296.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>NGL this feels good for a moment. I wanted connection. I got it. And I didn&#8217;t really have to work for it. What&#8217;s wrong?</p><p>Nothing is wrong with all those good things flowing between us, but in good time &amp; in good proportion. Someone who is willing to instantly give give give doesn&#8217;t have a good sense of their own boundaries. If they don&#8217;t have a sense of <em>their</em> boundaries, they won&#8217;t have a sense of <em>my</em> boundaries either.</p><p>I&#8217;ve been lied to, stolen from, &amp; manipulated by people who were instantly sharing too much. If they don&#8217;t have boundaries with themselves, they won&#8217;t have boundaries with me. And vice versa. Hard lesson but there you are.</p><h2>Conclusion</h2><p>I keep open the possibility of connection. I try to stay aware of where I am on the bridge. When I start edging over to their side, I cool myself off (&amp; reflect on why I want to go too far). When someone edges over to my side, I cool myself off. If they insist on trying to be on my side of the bridge, I shut down the connection. Life is too short &amp; the consequences too dear. </p>]]></content:encoded></item></channel></rss>