<script data-pm-proxy="intercept"></script><?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Thinking Builder]]></title><description><![CDATA[Letters on building better software]]></description><link>https://thethinkingbuilder.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!VU64!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb16a749b-c9a6-43f0-8350-2475d79c2ec3_1022x1022.png</url><title>The Thinking Builder</title><link>https://thethinkingbuilder.substack.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 03 Sep 2026 18:36:57 GMT</lastBuildDate><atom:link href="/__u/thethinkingbuilder.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Alex Kondov]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thegoodbuilder@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thegoodbuilder@substack.com]]></itunes:email><itunes:name><![CDATA[Alex Kondov]]></itunes:name></itunes:owner><itunes:author><![CDATA[Alex Kondov]]></itunes:author><googleplay:owner><![CDATA[thegoodbuilder@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thegoodbuilder@substack.com]]></googleplay:email><googleplay:author><![CDATA[Alex Kondov]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[But humans wrote slop too!]]></title><description><![CDATA[The nostalgia of pre-LLM slop and why it was different.]]></description><link>https://thethinkingbuilder.substack.com/p/but-humans-wrote-slop-too</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/but-humans-wrote-slop-too</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Wed, 02 Sep 2026 08:20:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GtAJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!GtAJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!GtAJ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!GtAJ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!GtAJ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!GtAJ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!GtAJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg" width="990" height="719" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:719,&quot;width&quot;:990,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Daily Beethoven: 8/16 The 9th Symphony Autograph Manuscript&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Daily Beethoven: 8/16 The 9th Symphony Autograph Manuscript" title="The Daily Beethoven: 8/16 The 9th Symphony Autograph Manuscript" srcset="/__u/substackcdn.com/image/fetch/$s_!GtAJ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!GtAJ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!GtAJ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!GtAJ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cd2e7f-3d8c-4232-88f1-71dd467b3c19_990x719.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Beethoven&#8217;s 9th Symphony manuscripts</figcaption></figure></div><p>That&#8217;s the argument I get every time I dare criticize code and content that&#8217;s too close to the default weights of an LLM.</p><blockquote><p><em>&#8220;Humans write slop too!&#8221;</em></p></blockquote><p>If anything, this is an improvement, an increase of the baseline.</p><p>The kind of slop humans wrote is a lot sloppier than the off-the-shelf AI slop we get nowadays. Social media posts used to be full of grammatical errors, code used to be buggy and unstructured, and it barely got the job done.</p><p>I&#8217;ve written entire articles on the importance of good code comments and how to write them.</p><p>So I should be happy now.</p><p>I&#8217;m drowning in code comments.</p><p>Why get all nostalgic over organic grass-fed slop?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!qTzT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!qTzT!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!qTzT!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!qTzT!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!qTzT!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!qTzT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg" width="343" height="410.5405405405405" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:310,&quot;width&quot;:259,&quot;resizeWidth&quot;:343,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Back In My Day Meme Generator - Imgflip&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="Back In My Day Meme Generator - Imgflip" title="Back In My Day Meme Generator - Imgflip" srcset="/__u/substackcdn.com/image/fetch/$s_!qTzT!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!qTzT!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!qTzT!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!qTzT!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F951215f0-6189-40a7-946d-f8e8d0a62d74_259x310.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Back in my day, slop was good.</figcaption></figure></div><p><strong>Because it&#8217;s proof of thought.</strong></p><p>Someone did the thinking.</p><p>It may not have been a lot of thinking, it may not have been great thinking, not even good thinking, but some thinking happened.</p><p>Someone put their mind to it and birthed that monstrous code that pushes the Geneva Convention to its limits. And if you find the person who created it, they would most likely tell you the reason behind every cubic inch of that garbage.</p><p>The code I read today feels like it was written by Clean Code absolutists who were finally given free rein to write the overly abstract, generic implementations they&#8217;ve been dreaming about for a decade.</p><p>Communication is becoming more generic too.</p><p>Read some posts on LinkedIn.</p><p>Take a look at some of the long messages you get on Slack.</p><p>The text looks better, it&#8217;s grammatically excellent and well-structured, but sometimes I just can&#8217;t understand what people are trying to say. Every time I get a wall of text, I know I&#8217;ll be playing the game of finding the one sentence in the whole paragraph that&#8217;s relevant to me.</p><blockquote><p><em>&#8220;Yes, this is true Alex, but let&#8217;s zoom out a bit and take a look at the bigger picture&#8220;</em></p></blockquote><p>I don&#8217;t need Pangram to tell me who wrote this.</p><p>See, back in my day I&#8217;d just get one sentence.</p><p>It would be impolite, error-ridden garbage in the grammatical sense, but it would be the original thought.</p><div><hr></div><p>The baseline has increased, but not everything needs to be at the new baseline.</p><p>I&#8217;ve been studying design this year <em>(UI/UX/Interactions)</em>, and many of the interfaces that seem beautiful at a glance suffer from the same overly-abstract sloppification that we see in code and writing.</p><p>You don&#8217;t need an eyebrow over every section title.</p><p>The same way you don&#8217;t need the custom stringify method.</p><p>The same way you don&#8217;t need two paragraphs.</p><p>I was wondering if it&#8217;s the lack of taste showing through this, because once you develop an eye for code, UIs, and prose, the slop-era software feels like you&#8217;re interfacing with public administration.</p><p>A lot of overhead for no reason.</p><p>Maybe it&#8217;s the lack of care.</p><p>Every now and then I think about Taylor Otwell&#8217;s obsession with comments in the Laravel codebase.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1Nop!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1Nop!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png 424w, /__u/substackcdn.com/image/fetch/$s_!1Nop!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png 848w, /__u/substackcdn.com/image/fetch/$s_!1Nop!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1Nop!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1Nop!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png" width="638" height="256" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:638,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:41377,&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://thethinkingbuilder.substack.com/i/213814763?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1Nop!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png 424w, /__u/substackcdn.com/image/fetch/$s_!1Nop!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png 848w, /__u/substackcdn.com/image/fetch/$s_!1Nop!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1Nop!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d39d2c8-1c4a-4e1d-b4eb-fbd0fe4c2c5b_638x256.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 aria-hidden="true" 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><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>Each implementation comment needs to be exactly 3 lines, and every new line must be 3 characters shorter than the one before.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!j6S7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!j6S7!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png 424w, /__u/substackcdn.com/image/fetch/$s_!j6S7!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png 848w, /__u/substackcdn.com/image/fetch/$s_!j6S7!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png 1272w, /__u/substackcdn.com/image/fetch/$s_!j6S7!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!j6S7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png" width="677" height="922" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:922,&quot;width&quot;:677,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Just-noticed-s-like-this-every-config-setting-Not-sure-if-awesome-neurotic&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="Just-noticed-s-like-this-every-config-setting-Not-sure-if-awesome-neurotic" title="Just-noticed-s-like-this-every-config-setting-Not-sure-if-awesome-neurotic" srcset="/__u/substackcdn.com/image/fetch/$s_!j6S7!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png 424w, /__u/substackcdn.com/image/fetch/$s_!j6S7!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png 848w, /__u/substackcdn.com/image/fetch/$s_!j6S7!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.png 1272w, /__u/substackcdn.com/image/fetch/$s_!j6S7!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbbd4d35-dba0-4918-b362-f0f6403da002_677x922.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://www.reddit.com/r/laravel/comments/20ovey/just_noticed_this_its_like_this_in_every_config/">Reddit post</a></figcaption></figure></div><blockquote><p><em>&#8220;It is indeed intentional. I&#8217;m not sure if it&#8217;s awesome or neurotic either&#8230; :) Also, it is not just config files &#8211; it is the entire framework. Config files are the first impression of the framework once you have it installed. So, I want it to be pleasant to the eye. The symmetrical comments help with that. I don&#8217;t want your first impression of the code to &#8220;appear&#8221; disorganized or something. I dunno. It&#8217;s kind of crazy. I do it with all of the Laravel core code. If it doesn&#8217;t look pleasing to the eye, I keep working on it until it is.&#8221;<br><br>&#8212; <strong>Taylor Otwell</strong></em></p></blockquote><p>I started my programming career with Laravel, and I remember how well-structured Taylor&#8217;s code looked in some of the tutorial videos, and the haiku-esque comments contribute greatly.</p><p>Formatting text to make it look good is a lot of work.</p><p>Hyphenation and justification are hard to get right, so in the 1990s rs1n solved the structure problem in the Super Metroid guide with&#8230; word choice.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Vln2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Vln2!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif 424w, /__u/substackcdn.com/image/fetch/$s_!Vln2!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif 848w, /__u/substackcdn.com/image/fetch/$s_!Vln2!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif 1272w, /__u/substackcdn.com/image/fetch/$s_!Vln2!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Vln2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif" width="1088" height="1176" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1176,&quot;width&quot;:1088,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Vln2!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif 424w, /__u/substackcdn.com/image/fetch/$s_!Vln2!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif 848w, /__u/substackcdn.com/image/fetch/$s_!Vln2!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif 1272w, /__u/substackcdn.com/image/fetch/$s_!Vln2!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d2cdb7b-84c5-478d-bf68-68594e2b76db_1088x1176.avif 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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://unsung.aresluna.org/i-just-chose-words-carefully/">I just chose words carefully</a></figcaption></figure></div><p>These are the kind of things I&#8217;m nostalgic about.</p><div><hr></div><p>Writing is the by-product of a more abstract ability we call thinking.</p><blockquote><p><em>&#8220;If you&#8217;re thinking without writing, you only think you&#8217;re thinking.&#8220;<br>&#8212; Leslie Lamport</em></p></blockquote><p>Without writing, your thoughts remain abstract and scattered. When you put them into words, they need to take a specific, pristine shape that you can show to others. Code, by extension, has that same property.</p><p>With LLMs, we can front-load that thinking and skip the physical process of writing.</p><p>But if you don&#8217;t formulate that pristine thought, then you get a result that&#8217;s as abstract as it was in your head - no matter if it&#8217;s code or prose or design.</p><p>Because if you&#8217;re writing without thinking, you only think that you&#8217;re writing.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why we haven’t automated quality]]></title><description><![CDATA[The struggle to turn software development into an assembly line]]></description><link>https://thethinkingbuilder.substack.com/p/why-we-havent-automated-quality</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/why-we-havent-automated-quality</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Mon, 24 Aug 2026 10:31:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kq04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!kq04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!kq04!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!kq04!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!kq04!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!kq04!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!kq04!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Parable of the Blind - Wikipedia&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Parable of the Blind - Wikipedia" title="The Parable of the Blind - Wikipedia" srcset="/__u/substackcdn.com/image/fetch/$s_!kq04!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!kq04!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!kq04!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!kq04!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec24b502-5c98-4682-b475-a286b9379e0f_2700x1520.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Bruegel, <em>The Blind Leading the Blind</em> (1568)</figcaption></figure></div><p>Coding agents are very good. No, they&#8217;re incredible. </p><p>But many of the arguments we had against them still stand.</p><p>Their software design is questionable and often optimizes for local maxima. They overcomment and write verbosely. They produce visual design focused on looking <em>&#8220;designed&#8221;</em> but struggle with usability.</p><p>But guess what?</p><p>The world is still spinning.</p><p>Yeah, it turns out that <em>&#8220;good-enough&#8221;</em> is good enough for most teams out there. You can say that people want good software, perfect software, exceptional software, and some do. </p><p>But a lot of people order from Temu, so you need to know your audience.</p><p>Great will always require a personal touch and attention, but this is not about making great software or even good software. We&#8217;re concerned with why we still haven&#8217;t created an assembly line for <em>&#8220;good-enough&#8220;</em> software.</p><p>My running theory is that this is due to the constantly changing context required for baseline quality.</p><h2>Second-order effects</h2><p>Every change we make to a piece of software has obvious effects and secondary ones that are not as easy to predict.</p><p>When I worked at media, we redesigned a website and the natural result was better readability, accessibility, load times, and a more modern look. </p><p>The second-order effect <em>(one we didn&#8217;t foresee)</em> was a broken print format, which turned out to be important for some of our aging users who actually print the web page on paper before reading it.</p><p>The natural effect of coding agents is that people push more code. </p><p>The second-order effect is that GitHub&#8217;s uptime suffers because its load has increased tenfold. The third-order effect of this is that your own development workflow gets disturbed because of GitHub actions.</p><p>The expected effect of adding slick animations to buttons is to make the UI better.</p><p>The reality is that animations on frequently-used actions make it clunkier and harder to use. They create a delay before every action which does more harm than good. If you&#8217;re on a Mac machine, open the right-click contextual menu anywhere. You&#8217;ll notice that it appears instantly, but when you click outside it fades away. Its appearance is not animated precisely because of that.</p><div><hr></div><p>This happens both with small-scale changes in a single product and large-scale industry shifts, and a big part of maintaining the quality of a software product is foreseeing or reacting to these second- and third-order effects.</p><p>Even <em>&#8220;good-enough&#8221;</em> software with no ambition of entering the software book of greatness needs to take care of these, and that&#8217;s what prevents it from fully turning into an assembly line.</p><p>There are small yet critical deviations from the base path.</p><p>Which is a context problem.</p><p>For a coding agent to consider some of these second-order effects, it needs broader context - about the company, about the users, about the world.</p><blockquote><p><em>&#8220;So why don&#8217;t we pass the context to the agent?&#8221;</em></p></blockquote><p>The relevant context changes as the software changes. There are different parts of the company and the outside world that are relevant to every new feature.</p><blockquote><p><em>&#8220;So why don&#8217;t we pass all of it?&#8221;</em></p></blockquote><p>Then the signal-to-noise ratio gets out of balance, and the agent can start over-engineering irrelevant bits of the codebase, which you once again need to review.</p><p>It&#8217;s very difficult to figure out why one embedding scored over another, for example, so the current generation of agents relies on search tools, but sometimes these second-order effects are not directly corelated and they&#8217;re not easy to spot.</p><p>I imagine that the companies working on context solutions are trying to solve this.</p><blockquote><p><em>&#8220;But we can have another agent review the PR of the first one based on specific rules!&#8221;</em></p></blockquote><p>Show me a setup that&#8217;s given you good actionable results and I&#8217;ll agree.</p><div><hr></div><p>I think that quality can&#8217;t be automated.</p><p>Some of it can, of course.</p><p>It&#8217;s naive to think that quality doesn&#8217;t benefit from automation. We&#8217;ve been using tests, linters, and various static analysis tools to guarantee a quality baseline, but this is a part of QA, not the whole. The industrialist dream is to scale up this effort in a way that allows us to produce software en masse, and to my surprise we&#8217;re close to that.</p><p>The industry has become more capital intensive than before.</p><p>But throwing money at an agent doesn&#8217;t produce the same results like throwing money at new agricultural equipment would because the second-order effect management <em>(still)</em> requires manual effort.</p><p>And most importantly - it requires direction.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Not speed but smoothness]]></title><description><![CDATA[The rushed work is a shame for the craftsman]]></description><link>https://thethinkingbuilder.substack.com/p/not-speed-but-smoothness</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/not-speed-but-smoothness</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Tue, 11 Aug 2026 10:28:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-5SC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-5SC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-5SC!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-5SC!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-5SC!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-5SC!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-5SC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg" width="901" height="766" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:766,&quot;width&quot;:901,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Understanding The Lacemaker by Johannes Vermeer&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Understanding The Lacemaker by Johannes Vermeer" title="Understanding The Lacemaker by Johannes Vermeer" srcset="/__u/substackcdn.com/image/fetch/$s_!-5SC!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-5SC!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-5SC!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-5SC!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f184763-36bb-4d68-a6ca-6f96f551f071_901x766.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In Bulgaria, we have a saying that goes something in the lines of: </p><blockquote><p><em>&#8220;The rushed work is a shame for the craftsman&#8221;</em></p></blockquote><p>You use it when someone does something sloppily in a rush just so they can get the task off their hands. Fix a sink, paint a wall, build a backoffice application.</p><p>That kind of thing.</p><p>My grandmother has repeated this so many times when I wanted to rush through my chores. Her generation insisted on doing things right the first time, so she&#8217;d get me to tidy the desk drawers after I had stashed all my stuff in them just so I could go out and play.</p><blockquote><p><em>&#8220;The rushed work is a shame for the craftsman&#8221;</em></p></blockquote><p>We are obsessed with speed because quickness translates to profit for a business. But I&#8217;ve never seen someone who is focused solely on speed do great work.</p><p>I have it nailed in my head that speed on its own is not a virtue. Everybody on this Earth knows it as well, yet we still try to turn every job into a Doom speedrun.</p><p>Yeah, the best people I&#8217;ve worked with have always been fast. </p><p>But not because they&#8217;re rushing. </p><p>It was because their movements don&#8217;t have fat in them. They work deliberately, they don&#8217;t take unnecessary actions, they know what they&#8217;re aiming for.</p><p>It&#8217;s not speed but smoothness.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vAzf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vAzf!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png 424w, /__u/substackcdn.com/image/fetch/$s_!vAzf!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png 848w, /__u/substackcdn.com/image/fetch/$s_!vAzf!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vAzf!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vAzf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png" width="960" height="268" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:268,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48669,&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://thethinkingbuilder.substack.com/i/210730616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!vAzf!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png 424w, /__u/substackcdn.com/image/fetch/$s_!vAzf!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png 848w, /__u/substackcdn.com/image/fetch/$s_!vAzf!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vAzf!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd35e151-033b-4f3c-8d21-9db8b4701988_960x268.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That smoothness comes predominantly from knowing what you want. Knowing what you need to do on the first try. That&#8217;s where the taste everyone is talking about comes in.</p><p>Teams are slow because they need more time to think, to try out approaches, to test. Thinking of the correct solution requires contact with reality, and some builders are slow because they make it infrequently.</p><p>If you don&#8217;t read the code, you&#8217;ll be a lot quicker.</p><p>But one of these things Rauch posted about will also be true:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!sX6M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!sX6M!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png 424w, /__u/substackcdn.com/image/fetch/$s_!sX6M!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png 848w, /__u/substackcdn.com/image/fetch/$s_!sX6M!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sX6M!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!sX6M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png" width="1072" height="1038" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1038,&quot;width&quot;:1072,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:234504,&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://thethinkingbuilder.substack.com/i/210730616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!sX6M!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png 424w, /__u/substackcdn.com/image/fetch/$s_!sX6M!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png 848w, /__u/substackcdn.com/image/fetch/$s_!sX6M!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sX6M!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F403b9403-5389-4a1c-9517-ba813059e9dc_1072x1038.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 aria-hidden="true" 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><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 other day I asked Claude to create a shape for a subtle background accent on some pages, and it created an svg with polygons. Good if you&#8217;re in a rush and you don&#8217;t care, but when I started tweaking the shape to make it perfect, I found out how difficult it is to move polygons based on points.</p><p>Had I known what I wanted, I could&#8217;ve told it to use divs with a border and rotate them.</p><p>I meditate on this because I think you only become good by doing homework, by studying the tape. It&#8217;s easy to lie to yourself.  I could&#8217;ve complained about the model not being good enough after the tenth polygon change, but the reality is that I didn&#8217;t know what I wanted.</p><p>I&#8217;m the slowest when I haven&#8217;t done my homework.</p><p>I&#8217;m quick when I&#8217;ve done some work beforehand. I&#8217;ve followed my curiosity, gone down rabbit holes without a need.</p><p>I&#8217;m fast when I have taste.</p><p>Otherwise, I stumble through an implementation like a pinball ball, bouncing from one solution to the next. That&#8217;s not necessarily bad. But I recognize it, and I don&#8217;t expect speed or smoothness. I expect iterations and learnings.</p><p>Try to be fast without knowing what you want and you&#8217;ll produce garbage.</p><blockquote><p><em>&#8220;The rushed work is a shame for the craftsman&#8221;</em></p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Study the craft]]></title><description><![CDATA[The builder who has better skills will outperform the one who has better tools.]]></description><link>https://thethinkingbuilder.substack.com/p/study-the-craft</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/study-the-craft</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Mon, 03 Aug 2026 11:07:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hy5X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hy5X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hy5X!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!hy5X!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!hy5X!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!hy5X!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hy5X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg" width="1152" height="648" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:648,&quot;width&quot;:1152,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Dark Souls 3 review: Marching toward masochism - Ars Technica&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Dark Souls 3 review: Marching toward masochism - Ars Technica" title="Dark Souls 3 review: Marching toward masochism - Ars Technica" srcset="/__u/substackcdn.com/image/fetch/$s_!hy5X!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!hy5X!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!hy5X!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!hy5X!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25f04e8a-934d-490f-a74e-219822a33f47_1152x648.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 aria-hidden="true" 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><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 best showcase for human skill is the Dark Souls streamers who can beat all 3 games back to back on a naked level 1 character armed with a club. No clothes, no upgrades, no tricks. Just a man and a dream.</p><p>Kind of goes the same for software.</p><p>I&#8217;m sure that no matter the agents I have access to, I won&#8217;t be able to produce a design as beautiful as <a href="https://joshpuckett.me/">Josh Puckett</a>.</p><p>I&#8217;ll make something good, no doubt about it. Through grit, careless permission approvals, and continuously renewing my usage limit, I&#8217;ll put something together. But someone better will make a more beautiful interface with nothing more than Sublime Text without a license and the Google search auto-generated AI response.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!jxtT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!jxtT!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png 424w, /__u/substackcdn.com/image/fetch/$s_!jxtT!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png 848w, /__u/substackcdn.com/image/fetch/$s_!jxtT!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png 1272w, /__u/substackcdn.com/image/fetch/$s_!jxtT!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!jxtT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png" width="537" height="217" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:217,&quot;width&quot;:537,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:35922,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thethinkingbuilder.substack.com/i/209614485?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!jxtT!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png 424w, /__u/substackcdn.com/image/fetch/$s_!jxtT!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png 848w, /__u/substackcdn.com/image/fetch/$s_!jxtT!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png 1272w, /__u/substackcdn.com/image/fetch/$s_!jxtT!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea029102-9bad-4d1a-87bd-d5b7d7ceb95e_537x217.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>A few days ago someone posted a game demo on X that Claude one-shotted.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!LVow!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!LVow!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png 424w, /__u/substackcdn.com/image/fetch/$s_!LVow!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png 848w, /__u/substackcdn.com/image/fetch/$s_!LVow!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LVow!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!LVow!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png" width="534" height="583" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/630a519d-b166-4261-b02b-454bd25d4567_534x583.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:583,&quot;width&quot;:534,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:286529,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thethinkingbuilder.substack.com/i/209614485?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!LVow!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png 424w, /__u/substackcdn.com/image/fetch/$s_!LVow!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png 848w, /__u/substackcdn.com/image/fetch/$s_!LVow!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LVow!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F630a519d-b166-4261-b02b-454bd25d4567_534x583.png 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 aria-hidden="true" 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><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>People say you should let the agent take care of the details while you control the broad vision.</p><p>Brother, it&#8217;s all about the details.</p><p>Anyone equipped with the same off-the-shelf tools you have can build that flashy demo. But someone good at game dev can put some basic assets together with a better game loop, and people will prefer it. Access to tools is not a competitive advantage in an industry that still finds ways to open source its critical pieces.</p><p>But there&#8217;s a sense that if you&#8217;re not focusing on tools you&#8217;ll be left behind, stuck out of time.</p><p>You won&#8217;t.</p><p>Everybody&#8217;s behind. If you&#8217;re not working in a frontier lab right now and you get your news from a blog post, you&#8217;re already behind. Who knew about harness engineering and agentic coding 3 years ago? Who knows how we&#8217;ll be writing software in 3 more years? Only those who are pushing the technology forward have an idea. The rest of us are following.</p><p>There&#8217;s a notion that using the tool is a skill on its own.</p><p>But mastering a new tool like agentic coding is much easier for the skilled. Models get better with every generation. They will understand you more and more easily as time goes on, but you need to know what to ask of the genie.</p><p>We gravitate around patterns and ideas until something happens and turns the whole industry on its head.</p><p>The arguments about programming languages, frameworks, testing, and code quality we had before November 2022 have now turned into arguments about coding agents, models, harness setups, and tool usage.</p><p>Because no one knows the best way to build software.</p><p>Yet those who are more skilled consistently make better creations than those who put their trust in tools.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Don't be a cynic]]></title><description><![CDATA[No one admires the cynic's work]]></description><link>https://thethinkingbuilder.substack.com/p/dont-be-a-cynic</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/dont-be-a-cynic</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Mon, 27 Jul 2026 05:52:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K5wq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.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="/__u/substackcdn.com/image/fetch/$s_!K5wq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!K5wq!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png 424w, /__u/substackcdn.com/image/fetch/$s_!K5wq!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png 848w, /__u/substackcdn.com/image/fetch/$s_!K5wq!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png 1272w, /__u/substackcdn.com/image/fetch/$s_!K5wq!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!K5wq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png" width="1440" height="1228" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1228,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3915275,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thethinkingbuilder.substack.com/i/208642892?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!K5wq!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png 424w, /__u/substackcdn.com/image/fetch/$s_!K5wq!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png 848w, /__u/substackcdn.com/image/fetch/$s_!K5wq!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.png 1272w, /__u/substackcdn.com/image/fetch/$s_!K5wq!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63308120-5e54-445c-81e5-b753bed8f837_1440x1228.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">John William Waterhouse, Diogenes (1882)</figcaption></figure></div><p>Cynicism is a natural reaction to disappointment.</p><p>When I got neglected during a promotion cycle, when the feature I poured my soul into got scrapped without warning, when I had to clean up a mess I didn&#8217;t cause.</p><p>That&#8217;s when cynicism got hold of me.</p><p>The details I thought so much about amounted to nothing. The code will rot anyway. The effort is not worth it.</p><p>Companies are factories for cynicism. </p><p>Through ignored feedback and managers who say that care matters but do not reward it. There&#8217;s a structural dimension to this feeling that puts every builder to the test at some point in their career.</p><p>You can succumb to cynicism, collect your paycheck, and do the bare minimum.</p><p>But you know what beat the cynicism out of me?</p><p><strong>No one admires the cynic&#8217;s work.</strong></p><p>We admire those who continued to build and hope while the cynics in Greece walked around naked and slept on the streets.</p><p>Think about the most popular open source libraries in the ecosystem you&#8217;re working in. <strong>Do you think they were built by cynics?</strong></p><blockquote><p><em>&#8220;Cynicism is the intellectual cripple&#8217;s substitute for intelligence.&#8221; &#8212; Russell Lynes</em></p></blockquote><p>I can&#8217;t allow myself to be negative about my work even on my worst days because that mindset spreads like wildfire. All it takes is for one builder to start, and the trend of carelessness continues.</p><p>The Broken Windows Theory in criminology states that unmaintained neighborhoods attract more criminal activity. </p><p>Lack of care when building software works the same way.</p><p>It&#8217;s even harder to resist cynicism in the age of slop.</p><p>You put care and effort into your work.</p><p>Then someone does a drive-by PR solely authored by an LLM without as much as looking at the final result, and they&#8217;re praised for their speed and token utilization.</p><p>How do I avoid becoming a cynic?</p><p>I go back to that same sentence.</p><p><strong>No one admires the cynic&#8217;s work.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[What the hell is taste anyway?]]></title><description><![CDATA[&#8220;Taste has become as much of a Silicon Valley clich&#233; as &#8216;disruption&#8217; was in the twenty-tens.&#8221;]]></description><link>https://thethinkingbuilder.substack.com/p/what-the-hell-is-taste-anyway</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/what-the-hell-is-taste-anyway</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Tue, 21 Jul 2026 09:54:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!clGm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!clGm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!clGm!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!clGm!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!clGm!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!clGm!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!clGm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Rick Rubin Wearing Headphones | Know Your Meme&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Rick Rubin Wearing Headphones | Know Your Meme" title="Rick Rubin Wearing Headphones | Know Your Meme" srcset="/__u/substackcdn.com/image/fetch/$s_!clGm!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!clGm!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!clGm!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!clGm!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e2f304-d057-4dec-843f-2a7fa0778886_1280x720.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every time I travel to Sofia <em>(Bulgaria&#8217;s capital city)</em>, I pass by this typical Eastern European house that has a wooden porch, red roof tiles... and a mini Chinese pagoda in its front yard.</p><p>Has to be the most tasteless thing I&#8217;ve ever seen.</p><p>But what the hell is taste anyway?</p><blockquote><p><em><a href="https://www.cultureslantmedia.com/p/you-can-t-prompt-your-way-to-taste">&#8220;Taste has become as much of a Silicon Valley clich&#233; as &#8216;disruption&#8217; was in the twenty-tens.&#8221;</a></em></p></blockquote><p>I&#8217;m convinced that the Rick Rubin memes are the reason we&#8217;re talking about taste so much. Every talk about the future of the software industry mentions it. Once technical ability is less needed, it&#8217;s your innate ability to recognize beauty that determines the outcome.</p><p>Taste is declining the implementation plan because it&#8217;s ill-designed.</p><p>Taste is removing the hover state from an element that&#8217;s not interactive.</p><p>Taste is avoiding the default LLM weights that appear everywhere <em>(like italics in landing page copy)</em>.</p><p>Taste is knowing what to ask the genie so it doesn&#8217;t give you something messed up.</p><p>Matching the requirements for first contentful paint does not require taste.</p><p>Taste is unguided pattern-matching that teaches our neurons to fire when they see <em>&#8220;good&#8221;</em> work without explicit explanation as to why. </p><p>But how do you develop good taste?</p><p>Who decides that some patterns are better than others?</p><p>Why can&#8217;t you put a pagoda in your yard?</p><div><hr></div><p>How good your taste is depends on how well it matches the economic, political, and societal environment.</p><p>A pagoda in your art is tasteless because it doesn&#8217;t match anything our culture is used to doing. There hasn&#8217;t been a need to match Eastern European and Chinese architecture before, and we haven&#8217;t figured out the best patterns to do this beautifully.</p><p>Taste is a <a href="https://www.youtube.com/watch?v=1oqGaBQs4k8">recognition of the needs of the current time</a>.</p><p>We don&#8217;t appreciate the SOLID principles in isolation. We think of extensibility as a sign of good taste because it contributes to maintainability. And maintainable software tends to be more efficient, cheaper to run, and easier to change. We value them because our heads hurt less when we have to modify smaller, focused functions rather than long ones. We value them because we sleep easier when the chance that our changes will cause a bug is smaller.</p><p>Taste in UI is not dissimilar.</p><p>We appreciate natural-feeling animations because they make an application feel like a physical product. A spring animation feels like pressing a real button on a keyboard with physical resistance and feedback.</p><p>Contrast makes for good readability. Symmetry and scale create order.</p><div><hr></div><p>Taste is the qualities you are continuously exposed to.</p><p>Known is easy. </p><p>Easy is better. </p><p>When we find the patterns that work for our environment, we write and talk about them. We repeat them. This continuous exposure establishes taste <em>(both good and bad)</em>.</p><p>But it creates a chicken-and-egg problem.</p><p>You need taste to recognize good work, but to build taste you need to get exposed to good work in the first place.</p><p>Yes, someone with more experience could give you a head start, but think about all these people who saw microservices as the pinnacle of architectural taste and put them to use at pre-PMF startups just because that&#8217;s the only way to build software they had seen.</p><blockquote><p><em><a href="https://www.youtube.com/watch?v=F4igbiu9eR8">To have good taste, you need to eat.</a></em></p></blockquote><p>Read code, but not the prototype you generated with Cursor. Look at open source software with high integrity that doesn&#8217;t accept drive-by PRs en masse. Look at interfaces that people use every day without hiccups. Not the ones on Dribbble. They&#8217;re portfolio material. The software you use every day doesn&#8217;t look like this. </p><p>You don&#8217;t build taste through books and courses, but from real-world examples.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[My career-long struggle with picking challenge or beauty]]></title><description><![CDATA[Why I keep trading a stable career path for a detour in doing beautiful work]]></description><link>https://thethinkingbuilder.substack.com/p/my-career-long-struggle-with-picking</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/my-career-long-struggle-with-picking</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Sat, 20 Jun 2026 09:07:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PBgF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600" 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="/__u/substackcdn.com/image/fetch/$s_!PBgF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!PBgF!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600 424w, /__u/substackcdn.com/image/fetch/$s_!PBgF!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600 848w, /__u/substackcdn.com/image/fetch/$s_!PBgF!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600 1272w, /__u/substackcdn.com/image/fetch/$s_!PBgF!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!PBgF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600" width="731" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f147f1f0-7240-4af3-8106-d1893caac810_731x600&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:731,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Castle and Sun, 1928 - Paul Klee&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Castle and Sun, 1928 - Paul Klee" title="Castle and Sun, 1928 - Paul Klee" srcset="/__u/substackcdn.com/image/fetch/$s_!PBgF!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600 424w, /__u/substackcdn.com/image/fetch/$s_!PBgF!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600 848w, /__u/substackcdn.com/image/fetch/$s_!PBgF!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600 1272w, /__u/substackcdn.com/image/fetch/$s_!PBgF!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff147f1f0-7240-4af3-8106-d1893caac810_731x600 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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Paul Klee, &#8220;Castle and Sun&#8221;</figcaption></figure></div><p>I always find it hard to tell recruiters about my background. </p><p>Many of them expect a straightforward reply containing no more than a couple of languages and a two-digit years-of-experience count.</p><blockquote><p><em>So you&#8217;re a JavaScript developer?</em><br><em>Well, yes, but not exactly...</em><br><em>You&#8217;re a front-end developer?</em><br><em>Well, I currently build UIs, but I&#8217;ve also worked with Kafka</em><br><em>What position are you applying for again?</em></p></blockquote><p>My career path looks like the worst possible implementation of the shortest-path algorithm.</p><p>I take detours, I go sightseeing, sometimes I get way too focused on the path, and sometimes I forget there&#8217;s even a path in the first place. So while a friend of mine can say he&#8217;s been a Java developer for the last decade, I have to kick off every intro call with:</p><blockquote><p><em>It all started in the long winter of 2014</em></p></blockquote><p>And the reason I&#8217;m the bane of recruiters around the world is that I&#8217;m constantly torn between beauty and challenge.</p><p>It&#8217;s obvious why challenging work is important.</p><p>It&#8217;s interesting, it&#8217;s fulfilling, it gives you bragging rights, it&#8217;s well-paid, and it has better job security.</p><p>I don&#8217;t need to tell you more than that.</p><p>Beauty is different. </p><p>You can have all the things above without your work having the abstract quality we call beauty. It requires effort to create and taste to appreciate it. Most importantly, it doesn&#8217;t guarantee you a higher salary.</p><p>Beauty is a cruel mistress, and I blame her for my inability to follow a linear, boring path into middle management.</p><p>But the underlying reason is soviet architecture <em>(bear with me)</em>.</p><h2>Why I need beauty in my work</h2><p>I was born and raised in post-communist Bulgaria, where for half a century people prioritized utility over aesthetics. There are enormous neighborhoods made up of tall grey squares <em>(the infamous panelka buildings)</em> where the only important quality was their ability to stand upright. </p><p>Windows were a bonus.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!L6BB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!L6BB!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!L6BB!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!L6BB!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!L6BB!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!L6BB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg" width="1024" height="674" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:674,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#1048;&#1084;&#1072; &#1083;&#1080; &#1089;&#1084;&#1080;&#1089;&#1098;&#1083; &#1076;&#1072; &#1089;&#1077; &#1080;&#1085;&#1074;&#1077;&#1089;&#1090;&#1080;&#1088;&#1072; &#1074; &#1087;&#1072;&#1085;&#1077;&#1083;&#1082;&#1072;&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="&#1048;&#1084;&#1072; &#1083;&#1080; &#1089;&#1084;&#1080;&#1089;&#1098;&#1083; &#1076;&#1072; &#1089;&#1077; &#1080;&#1085;&#1074;&#1077;&#1089;&#1090;&#1080;&#1088;&#1072; &#1074; &#1087;&#1072;&#1085;&#1077;&#1083;&#1082;&#1072;" title="&#1048;&#1084;&#1072; &#1083;&#1080; &#1089;&#1084;&#1080;&#1089;&#1098;&#1083; &#1076;&#1072; &#1089;&#1077; &#1080;&#1085;&#1074;&#1077;&#1089;&#1090;&#1080;&#1088;&#1072; &#1074; &#1087;&#1072;&#1085;&#1077;&#1083;&#1082;&#1072;" srcset="/__u/substackcdn.com/image/fetch/$s_!L6BB!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!L6BB!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!L6BB!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!L6BB!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b123a9-ed1d-4d30-be04-23a6a265584e_1024x674.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 aria-hidden="true" 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><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 since the law allows people to manage their part of the building property as they see fit, they painted, insulated, and developed them without any thought for consistency or aesthetics.</p><p>Every building like this is a monument to misunderstood individualism and a counter-example for beauty.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!CoTx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!CoTx!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!CoTx!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!CoTx!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!CoTx!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!CoTx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg" width="724" height="406.9463087248322" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/deec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:335,&quot;width&quot;:596,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#1053;&#1072;&#1089;&#1090;&#1098;&#1087;&#1074;&#1072; &#1083;&#1080; &#1082;&#1088;&#1072;&#1103;&#1090; &#1085;&#1072; &#1087;&#1072;&#1085;&#1077;&#1083;&#1085;&#1080;&#1090;&#1077; &#1073;&#1083;&#1086;&#1082;&#1086;&#1074;&#1077;, &#1089;&#1090;&#1088;&#1086;&#1077;&#1085;&#1080; &#1087;&#1088;&#1077;&#1079; 60-&#1090;&#1077; &#1075;&#1086;&#1076;&#1080;&#1085;&#1080; &#1085;&#1072; 20 &#1074;&#1077;&#1082;  - &#1054;&#1090; &#1076;&#1077;&#1085;&#1103; - &#1041;&#1053;&#1056; &#1053;&#1086;&#1074;&#1080;&#1085;&#1080;&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="&#1053;&#1072;&#1089;&#1090;&#1098;&#1087;&#1074;&#1072; &#1083;&#1080; &#1082;&#1088;&#1072;&#1103;&#1090; &#1085;&#1072; &#1087;&#1072;&#1085;&#1077;&#1083;&#1085;&#1080;&#1090;&#1077; &#1073;&#1083;&#1086;&#1082;&#1086;&#1074;&#1077;, &#1089;&#1090;&#1088;&#1086;&#1077;&#1085;&#1080; &#1087;&#1088;&#1077;&#1079; 60-&#1090;&#1077; &#1075;&#1086;&#1076;&#1080;&#1085;&#1080; &#1085;&#1072; 20 &#1074;&#1077;&#1082;  - &#1054;&#1090; &#1076;&#1077;&#1085;&#1103; - &#1041;&#1053;&#1056; &#1053;&#1086;&#1074;&#1080;&#1085;&#1080;" title="&#1053;&#1072;&#1089;&#1090;&#1098;&#1087;&#1074;&#1072; &#1083;&#1080; &#1082;&#1088;&#1072;&#1103;&#1090; &#1085;&#1072; &#1087;&#1072;&#1085;&#1077;&#1083;&#1085;&#1080;&#1090;&#1077; &#1073;&#1083;&#1086;&#1082;&#1086;&#1074;&#1077;, &#1089;&#1090;&#1088;&#1086;&#1077;&#1085;&#1080; &#1087;&#1088;&#1077;&#1079; 60-&#1090;&#1077; &#1075;&#1086;&#1076;&#1080;&#1085;&#1080; &#1085;&#1072; 20 &#1074;&#1077;&#1082;  - &#1054;&#1090; &#1076;&#1077;&#1085;&#1103; - &#1041;&#1053;&#1056; &#1053;&#1086;&#1074;&#1080;&#1085;&#1080;" srcset="/__u/substackcdn.com/image/fetch/$s_!CoTx!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!CoTx!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!CoTx!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!CoTx!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeec31de-4ca1-4de1-ac07-ec8173bb101a_596x335.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Not even the worst example</figcaption></figure></div><p>When my eyes first felt the pleasure of seeing the colourful, consistent, playful architecture of modern buildings, I decided I needed more of that in my life. Not architecture per se, but beauty, aesthetics.</p><h2>A long career of detours</h2><p>My career has been a constant attempt to balance beauty and challenge.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vNcs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vNcs!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png 424w, /__u/substackcdn.com/image/fetch/$s_!vNcs!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png 848w, /__u/substackcdn.com/image/fetch/$s_!vNcs!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vNcs!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vNcs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png" width="558" height="325.56748911465894" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1378,&quot;resizeWidth&quot;:558,&quot;bytes&quot;:71436,&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://thethinkingbuilder.substack.com/i/202817760?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!vNcs!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png 424w, /__u/substackcdn.com/image/fetch/$s_!vNcs!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png 848w, /__u/substackcdn.com/image/fetch/$s_!vNcs!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vNcs!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abd53d-ef11-4160-8405-abcfa23daa7f_1378x804.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 aria-hidden="true" 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><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 started off looking for beauty and applied for a front-end internship in a design studio, but on my first day, they told me I&#8217;d need to focus on back-end instead.</p><p>So I spent the first few years watching beauty from the sidelines.</p><p>When I finally got to do front-end full-time in 2017, it was amazing. I got to work on a design system and build beautiful pages while others sweat on configuring Zookeeper correctly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!O8Kt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!O8Kt!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png 424w, /__u/substackcdn.com/image/fetch/$s_!O8Kt!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png 848w, /__u/substackcdn.com/image/fetch/$s_!O8Kt!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png 1272w, /__u/substackcdn.com/image/fetch/$s_!O8Kt!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!O8Kt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png" width="518" height="261.2679509632224" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:1142,&quot;resizeWidth&quot;:518,&quot;bytes&quot;:44461,&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://thethinkingbuilder.substack.com/i/202817760?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!O8Kt!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png 424w, /__u/substackcdn.com/image/fetch/$s_!O8Kt!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png 848w, /__u/substackcdn.com/image/fetch/$s_!O8Kt!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.png 1272w, /__u/substackcdn.com/image/fetch/$s_!O8Kt!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde57a338-3249-4b63-80fd-2094ac7cb1bf_1142x576.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 aria-hidden="true" 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><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>It&#8217;s the kind of work that requires focus, study, and precision, but it&#8217;s not <em>difficult</em> in the traditional sense. </p><p>I can&#8217;t describe it. </p><p>It&#8217;s just as hard, but it doesn&#8217;t fire up the puzzle-solving part of my brain enough, and when it&#8217;s idle for too long, I get the itch to use it like I need a stretch after a long sleep.</p><p>Then, in 2019, I overcorrected. </p><p>I got a job writing CI pipelines and setting up cloud infrastructure, writing more VCL and YAML than JavaScript. Absolutely no beauty in sight there, and for some reason, I had little need of it for 4 years.</p><p>Looking back, it&#8217;s insane that they gave me a shot at infra without previous experience, but that company believed that engineers shouldn&#8217;t be siloed in disciplines, and I took the chance to un-silo myself from front-end work as quickly as possible.</p><p>Whenever I had a yin-yang episode and needed beauty, I&#8217;d spend time on software design, design patterns, and maintainability practices to put some beauty in the logical work, to sneak some art into the science.</p><p>But all in all, I was careermaxxing like a madman at that time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!jVeZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!jVeZ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png 424w, /__u/substackcdn.com/image/fetch/$s_!jVeZ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png 848w, /__u/substackcdn.com/image/fetch/$s_!jVeZ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png 1272w, /__u/substackcdn.com/image/fetch/$s_!jVeZ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!jVeZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png" width="534" height="268.90714285714284" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:564,&quot;width&quot;:1120,&quot;resizeWidth&quot;:534,&quot;bytes&quot;:41773,&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://thethinkingbuilder.substack.com/i/202817760?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!jVeZ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png 424w, /__u/substackcdn.com/image/fetch/$s_!jVeZ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png 848w, /__u/substackcdn.com/image/fetch/$s_!jVeZ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.png 1272w, /__u/substackcdn.com/image/fetch/$s_!jVeZ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9147aa28-b873-42e3-9afa-7efa2600213a_1120x564.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 aria-hidden="true" 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><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>My tunnel vision on challenging work turned into a speedrun into engineering management, and there I felt like I was in the Soviet-era neighborhood again - all utility, no beauty.</p><p>In 2023, I noped out of management and got a job as an individual contributor focused mostly on front-end work.</p><h2>Where I&#8217;m finding challenge and beauty now</h2><p>That&#8217;s a long way to say I find way too many things interesting and can&#8217;t focus on one of them for more than 3-4 years.</p><p>Lately, LLMs have turned my reward system inside out, and that doesn&#8217;t help either.</p><p>They have put difficulty, logic, and beauty all together into the blender, and I&#8217;m not sure if the result tastes good. There&#8217;s more difficulty everywhere, beauty is less commercially appreciated, and the sense of fulfillment lives in smaller corners of the work.</p><p>One positive development is that the people who actually appreciate beauty long for it so much more when everyone is drowning in mass-produced software.</p><p>I&#8217;ve identified web animations with Motion as an intersection of the Venn diagram between difficulty and beauty, and I&#8217;m spending disproportionate amounts of time on them right now.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!BXHI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!BXHI!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png 424w, /__u/substackcdn.com/image/fetch/$s_!BXHI!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png 848w, /__u/substackcdn.com/image/fetch/$s_!BXHI!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BXHI!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!BXHI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png" width="569" height="252.01771653543307" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:450,&quot;width&quot;:1016,&quot;resizeWidth&quot;:569,&quot;bytes&quot;:56401,&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://thethinkingbuilder.substack.com/i/202817760?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!BXHI!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png 424w, /__u/substackcdn.com/image/fetch/$s_!BXHI!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png 848w, /__u/substackcdn.com/image/fetch/$s_!BXHI!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BXHI!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7435f3c3-1520-4334-857b-f33a1fd22b8c_1016x450.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 aria-hidden="true" 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><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>Complex front-end work seems to be the cure.</p><p>But more on that in the follow-up article, I guess.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[I'm not excited about new toys]]></title><description><![CDATA[A short rant on new model releases and why I don't follow new tool development]]></description><link>https://thethinkingbuilder.substack.com/p/im-not-excited-about-new-toys</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/im-not-excited-about-new-toys</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Wed, 10 Jun 2026 09:55:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!we26!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!we26!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!we26!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!we26!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!we26!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!we26!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!we26!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg" width="1024" height="773" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:773,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Gustav Wentzel, A Carpenter's Workshop &#8211; Nasjonalmuseet &#8211; Collection&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Gustav Wentzel, A Carpenter's Workshop &#8211; Nasjonalmuseet &#8211; Collection" title="Gustav Wentzel, A Carpenter's Workshop &#8211; Nasjonalmuseet &#8211; Collection" srcset="/__u/substackcdn.com/image/fetch/$s_!we26!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!we26!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!we26!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!we26!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea9e373-aaec-422e-8565-77efe34d2e58_1024x773.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 aria-hidden="true" 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><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 used to get excited by major library releases like a child on Christmas morning. I&#8217;d open the docs and look at all the new APIs I could use like a new Lego set. A new addition to the standard library, a new public function that saves you some writing, changes to the language&#8217;s type system.</p><p>I&#8217;d be all over them.</p><p>I haven&#8217;t felt like this in the last couple of years, though. </p><p>It&#8217;s all AI now.<br><br>It&#8217;s all about the latest model, and every announcement sounds like an Apple keynote. It&#8217;s always the best model yet. It outperforms the previous one by an order of magnitude, and reduces the amount of code we write even more.</p><p>I wish I could get excited about such news. </p><p>I really do.</p><p>But they&#8217;re just not concrete products.</p><p>Software that relied on the models in the early days now has exposure to the complex agentic architecture that powers it. It&#8217;s no longer one model anymore, but an entire system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3geq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3geq!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png 424w, /__u/substackcdn.com/image/fetch/$s_!3geq!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png 848w, /__u/substackcdn.com/image/fetch/$s_!3geq!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3geq!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3geq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png" width="446" height="663.9114093959731" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1109,&quot;width&quot;:745,&quot;resizeWidth&quot;:446,&quot;bytes&quot;:86902,&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://thethinkingbuilder.substack.com/i/201421502?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!3geq!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png 424w, /__u/substackcdn.com/image/fetch/$s_!3geq!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png 848w, /__u/substackcdn.com/image/fetch/$s_!3geq!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3geq!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098eb2c-7ffd-41d5-82ee-aeeaa0a51ec8_745x1109.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So the concept of a product is quite fluid in frontier models. </p><p>Anthropic makes a tweak, and suddenly it starts underperforming in some areas. They make another, and it gets better. They can hinder specific use cases like model training <em>(just read a blog post about this)</em>.</p><blockquote><p><em>we&#8217;ve implemented new interventions that limit Claude&#8217;s effectiveness for requests targeting frontier LLM development (for example, on building pretraining pipelines, distributed training infrastructure, or ML accelerator design). Using Claude to develop competing models already violates our Terms of Service, but enforcing this restriction through our safeguards avoids accelerating the actors most willing to violate these terms. Unlike our interventions for cybersecurity, biology and chemistry, and distillation attempts, these safeguards will not be visible to the user. Fable 5 will not fall back to a different model. Instead, the safeguards will limit effectiveness through methods such as prompt modification, steering vectors, or parameter-efficient fine-tuning (PEFT).</em></p></blockquote><p>So you can intentionally get a worse version of the tool you&#8217;re using without any versioning, API change, or even cost change.</p><p>I&#8217;m not excited about this because I don&#8217;t own it.</p><p>I can&#8217;t package it in my build.</p><p>It&#8217;s an unversioned external dependency that changes under my feet.</p><p>But it&#8217;s hard to follow other tools because the development in models has a far greater impact on my work than a JavaScript library. </p><p>Code generation impacts my productivity and maintainability more than a new API or framework. It&#8217;s becoming even more sensible to stick to popular tools that LLMs are already trained on, which makes me even less incentivized to follow small new libraries.</p><p>Never thought I&#8217;d become the conservative one in this industry.</p><p>New APIs and tools mean problems with code generation. It means that I can&#8217;t correctly review the agent&#8217;s code quality. It means that I don&#8217;t know the correct patterns to use.</p><p>It means change.</p><p>And things have been changing so much lately that I long for a little stability and boredom.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Clocks in distributed systems]]></title><description><![CDATA[Ordering events in a system where every machine keeps its own time]]></description><link>https://thethinkingbuilder.substack.com/p/clocks-in-distributed-systems</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/clocks-in-distributed-systems</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Mon, 01 Jun 2026 10:57:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!10RJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!10RJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!10RJ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!10RJ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!10RJ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!10RJ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!10RJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg" width="952" height="789" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:789,&quot;width&quot;:952,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:273831,&quot;alt&quot;:&quot;Thief of Time : Pratchett, Terry: Amazon.ca: Books&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Thief of Time : Pratchett, Terry: Amazon.ca: Books" title="Thief of Time : Pratchett, Terry: Amazon.ca: Books" srcset="/__u/substackcdn.com/image/fetch/$s_!10RJ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!10RJ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!10RJ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!10RJ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46a9a3d0-b378-4e11-b60a-d00765fa681f_952x789.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Terry Pratchett&#8217;s Thief of Time</figcaption></figure></div><p><em>This article is a part of a long series on distributed systems fundamentals:</em></p><ul><li><p><em><a href="/__u/thethinkingbuilder.substack.com/p/the-intro-to-distributed-systems">Introduction to distributed systems</a></em></p></li><li><p><em><a href="/__u/thethinkingbuilder.substack.com/p/yes-but-does-it-scale">Scaling</a></em></p></li><li><p><em><a href="/__u/thethinkingbuilder.substack.com/p/we-dont-live-in-mathematical-time">Latency</a></em></p></li><li><p><em><a href="/__u/thethinkingbuilder.substack.com/p/the-things-i-dont-understand-about">CAP theorem</a></em></p></li><li><p><em><a href="/__u/thethinkingbuilder.substack.com/p/finding-beauty-in-consensus-protocols">Consensus protocols</a></em></p></li></ul><p>I found my old collection of Terry Pratchett books last week. I used to buy them for a couple of euros each in high school, and through fantastical satire, they were my first encounter with many real-world problems and ideas.</p><p><em>&#8220;Thief of Time&#8221;</em> was my favorite.</p><p>It&#8217;s about inter-dimensional beings who find the world too messy, so they try to stop time to put everything in order once and for all. At 17 years old, I didn&#8217;t know how messy time can be, and I didn&#8217;t understand the antagonists&#8217; obsession with it. </p><p>Now at 32, after working in tech for a decade, I do wish I could stop time.</p><h2>Clocks</h2><p>Any article, book, or paper on distributed systems starts with three pieces of information:</p><ol><li><p>The system works concurrently on multiple nodes</p></li><li><p>They communicate over an unreliable network</p></li><li><p>There&#8217;s no shared clock</p></li></ol><p>I found this last one confusing at first.</p><p>In the real world, time flows in one direction. This happens, then that happens. Two things can&#8217;t happen at the same time, and they can&#8217;t happen out of order. </p><p>But in a distributed system, every service is its own universe with its own time.</p><p>Services may live on different machines, and their clocks can drift from one another. Any attempt to perfectly synchronize them would be futile because they communicate over a network that takes an arbitrary time to deliver messages.</p><p>This wouldn&#8217;t matter if we were running a monolith on a single EC2 instance, but at scale, one machine is rarely enough to serve a whole product. The moment we add more machines to our system, we add more clocks, and any attempt to order events based on physical time would not work.</p><p>Why?</p><h2>Clocks lie</h2><p>You&#8217;ve got two people editing the same document.</p><p>One person makes an edit, it goes to <strong>service A</strong>, and gets written. After that, the other person makes an edit, and it goes to <strong>service B</strong>. However, <strong>service B</strong>&#8217;s clock is running behind, so the system thinks this is an old edit and doesn&#8217;t accept it.</p><p>In the real world, these events happened one after another. </p><p>But the clocks can make them feel out of order.</p><p>If we rely on clocks, the one that&#8217;s running the fastest always wins, and there are numerous edge cases like this one.</p><h2>We don&#8217;t need time to create order</h2><p>Time matters because it tells us what happened after what.</p><p>We don&#8217;t necessarily care about the exact millisecond something happened, but how it fits into the sequence of events and actions. Leslie Lamport, <em>whom I&#8217;ve already written about in the previous article</em>, concluded that we need logical clocks, not physical ones</p><p>We can use a counter that shows how events relate to one another.</p><p>A counter can track the version of each entry, so if the clocks drift or the network distorts the order of messages, we still know if we&#8217;re receiving an old entry version or the latest one.</p><ul><li><p>If the entry&#8217;s counter is at <strong>version</strong> <strong>6</strong>, and we receive a smaller number, we know this is an old request.</p></li><li><p>If we receive a higher version, we accept it because it moves the entry forward.</p></li></ul><p>At this point, we know that distributed systems are an endless exercise in edge case handling, and while this helps us catch some problems, it doesn&#8217;t work out of the box for all of them.</p><h2>Concurrent requests</h2><p>Imagine that we accept a clock that bumps an entry to <strong>version 6</strong>, but then we get another request that wants to update it to the same version.</p><p>Clocks alone cannot solve this. </p><p>They help us figure out sequencing, but some requests can still happen concurrently. Two people may attempt to update the same entity at roughly the same time, without their clients having the chance to sync the data.</p><p>How we solve this problem is a business decision.</p><ul><li><p>We can say that the latest write wins. But this means that one client may lose their entry without notice.</p></li><li><p>We can decline and ask them to reload the data and make a new update.</p></li><li><p>We can decline the request, tell the client there&#8217;s a conflict, and ask them to merge both changes.</p></li></ul><p>To cover more complex merge and sequencing scenarios, we can use more complex logical clocks - vector clocks or Cockroach DB&#8217;s hybrid logical clocks.</p><p>Vector clocks store the exact chain of versions that led to the latest update, so if the business requires you to merge conflicting versions, you can do that. If you recognize that two update requests share a common history, the unlucky client whose request came in second can merge them the same way they resolve a git conflict.</p><h2>Clocks live with the data</h2><p>One misconception I had when I first read about clocks was where they live.</p><p>If every replica needs to keep its own logical clock as an in-memory state, they&#8217;d need to be synchronized, which introduces the network again, and that wouldn&#8217;t work. And it wouldn&#8217;t be just one because you most probably work with many entries, so you&#8217;d need to keep all of them. Do this enough times, and you&#8217;ve reinvented a distributed database.</p><p>So every entry keeps its own logical clock that lives in storage.</p><p>It can be a version column, for example. When we update an entry, we first check whether we&#8217;re updating it against the current or a higher version. If not, we use one of the policies we outlined above.</p><p>This is where all the &#8220;there&#8217;s a new version of this file&#8220; messages come from.</p><p><em>I even got this error on Substack as I&#8217;m writing this:</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!B0Bc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!B0Bc!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png 424w, /__u/substackcdn.com/image/fetch/$s_!B0Bc!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png 848w, /__u/substackcdn.com/image/fetch/$s_!B0Bc!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png 1272w, /__u/substackcdn.com/image/fetch/$s_!B0Bc!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!B0Bc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png" width="488" height="319.3606911447084" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:606,&quot;width&quot;:926,&quot;resizeWidth&quot;:488,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;anyone else getting a 'changes synced' error over and over? when i open a  draft and start typing, i get like 5 or 6 in a row. it works after a second&quot;,&quot;title&quot;:&quot;anyone else getting a 'changes synced' error over and over? when i open a  draft and start typing, i get like 5 or 6 in a row. it works after a second&quot;,&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="anyone else getting a 'changes synced' error over and over? when i open a  draft and start typing, i get like 5 or 6 in a row. it works after a second" title="anyone else getting a 'changes synced' error over and over? when i open a  draft and start typing, i get like 5 or 6 in a row. it works after a second" srcset="/__u/substackcdn.com/image/fetch/$s_!B0Bc!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png 424w, /__u/substackcdn.com/image/fetch/$s_!B0Bc!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png 848w, /__u/substackcdn.com/image/fetch/$s_!B0Bc!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.png 1272w, /__u/substackcdn.com/image/fetch/$s_!B0Bc!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facda12e8-915e-4066-a6f4-2a3a3a2f8d36_926x606.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 aria-hidden="true" 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><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><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The AI cool off is slowly starting]]></title><description><![CDATA[Maybe it's pricing, maybe it's common sense, but the industry is course correcting on the importance of good engineering.]]></description><link>https://thethinkingbuilder.substack.com/p/the-cool-off-is-slowly-starting</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/the-cool-off-is-slowly-starting</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Tue, 26 May 2026 09:08:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Yecx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.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="/__u/substackcdn.com/image/fetch/$s_!Yecx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Yecx!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png 424w, /__u/substackcdn.com/image/fetch/$s_!Yecx!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png 848w, /__u/substackcdn.com/image/fetch/$s_!Yecx!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Yecx!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Yecx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png" width="1304" height="934" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:934,&quot;width&quot;:1304,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2194737,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thethinkingbuilder.substack.com/i/199299254?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Yecx!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png 424w, /__u/substackcdn.com/image/fetch/$s_!Yecx!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png 848w, /__u/substackcdn.com/image/fetch/$s_!Yecx!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Yecx!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaa30a2-306e-4043-bdc6-b9147fe0aeaf_1304x934.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Hercules at the Crossroads</figcaption></figure></div><p>It&#8217;s hard to hold a normal technical conversation about AI. </p><p>It&#8217;s either dooming or worshipping. The doomers think the worshippers are bad software engineers, and the worshippers think the doomers aren&#8217;t using the right harness or don&#8217;t have the right agentic skills. </p><p>Both sides refuse to listen to each other, but the worshippers seem to be more prevalent.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!n7Pq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!n7Pq!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png 424w, /__u/substackcdn.com/image/fetch/$s_!n7Pq!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png 848w, /__u/substackcdn.com/image/fetch/$s_!n7Pq!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png 1272w, /__u/substackcdn.com/image/fetch/$s_!n7Pq!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!n7Pq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png" width="526" height="707.2434456928839" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1436,&quot;width&quot;:1068,&quot;resizeWidth&quot;:526,&quot;bytes&quot;:386690,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thethinkingbuilder.substack.com/i/199299254?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!n7Pq!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png 424w, /__u/substackcdn.com/image/fetch/$s_!n7Pq!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png 848w, /__u/substackcdn.com/image/fetch/$s_!n7Pq!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png 1272w, /__u/substackcdn.com/image/fetch/$s_!n7Pq!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa984fda-e54c-4797-b433-b12b82c7a42f_1068x1436.png 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 aria-hidden="true" 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><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>It&#8217;s the engineer&#8217;s obligation to walk the middle path. To be able to see the technological marvel that LLMs are, but think about the second and third-order effects of their application.</p><p>That&#8217;s where true virtue is.</p><div id="youtube2-2n41YjR5QfU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2n41YjR5QfU&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/2n41YjR5QfU?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>I came across this talk yesterday, and I found it refreshing. It&#8217;s a level-headed take about how the industry is changing, devoid of hype, cynicism, or praise.</p><p>It&#8217;s an engineer&#8217;s take.</p><p>This is how I expect people to think about technology. This talk raises the question of whether companies can withstand an order-of-magnitude increase in code output:</p><ul><li><p>You cannot produce so much code and rely on the same culture, strategy, and infrastructure that you currently have.</p></li></ul><ul><li><p>Code is a liability. Every engineer knows this. Ten times more code means a tenfold increase in liability.</p></li></ul><ul><li><p>Do we have the documentation to teach our agents the caveats about our domain and systems? How are we going to review their work at scale?</p></li></ul><ul><li><p>An increase in the code output means more pipeline runs, more tests, more resources, more merges, and more deployments. Do we have the infrastructure for that? Do we have the culture to support it?</p></li></ul><ul><li><p>Producing orders of magnitude more code will force us to rely more and more on end-to-end tests. How happy are you with your e2e test suite?</p></li><li><p>How are we going to ensure security at such a scale? What precautions do we have to take?</p></li><li><p>The DORA State of AI study shows that teams with good engineering fundamentals get the most benefit out of AI, while in others, it just amplifies their lack of understanding. What knowledge are we investing in?</p></li></ul><p>All interesting points to think about.</p><p>I&#8217;m not half the developer that Mitchell Hashimoto or Adam Bender is, but when I see the bright minds of our field saying that fundamentals matter, I tend to listen.</p><p>No one knows where the field is headed and how we will be building software in twenty years. In the 2000s, we were shipping software on CD-ROMs, and they&#8217;re non-existent now.</p><p>But I do know that I need to have a good answer to the questions above.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Announcing The Thinking Builder Book]]></title><description><![CDATA[Letters on common sense in the age of thinking machines]]></description><link>https://thethinkingbuilder.substack.com/p/announcing-the-thinking-builder-book</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/announcing-the-thinking-builder-book</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Thu, 14 May 2026 05:42:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GbeO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!GbeO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!GbeO!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!GbeO!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!GbeO!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!GbeO!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!GbeO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg" width="3024" height="2697" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2697,&quot;width&quot;:3024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1150294,&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://thethinkingbuilder.substack.com/i/197637588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb335650f-f55f-474a-9747-fe590c37ed3f_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!GbeO!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!GbeO!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!GbeO!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!GbeO!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e6b6de4-5f21-4176-8476-67c843bc3da7_3024x2697.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For the past year, my dog and I have been writing a book in secret. One hour every single morning, and we're finally done. I haven&#8217;t mentioned it to my friends, not even to my mom.</p><p>I wanted to write <strong>The Creative Act</strong>, but for programming.</p><p><strong>The Pragmatic Programmer</strong>, but with a more philosophical tone.</p><p>A <strong>Ryan Holiday-esque</strong> technical book you can turn a few pages from every morning.</p><p>An equivalent to <strong>Seneca&#8217;s letters to Lucilius</strong>, but from me to an imaginary friend in tech.</p><p>This is how I came up with <strong>The Thinking Builder</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!A3ff!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!A3ff!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png 424w, /__u/substackcdn.com/image/fetch/$s_!A3ff!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png 848w, /__u/substackcdn.com/image/fetch/$s_!A3ff!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png 1272w, /__u/substackcdn.com/image/fetch/$s_!A3ff!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!A3ff!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png" width="274" height="437.2340425531915" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2250,&quot;width&quot;:1410,&quot;resizeWidth&quot;:274,&quot;bytes&quot;:98365,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thethinkingbuilder.substack.com/i/197637588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!A3ff!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png 424w, /__u/substackcdn.com/image/fetch/$s_!A3ff!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png 848w, /__u/substackcdn.com/image/fetch/$s_!A3ff!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png 1272w, /__u/substackcdn.com/image/fetch/$s_!A3ff!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F269c05de-a017-4f46-8f1d-0e516109ead6_1410x2250.png 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 aria-hidden="true" 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><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><br>It contains 60 short letters (300-500 words) about the habits of good builders in the age of thinking machines.<br><br>I intentionally use the word builder as a catch-all term for all the developers, designers, and founders who are finding their way.</p><p>It&#8217;s not a guide.</p><p>It&#8217;s the things I&#8217;ve noticed the good builders around me do.</p><p>And my dog and I would love it if you give it a read &#10084;&#65039;</p><h2>Links</h2><ul><li><p><a href="https://thethinkingbuilder.com/">The Thinking Builder Website</a></p></li><li><p><a href="https://alexanderkondov.gumroad.com/l/the-thinking-builder">The Thinking Builder Gumroad</a></p></li></ul><h2>Letters from the book</h2><p>Beware, this is a weird book&#8230; I have used a very specific phrasing that you don&#8217;t see in technical texts.</p><p>It&#8217;s definitely not to everyone&#8217;s taste.</p><p>To get a feel of my writing in this book, here are three of my favorite letters from the book. If you like them, you will like the rest.</p><p></p><h4>1. The Thinking Builder Strives to Be Good, Not Great</h4><p>They know they may be above average on a good day, but they want to be more. They want to be better. They are the person who cares too much about what they do.</p><p>Being exceptional at any craft is a result of many forces, some of which are outside our control. Our environment, our timing, our upbringing, the people we happen to meet, the problems we happen to encounter - these shape greatness as much as talent or effort do. We can do everything right and still not reach it.</p><p>But we can control the work we put in, the care we bring to it, and the standards we hold ourselves to.</p><p>The thinking builder knows they cannot be great and have a life at the same time. Exceptional results demand a long-term commitment that often turns building from a profession into a lifestyle. Builders who want to be great sacrifice relationships, health, and the colors of life itself. They give up other hobbies and pursuits to tunnel vision on one specific craft.</p><p>There is nothing wrong with that choice, but it is not the only one worth making.</p><p>The builders with families, the builders with busy evenings, the builders who have aspirations outside their work - the engineers, the designers, and the founders who love their craft but cannot spend every waking moment in front of a screen - they may not sit among the greats, but they can become good builders who make the world better through their work.</p><p>There is immense fulfillment in being good, even if it is only a stepping stone to greatness. Even if one decides they&#8217;re ready to work for greatness, they must first become good. No one skips this step.</p><p>Good is not a consolation prize. Competence, care, professionalism, and completeness are virtues worth pursuing.</p><p>Building software is a form of building interactive art. Practical interactive art. With enough time in the software industry we forget what a marvel it is to be able to create something from nothing, from an empty file to a script that works for you. The builder can use their skills in every job, field, and industry to make their life better.</p><p>In fact, more people are building than ever before. The digital world is wide open. Engineers and designers are no longer the sorcerer gatekeepers they once were. The barrier to creating something has never been lower. But the barrier to creating something good has never changed.</p><p>Good still requires judgment, taste, and the willingness to think beyond the first solution that works. Good means the software does not just function but solves a problem. The design does not just look beautiful but guides the user.</p><p><em>Not everyone can be great, but anyone can be good.</em></p><p></p><h4>The Thinking Builder Knows That Priority Is Binary</h4><p>Something either matters right now, or it does not. There is no middle ground. There is no &#8220;low priority.&#8221; There is high priority and there is nothing.</p><p>Organizations love granularity. Five levels of priority. Color-coded labels. Matrices with axes for urgency and impact. These systems feel productive because they give every item a place. But giving something a place is not the same as making a decision about it.</p><p>It seems so logical.</p><p>Builders can work on tasks in order of priority. Start with what is urgent, then go down the backlog. If something more urgent appears, they can return to it and pick up &#8220;low priority&#8221; tasks during downtime - a holiday code freeze, a slow sprint.</p><p>Labeling a task &#8220;low priority&#8221; feels like a decision. It is not. It is a way to avoid making one. It is a polite way of saying &#8220;we do not want to say no, but we do not want to do it either.&#8221;</p><p>The task sits in the backlog, gathering dust, while the product moves on without it. By the time someone revisits it, the world has changed enough that the task no longer makes sense. It was never going to get done, but no one had the courage to admit that at the time. Low priority is where scope creep goes to live quietly.</p><p>Open your backlog and find those low priority tasks that have been sitting there for months. How many are still relevant? How many are still needed?</p><p>Backlog pruning sessions exist precisely for this - to surface the tasks that were never really needed.</p><p>The good builder would rather hear &#8220;no&#8221; than &#8220;low priority.&#8221; A &#8220;no&#8221; is honest. It frees you to focus. A &#8220;low priority&#8221; is a false promise that clutters the mind and the board alike. Priority is not just a matter of what label we put on the task. An honest backlog enforces discipline and clear thinking - we can&#8217;t keep adding future work endlessly.</p><p>The thinking builder knows that the high priority label is a dangerous tool as well. Once everything is urgent, then nothing is. Priorities work only if urgency is applied with care and only when needed.</p><p>Products are not built like puzzles. They are built like paintings. There are layers, and the parts are connected to the whole. When you treat development as a conveyor belt of independent tasks - each one ranked and queued - you lose sight of that whole.</p><p>It shows in the implementation. Tech debt accumulates. Architecture becomes a matter of chance rather than intent. It shows in the design. Screens feel stitched together rather than planned.</p><p>That is what &#8220;low priority&#8221; does to a product.</p><p>The good builder knows that some things take precedence over others.</p><p><em>But everything else is equal.</em></p><p></p><h4>The Thinking Builder Does Not Need the Room to Notice</h4><p>The industry has built a whole mythology around the builders who give talks, ship side projects, rack up followers, and turn their job title into a personal brand.</p><p>We have confused broadcasting with building.</p><p>Jimmy Iovine once said that the number one reason music is not as good anymore is that musicians want to be famous, not great. And now you can get famous without being great.</p><p>The same disease runs through software.</p><p>There are builders who optimize for recognition. They work on things people can see, they articulate their impact loudly, they know how to perform the role. They are not frauds - they produce real work. But they value applause more than good work.</p><p>And then there are the quiet builders.</p><p>They fixed the thing that was silently breaking for months before anyone noticed. They wrote the documentation that helped their junior colleagues get onboarded. They absorbed the chaos of a hard quarter so the team could keep moving. These things often don&#8217;t make it to the performance review.</p><p>The quiet builders may fix a performance problem when they have a free afternoon just because they know it is right to do so. Their work will slip by unnoticed while everyone reaps its benefits. The loud builder, on the other hand, will wait until the next all-hands meeting to present their solution and market it as a massive improvement regardless of how small the fix was.</p><p>Career ladders were not built to see the quiet builders.</p><p>Silently preventing a crisis will not give us recognition. Solving a crisis once it arises will. The quiet builder fixes problems before they become projects, which means the project never exists, which means there is no evidence of their contribution.</p><p>We never notice the best software we have ever used. Good technology becomes invisible because it solves a problem so well that using it feels natural. We never stop to think about the people who built it.</p><p>The builder may occasionally participate in performance theater to reap the rewards of their work. But they do not let it take focus away from the act of building, because that produces better work than any amount of self-promotion ever could. They want to be distinguished, but they do not yearn for fame. There is a difference between the two.</p><p>If a quiet builder becomes a manager, they learn to notice the other quiet ones. They take care of these people because they understand that those steering the ship are too busy to take credit for their work.</p><p>The thinking builder has made peace with this. They know their work will speak for them. Maybe not today, maybe not to the people who decide their salary, but to the people who depend on what they have made, and to the engineers who will one day open their code and find it clean and considerate and honest.</p><p><em>That is enough.</em></p><h2>Links</h2><ul><li><p><a href="https://thethinkingbuilder.com/">The Thinking Builder Website</a></p></li><li><p><a href="https://alexanderkondov.gumroad.com/l/the-thinking-builder">The Thinking Builder Gumroad</a></p><p></p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thethinkingbuilder.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[I am the bottleneck]]></title><description><![CDATA[It's hard to understand code when it's written at scale, but maybe formal verification can help with that.]]></description><link>https://thethinkingbuilder.substack.com/p/i-am-the-bottleneck</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/i-am-the-bottleneck</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Mon, 04 May 2026 07:27:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4ZKk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4ZKk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4ZKk!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!4ZKk!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!4ZKk!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!4ZKk!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4ZKk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg" width="500" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;File:Caspar David Friedrich - Wanderer above the sea of fog.jpg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="File:Caspar David Friedrich - Wanderer above the sea of fog.jpg" title="File:Caspar David Friedrich - Wanderer above the sea of fog.jpg" srcset="/__u/substackcdn.com/image/fetch/$s_!4ZKk!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!4ZKk!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!4ZKk!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!4ZKk!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c771ce-9f05-4ac8-9f76-4653cb5a229d_500x640.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 aria-hidden="true" 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><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>Early in the vibe coding boom, founders claimed that their 10x-ers are shelling out 10K+ lines of code per day. Enormous amounts of logic by all means, even if half of it is boilerplate, schemas, and markdown.</p><p>Agents are a typewriter on steroids, but I kept wondering how these people reviewed all their work.</p><p>Most of us don&#8217;t work on pacemakers or rockets, so failure isn&#8217;t the end of the world, but it&#8217;s still detrimental. You still need to be able to make sense of what&#8217;s going on inside these 10K lines of code, right? They&#8217;re not a black box, right?</p><p>Wrong.</p><p>People were reviewing it like the required reading for literature class - a quick diagonal glance to get the gist in case anyone asks. I admit, I tried it too. But I quickly went back to shipping at the speed of my understanding.</p><h2>Reviewing is the bottleneck</h2><p>If I measure my productivity by the speed at which I get code into the IDE, then I&#8217;ve become significantly more productive. If I use voice instead of writing, I can shortcut this even more.</p><p>But if I measure it by how often I ship actual code, it&#8217;s marginal. </p><p>I&#8217;m still the bottleneck.</p><p>But the selling point of LLMs is shipping quickly, iterating, answering requests, and addressing feedback faster. However, if I need to review their code, I still ship at the speed of my understanding, and I simply can&#8217;t improve that tenfold.</p><h2>When LLMs do software design</h2><p>Models are great at outputting code that looks well-designed. It has abstractions, structure, comments even. But there&#8217;s a non-zero chance that they leave a logical flaw somewhere under that beauty, and without a good review, I won&#8217;t catch it.</p><p>The <a href="https://arxiv.org/pdf/2604.05292">Broken by Default</a> paper (published last month) claims that 55% of LLM-generated code contains at least one vulnerability. Machines propagate the same mistakes we do, and they still need the reviews we give to humans.</p><p>Their code can be so good at times that I feel awkward reviewing it.</p><p>But I&#8217;ve already found myself sitting on a design problem I didn&#8217;t catch because I didn&#8217;t pay attention, and this matters for software that can&#8217;t trade correctness for iteration speed.</p><p>At least the <em>parts</em> of the software that can&#8217;t do that trade.</p><p>Even companies working on highly available systems have internal applications that are prime targets for experimentation and coding agent freedom.</p><p>But it seems irresponsible to ship code to humans without validating it, and some of the people in this industry I admire the most are researching ways to solve this through formal verification.</p><h2>Formal verification</h2><p>If we have to review the code the LLM generates, then we&#8217;re not getting the maximum possible productivity improvement. We&#8217;re becoming more efficient, but we&#8217;re not raising the level of abstraction.</p><p>I first saw this mentioned by Leslie Lamport while researching his Paxos consensus algorithm. But when I came across the <a href="https://martin.kleppmann.com/2025/12/08/ai-formal-verification.html">&#8220;AI will make formal verification&#8220;</a> article by Martin Kleppmann, I thought I should pay more attention</p><p>I did not study computer science in university, so I&#8217;ve never had to prove theorems.</p><p>But with languages like <a href="https://lean-lang.org/">Lean 4</a>, we can turn our algorithms into theorems that we can prove formally and verify that the code behaves as expected. The only problem is that writing the proof takes as much effort, if not more, than writing the code itself.</p><p>Because of that, it&#8217;s been largely contained in academia.</p><p>But on an abstract level, writing a proof that&#8217;s detached from the implementation sounds like a good way to validate LLM code without going through it.</p><p>In practice, I&#8217;m not sure how it would happen for actual application code with all its side effects. Also, will a formal proof be easier to review than the code itself? What if you can write them in natural language? </p><p>But every sufficiently detailed spec is a form of programming, isn&#8217;t it?</p><h2>Automated formal verification</h2><p>On a theoretical level, something like formal verification sounds reasonable. But, at least with the current tooling, it doesn&#8217;t seem applicable to how commercial software is built.</p><p><a href="https://alphaverus.github.io/">AlphaVersus</a> is a project that aims to automate this.</p><blockquote><p><em>&#8220;While LLMs have shown great promise in generating code, ensuring the correctness of generated code remains a significant challenge. Bugs and vulnerabilities can have serious consequences. Formal verification offers mathematical guarantees of correctness but is hindered by&nbsp;data scarcity&nbsp;and&nbsp;proof complexity.&#8221;</em></p></blockquote><p>But if the model makes a logical flaw in the implementation, how can we trust that it doesn&#8217;t work around it in the proof as well? Will reviewing a formal proof be easier than reviewing the code?</p><h2>Cost</h2><p>I never liked the idea of having a paid tool in the core of my software development workflow.</p><blockquote><p><em>&#8220;What, you don&#8217;t have $20?&#8221;</em></p></blockquote><p>That&#8217;s what people told me.</p><p>But we&#8217;re slowly seeing the real cost of AI as prices rise. Teams are burning through thousands of dollars per month. Yes, a startup with three engineers can afford to throw money at Anthropic to make their prototype faster, but a corporation with a few hundred engineers will get their CFO sweating very quickly.</p><p>I&#8217;ve worked at companies that took down the dev cluster at 5pm to save money, and now we have spending leaderboards that are widely celebrated as a proxy for productivity.</p><p>I&#8217;m not an economist, but without a breakthrough in the models, they will only get more expensive, which means that reviewing and polishing will be even more important. When you can&#8217;t just throw everything at Claude and you need to be more selective, you need to understand the codebase.</p><p>But doesn&#8217;t this make us the bottleneck once again?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Finding beauty in consensus protocols]]></title><description><![CDATA[The peculiar story of the Paxos algorithm, how Leslie Lamport makes complex ideas fun, and academic papers as an interface.]]></description><link>https://thethinkingbuilder.substack.com/p/finding-beauty-in-consensus-protocols</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/finding-beauty-in-consensus-protocols</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Fri, 10 Apr 2026 14:22:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!d4rt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!d4rt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!d4rt!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!d4rt!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!d4rt!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!d4rt!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!d4rt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg" width="1456" height="656" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:656,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Computing Expert Says Programmers Need More Math | Quanta Magazine&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Computing Expert Says Programmers Need More Math | Quanta Magazine" title="Computing Expert Says Programmers Need More Math | Quanta Magazine" srcset="/__u/substackcdn.com/image/fetch/$s_!d4rt!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!d4rt!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!d4rt!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!d4rt!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59df4c86-2fce-4b2a-bb9e-2db15c37ef53_2800x1262.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo from Quanta Magazine</figcaption></figure></div><p>Finding beauty in software is easier when it&#8217;s visual - that&#8217;s the sense we use the most.</p><p>Before we touch anything, before we hear it, we see it. The eye is surprisingly well-trained at recognizing what has good aesthetic qualities.</p><p>But in places where the visual aspect is not dominant, or doesn&#8217;t exist at all, recognizing beauty takes more than intuitive taste.</p><p>There&#8217;s nothing less visual than a distributed system, a set of computers attempting to act coherently. The diagrams we make to illustrate such systems are the closest we can get to a visual representation of them, but even they are just abstract projections.</p><p>These services don&#8217;t exist. They&#8217;re not ordered like they are in the diagrams we draw on whiteboards.</p><p>What is beauty when it comes to processes? </p><p>What&#8217;s elegance when it comes to network communication?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thethinkingbuilder.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>Consensus protocols</h2><p>Distributed systems need to behave like a single organism, and a prerequisite for that is the ability to agree on things like the shape of the data that lives in a database&#8217;s replicas.</p><p>Consensus is easier to achieve if your means of communication are reliable.</p><p>But these systems communicate over an inherently unreliable network, which creates opportunities for data to diverge.</p><p>Consensus protocols create rules that help services to communicate and agree on things, even if some of them lag or contradict each other. While many developers told me that Paxos shouldn&#8217;t be the first protocol I start reading about, I decided to look for beauty in it.</p><h2>The part-time parliament</h2><p>I had heard about the notorious <em>&#8220;The Part-Time Parliament&#8221;</em> paper before, but never read it myself. I knew it wasn&#8217;t the typical academic paper, and the archeological immersion starts from the first sentence.</p><blockquote><p><em>This submission was recently discovered behind a filing cabinet in the TOCS editorial office. Despite its age, the editor-in-chief felt that it was worth publishing.</em></p></blockquote><p>It&#8217;s a <em>(fictional)</em> story about how the <em>(real)</em> island of Paxos is governed, but it&#8217;s so convincingly written that I had to double-check if it&#8217;s actually true.</p><blockquote><p><em>Early in this millennium, the Aegean island of Paxos was a thriving mercantile center. Wealth led to political sophistication, and the Paxons replaced their ancient theocracy with a parliamentary form of government. But trade came before civic duty, and no one in Paxos was willingto devote his life to Parliament</em></p></blockquote><p>The paper was originally written in 1989, but it wasn&#8217;t considered serious enough because of its narrative style, so it took a decade for it to get published.</p><p>It&#8217;s quite an unusual approach for a computer science paper.</p><p>Much of the wisdom we have as a species we pass down through stories and fables, but the academic world usually sticks to more formal language that&#8217;s not widely accessible.</p><blockquote><p><em>The first requirement of the parliamentary protocol was the consistency of ledgers, meaning that no two ledgers could contain contradictory information. If legislator &#934;&#953;&#963;&#8706; &#961; had the entry <strong>132: Lamps must use only olive oil in his ledger</strong>, then no other legislator&#8217;s ledger could have a different entry for decree 132.</em></p></blockquote><p>This writing style allowed Lamport to be precise in the things he wanted to highlight and remain vague where he didn&#8217;t. A technical spec would&#8217;ve forced him to write out everything.</p><blockquote><p><em>Writing about a lost civilization allowed me to eliminate uninteresting details and indicate generalizations by saying that some details of the parliamentary protocol had been lost. To carry the image further, I gave a few lectures in the persona of an Indiana-Jones-style archaeologist, replete with Stetson hat and hip flask.</em></p></blockquote><p>I did something similar when I published <a href="https://www.taoofreact.com/">Tao of React</a> a few years ago. Many people asked me to show them a boilerplate, some repo with all my principles implemented in it. </p><p>But specifics steal from the abstract, and I still refuse to make one. </p><p>The narrative abstraction of <em>&#8220;The Part-Time Parliament&#8220;</em> is beautifully written. It&#8217;s incredibly immersive. But you need to map everything Lamport describes to a computer concept. </p><p>I was trying to think of examples with every word I read, and it is a bit difficult.</p><blockquote><p><em>A messenger could be counted on not to garble messages, but he might forget that he had already delivered a message, and deliver it again. Like the legislators they served, messengers devoted only part of their time to parliamentary duties. A messenger might leave the Chamber to conduct some business&#8212;perhaps taking a six-month voyage&#8212;before delivering a message. He might even leave forever, in which case the message would never be delivered.</em></p></blockquote><p>I understand what this means, but I have to jump a few mental hoops to get there.</p><p>A few years later, Lamport finally succumbed to industry pressure and wrote a version of his paper called <em>&#8220;Paxos Made Simple&#8221;,</em> which focused entirely on the algorithm and removed the narrative layer.</p><blockquote><p><em>I got tired of everyone saying how difficult it was to understand the Paxos algorithm, published in [122]. Although people got so hung up in the pseudo-Greek names that they found the paper hard to understand, the algorithm itself is very simple&#8230;The current version is 13 pages long, and contains no formula more complicated than n1 &gt; n2.</em></p></blockquote><p>This is how the paragraph about messaging which I mentioned before sounds without the Greek narrative:</p><blockquote><p><em>Messages can take arbitrarily long to be delivered, can be duplicated, and can be lost, but they are not corrupted.</em></p></blockquote><p>Yeah, it&#8217;s much simpler.</p><p>Apparently, Dijkstra&#8217;s <em>&#8220;Dining Philosophers&#8221;</em> concurrency problem has been an inspiration for Lamport, but Dijkstra&#8217;s scope in this problem is more limited, and you need to do less mental mapping when you&#8217;re reading.</p><p>Paxos&#8217; narrative style just quickly gets out of hand:</p><blockquote><p><em>After receiving a LastVote(b, v) message from every priest in some majority set Q, priest p initiates a new ballot with number b, quorum Q, and decree d, where d is chosen to satisfy B3. He then records the ballot in the back of his ledger and sends a BeginBallot(b, d) message to every priest in Q.</em></p></blockquote><p>Once you&#8217;re familiar with the algorithm, you can follow through, but again, you need to map every term. I take into account that I&#8217;m a bit denser than the intended audience for this work, but if it took a decade to accept it, there might be something to it.</p><p>One touch I appreciated is how he added multiple proofs with different parameters for his quorum algorithm, almost as if it were a unit test suite:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!QfxJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!QfxJ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png 424w, /__u/substackcdn.com/image/fetch/$s_!QfxJ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png 848w, /__u/substackcdn.com/image/fetch/$s_!QfxJ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QfxJ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!QfxJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png" width="584" height="332.078431372549" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:754,&quot;width&quot;:1326,&quot;resizeWidth&quot;:584,&quot;bytes&quot;:240880,&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://thethinkingbuilder.substack.com/i/193792866?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!QfxJ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png 424w, /__u/substackcdn.com/image/fetch/$s_!QfxJ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png 848w, /__u/substackcdn.com/image/fetch/$s_!QfxJ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QfxJ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d7575d-3667-47be-920b-e59a4041b2bd_1326x754.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 aria-hidden="true" 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><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>Paxos made even simpler</h2><p>If we strip down the Greek flavor, Paxos comes down to three roles that any service in a distributed system can play <em>(and they can play multiple at the same time)</em>:</p><ul><li><p>Proposers - suggest a value</p></li><li><p>Acceptors - vote on values</p></li><li><p>Learners - learn what value was chosen</p></li></ul><p>And a simplistic summary of how it works would be:</p><ol><li><p>A proposer picks a value and sends a prepare message to a majority of acceptors. Since two majorities have at least one overlapping member, this means that if we can reach a majority quorum, we can&#8217;t have contradictions.</p></li><li><p>Each acceptor responds whether they agree with that value or they&#8217;ve already agreed to a different one. If the acceptor has agreed to something different, they respond with the value they&#8217;ve agreed to <em>(this is how services that lag behind learn what they&#8217;ve missed)</em>.</p></li><li><p>If the proposer receives a different value from an acceptor instead of an accept message, they propagate that value.</p></li><li><p>The proposer then sends an accept message to a majority of acceptors, and once each of them commits the value, it is chosen.</p></li></ol><p>The clever thing <em>(and the part that confused me the most)</em> was that if a value was already chosen, any new proposer would discover it when they suggested a new value. </p><p>Since they will send accept messages to a majority, at least one of them will have accepted the new value already.</p><h2>Paxos successors</h2><p>Historically, Paxos has served as more of an inspiration than a ready-made solution.</p><p>Lamport left many engineering decisions open, and different systems answered them differently <em>(Google Chubby, Zookeeper)</em>. Two products can be built on a foundation inspired by Paxos, but they can differ greatly in their implementation and be incompatible.</p><p>In practice, services need to agree on a sequence of values, not a single one.</p><p>There are <strong>Multi-Paxos</strong> algorithms that build on top of Paxos to support this, and they introduce optimizations like skipping the proposal step if there&#8217;s an elected leader.</p><p><strong>Raft</strong> is another consensus protocol, created by Diego Ongaro and John Ousterhout - the same Ousterhout who wrote <em>&#8220;A Philosophy of Software Design&#8221;,</em> a book I greatly admire. </p><p>At the time of this writing, I haven&#8217;t read the Raft paper, but from what I understand, it reduces the complexity by relying on a strong leader and introducing well-defined leader election mechanisms.</p><p>In contrast to Paxos, Raft is focused on being understandable.</p><p>Even the paper is called <em>&#8220;In Search of an Understandable Consensus Algorithm&#8221;</em>.</p><h2>Beauty</h2><p>These are the stories I love in tech.</p><p>After reading excerpts from the Paxos paper, digging through explanations and examples, I&#8217;m convinced that this is one of those problems where you can&#8217;t have a simple explanation.</p><p>The problem is just too complex.</p><p>But Lamport made it fun.</p><p>There are many moving pieces, many things that could go wrong. It&#8217;s an area of computer science that warrants its complexity.</p><p>But Lamport&#8217;s paper is elegant. It shows mastery. It shows that the author cared about presentation, not just the idea. The paper itself is an interface to the underlying idea.</p><p>Raft has what you&#8217;d call a serious paper. </p><p>It&#8217;s not fun, it doesn&#8217;t have Greek names or a narrative structure. It has diagrams, bullet points, and empirical studies. It&#8217;s a feat of engineering knowledge, but it&#8217;s not the kind of paper I&#8217;d tell my friends about over coffee.</p><p>I tell them about Paxos, though.</p><p>People told me not to start with Paxos, but I&#8217;m glad I did.</p><p>It showed me that the interface matters to people working in distributed systems, too.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[On AI Fatigue]]></title><description><![CDATA[I turned from a composer to a DJ and it's exhausting]]></description><link>https://thethinkingbuilder.substack.com/p/on-ai-fatigue</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/on-ai-fatigue</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Fri, 20 Mar 2026 22:46:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!EioS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!EioS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!EioS!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!EioS!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!EioS!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!EioS!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!EioS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Fred again.. - Green Room Set (Maka&#8217;s Birthday, Rome)&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fred again.. - Green Room Set (Maka&#8217;s Birthday, Rome)" title="Fred again.. - Green Room Set (Maka&#8217;s Birthday, Rome)" srcset="/__u/substackcdn.com/image/fetch/$s_!EioS!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!EioS!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!EioS!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!EioS!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c88889b-0f44-42a8-bc33-dbcd7b3dbb8f_1280x720.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 aria-hidden="true" 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><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 in the middle of a thirty-day sabbatical away from work. A full calendar month without programming - something I never thought I&#8217;d need.</p><p>I feel exhausted.</p><p>I had planned to take this break later in the year, when the days were longer and the weather a bit better. But I was too tired to wait. I couldn&#8217;t get through a full workday without falling asleep.</p><p>I thought that twelve years of programming had caught up to me, but it was more than that.</p><p>I think I&#8217;m experiencing what some people are calling AI fatigue.</p><h2>How I used to work</h2><p>In the past, when I had a challenging feature or a hard architectural problem, the process was clear. I&#8217;d sit down, make a cup of coffee, read the documentation, and tunnel-vision into the problem. </p><p>Deep focus. </p><p>One thing at a time. </p><p>If the problem was big enough, I&#8217;d sleep on it and let the background process in my mind do its work. That&#8217;s how I&#8217;ve always operated.</p><p>I loved those afternoons where I had a big, gnarly problem ahead of me and no idea how I&#8217;d solve it - researching, reading, trying one approach until it failed, then trying another. I&#8217;d lose all track of time. The whole afternoon would pass just like that. I&#8217;d forcefully pull myself away from the computer to have dinner.</p><p>The threshold for problems that can suck me in like this is so high now.</p><h2>How I (try) to work</h2><p>AI finds solutions more quickly than I can keep up.</p><p>That space where I used to lose myself, that deep exploratory space, has shrunk almost to nothing.</p><p>Here&#8217;s the problem. Here are the constraints. Here&#8217;s what I think.</p><p>And just like that, I have a solution to review.</p><p>Is it good enough?</p><p>Hard to say because I haven&#8217;t gotten to it on my own.</p><p>I have the input and the output, but I haven&#8217;t spent enough time in the in-between. </p><p>It&#8217;s very difficult for me to keep a deep understanding of codebases <em>(without losing my mind)</em> with the speed at which they get created now. AI can design a solution more quickly than I can understand it and think about the trade-offs and future needs.</p><p>I try to be the reviewer, the manager, the DJ.</p><p>But surface-level understanding is not enough to build good software. If I don&#8217;t want to be the bottleneck, I need to review quickly, but reading is not reviewing. To review properly, I need intense focus, and that, combined with the speed of AI output, is exhausting.</p><h2>Why don&#8217;t I slow down?</h2><p>Honestly, the industry peer pressure got to me.</p><p>Everyone is talking about how quickly they&#8217;re building things, how many agents they&#8217;re using at the same time, and how much time they&#8217;re saving.</p><p>I feel like if I&#8217;m working at a regular speed, I&#8217;m not doing enough.</p><p>And this is probably true to an extent.</p><p>Coding agents are a time-saver, no doubt about that.</p><p>But when I tried juggling three agents at once - one updating dependencies, one working on an easier task, and discussing a more complex feature with another - my mind felt like mincemeat.</p><p>I&#8217;m not sure if I can train myself to do this all the time.</p><p>Maybe if it&#8217;s the only mentally-intensive task I do the whole day, but I have other things I want to focus on after I close the laptop. I want to read challenging books, write these articles, explore art and science.</p><h2>Adapting</h2><p>How much longer do I have in the industry if performing at the top level requires both intensity and higher speed?</p><p>I don&#8217;t know. </p><p>But the fact that I&#8217;m asking this question at all says something.</p><p>I don&#8217;t think I&#8217;m wired for this, but I think I can adapt. Maybe if I have a large mental library of solutions and architectures, I can recognize patterns and good solutions more easily? If I can do the mentally-taxing part upfront?</p><p>Maybe not knowing what I want from the start is the problem?</p><p>But every domain is so special and different. Every business has its own peculiar problems that you can&#8217;t find in a public repository to learn in advance.</p><p>These are questions to think about after my sabbatical.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thinking Builder! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Learning to notice beauty]]></title><description><![CDATA[How looking closely at the world around you makes you a better builder]]></description><link>https://thethinkingbuilder.substack.com/p/learning-to-notice-beauty</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/learning-to-notice-beauty</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Tue, 10 Mar 2026 12:50:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2krW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!2krW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!2krW!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!2krW!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!2krW!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!2krW!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!2krW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg" width="724" height="493.9791666666667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:655,&quot;width&quot;:960,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;File:John Martin - Manfred and the Alpine Witch - WGA14148.jpg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="File:John Martin - Manfred and the Alpine Witch - WGA14148.jpg" title="File:John Martin - Manfred and the Alpine Witch - WGA14148.jpg" srcset="/__u/substackcdn.com/image/fetch/$s_!2krW!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!2krW!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!2krW!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!2krW!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c7a412-3d2d-4854-99ec-54de489caf48_960x655.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">John Martin - Manfred and the Alpine Witch</figcaption></figure></div><p>There&#8217;s nothing I want more from my career than the chance to create beautiful things <em>(and get compensated adequately)</em>.</p><p>But to create beauty, I first need the taste for it.</p><p>Unfortunately, this is not something I was born with. I don&#8217;t have the innate ability to know the perfect border radius, so I had to learn to notice it. The more beauty you notice, the more your eye develops. That&#8217;s the advice I got from my designer friends <em>(and <a href="https://www.interfacecraft.dev/">Interface Craft</a>)</em>.</p><p>I started with what I could see.</p><p>Learning to notice visual beauty is easier because the eye is the first thing to make contact with the world.</p><p>And I realized just how desensitized I had become to the wonders of technology. I go through the workday, and the beautiful interfaces blend in the background. Just like you don&#8217;t notice the pretty sunset on your commute home.</p><h2>How to notice the sunset?</h2><p>Look at the software you use every day. </p><p>Do you like how it looks? </p><p>How it feels?</p><p>Ask yourself why.</p><p><em>&#8220;Because the UI is good&#8221;</em> is not an answer. Be more specific. &#8220;<em>Because it uses shadcn&#8221;</em> is not a good one either. What exactly do you like?</p><p>Why do you like this font? Is it the subtle way the lowercase <em>&#8220;l&#8221;</em> curves? Do you like how they use both serif and non-serif fonts?</p><p>Why do you like the colors? What feeling do they give you? Do they fit together well? Does the UI feel like it has enough spacing?</p><p>Then look beyond the screen.</p><p>Notice the label on the coffee bag, the typography on a clothing tag, and the arrangement of the actors on a movie poster.</p><p>Just stop and notice. That&#8217;s all there is to it.</p><p>Then you&#8217;ll start noticing the products that lack beauty. The ones whose fonts you don&#8217;t like. The ones whose colors don&#8217;t work well together. You&#8217;ll start noticing the places where your work lacks beauty.</p><p>There&#8217;s no course you can take, no book you can read. </p><p>One morning, you&#8217;ll wake up, and your neurons will be wired just right.</p><h2>Color</h2><p>Color was always a mystery to me, partly because my eyes mix up green and grey.</p><p>I was fascinated by how designers find the right combinations. Somehow, they know where to place each color so it looks balanced.</p><p>I&#8217;ve tried using color palettes in my work, but my UIs looked like blankets stitched together from whatever scraps were left in the drawer.</p><p>So I decided to notice.</p><p>I spent time looking at every application I opened, every website, every label, every billboard.</p><h2>Colorful patterns</h2><p>I noticed that most good-looking software is built on a neutral base color.</p><p>A white or black variation that doesn&#8217;t strain the eyes. A subtle, slightly warm or cool color <em>(also called off-white or off-black because it&#8217;s slightly different)</em> that you can use as a canvas.</p><p>There&#8217;s always an accent color. </p><p>Something that pops out on the neutral base and complements it. It&#8217;s used sparingly and draws attention because it appears so rarely. If you use your accent color everywhere, the human eye won&#8217;t know where to look.</p><p>Then there are a few complementary colors that add depth. They&#8217;re often variations of the neutral base or something that works well with it. They&#8217;re used for the headers of a card component, a sidebar, or elements that don&#8217;t need to be accented but distinguished from the others.</p><p>A practical rule that falls out of all this theory is the 60-30-10 principle.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!dQhw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!dQhw!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png 424w, /__u/substackcdn.com/image/fetch/$s_!dQhw!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png 848w, /__u/substackcdn.com/image/fetch/$s_!dQhw!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png 1272w, /__u/substackcdn.com/image/fetch/$s_!dQhw!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!dQhw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png" width="406" height="369.9407894736842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e202b0fb-72da-4d00-99d7-8025a1408225_608x554.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:554,&quot;width&quot;:608,&quot;resizeWidth&quot;:406,&quot;bytes&quot;:46208,&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://fragmentsofcode.substack.com/i/190499129?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!dQhw!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png 424w, /__u/substackcdn.com/image/fetch/$s_!dQhw!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png 848w, /__u/substackcdn.com/image/fetch/$s_!dQhw!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.png 1272w, /__u/substackcdn.com/image/fetch/$s_!dQhw!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe202b0fb-72da-4d00-99d7-8025a1408225_608x554.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 aria-hidden="true" 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><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>Sixty percent of your palette is the dominant neutral.</p><p>Thirty percent is a secondary color, used for surfaces, sections, and supporting elements. </p><p>Ten percent is the accent.</p><p>The ratio is simple. Following it gives even an untrained eye a structure to work within. But how do you pick these colors?</p><h2>Newton&#8217;s color wheel</h2><p>There&#8217;s a whole discipline around what colors go well together.</p><p>Between calculus and gravity, Isaac Newton invented the color wheel. He organized colors by their relationship to each other, and the placement of a color relative to others determines whether they harmonize or fight.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7QKu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7QKu!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif 424w, /__u/substackcdn.com/image/fetch/$s_!7QKu!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif 848w, /__u/substackcdn.com/image/fetch/$s_!7QKu!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!7QKu!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7QKu!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif" width="416" height="402.92571428571426" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:700,&quot;resizeWidth&quot;:416,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Color Wheel&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="Color Wheel" title="Color Wheel" srcset="/__u/substackcdn.com/image/fetch/$s_!7QKu!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif 424w, /__u/substackcdn.com/image/fetch/$s_!7QKu!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif 848w, /__u/substackcdn.com/image/fetch/$s_!7QKu!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!7QKu!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e8dce45-5349-4c96-b029-5cab2fe69133_700x678.gif 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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Just how much more could Newton have invented had he not dabbled in alchemy?</em></p><p>Based on what we know about the wheel, we can combine the colors to create a palette. This showed me why I subconsciously used monochromatic palettes in the past. </p><p>You can&#8217;t get color combinations wrong if you rely on variations of a single color.</p><h2>So it&#8217;s not just noticing after all?</h2><p>The things you piece together will turn out to have a term for them. But this is not a sign that you can skip the difficult part about learning to notice and training the eye.</p><p>It just shows that you&#8217;re on the right track.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fragments of Code! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Beauty in software is a virtue]]></title><description><![CDATA[Why I keep building UIs and why a sense of beauty is such a big competitive advantage]]></description><link>https://thethinkingbuilder.substack.com/p/beauty-is-a-virtue</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/beauty-is-a-virtue</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Wed, 25 Feb 2026 10:18:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y0sl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!y0sl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!y0sl!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!y0sl!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!y0sl!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!y0sl!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!y0sl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg" width="724" height="407.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:640,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Girl with a Pearl Earring: Dutch Paintings from the Mauritshuis&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Girl with a Pearl Earring: Dutch Paintings from the Mauritshuis" title="Girl with a Pearl Earring: Dutch Paintings from the Mauritshuis" srcset="/__u/substackcdn.com/image/fetch/$s_!y0sl!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!y0sl!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!y0sl!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!y0sl!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F545b5eec-faf1-45ce-a5ea-a7600e5aa1a4_640x360.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 aria-hidden="true" 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><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><blockquote><p><em>&#8220;Ethics and aesthetics are one and the same.&#8221;</em><br><strong>&#8212; Wittgenstein</strong></p><p><em>&#8220;If you crush a cockroach, you&#8217;re a hero. If you crush a beautiful butterfly, you&#8217;re a villain. Morals have aesthetic criteria.&#8221;<br></em><strong>&#8212; Nietzsche</strong></p></blockquote><p>For some reason I can&#8217;t quite understand, I keep going back to front-end development. I wrote some Go for a couple of years, then I went back to UIs. I did some cloud and infrastructure work, then went back to React.</p><p>Other fields are better organized, their communities are less fragmented, they&#8217;ve got better tooling and fewer problems with dependencies.</p><p>But there&#8217;s something satisfying in rounded corners and box shadows.</p><p>There&#8217;s beauty in it.</p><p>A theorem can be beautiful, an algorithm can be beautiful, a system can be beautifully designed, a database schema can be done so well it gives a sense of beauty. But that&#8217;s abstract.</p><p>Visual aesthetic is something you don&#8217;t need to be an engineer to appreciate.</p><p>It speaks to the caveman in me who stares at a drawing on the stone wall after a long day of chasing mammoths.</p><h2>What exactly is beauty?</h2><p>Christopher Alexander called it the <a href="/__u/fragmentsofcode.substack.com/p/the-quality-without-a-name">quality without a name</a>. Paul Graham tried to formulate the different <a href="https://paulgraham.com/taste.html">qualities that contribute to beauty</a>.</p><p>It&#8217;s a combination of qualities that pleases the aesthetic senses.</p><p>The spoken language remains too poor to explain it.</p><p>They say that beauty is in the eye of the beholder, but we&#8217;re all looking for the same features. We know how to recognize it. We value symmetry, proportions, clarity. We know how to recognize it.</p><p>It sounds subjective, but it isn&#8217;t. </p><p>We know when it&#8217;s missing. We know when something <em>feels</em> designed but isn&#8217;t.</p><p>To say that beauty is entirely subjective is to</p><h2>Recognizing beauty requires taste</h2><p>They say that beauty is in the eye of the beholder.</p><p>No, that&#8217;s just how developed one&#8217;s taste is.</p><p>Taste means your neurons are wired so that they fire when you see beauty.</p><p>Rick Rubin talks about taste a lot.</p><p>But the topic has entered the mainstream lately because of AI.</p><p>When development speed is accelerating, and you&#8217;re prototyping twice as fast, having a beautiful end goal is the difference between people marvelling at your work and calling it slop.</p><p>In the past, I never allowed myself to chase beauty. </p><p>I chased employment, I chased a promotion, I chased productivity.</p><p>You&#8217;d see software, and you&#8217;d see <em>great</em> software. Teams knew that building great software was out of reach for them because it required the technical time to implement it and taste.</p><p>Iterating to make something great just took too long.</p><p>And as a side effect, people couldn&#8217;t improve their taste.</p><p>But in the year 2026, chasing productivity and trying to build more of the same <em>okay</em> software <em>(only quickly)</em> seems foolish. Trying to orchestrate agents like StarCraft armies to release more shovelware in the world is absurd.</p><p>The thing to chase is beauty and taste.</p><p>I&#8217;ve never been a part of a world-class engineering team. I&#8217;ve never worked at a FAANG company. We knew we couldn&#8217;t create beauty.</p><p>We mostly settled.</p><p>We did our best with the knowledge we had and attributed our shortcomings to resources and time.</p><p>But time isn&#8217;t an excuse anymore.</p><p>I go through my work, I look at other people&#8217;s work, and it still lacks aesthetic. It was created more efficiently. People had more time to think about it. But it still lacks beauty.</p><p>I see the same level of work produced with less energy.</p><p>Creation itself is a virtue, but creating beauty is a higher one.</p><blockquote><p><em>&#8220;Can beauty be just a skill in a markdown file that you load to your agent?</em>&#8221;</p></blockquote><p>It might be. </p><p>But until we can formulate it clearly using spoken language, you still have to rely on your own neural network.</p><h2>The bottleneck</h2><p>We argue about the bottleneck in software engineering.</p><p>Is it writing code? Thinking about structure and abstractions? Is it reviewing code?</p><p><em>It just might be taste.</em></p><p>You will waste hours and tokens if you don&#8217;t know what good code or a good UI is.</p><p>Taste is now a competitive advantage in a way it never was before.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The things I don't understand about the CAP theorem]]></title><description><![CDATA[Network partitions, disappearing documents, and the misunderstood parts of the fundamental theorem in distributed systems]]></description><link>https://thethinkingbuilder.substack.com/p/the-things-i-dont-understand-about</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/the-things-i-dont-understand-about</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Wed, 11 Feb 2026 10:08:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C3Vm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!C3Vm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!C3Vm!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!C3Vm!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!C3Vm!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!C3Vm!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!C3Vm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg" width="960" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;File:The Coiling of the Atlantic Telegraph Cable on Board HMS.Agamemnon'.jpg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="File:The Coiling of the Atlantic Telegraph Cable on Board HMS.Agamemnon'.jpg" title="File:The Coiling of the Atlantic Telegraph Cable on Board HMS.Agamemnon'.jpg" srcset="/__u/substackcdn.com/image/fetch/$s_!C3Vm!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!C3Vm!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!C3Vm!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!C3Vm!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf90eab-2e53-4d86-9f6a-93328964ae5d_960x578.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Coiling of the Atlantic Telegraph Cable, Engraving</figcaption></figure></div><p>Being the IT support of the family, I&#8217;m on call 24/7 to help with forgotten passwords, printers, online payments, bad UIs, and confusing error messages. A few weeks ago, I got paged because my mom had a problem with a web app she has to use at work.</p><blockquote><p><em>&#8220;Hmm, when I create a new document and it says there are 6, but when I open the page there are only 5&#8221;</em></p></blockquote><p>So she immediately clicks the button to create a document again.</p><blockquote><p><em>&#8220;Wait a moment, this might be eventually consistent. Can you refresh again?&#8221;</em></p></blockquote><p>And there it is. The document&#8217;s there.</p><blockquote><p><em>&#8220;Why does this happen? Is it because my computer&#8217;s slow?&#8221;</em></p></blockquote><p>The <a href="https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/">law of leaky abstractions</a> doesn&#8217;t apply only to code, but to systems too, and because this product didn&#8217;t hide its architectural decisions well enough, I had to talk about consistency with my mom.</p><p>For the engineers and product people, prioritizing availability over consistency was an easy trade-off. But for anyone outside of their social circle, this behavior can be utterly confusing.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Why we need trade-offs</h2><p>Up to a certain level of scale <em>(organizational or technical)</em>, you can run everything on a single machine, but scale naturally leads to distribution.</p><p><em>I&#8217;ve written <a href="/__u/fragmentsofcode.substack.com/p/the-intro-to-distributed-systems">another article about that</a>, so I won&#8217;t go into details here.</em></p><p>Increasing the number of REST API replicas may not be good enough if all your requests end up in the same underlying database. If your bottleneck isn&#8217;t in the processing, serving all your users from the same store, which is bound to a specific geographical region, isn&#8217;t optimal.</p><p>Some of your users will consistently experience higher latency than others because their data will have to travel longer or because the database got winded.</p><p>So, again, this leads to distribution.</p><p>We can create <strong>read replicas</strong> of our storage in different regions and serve data from multiple sources instead of one. </p><p><em>For the sake of simplicity, imagine that each replica can hold a copy of the entire database.</em></p><p>Write requests will go to the <strong>leader replica</strong> <em>(also called the master in older resources),</em> and they then get replicated to the <strong>read replicas</strong>. The traffic is split between them, and the latency is low.</p><p>But this replication needs to happen over an <em>inherently unreliable network</em>.</p><p>So the communication is bound to fail at some point.</p><p>Network problems aren&#8217;t frequent enough to cause constant disruptions because that would make any distributed system unusable, but they&#8217;re bound to happen. When they do, for a short period of time, one part of our system will become separated from the others. Our leader replica won&#8217;t be able to communicate with the followers and replicate data.</p><p>This is what we call a <strong>network partition</strong>.</p><p><em>Not to be mistaken with partitioning a database. When DBAs talk about partitions, they mean splitting data across multiple nodes for performance or storage reasons.</em></p><h2>Writing data that can&#8217;t be replicated</h2><p>The leader receives a request, commits the write, but then the network blips, and it can&#8217;t send that data to its replica. Both nodes are up and running, but the communication between them has failed.</p><p>And the moment this happens, the data in the read replica becomes <strong>stale</strong>. It doesn&#8217;t have the latest data.</p><p>Now, we&#8217;re forced to pick between two bad truths.</p><ul><li><p>We can keep serving read requests from the read replica <em>(which is stale)</em>. Our application will continue to work, but some users will see old data.</p></li><li><p>We can refuse to serve reads from the read replica until it can talk to the leader again. We avoid returning stale data, but for some users, our application will randomly stop working.</p></li></ul><p>This is the fundamental trade-off in distributed systems.</p><p>We cannot always have the latest data and be available to return a response.</p><p>We have to pick one.</p><p>Engineers working on financial software would most likely prefer consistency because in their domain, the correctness of every digit is crucial. Those working on social media feeds would favor availability because the exact number of likes on a post isn&#8217;t that important.</p><h2><strong>The CAP theorem</strong></h2><p>In July 2000, Eric Brewer gave a keynote called <em>&#8220;Towards Robust Distributed Systems&#8221;</em>, introducing the CAP theorem.</p><p>At that time, I was still in kindergarten, the internet was a very different place, and downloading a song took a full day.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!LGBP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!LGBP!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png 424w, /__u/substackcdn.com/image/fetch/$s_!LGBP!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png 848w, /__u/substackcdn.com/image/fetch/$s_!LGBP!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LGBP!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!LGBP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png" width="620" height="465.2303120356612" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1010,&quot;width&quot;:1346,&quot;resizeWidth&quot;:620,&quot;bytes&quot;:680714,&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://fragmentsofcode.substack.com/i/187600939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!LGBP!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png 424w, /__u/substackcdn.com/image/fetch/$s_!LGBP!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png 848w, /__u/substackcdn.com/image/fetch/$s_!LGBP!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LGBP!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c09cea2-c820-4e3c-a308-4fae359b5834_1346x1010.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 aria-hidden="true" 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><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>Brewer&#8217;s personal webpage looks just like you&#8217;d expect from someone with an enormous impact on the industry. When you see unstyled HTML, you know the person is for real. I&#8217;m not that good of an engineer, so I still need to write CSS for my blog.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!071g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!071g!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png 424w, /__u/substackcdn.com/image/fetch/$s_!071g!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png 848w, /__u/substackcdn.com/image/fetch/$s_!071g!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png 1272w, /__u/substackcdn.com/image/fetch/$s_!071g!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!071g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png" width="606" height="592.5759493670886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1236,&quot;width&quot;:1264,&quot;resizeWidth&quot;:606,&quot;bytes&quot;:927551,&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://fragmentsofcode.substack.com/i/187600939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!071g!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png 424w, /__u/substackcdn.com/image/fetch/$s_!071g!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png 848w, /__u/substackcdn.com/image/fetch/$s_!071g!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.png 1272w, /__u/substackcdn.com/image/fetch/$s_!071g!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b95f52-83a6-4830-9637-dc21c92f27ec_1264x1236.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In 2002, Seth Gilbert and Nancy Lynch <a href="https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.pdf">published a formal proof of Brewer&#8217;s idea</a>.</p><p>This paper is important for the software engineering field because it establishes the CAP trade-off as a theorem. It described this fundamental idea that many developers would&#8217;ve had to tackle on their own as the scale of software increased.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_b4I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_b4I!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png 424w, /__u/substackcdn.com/image/fetch/$s_!_b4I!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png 848w, /__u/substackcdn.com/image/fetch/$s_!_b4I!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_b4I!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_b4I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png" width="606" height="409.13248638838473" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:744,&quot;width&quot;:1102,&quot;resizeWidth&quot;:606,&quot;bytes&quot;:92819,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fragmentsofcode.substack.com/i/187600939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!_b4I!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png 424w, /__u/substackcdn.com/image/fetch/$s_!_b4I!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png 848w, /__u/substackcdn.com/image/fetch/$s_!_b4I!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_b4I!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb35d42c2-ec1c-40db-85cc-11f8c419bde6_1102x744.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 aria-hidden="true" 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><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>Brewer described the fundamental qualities of distributed systems:</p><ul><li><p><em><strong>Consistency</strong>. Every read request receives a response indicating success and reflecting the value of the most recent write request or a response indicating failure.</em></p></li><li><p><em><strong>Availability</strong>. Every read request receives a response indicating success (not necessarily reflecting the value of the most recent write request).</em></p></li><li><p><em><strong>Partition Tolerance</strong>. The system continues to work when parts of it become unreachable due to network failures.</em></p></li></ul><p>But because of the problem we described earlier, we cannot have all three at the same time.</p><p>We can only pick two.</p><p>If this is the case, can&#8217;t we decide to be both <strong>consistent</strong> and <strong>available</strong>?</p><p>While the CAP trade-off is frequently cited as a <em>&#8220;pick 2 of 3&#8221;</em> problem, we always need partition tolerance (<strong>P</strong>). If your application can&#8217;t handle network failures, it will only work until the first packet loss.</p><p>Partitions will happen.</p><p>So we have only two possible choices when we&#8217;re making this trade-off.</p><p>Our system can be: </p><ul><li><p><strong>AP</strong> - available, but shows stale data when the network fails.</p></li><li><p><strong>CP</strong> - shows the latest data but occasionally stops responding.</p></li></ul><h2><strong>These words don&#8217;t mean what you think</strong></h2><p>For the last 20 years, the CAP trade-off has cemented as a fundamental idea that anyone dabbling in distributed systems needs to be familiar with. But despite the focus on it, the terminology has been a source of confusion <em>(at least to me)</em>.</p><p>It uses familiar terms with a different meaning than the one I was used to.</p><p>We already mentioned that the term <em>partitioning</em> has two separate meanings, but the same goes for <em>consistency</em> and <em>availability</em>.</p><p><strong>CAP-Consistency &#8800; ACID Consistency</strong></p><p>When you hear <em>&#8220;consistency&#8221;</em>, you might think of the C in ACID - ensuring transactions move the database from one valid state to another.</p><p>CAP-consistency means linearizability.</p><blockquote><p><em>&#8220;If operation B started after operation A successfully completed, then operation B must see the the system in the same state as it was on completion of operation A, or a newer state.&#8221;</em></p></blockquote><p>Every read should return the most recent write. CAP-consistency is about the order of operations, not about transaction validity.</p><p><strong>CAP-Availability &#8800; High Availability</strong></p><p>When we define a system as <em>highly available</em>, we usually mean that it&#8217;s up and running 99.9% of the time, or that it has failover and redundancy.</p><p>CAP-availability means that every request to a non-failing node must receive a response. </p><p>It doesn&#8217;t matter how fast the response is, whether it returns the latest data, or whether your system meets an SLA. A system can be <em>&#8220;unavailable&#8221;</em> in CAP terms while still meeting a 99.99% uptime SLA.</p><h2><strong>Single-Leader Replication</strong></h2><p>Databases are often described as <strong>CP</strong> or <strong>AP</strong>. </p><p>They&#8217;re either consistent or available. Single leader setups <em>(like Postgres)</em> are often cited as being CP. You will have one primary node <em>(the leader)</em> that will accept writes, and one or more read-only replicas <em>(followers)</em> that will copy these changes.</p><p>The leader sends a <strong>WAL</strong> <em>(Write-Ahead Log)</em> that describes the way the data needs to be mutated to reach the same state.</p><p>This WAL is sent to the replicas, and when they acknowledge it, the write is committed, and the data becomes available. So, no matter what replica future requests are handled, all of them have the same data.</p><p>And if there&#8217;s a network partition, you can decline writes.</p><p>But there are nuances.</p><p>This setup uses synchronous replication, but it can be configured to be done asynchronously. When the leader receives the request, they immediately commit it, and the replication is done in the background.</p><p>A follower may be a little behind, but it can still handle requests. </p><p>In the asynchronous replication case, our system will not be CAP-consistent <em>(not linearizable)</em>, but it will be available.</p><p>This was one source of confusion to me. After I&#8217;ve read databases described as CP or AP, I found it confusing that they can be both. Even <a href="https://martin.kleppmann.com/2015/05/11/please-stop-calling-databases-cp-or-ap.html">Martin Kleppmann believes</a> that we shouldn&#8217;t describe them using these abbreviations.</p><h2>Other Replication Philosophies</h2><p>To get a better understanding of these trade-offs it&#8217;s worth looking into alternative replication philosophies. While single-leader databases make <strong>CAP-consistency</strong> more easily achievable <em>(or at least more intuitive), </em>multi-leader databases lean more towards the other side of the trade-off, <strong>CAP-availability.</strong></p><p>DynamoDB is one such database.</p><p>It&#8217;s a database running on multiple nodes, and each piece of data is replicated on a few of them <em>(but not all)</em>. When we write to Dynamo, the write goes to a <em>quorum</em> of replicas. There isn&#8217;t a single entrypoint that initiates the replication. Any of the replicas that have the data can do it.</p><p>While these nodes sync, they will continue serving read requests, so some of them may return stale data while the updated data gets to them.</p><p><em>When we say stale data, this sounds like they&#8217;d be serving your old documents for a couple of days, but in reality, the inconsistency window is very brief.</em></p><p>Dynamo favors availability and offers what we call <em>eventual consistency</em>. </p><p>Sooner or later, all nodes will have the latest data, but if your request comes before they sync, they will give you whatever they have at the current point in time.</p><p>But much like single-leader databases can do asynchronous replication, Dynamo can be configured to offer stronger consistency guarantees.</p><blockquote><p><em>&#8220;It depends on your settings. If you accept a single replica for reads and writes (R=W=1), they are indeed CAP-available. However, if you require quorum reads and writes (R+W&gt;N), and you have a network partition, clients on the minority side of the partition cannot reach a quorum, so quorum operations are not CAP-available (at least temporarily, until the database sets up additional replicas on the minority side).&#8221;</em></p></blockquote><p>I&#8217;d love to write in detail about how eventual consistent systems sync data, but I don&#8217;t understand it well enough myself.</p><h2><strong>The CAP Spectrum</strong></h2><p>The more I read about these trade-offs, the more I see the wisdom in Kleppmann&#8217;s words. Labeling databases as CP or AP is an overly simplistic way to think about them.</p><p>Consistency and availability <em>(in the context of CAP)</em> are a spectrum.</p><blockquote><p><em>&#8220;Even Eric Brewer admits that CAP is misleading and oversimplified. In 2000, it was meant to start a discussion about trade-offs in distributed data systems, and it did that very well. It wasn&#8217;t intended to be a breakthrough formal result, nor was it meant to be a rigorous classification scheme for data systems. 15 years later, we now have a much greater range of tools with different consistency and fault-tolerance models to choose from. CAP has served its purpose, and now it&#8217;s time to move on.&#8221;</em></p></blockquote><p>The examples with Postgres and Dynamo show how both can offer various levels of consistency based on their configuration, and the same goes for other databases.</p><p>Amazon&#8217;s <strong>SimpleDB</strong> can provide both consistent and eventually consistent reads. If you want strong consistency, you will, however, experience higher read latency and a reduction in read throughput.</p><blockquote><p><em>&#8220;In the research community over the past thirty years, a number of consistency models have been proposed for distributed and replicated systems. These offer consistency guarantees that lie somewhere in between strong consistency and eventual consistency. For example, a system might guarantee that a client sees data that is no more than 5 minutes out-of-date or that a client always observes the results of its own writes. Actually, some consistency models are even weaker than eventual consistency, but those I ignore as being less-than-useful.&#8221;</em></p></blockquote><p>Some engineers go as far as challenging whether CAP is still a useful way to think about distributed systems nowadays, but I believe that it absolutely is.</p><p>It&#8217;s the fundamental idea that all these tools are built around.</p><h2><strong>PACELC</strong></h2><p>Whether we prioritize consistency or availability has consequences beyond network partitions.</p><p>If we want strong consistency, even when the system is working normally, latency will be higher because synchronous replication requires more time, and coordination between the nodes will make operations slower.</p><p>So it&#8217;s important to consider how these trade-offs affect a system even when there is no network partition.</p><p>The <strong>PACELC</strong> design principle is an extension of the CAP theorem that goes into these trade-offs.</p><blockquote><p><em>&#8220;<strong>PACELC</strong> states that in case of network partitioning (<strong>P</strong>) in a distributed computer system, one has to choose between availability (<strong>A</strong>) and consistency (<strong>C</strong>) (as per the CAP theorem), but else (<strong>E</strong>), even when the system is running normally in the absence of partitions, one has to choose between latency (<strong>L</strong>) and loss of consistency (<strong>C</strong>).&#8221;</em></p></blockquote><p>So, during a network partition, you need to choose between consistency and availability. But when there&#8217;s no partition, you need to choose between availability and high latency.</p><p>You&#8217;re constantly tuning how much consistency you&#8217;re willing to trade for how much availability and latency.</p><p>Again, engineers working on banking software would prefer consistency even at the cost of higher latency in normal conditions. And those working on user-facing products prefer higher throughput.</p><h2><strong>What this means for me</strong></h2><p>The truth is that I&#8217;ve never had to implement these trade-offs myself. </p><p>I&#8217;d love to get the chance to do this in a large-scale production environment one day when my nervous system can once again handle the pressure of working on such software.</p><p>But the reality is that I&#8217;ll probably never have to implement a consensus algorithm myself.</p><p>These trade-offs are put under beautiful YAML-controlled abstractions or hidden behind the magic of the cloud provider.</p><p>But you still need to make educated decisions when you&#8217;re building software and picking technologies. When your application scales and your architecture is getting distributed, you need to know how far you ned to lean to each side of the spectrum.</p><blockquote><p><em>&#8220;That&#8217;s why your document doesn&#8217;t appear immediately, mom.&#8221;</em></p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Confessions of a Code Monkey]]></title><description><![CDATA[Why I miss writing code by hand, and why I feel like a fast food cook once again.]]></description><link>https://thethinkingbuilder.substack.com/p/confessions-of-a-code-monkey</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/confessions-of-a-code-monkey</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Fri, 23 Jan 2026 06:24:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4PVr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A decade ago, software was eating the world.</p><p>But it wasn&#8217;t complex software that was doing it. It was code written thousands of times already - websites, newsletter signup forms, payment integrations, and various CRUD apps.</p><p>The thing was that suddenly everyone needed such software.</p><p>So we brute-forced its development by putting more hands on keyboards.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!GETu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!GETu!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png 424w, /__u/substackcdn.com/image/fetch/$s_!GETu!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png 848w, /__u/substackcdn.com/image/fetch/$s_!GETu!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GETu!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!GETu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png" width="1384" height="1088" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1088,&quot;width&quot;:1384,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1501576,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fragmentsofcode.substack.com/i/185447785?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!GETu!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png 424w, /__u/substackcdn.com/image/fetch/$s_!GETu!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png 848w, /__u/substackcdn.com/image/fetch/$s_!GETu!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GETu!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652fdaef-117e-4a6d-a5c9-302f3f009f4f_1384x1088.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 aria-hidden="true" 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><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>Academia took 3-4 years to produce engineers and problem solvers, but the industry needed writers.</p><p>We needed people writing code, people who could find a solution that matched the problem and reproduce it, people who spoke the language of the CPU well enough to translate somewhat optimal instructions to it.</p><p>But, again, these problems have been solved numerous times by countless developers around the globe, and there&#8217;s not that much problem-solving to do, but researching and pattern matching.</p><p>I was a product of that time.</p><p>On a subconscious level, I realized that I was doing a subset of  what real software engineering was fairly quickly.</p><p>There&#8217;s this exact moment that kicked off a chain of neurological events in my mind.</p><p>My colleagues were discussing how the services in a new project would communicate with each other, and when someone asked me what I thought, another colleague said:</p><blockquote><p><em>&#8220;Pfft, Alex, doesn&#8217;t even know what a pointer is...&#8221;</em></p></blockquote><p>And he was right.</p><p>I didn&#8217;t know what a pointer was. </p><p>I could write code, I could build applications, but I didn&#8217;t know this fundamental piece of knowledge you learn in CS 101.</p><p><strong>I was a fucking code monkey.</strong></p><p>My job was to scour the web for solutions for my problems, remember a few pieces of syntax, and produce them again and again on the assembly line.</p><p>I was building applications without knowing what a pointer was. </p><p><strong>My work was that simple.</strong> </p><p>I was a cook in a fast food restaurant who had no idea how to make a proper meal, but knew how to follow a system. I was tossing already-flavored meat on the grill, defrosting soups, and seasoning salads with an off-the-shelf mix.</p><p>But I wanted to be more.</p><p>I wanted to talk about microservices named after Greek gods <em>(as was the fashion of the time)</em>, module structure, load balancers, and API design.</p><p>In the last decade, I saw the industry promise thousands of people that it doesn&#8217;t care about logical principles, that the fundamentals were a waste of time, that they could memorize APIs, and specialize in a technology as a career.</p><p>But that was a false promise, and a lot of people are feeling it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4PVr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4PVr!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png 424w, /__u/substackcdn.com/image/fetch/$s_!4PVr!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png 848w, /__u/substackcdn.com/image/fetch/$s_!4PVr!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4PVr!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4PVr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png" width="1446" height="782" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:782,&quot;width&quot;:1446,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1601345,&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://fragmentsofcode.substack.com/i/185447785?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4PVr!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png 424w, /__u/substackcdn.com/image/fetch/$s_!4PVr!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png 848w, /__u/substackcdn.com/image/fetch/$s_!4PVr!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4PVr!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f5b79c-179e-4abe-8800-f90e57a45566_1446x782.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 aria-hidden="true" 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><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>People have long mistaken writing code for building software, and the industry now needs builders.</p><p>I&#8217;ll be honest, I loved writing code.</p><p>Maybe I loved it a little bit too much.</p><p>For a long time, that was the outlet for my creative aspirations, and I&#8217;d find places to express myself even in the margins of very simple code.</p><p>But I&#8217;m rarely doing this anymore.</p><p>I don&#8217;t explore technologies and problems with the depth that made me fall in love with this craft. It&#8217;s so tempting to gloss over library APIs, ask the LLM to summarize them, make a couple of changes, ensure maintainability, avoid a bug, and ship.</p><p>This isn&#8217;t an existential write-up about job security.</p><p>It&#8217;s about meaning and fulfilment.</p><p>The act of orchestrating agents is too... managerial for me. I moved away from engineering management and went back to being an individual contributor, but it seems this was an illusion of free will.</p><p>All roads lead to the same place.</p><p>I was watching &#8220;<strong>The Bear&#8221;</strong> the other night, and one of the characters said something that stuck with me.</p><blockquote><p><em>&#8220;You found something that you love and it&#8217;s completely okay if you don&#8217;t love it anymore. Because the most special part about it is that you were capable of that love.&#8221;</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5Re2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5Re2!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png 424w, /__u/substackcdn.com/image/fetch/$s_!5Re2!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png 848w, /__u/substackcdn.com/image/fetch/$s_!5Re2!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5Re2!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5Re2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png" width="1384" height="1088" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1088,&quot;width&quot;:1384,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1430996,&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://fragmentsofcode.substack.com/i/185447785?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5Re2!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png 424w, /__u/substackcdn.com/image/fetch/$s_!5Re2!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png 848w, /__u/substackcdn.com/image/fetch/$s_!5Re2!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5Re2!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F662247ba-1450-4959-ac25-61bc80b2f00d_1384x1088.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 aria-hidden="true" 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><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 really feel like I&#8217;ve been forcing myself to love programming lately. </p><p>Don&#8217;t get me wrong, it&#8217;s fun to build things, it&#8217;s nice to see your ideas come to life quicker, to have a never-ending source of debugging ideas, to see computers doing new things.</p><p>But a part of me feels like it&#8217;s back to being a code monkey, only differently.</p><p>Writing code by hand gave me the pace of thought I needed to understand a problem deeply. After a couple of years at a company, I knew the codebase by heart, every corner of it, every service, and every script.</p><p>I find it difficult to say the same thing now.</p><blockquote><p><em>&#8220;If you&#8217;re thinking without writing, you&#8217;re only thinking you&#8217;re thinking.&#8221;<br>&#8213; <strong>Leslie Lamport</strong></em></p></blockquote><p>I&#8217;ll miss the days when the Tab button was used to add a tabulation, not to accept a Cursor suggestion.</p><p>In many cases, it just doesn&#8217;t make sense to write code by hand anymore.</p><p>Agents are faster, cheaper, and they let me try out more ideas before I settle on a solution. I make small changes by hand, and I write the code myself when it&#8217;s too specific to explain.</p><p>But when I&#8217;m kicking off a new feature, I scaffold it with an agent. I tell it what interfaces I need, what structure I&#8217;m expecting, and then I fill in the blanks.</p><p><strong>This makes me feel like I&#8217;m working in someone else&#8217;s codebase, though. </strong></p><p>So I&#8217;m taking solace in learning more about distributed systems, UX, and how to be more of an editor and less of a writer.</p><p>I&#8217;m looking for that sense of meaning and creative satisfaction in different places.</p><p>It&#8217;s not easy.</p><p>But one day I&#8217;ll be telling my younger colleagues how I wrote entire applications by hand.</p><blockquote><p><em>&#8220;Kids these days don&#8217;t know what real work is.&#8221;<br><strong>&#8212; Me, in the future</strong></em></p></blockquote><p>I&#8217;ll be insufferable.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Jarvis, Please Build Good Software]]></title><description><![CDATA[The second-order effects of code becoming a solved problem, and why design is the next frontier in software engineering.]]></description><link>https://thethinkingbuilder.substack.com/p/jarvis-please-build-good-software</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/jarvis-please-build-good-software</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Thu, 08 Jan 2026 11:15:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!41zJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!41zJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!41zJ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!41zJ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!41zJ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!41zJ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!41zJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg" width="1280" height="666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:666,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Amazon's Mechanical Turkers are college-educated millennials making less  than minimum wage | Vox&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Amazon's Mechanical Turkers are college-educated millennials making less  than minimum wage | Vox" title="Amazon's Mechanical Turkers are college-educated millennials making less  than minimum wage | Vox" srcset="/__u/substackcdn.com/image/fetch/$s_!41zJ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!41zJ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!41zJ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!41zJ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab25e06d-d61c-420c-99a9-81f8bb93927e_1280x666.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 aria-hidden="true" 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><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>Well, in the year 2026, AI has finally become a dev tool. </p><p>The promise of it replacing your engineering team remained unfulfilled <em>(at least for now)</em>, and coding agents seem to work best in the hands of someone who speaks the language of the machine.</p><p>What happened?</p><p>All the defensiveness that engineers had about AI evaporated as soon as models became better. All the complaints, all the bitterness, are slowly disappearing. Once you reduce the time people spend fixing a model&#8217;s mistakes, they&#8217;d happily use it.</p><p>I don&#8217;t know if it&#8217;s emergent abilities, parameter tuning, larger data sets, or some agentic wizardry, but models like Claude Opus 4.5 feel significantly better than previous ones.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!RIyb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!RIyb!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png 424w, /__u/substackcdn.com/image/fetch/$s_!RIyb!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png 848w, /__u/substackcdn.com/image/fetch/$s_!RIyb!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png 1272w, /__u/substackcdn.com/image/fetch/$s_!RIyb!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!RIyb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png" width="604" height="547.7965260545906" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22261dad-5d32-4a25-8532-c448cef0f965_806x731.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:731,&quot;width&quot;:806,&quot;resizeWidth&quot;:604,&quot;bytes&quot;:318130,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fragmentsofcode.substack.com/i/183880351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!RIyb!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png 424w, /__u/substackcdn.com/image/fetch/$s_!RIyb!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png 848w, /__u/substackcdn.com/image/fetch/$s_!RIyb!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png 1272w, /__u/substackcdn.com/image/fetch/$s_!RIyb!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22261dad-5d32-4a25-8532-c448cef0f965_806x731.png 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 aria-hidden="true" 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><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 don&#8217;t have the benchmarks, I don&#8217;t have a qualitative proof, but the temperature of the room feels different.</p><p>There&#8217;s less pessimism and more curiosity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VcRH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VcRH!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png 424w, /__u/substackcdn.com/image/fetch/$s_!VcRH!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png 848w, /__u/substackcdn.com/image/fetch/$s_!VcRH!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VcRH!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VcRH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png" width="660" height="244.73154362416108" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:1192,&quot;resizeWidth&quot;:660,&quot;bytes&quot;:111495,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fragmentsofcode.substack.com/i/183880351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!VcRH!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png 424w, /__u/substackcdn.com/image/fetch/$s_!VcRH!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png 848w, /__u/substackcdn.com/image/fetch/$s_!VcRH!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VcRH!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc1b5ec0-3ca8-42af-94a0-9d9ddaf05440_1192x442.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But as AI becomes a dev tool, engineers start treating it as one.</p><p>We try to min-max its usage like any other technology.</p><p>What&#8217;s the best workflow? What&#8217;s the best prompt? Is Claude Code marginally better than Cursor? How do you do TDD now? Should you review your code with AI? Can you now build software from your phone?</p><p>I find these questions largely insignificant, though.</p><p>The AI landscape seems to be changing far too often for them to have a meaningful answer. Last year, people were obsessing over adding the right context to the coding agent. Now it just figures it out on its own through a combination of human-like searches <em>(like grep).</em></p><p>If we get too fixated on a model&#8217;s ability to one-shot a request, we miss the real question, which is what exactly you&#8217;re trying to one-shot.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hvlQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hvlQ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png 424w, /__u/substackcdn.com/image/fetch/$s_!hvlQ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png 848w, /__u/substackcdn.com/image/fetch/$s_!hvlQ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hvlQ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hvlQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png" width="596" height="315" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:315,&quot;width&quot;:596,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121703,&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://fragmentsofcode.substack.com/i/183880351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!hvlQ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png 424w, /__u/substackcdn.com/image/fetch/$s_!hvlQ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png 848w, /__u/substackcdn.com/image/fetch/$s_!hvlQ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hvlQ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ee6546d-a9ea-45b9-8062-6a5005cfb8da_596x315.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can get so focused on doing the <em>cool thing</em> that you forget that the goal is to build good software.</p><h2>But what does good software look like?</h2><p><strong>What is good UI?</strong> AI is great at making something that looks designed but feels off to a real person. I need to learn what a good interface looks like.</p><p><strong>What qualities does a good system have?</strong> I need to be better at understanding what underlying qualities a system needs to have to match the product I&#8217;m building.</p><p><strong>What does maintainability look like in the future?</strong> At some point, you won&#8217;t be starting from scratch every morning. The services need to keep running.</p><p><em>And these questions are answered with fundamental software engineering knowledge.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Yj2n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Yj2n!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png 424w, /__u/substackcdn.com/image/fetch/$s_!Yj2n!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png 848w, /__u/substackcdn.com/image/fetch/$s_!Yj2n!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Yj2n!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Yj2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png" width="637" height="348" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:348,&quot;width&quot;:637,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49002,&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://fragmentsofcode.substack.com/i/183880351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Yj2n!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png 424w, /__u/substackcdn.com/image/fetch/$s_!Yj2n!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png 848w, /__u/substackcdn.com/image/fetch/$s_!Yj2n!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Yj2n!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99e8bcd6-addb-456f-9058-e3064e70aed6_637x348.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 aria-hidden="true" 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><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>Greenfield and brownfield development are fundamentally different. Once you need the system to keep running and pay the bills, you need to be a little bit more careful, and while UIs get fixed with a browser refresh, the same isn&#8217;t true for data.</p><p>You need to get used to these tools, but they remain as such.</p><p>Knowledge about how good software needs to behave is non-negotiable.</p><p>Maybe I&#8217;m just coping a little bit, so I don&#8217;t feel like I&#8217;ve wasted thousands of hours thinking about the intricacies of software design and architecture only for the industry to slap an abstraction over it.</p><p>I&#8217;m still not 100% sold on code being a black box. I still can&#8217;t quite detach myself from the idea that I need to understand what is going on. I need to learn how to use these tools productively, but also keep myself grounded and familiar with their work.</p><p>I&#8217;ve read too much Asimov, so I&#8217;d rather be a step behind. When you&#8217;re on the bleeding edge of technology, it&#8217;s you who&#8217;s bleeding.</p><h2>Where to?</h2><p>Those with a more entrepreneurial spirit are having a blast. The inner Henry Ford must be speaking to them like the <em>green goblin mask</em>, telling them that the software assembly line is right there for the making.</p><p>But on the <em>builder-trader spectrum</em>, I&#8217;m still leaning too far into the former.</p><p>The bottom line is that someone still has to be the bridge between the analog world and the digital one, but Ira Glass&#8217;s gap has been greatly reduced in size.</p><blockquote><p><em>&#8220;Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. <strong>But there is this gap.</strong> For the first couple years you make stuff, it&#8217;s just not that good. It&#8217;s trying to be good, it has potential, but it&#8217;s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you.&#8221;<br>&#8212; <strong>Ira Glass</strong></em></p></blockquote><p>The skill you need to develop to match your taste is now less. How much less, I don&#8217;t know. But as the engineers at Anthropic are doing their magic, this gap is slowly shrinking.</p><p>And this makes the destination on its other side that much more important.</p><p>When I know what output I&#8217;m aiming for, things are easy. I know exactly what I expect, and I can ask the agent about the specific thing I need. The trouble comes when I don&#8217;t know what I want to achieve.</p><p>That&#8217;s when I need to rely on the model and hope its weights are in my favor.</p><p>I&#8217;ve learned to apply the age-old principle of abstraction in these scenarios. I put boundaries around the code that the model will generate. I put it in a separate file, a separate module, and create an interface around it. </p><p>Then I let the model go wild inside.</p><p>I can treat its output like a black box, but I make the box.</p><p>I need a better understanding of what I&#8217;m trying to make. I need to be able to recognize good designs, good architecture, and good software.</p><p>Otherwise, I&#8217;d just be putting more shovelware out into the world.</p><p>And while I believe that creating anything is a noble pursuit, I&#8217;ve given the world my fair share of shitty software, so I&#8217;d much rather contribute to something more meaningful.</p><p>If code becomes less and less of a bottleneck, then <strong>design becomes the next frontier</strong>, both system design and user interface design.</p><p>I want to get better at <em>recognizing</em> when a UI looks good. </p><p>I want to know what it lacks, how it needs to be structured, and what needs to be removed. A designer friend of mine recommended the <strong>Interaction Design Foundation</strong> for a more structured approach to studying UI/UX, and I&#8217;ve been liking it so far.</p><p>And I want to learn the same about larger, more complex systems, so I&#8217;m re-reading <strong>Designing Data-Intensive Applications</strong> for I don&#8217;t know which time <em>(I should just keep it on my desk at this point)</em>, and I&#8217;m reading papers about distributed systems.</p><h2>The second-order effects</h2><p>The industry shift is not limited to the way we code.</p><p>Every change has second and third-order effects that are difficult to predict. One of them is that people seem less interested in low-level <em>(if we can even call it that)</em> programming educational content anymore.</p><p>I recently saw a post from an engineer and content creator who got laid off from Laracasts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!I9UQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!I9UQ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png 424w, /__u/substackcdn.com/image/fetch/$s_!I9UQ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png 848w, /__u/substackcdn.com/image/fetch/$s_!I9UQ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png 1272w, /__u/substackcdn.com/image/fetch/$s_!I9UQ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!I9UQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png" width="1190" height="354" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:354,&quot;width&quot;:1190,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:84670,&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://fragmentsofcode.substack.com/i/183880351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!I9UQ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png 424w, /__u/substackcdn.com/image/fetch/$s_!I9UQ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png 848w, /__u/substackcdn.com/image/fetch/$s_!I9UQ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.png 1272w, /__u/substackcdn.com/image/fetch/$s_!I9UQ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e80ee24-1501-4ad3-9a3b-93bac5ab8f4a_1190x354.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 aria-hidden="true" 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><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 guess it&#8217;s hard justifying spending money on learning something that Claude can one-shot for a fraction of the price.</p><p>Adam Wathan shared how Tailwind has been struggling, so he had to lay off 75% of his engineers as well.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!2YJu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!2YJu!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png 424w, /__u/substackcdn.com/image/fetch/$s_!2YJu!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png 848w, /__u/substackcdn.com/image/fetch/$s_!2YJu!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2YJu!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!2YJu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png" width="962" height="669" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:669,&quot;width&quot;:962,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:375773,&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://fragmentsofcode.substack.com/i/183880351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!2YJu!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png 424w, /__u/substackcdn.com/image/fetch/$s_!2YJu!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png 848w, /__u/substackcdn.com/image/fetch/$s_!2YJu!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2YJu!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4db489c-3e9d-406a-81d6-1ecc492eb372_962x669.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 aria-hidden="true" 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><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>Honestly, it leaves a bitter taste in your mouth to see some of the best developers out there struggle. Especially Adam, because Tailwind is the LLMs&#8217; favorite way to write CSS.</p><p>But it&#8217;s difficult to monetize these tools when code reusability is not that much of a problem anymore, and people don&#8217;t even open the docs.</p><p>Personally, as someone who has self-published a few programming books, I can attest that I&#8217;ve heard fewer Gumroad sales notifications in the last 6 months.</p><h2>Management and delegation</h2><p>I stepped back from engineering management a few years ago because I was afraid that I was getting detached from programming.</p><p>I didn&#8217;t want to get <em>rusty</em> and become unable to code. But now this seems like an irrational fear. It may be possible to have your cake and eat it, too. When coding agents don&#8217;t require you to be that hands-on, retaining a good intuition about good software may be enough.</p><p>Jason Fried from Basecamp posted something that made me think.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5NJR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5NJR!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png 424w, /__u/substackcdn.com/image/fetch/$s_!5NJR!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png 848w, /__u/substackcdn.com/image/fetch/$s_!5NJR!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5NJR!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5NJR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png" width="602" height="497.96308724832215" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:986,&quot;width&quot;:1192,&quot;resizeWidth&quot;:602,&quot;bytes&quot;:221899,&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://fragmentsofcode.substack.com/i/183880351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5NJR!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png 424w, /__u/substackcdn.com/image/fetch/$s_!5NJR!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png 848w, /__u/substackcdn.com/image/fetch/$s_!5NJR!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5NJR!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67634427-248c-4d1d-b4af-3f53e19b8ed3_1192x986.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 aria-hidden="true" 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><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 is certainly something I&#8217;m getting used to.</p><p>Not only are you delegating to total competency, but to someone who will follow your directions. It&#8217;s rare to make a technical request that doesn&#8217;t get questioned, dissected, or argued about. That&#8217;s our job at the end of the day.</p><p>But now I can ask for something specific and obscure, and actually get it.</p><p>Somehow related to that, Boris Cherny <em>(the creator of Claude Code)</em> posted about how he uses coding agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!p8YC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!p8YC!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png 424w, /__u/substackcdn.com/image/fetch/$s_!p8YC!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png 848w, /__u/substackcdn.com/image/fetch/$s_!p8YC!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png 1272w, /__u/substackcdn.com/image/fetch/$s_!p8YC!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!p8YC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png" width="598" height="374.1281618887015" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1186,&quot;resizeWidth&quot;:598,&quot;bytes&quot;:436506,&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://fragmentsofcode.substack.com/i/183880351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!p8YC!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png 424w, /__u/substackcdn.com/image/fetch/$s_!p8YC!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png 848w, /__u/substackcdn.com/image/fetch/$s_!p8YC!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.png 1272w, /__u/substackcdn.com/image/fetch/$s_!p8YC!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75dbe119-e368-498f-b2d6-46607a1938cd_1186x742.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 aria-hidden="true" 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><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>It seems like the best base for programming is not mathematics but Starcraft.</p><p>If you&#8217;re good at context switching, you can manage a whole economy of agents to build things. I don&#8217;t have the focus of a pro gamer, but I watch Serral playing Zerg from time to time for inspiration.</p><h2>Where&#8217;s the speed?</h2><p>While corporate software engineers are slowly feeling increased benefits from AI, it still feels like there are two <em>Stranger Things-esque</em> parallel dimensions between startups and corps.</p><p>Developers may be faster, but companies don&#8217;t move as quickly because they&#8217;re bottlenecked by processes - approvals, holidays, regulations, and budgets.</p><blockquote><p><em>&#8220;Great progress. Let&#8217;s catch up next week and continue.&#8221;</em></p></blockquote><p>You may be able to generate your code more quickly, but the company moves with the speed of the weekly sync.</p><p>Also, the more niche your work is, the less assistance coding agents can give you.</p><p>Go ask an engineer at SAP whether they feel the boost in productivity as they&#8217;re wrestling with their tailor-made highly scalable infrastructure and <a href="https://learning.sap.com/products/business-technology-platform/development/abap">in-house programming language</a>.</p><div><hr></div><p>The uncomfortable truth is that once you can start working productively with a coding agent, it&#8217;s very hard to come back from heavily assisted development.</p><p>I can feel the tension in my programming-related braincells reducing with each prompt I send Claude, and some days I&#8217;m half-tempted to ask it to change a button&#8217;s color. But it&#8217;s unethical to contribute to melting the ice caps for a prototype.</p><p>Regardless, I will be doing my best to build good products.</p><blockquote><p><em>&#8220;Don&#8217;t waste time thinking how to build good software. Build good software.&#8221;</em></p></blockquote><p>Or whatever Marcus Aurelius said.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fragments of Code! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[On Reading Code]]></title><description><![CDATA[What Alan Moore can teach us about becoming better at our craft.]]></description><link>https://thethinkingbuilder.substack.com/p/on-reading-code</link><guid isPermaLink="false">https://thethinkingbuilder.substack.com/p/on-reading-code</guid><dc:creator><![CDATA[Alex Kondov]]></dc:creator><pubDate>Sat, 13 Dec 2025 09:48:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8-9m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>In 2025, we&#8217;ve been focused on speculating about AI, learning how to work with agents, and adapting to an ever-changing landscape. But in the last newsletter for the year, I want to turn your attention to what&#8217;s actually important - building good software and how we go about it.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!8-9m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!8-9m!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!8-9m!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!8-9m!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!8-9m!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!8-9m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Dr. Manhattan Theories - 3 Ideas For 'Watchmen' That Might Work&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Dr. Manhattan Theories - 3 Ideas For 'Watchmen' That Might Work" title="Dr. Manhattan Theories - 3 Ideas For 'Watchmen' That Might Work" srcset="/__u/substackcdn.com/image/fetch/$s_!8-9m!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!8-9m!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!8-9m!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!8-9m!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fced834d3-eb7e-404b-9aad-daa29b7b9f78_1200x675.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Dr. Manhattan on Mars</figcaption></figure></div><p>Growing up in Eastern Europe, the superhero culture was limited to mainstream characters. No one was translating comic books at the time, and they were nigh impossible to find, so you'd better hope you catch that early morning Spider-Man episode that airs when you&#8217;re getting ready for school.</p><p>When I played my pirated copy of Watchmen during the superhero movie boom, I expected a story that followed the formula I&#8217;d seen many times over. A villainous entrance by the bad guy, an initial defeat for the flawless heroes, only for them to return stronger and win in the end.</p><p>Watchmen&#8217;s nothing like this.</p><p>It gives a gritty twist to the superhero genre, and it was the first time I saw <em>&#8220;superheroes&#8221;</em> portrayed as imperfect beings with human flaws, needs, and personal agendas.</p><p>But Alan Moore didn&#8217;t create this story by accident. </p><h2>Read Everything</h2><p>Moore broke the formula because he knew it better than anyone else. He reinvented the superhero not because he ignored the genre&#8217;s history, but because he understood it well enough to twist it into something new.</p><p>And that was Alan Moore&#8217;s advice to future writers - read everything. Read the classics, poetry, philosophy, pulp, comics, newspapers, and obscure esoteric texts. Read good books, but read bad ones as well. </p><p>The bad ones, especially, are instrumental in forming your taste in writing.</p><blockquote><p><em>&#8220;Read terrible books as well, because they can be more inspiring than the good books&#8230; By analyzing why they are doing so badly, this will immensely help your own style. You&#8217;ll find out all of the mistakes not to make.&#8221; </em></p><p><em><strong>&#8212; Alan Moore</strong></em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-sGO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-sGO!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-sGO!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-sGO!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-sGO!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-sGO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3439335,&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://fragmentsofcode.substack.com/i/181469252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!-sGO!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-sGO!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-sGO!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-sGO!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70c63e80-d8df-4069-8b6d-1f2b0a6ae972_4280x3210.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 aria-hidden="true" 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><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>Writers read hundreds of books before they try to write their own. </p><p>We, as developers, on the other hand, take the equivalent of a grammar course and set off to write <em>&#8220;War and Peace&#8221;</em>. Imagine writers not reading the classics. Not pushing through &#8220;<em>Moby Dick&#8221;</em>, nor suffering with &#8220;<em>Crime and Punishment&#8221;</em>.</p><p>Nothing great will come out of such a writer. At most, a superhero story that follows the formula I outlined in the beginning.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thethinkingbuilder.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>Programming is More Art Than Science</h2><p>Paul Graham has this great essay called <a href="https://www.paulgraham.com/hp.html">Hackers and Painters</a> in which he argues that programming is closer to creative disciplines than to traditional engineering because our work is driven by taste, iteration, and intuition, not rigid processes.</p><p>Programmers refuse to accept that their work can be art, and artists struggle to acknowledge that their work is applied mathematics.</p><p>But if you read the essay and it manages to convince you even in the slightest, then we should take Alan Moore&#8217;s advice seriously and treat our improvement in this craft just like writers do.</p><blockquote><p><em>&#8220;I don&#8217;t think there&#8217;s really any difference between art - or writing, or music - and magic. And I particularly draw the link between magic and writing. I think that they are profoundly connected.&#8221;</em></p><p><em><strong>&#8212; Alan Moore</strong></em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!jO4_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!jO4_!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!jO4_!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!jO4_!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!jO4_!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!jO4_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2794572,&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://fragmentsofcode.substack.com/i/181469252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!jO4_!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!jO4_!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!jO4_!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!jO4_!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7be1c7d-871f-433b-9c39-b2d875d77265_4280x3210.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 aria-hidden="true" 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><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>Good grammar is a prerequisite, but there&#8217;s more to writing a good story - plot, characters, voice. The same way, knowing a programming language is non-negotiable, but there&#8217;s more to building software - architecture, scale, maintainability. </p><p>Like artists, we build our intuition about good software through iteration, working on real, lived-in software, not isolated code snippets.</p><p>When I started writing, people told me I needed to read Camus, Dostoevsky, Chekhov, and Steinbeck, but no one told me the codebases I should read to see how people build.</p><h2>Building Intuition</h2><p>Most developers build their taste for good software naturally as they change companies - they see which patterns work and which don&#8217;t.</p><p>That&#8217;s why I still think years of experience somewhat matter.</p><p>The more time you spend in the industry, the more projects you get to see. You learn how their domains are modeled in the codebase, the challenges, and how real software looks.</p><p>You will see terrible failures and spaghettified codebases, but they, too, are important. Like pulp fiction and airport books whose endings you know before you open up the first page, the negative data points are just as valuable.</p><blockquote><p><em>&#8220;There is no substitute for practical experience, and if you want to write about people you ought to put down that comic book and go out and meet some of them rather than studying the way that Stan Lee or Chris Claremont depict people.&#8221;</em></p><p><em><strong>&#8212; Alan Moore</strong></em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!TbZA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!TbZA!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!TbZA!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!TbZA!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!TbZA!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!TbZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3512071,&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://fragmentsofcode.substack.com/i/181469252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!TbZA!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!TbZA!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!TbZA!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!TbZA!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57963395-ed19-47d7-86eb-2d52b260dc16_4280x3210.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 aria-hidden="true" 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><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 find that developers who quickly become good at building software have unintentionally found a way to fast-track this learning experience and build their intuition.</p><p>Working on their own side projects, taking up freelance gigs, and contributing to open source - all these expose them to more domains, more collaboration problems, more obscure edge cases.</p><h2>Reading Open Source</h2><p>I had no trouble doing my 9-5, then coding until the AMs when I was 22, but now, with a family and responsibilities outside of work, I find it difficult to follow the same schedule.</p><p>I can&#8217;t continue building things in my spare time or moonlighting in a second company anymore. It&#8217;s too draining, and I&#8217;ve been dancing with burnout way too much. </p><p>But open source is a goldmine for good reading material, and I can enjoy going through projects like a good book. I don&#8217;t have to study them like a textbook, analyze them, or even run them. I can take in the codebase like I&#8217;d read a book in the morning.</p><p>Open source seemed daunting to me.</p><p>I felt unworthy of even reading it. Code that sits out there in the open to be reviewed by everyone must surely be complex and written with extreme care.</p><p>Yes, trying to read React&#8217;s codebase without prior knowledge will probably leave you more confused than enriched.</p><p>But think about all the small libraries and tools you use daily, the joints that keep the whole thing together.</p><p>I find that they&#8217;re very much worth reading.</p><h2>Reading Lodash</h2><p>The first open source library I gathered the courage to explore beyond the README was Lodash - a collection of utility functions that were invaluable in the past when the JS standard library was poorer.</p><p>I started with it because I hoped it would be simpler, but I didn&#8217;t expect that the entire library would be kept in a single JavaScript file that&#8217;s 17K lines long.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1oiQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1oiQ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png 424w, /__u/substackcdn.com/image/fetch/$s_!1oiQ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png 848w, /__u/substackcdn.com/image/fetch/$s_!1oiQ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1oiQ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1oiQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png" width="1418" height="732" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:732,&quot;width&quot;:1418,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151783,&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://fragmentsofcode.substack.com/i/181469252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1oiQ!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png 424w, /__u/substackcdn.com/image/fetch/$s_!1oiQ!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png 848w, /__u/substackcdn.com/image/fetch/$s_!1oiQ!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1oiQ!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64e9799f-8bb8-481e-af07-22027908a1af_1418x732.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That&#8217;s a library with 80+ million downloads per week.</p><p>They don&#8217;t publish this enormous file, though. It will stretch out the network cable it travels through. The complexity in Lodash is in its build process. They have a CLI that mangles the file into different formats and builds.</p><p>In the industry, such a file would be considered a massive anti-pattern, and I never would&#8217;ve seen working software implemented this way.</p><p>Did I like it? No.</p><p>But I learned that what you deliver doesn&#8217;t have to be the same as the thing you write.</p><h2>Reading React-Query</h2><p>Some time later, I did the same with react-query, a popular data fetching library in the React ecosystem.</p><p>I wasn&#8217;t sure where to start with a large, complex, unfamiliar codebase, so I did what I do at work - I followed one of its public-facing APIs.</p><p>I found where their most widely used function was exported, and I followed its implementation all the way down, command-clicking through functions and layers until I reached the bottom.</p><p>And I found that it actually used classes underneath.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!TTlz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!TTlz!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png 424w, /__u/substackcdn.com/image/fetch/$s_!TTlz!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png 848w, /__u/substackcdn.com/image/fetch/$s_!TTlz!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png 1272w, /__u/substackcdn.com/image/fetch/$s_!TTlz!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!TTlz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png" width="1408" height="1006" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1006,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:244075,&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://fragmentsofcode.substack.com/i/181469252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!TTlz!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png 424w, /__u/substackcdn.com/image/fetch/$s_!TTlz!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png 848w, /__u/substackcdn.com/image/fetch/$s_!TTlz!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.png 1272w, /__u/substackcdn.com/image/fetch/$s_!TTlz!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704d70-a9d0-4367-935a-2b48a19979aa_1408x1006.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 aria-hidden="true" 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><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>Yes, classes. </p><p>In a JavaScript library used on the front-end. Lightweight functional programming has been dominating the ecosystem for years, and object-oriented code was the last thing I expected.</p><p>Did I start using classes in my React projects? I didn&#8217;t.</p><p>But reading this codebase taught me that you can work with data outside of the React component lifecycle.</p><h2>The Software Engineer&#8217;s Vocabulary</h2><p>This is not the kind of knowledge that will help you pass FAANG interviews. It&#8217;s the kind that will help you build actual software. </p><p>If you don&#8217;t read, you won&#8217;t have a vocabulary to write with, and if you&#8217;re not studying real software, you won&#8217;t learn patterns to build with.</p><p>Engineering blogs are a great source of information, but I find them to be too curated. Every sterile, over-engineered REST API that has more boilerplate than domain logic has been inspired by a blog post.</p><p>Wins and breakthroughs are interesting to read about, but real software sometimes has 17K lines-long JS files that no one is eager to write about. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!YDBP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!YDBP!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!YDBP!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!YDBP!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!YDBP!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_webp, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!YDBP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2823151,&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://fragmentsofcode.substack.com/i/181469252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!YDBP!, /__u/thethinkingbuilder.substack.com/w_424, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!YDBP!, /__u/thethinkingbuilder.substack.com/w_848, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!YDBP!, /__u/thethinkingbuilder.substack.com/w_1272, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!YDBP!, /__u/thethinkingbuilder.substack.com/w_1456, /__u/thethinkingbuilder.substack.com/c_limit, /__u/thethinkingbuilder.substack.com/f_auto, /__u/thethinkingbuilder.substack.com/q_auto:good, /__u/thethinkingbuilder.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ead8be-5985-460d-a757-927744c8edad_4280x3210.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We study theoretical best-case scenarios and then expect to build actual production software based on ideas discussed in a vacuum. This is unrealistic. Software failures are most often a failure of imagination and our inability to handle complexity, and this imagination gets fostered as you read more and more.</p><p>Getting familiar with new ideas only when you change companies is the same as only reading a book every few years.</p><p>We need to constantly study existing projects until we understand the shape of quality and develop a taste for good software. </p><p>Because that taste is what lasts.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thethinkingbuilder.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>