<?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[First by Reflection]]></title><description><![CDATA[Essays on learning through reflection, making, software, architecture, systems, experimentation, and judgment.]]></description><link>https://www.firstbyreflection.com</link><image><url>https://substackcdn.com/image/fetch/$s_!vDYM!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89c4f5a4-494e-4240-9bab-8938867f2693_1254x1254.png</url><title>First by Reflection</title><link>https://www.firstbyreflection.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 16 Sep 2026 23:50:01 GMT</lastBuildDate><atom:link href="https://www.firstbyreflection.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Antonio Yon]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[firstbyreflection@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[firstbyreflection@substack.com]]></itunes:email><itunes:name><![CDATA[Antonio Yon]]></itunes:name></itunes:owner><itunes:author><![CDATA[Antonio Yon]]></itunes:author><googleplay:owner><![CDATA[firstbyreflection@substack.com]]></googleplay:owner><googleplay:email><![CDATA[firstbyreflection@substack.com]]></googleplay:email><googleplay:author><![CDATA[Antonio Yon]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[What We Do With Agency]]></title><description><![CDATA[The distance between an idea and a working artifact is shrinking. What happens next is up to us.]]></description><link>https://www.firstbyreflection.com/p/what-we-do-with-agency</link><guid isPermaLink="false">https://www.firstbyreflection.com/p/what-we-do-with-agency</guid><dc:creator><![CDATA[Antonio Yon]]></dc:creator><pubDate>Mon, 31 Aug 2026 15:15:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lfeD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lfeD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lfeD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!lfeD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!lfeD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!lfeD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lfeD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png" width="1200" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:539306,&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://www.firstbyreflection.com/i/213334496?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lfeD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!lfeD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!lfeD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!lfeD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb37ea908-8b39-46c5-8bb4-4866503727d1_1200x800.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><span>I&#8217;ve spent 25+ years building things: software, systems, teams, culture. For most of that time, getting from idea to usable product meant implementation, and implementation ate everything. That might mean learning a new framework or allocating resources or waiting six months for a budget someone else controls. Most ideas died on the vine because of that constraint.</span></p><p><span>Ancient technologists (c. Y2K) will tell you to use well-known patterns and stay away from being too clever. That usually made implementation more tedious </span><em><span>and</span></em><span> more likely to miss its mark. After much divining and estimation, the idea would stay just that, not because it was a bad idea, but because implementing it into something real required more time, expertise, coordination, or permission than the idea could bear.</span></p><p><span>AI is shrinking that gap. Users, domain experts, junior programmers, senior engineers all can describe a problem or outcome to an LLM and end the day with a working product. Not a wireframe or a PoC or a story in someone else&#8217;s backlog, but a genuine tool that answers a question, organizes a project, removes a tiny irritation, or teaches you enough to move to the next step.</span></p><p><span>This is easy to understate because it arrived amid so much noise. We are accustomed to hearing that new tools make work faster, that they will disrupt professions, that they may change who gets hired or what skills command a premium. Those questions matter. But they can obscure a simpler and more immediate change: more of us can act on an idea without waiting for all of the conditions that formerly stood between wanting a thing and making it. That is an expansion of agency.</span></p><p><a href="https://map.simonsarris.com/"><span>Simon Sarris</span></a><span> wrote that programming had retained a permissionless quality that much of modern life had lost: &#8220;You don&#8217;t have to ask anyone. You don&#8217;t have to get a building permit or be a professional. You can just create.&#8221;</span></p><p><span>His point wasn&#8217;t that programming was useful or lucrative, but that software let a person act on the world before an institution decided they were qualified to do so. You could begin before you were ready, and the thing you wanted to make could become the reason to learn.</span></p><p><span>The new tools widen that invitation.</span></p><p><span>They don&#8217;t erase the value of knowing how systems work, or make experience irrelevant. But they let a domain expert build a small tool instead of just describing the problem to someone else, let a curious person follow an idea past a sketch, and let a programmer chase an uncertain approach that would once have been too costly to justify.</span></p><p><span>The threshold has not disappeared. It has moved.</span></p><h2><strong><span>A structure that stands</span></strong></h2><p><span>Sarris, who designed and part-built his own house, was right that software never had a permit office. But buildings still have to stand, permit or no permit. What&#8217;s changed is that the cost of construction collapsed while the physics stayed. A building has to be safe, usable, and possible to maintain, and it has to serve the people who enter it within the constraints of money, materials, place, and time.</span></p><p><span>But nobody thinks those facts exhaust the work of architecture. We care whether a building makes sense to live or work in. Whether its form serves its purpose. Whether it helps people understand where they are and what they can do there. Whether it makes ordinary life easier or harder. Whether it can change without becoming hostile to the people who depend on it.</span></p><p><span>When anyone can raise a structure in an afternoon, the world fills with structures. The scarcity shifts from </span><em><span>can we build it</span></em><span> to </span><em><span>should this exist</span></em><span>.</span></p><p><span>Software also has a floor: it must function, and it must be secure enough, reliable enough, comprehensible enough, and possible to operate and change. A system that does not meet those obligations has failed regardless of how elegant its abstractions may be. For much of software&#8217;s history, reaching that floor consumed most of the available effort. Getting the structure to stand was an accomplishment. A conventional pattern, an adequate interface, a familiar architecture: these were often not failures of imagination. They were rational responses to the price of implementation.</span></p><p><span>There was only so much time to learn a new technique, prototype a new approach, test it against reality, and persuade other people that the experiment was worth the risk. Often the sensible choice was the approach everyone already understood.</span></p><p><span>That constraint is loosening.</span></p><p><span>It is easier now to follow a hunch far enough to find out whether it contains anything: build a narrow prototype, compare several representations of the same problem, ask whether the conventional design is carrying machinery the problem doesn&#8217;t need.</span></p><p><span>This doesn&#8217;t make every idea good, or every experiment worth keeping. What it does is make exploration more approachable.</span></p><p><span>This matters because a great deal of what we call taste develops through comparison. Comparison teaches us to see the difference between two things that both work. One introduces concepts without earning them; another makes an important constraint visible. A familiar solution turns out to feel safe because it is familiar, not because it fits. An unusual approach turns out to be simpler than the standard pattern, because it lets the shape of the problem show through.</span></p><p><span>Taste doesn&#8217;t give us the right to dismiss someone else&#8217;s work, only the habit of asking more of our own.</span></p><h2><strong><span>After the first version</span></strong></h2><p><span>Simon Sarris writes that &#8220;learning is naturally the consequence of doing.&#8221; That still feels right. These tools do not overturn that order. They make more doing possible.</span></p><p><span>They let us build a script that renames the files some vendor insists on mangling, sketch a workflow before we know whether anyone else needs it, or pursue a question too small, strange, or uncertain to justify a team, a budget, or a year of planning. They also make it possible to learn from artifacts rather than only from abstractions.</span></p><p><span>This is not a lesser form of making because the first version comes quickly. A rough artifact can answer questions that discussion cannot. It can expose an assumption, reveal an unexpected use, or turn a vague dissatisfaction into something concrete enough to improve.</span></p><p><span>The first version is not the end of the work. It is an invitation to look again. What did we actually make? What did it make easier? What did it make harder? What did it assume about the people who might use it? Which parts have the shape of the problem, and which parts merely have the shape of the tools available to us?</span></p><p><span>Those questions are where judgment begins.</span></p><p><span>Judgment isn&#8217;t the ability to hand down a disapproving verdict after the fact so much as the growing ability to see a thing in context: recognizing when a solution has answered a different question than the one we meant to ask, noticing when it has grown larger than the need, and telling a useful generalization apart from a convenient way of avoiding a hard decision.</span></p><p><span>As implementation becomes more approachable, the absence of judgment can become easier to conceal. A plausible artifact can arrive before we have decided what we wanted it to be. Familiar forms can make a needless addition feel responsible. An answer that works can appear complete before we have asked what it will ask of the people who use, maintain, or inherit it.</span></p><p><span>The point isn&#8217;t to grow suspicious of the tool or timid about making things, but to stay awake while we make them.</span></p><h2><strong><span>The work of seeing</span></strong></h2><p><span>That is where the old craft may have something important to teach the new one.</span></p><p><span>Before an experienced programmer can recognize that a change is wrong, excessive, or oddly shaped, they have usually built up a store of remembered encounters. Things that failed in production. Interfaces that seemed obvious until a second caller arrived. Configurations that made one case flexible and every other case harder to understand. Designs that looked elegant in a review and became exhausting to live with.</span></p><p><span>Some of that memory can only come from time and responsibility. We should not pretend otherwise.</span></p><p><span>But more of the practice can become available earlier than it used to be. We can learn by making an expectation visible before an artifact arrives. We can ask, before we build: what should change, what should remain untouched, what would count as evidence that this helped, and what would surprise us?</span></p><p><span>We do not need to predict every line of code. We do need enough clarity to recognize when the work has moved beyond the thing we meant to make.</span></p><p><span>That is a form of attention. It makes the difference between intention and result instructive rather than merely inconvenient.</span></p><p><span>Perhaps the artifact reveals that we misunderstood the system. Perhaps it exposes a decision we had never made explicit. Perhaps it suggests an alternative that is genuinely better than the first thought we had. Perhaps it shows us that the first thought was right after all.</span></p><p><span>Each possibility teaches us something. Learning to see the difference is the point.</span></p><p><span>The same is true of conversation. Explaining an idea to another person exposes the weak point that only appears when you make it legible. Asking a machine for alternatives helps you notice what each form makes visible and what it hides. Letting an unfamiliar strategy challenge our habits helps too, so long as we don&#8217;t assume unfamiliarity is itself a virtue.</span></p><p><span>That&#8217;s how agency becomes more than motion: a way of learning to choose.</span></p><h2><strong><span>What we do with the gift</span></strong></h2><p><span>The gap between the idea and the usable thing is shrinking. That is the gift, and the gift compounds: every cheap iteration teaches us a better question to ask on the next one. This is a real opening for anyone who builds things: make something that did not exist for you before.</span></p><p><span>Learn from things that work and especially from things that </span><strong><span>do not</span></strong><span> work. The problem you solved should make you feel a sense of accomplishment. It should make you want to dive deeper into it. Discover the next bottleneck. Show it to your friends and colleagues. Is it a minimum </span><s><span>viable</span></s><span> lovable product?</span></p><p><span>A building must meet codes and basic safety before anyone can live in it. But the architect&#8217;s work is not done simply by making it stand. Neither is ours. This is what we do with agency.</span></p><div><hr></div><h3>Afterword</h3><p>This essay began as a response to Simon Sarris&#8217;s <em>&#8220;The Most Precious Resource is Agency,&#8221;</em> a 2021 essay he later revised and expanded as <em>&#8220;School Is Not Enough.&#8221;</em> His writing on programming as a permissionless culture, and on learning through doing, gave this essay its starting question.</p><p>Read <a href="https://map.simonsarris.com/p/the-most-precious-resource-is-agency">the original essay</a> and <a href="https://map.simonsarris.com/p/school-is-not-enough">the expanded version</a>.</p><p>This is the first in a series. Next: what writing down your expectations before the machine builds anything buys you.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.firstbyreflection.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 First by Reflection! 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>