<?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[Nathaniel Fishel]]></title><description><![CDATA[Principal Software Engineer and Technology Enthusiast. I love automation and knowing how things work ]]></description><link>https://nathanielfishel.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Ovoi!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6db8a0d7-ce2d-4aa2-90ec-6fc24eea4fc8_1316x1318.png</url><title>Nathaniel Fishel</title><link>https://nathanielfishel.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 17 Oct 2026 02:08:22 GMT</lastBuildDate><atom:link href="https://nathanielfishel.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Nathaniel Fishel]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[nathanielfishel@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[nathanielfishel@substack.com]]></itunes:email><itunes:name><![CDATA[Nathaniel Fishel]]></itunes:name></itunes:owner><itunes:author><![CDATA[Nathaniel Fishel]]></itunes:author><googleplay:owner><![CDATA[nathanielfishel@substack.com]]></googleplay:owner><googleplay:email><![CDATA[nathanielfishel@substack.com]]></googleplay:email><googleplay:author><![CDATA[Nathaniel Fishel]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Tiredness You Can't Explain to Anyone]]></title><description><![CDATA[Why the exhaustion of modern knowledge work isn&#8217;t a personal failing, it&#8217;s cognitive science.]]></description><link>https://nathanielfishel.substack.com/p/the-tiredness-you-cant-explain-to</link><guid isPermaLink="false">https://nathanielfishel.substack.com/p/the-tiredness-you-cant-explain-to</guid><dc:creator><![CDATA[Nathaniel Fishel]]></dc:creator><pubDate>Wed, 29 Jul 2026 01:48:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ovoi!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6db8a0d7-ce2d-4aa2-90ec-6fc24eea4fc8_1316x1318.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Picture this: it&#8217;s 4:40 on a Friday. You&#8217;re scrambling to wrap up after promising your wife you&#8217;d log off early at</p><p>4:00. But at 3:45, a Slack message popped up, something you swore would only take twenty minutes. Now an hour has evaporated, there&#8217;s no end in sight, and you&#8217;re forced to abandon your work mid-thought just to walk away.</p><p>Your wife and kids are already waiting in the car. You jump in, but as you drive, you&#8217;re trapped in your head, running through a mental checklist of what got done and what&#8217;s going to haunt you on Monday morning.</p><p>&#8220;You were on your laptop all day long and now you can&#8217;t even talk to me?&#8221; You jerk out of your trance.</p><p>&#8220;Sorry... long week. Just thinking about work.&#8221; She sighs and turns to look out the</p><p>This might as well be a video replay of my own life. I&#8217;ve spent eight years as a software engineer, almost all of it remote, with my family just on the other side of the door. For years, I felt a constant, nagging guilt that I was dropping the ball everywhere at once. I assumed it was my own personal defect, that if I were just more disciplined, organized, or focused, the weight would lift. Then I decided to check.</p><h2>The Survey: You Are Not the Only One</h2><p>I put together an informal survey and sent it to friends, coworkers, and online communities. I wasn't expecting scientific precision just a reality check to see if anyone else felt like they were drowning in plain sight. The results floored me.</p><p>Almost every single respondent was carrying the exact same invisible weight. Most indicated they were actively responsible for moving six or more separate tasks forward on a typical day. Majority reported being interrupted at least every hour, with many interrupted several times an hour.</p><p>When asked how hard it is to pick work back up after being pulled away, almost no one said it was easy. The single most common response:</p><p>"It's draining; switching back and forth wears me down."</p><p>The most telling discovery, however, wasn't about dropped project deadlines or missed promotions. While administrative slips happened, the primary damage was internal: a crushing, silent mental toll.</p><p>An entire productivity ecosystem exists to tell us that we are the problem. If we just organized better, used a "Second Brain," or bought another app subscription, we&#8217;d finally complete our to do list. Yet drowning in tools hasn't saved anyone. And now, AI promises to accelerate our output even further without adding a single slot to our cognitive processing power.</p><p>To understand why this feels so unsustainable, I turned to cognitive psychology. It turns out scientists have spent a century documenting every piece of this fatigue.</p><h2>The Invisible Machinery: Ten Laws of Cognitive Strain</h2><p>When you look closely at what modern knowledge work asks of the human mind, the exhaustion stops looking like a discipline failure and starts looking like basic physics.</p><h3>1. The Structure Problem (Insight Restructuring)</h3><p>When you feel overwhelmed by thirty items on a to-do list, your first instinct is to collect more data or add complex tagging systems. But Edward de Bono proved in 1970 that overwhelm is often an insight restructuring problem, not an information problem. You don't need more details; you need to rearrange the information you already have into a structural arrangement your brain can digest.</p><h3>2. The Four-Slot Ceiling (Chunking)</h3><p>George Miller&#8217;s landmark 1956 research on Chunking showed that working memory processes information in a small number of meaningful units ("chunks"). Facing thirty flat, unstructured tasks forces your brain to track thirty individual items. Regrouping those tasks into a few clear dependency chains or project clusters reduces the total chunk count, instantly lightening the tracking load.</p><h3>3. The Unclosed Loop (Zeigarnik Effect)</h3><p>In 1927, Bluma Zeigarnik demonstrated that incomplete or interrupted tasks intrude on thought far more persistently than completed ones. Your brain treats every unfinished project like a quiet alarm going off. The distress isn't caused by the volume of text on your screen; it&#8217;s the unresolved tension from every open loop firing simultaneously in your head.</p><h3>4. The Pull to Finish (Ovsiankina Effect)</h3><p>Building on Zeigarnik, Maria Ovsiankina (1928) discovered that humans experience a spontaneous, biological urge to resume an interrupted task even without external rewards. This is why you can't relax in the car on Friday: the interruption itself created an internal pull to finish that your brain cannot simply turn off.</p><h3>5. The Toll of Context Jumps (Task-Switching Cost)</h3><p>Research by Monsell (2003) proves that switching between cognitive tasks carries a measurable penalty in time, energy, and error rate. Every time you glance at Slack, check email, and jump back to code, you pay a switching tax. Pay that tax hundreds of times a day, and your brain is bankrupt by 4:00 PM.</p><h3>6. The Tunnel Vision of Fatigue (Attentional Narrowing)</h3><p>Under high cognitive stress, Easterbrook&#8217;s cue-utilization hypothesis (1959) shows that human attention measurably narrows. You process fewer environmental cues and miss details outside a shrunken focal zone.</p><p>Expecting yourself to handle a complex wall of priorities when you are already fatigued ignores how a stressed brain actually functions.</p><h3>7. Paralysis at the Screen (Choice Overload)</h3><p>When options are undifferentiated, research by Iyengar and Lepper (2000) demonstrates that choice overload leads directly to decision paralysis. Facing twenty unorganized tasks at the end of the day forces your exhausted mind to evaluate every single option from scratch, driving complete mental shutdown.</p><h3>8. The Energy Drain of Re-reading (Recognition over Recall)</h3><p>Classic memory literature (Mandler, 1980) shows that recognizing familiar context takes drastically less cognitive effort than recalling information unaided. Seeing a vague note like "Bob email" forces your brain to expend precious energy recalling what the issue was. Without immediate, restated context, your brain experiences friction before you even begin.</p><h3>9. Missing the Trigger (Implementation Intentions)</h3><p>Peter Gollwitzer (1999) proved that simple goal intentions fail without specific "If X, then Y" plans. A note that says</p><p>"Waiting on Bob" keeps the loop open because your mind doesn't know when to resurface it. Linking a task to a concrete trigger ("When Bob replies to the invoice, then send approval") pre-links the action and removes in-the-moment deliberation.</p><h3>10. The Personal Fault Delusion (Affect-as-Information)</h3><p>Perhaps the most damaging effect of all is the Affect-as-Information Heuristic (Schwarz &amp; Clore, 1983).</p><p>Research shows that people frequently misattribute their internal mood to whatever they are currently evaluating.</p><p>When you feel worn down, irritable, and mentally drained at 5:00 PM, your brain misinterprets that physiological exhaustion as a personal judgment:</p><p>"I am bad at managing my life."</p><h3>It Was Never a Discipline Problem</h3><p>Look at what those ten findings add up to. The switching taxes you. The unfinished loops intrude. The interruptions trigger a relentless urge to finish. The cognitive load narrows your focus, while choice overload paralyzes your decisions. And when the day ends, your mind misinterprets the physical heat thrown off by this overworked engine as a personal moral failure.</p><p>The exhaustion was never the problem. It&#8217;s the byproduct. Run any engine hard enough and it throws off heat, not because it's broken, but because that's what doing work costs. The tiredness you feel on Friday afternoon isn't weakness. It&#8217;s physics.</p><p>Knowing this won't automatically clear your inbox or close every loop. But it changes the single most important thing: it removes the shame.</p><p>The next time you find yourself sitting in the car on a Friday, unable to shake the ghost of an unfinished task, you don't have to apologize for a private defect. You don't have to say "Long week" and watch the distance widen between you and the people you love.</p><p>You can recognize the feeling for what it truly is, the natural result of a mind that spent all day holding twenty open threads on a floor that wouldn't stop moving.</p><p>We can't always change the speed of modern work. But we can stop believing we are the only ones drowning under it. And sometimes, just having a name for the weight makes it a whole lot lighter to carry.</p>]]></content:encoded></item><item><title><![CDATA[Your code is worthless ]]></title><description><![CDATA[Why "Vibe Coding" and vanity metrics are creating a technical debt bubble.]]></description><link>https://nathanielfishel.substack.com/p/your-code-is-worthless</link><guid isPermaLink="false">https://nathanielfishel.substack.com/p/your-code-is-worthless</guid><dc:creator><![CDATA[Nathaniel Fishel]]></dc:creator><pubDate>Sat, 04 Apr 2026 03:54:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ad7u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In 1982, Bill Atkinson the architect behind QuickDraw and a lead designer for the Apple Lisa found himself at odds with a new management initiative. The team decided to track &#8220;Lines of Code&#8221; (LOC) as a proxy for productivity.</p><p>Atkinson had just spent weeks refactoring the region-calculation engine. He had replaced a clunky, original algorithm with something elegant, faster, and significantly smaller. When it came time to fill out his weekly status report, in the box for &#8220;Lines of Code Written,&#8221; he didn&#8217;t put a positive integer.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://nathanielfishel.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! 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>He simply wrote: <strong>-2,000.</strong></p><p>While history never repeats it often rhymes. 40 years later we have come full circle to LOC being used as a measure of developer productivity. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ad7u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ad7u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png 424w, https://substackcdn.com/image/fetch/$s_!ad7u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png 848w, https://substackcdn.com/image/fetch/$s_!ad7u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!ad7u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ad7u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png" width="1176" height="1254" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1254,&quot;width&quot;:1176,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:696568,&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://nathanielfishel.substack.com/i/193130811?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.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_!ad7u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png 424w, https://substackcdn.com/image/fetch/$s_!ad7u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png 848w, https://substackcdn.com/image/fetch/$s_!ad7u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!ad7u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48775cca-9d5f-4289-866f-41eecca0fa33_1176x1254.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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><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 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If this were just a one-off opinion from a fringe person, it could be dismissed as a misunderstanding of the craft. But when Garry Tan, the CEO of Y Combinator, tweets a dashboard boasting 37,000 lines of code per day as proof of &#8220;agentic engineering&#8221; speeding up, it&#8217;s clear the rot has reached the highest levels of tech leadership. This idea has metastasized across Slacks, forums, and boardrooms: the belief that AI has magically &#8220;solved&#8221; software by making it effortless to generate mass quantities of it.</p><p>We are mistaking token burn for value creation. We are celebrating the expansion of our attack surface and the explosion of our maintenance burden as if it were progress. I&#8217;m writing this in the hope that those in leadership might step back from the dashboard and realize that vanity metrics like LOC will never tell you how much value was created only how much technical debt was financed.</p><p>This leads into a natural question, if we can not use quantity as a metric how do we define the value of software, and those who are paid to create it? Based on my own personal experience combined with ideas borrowed from experts I have the following 3 suggestions. </p><ul><li><p>User Outcomes</p></li><li><p>Time-to-Value (TTV) and Feedback Loops</p></li><li><p>Utility to Maintenance</p></li></ul><h3>1. User Outcomes: The &#8220;Windows&#8221; Litmus Test</h3><p>The most obvious way to describe valuable software is the value a user receives from using it. This sounds like a platitude until you realize that all software without users is, by definition, worthless. The source code itself holds zero intrinsic value. If you don&#8217;t believe this, imagine Microsoft open-sourced the entirety of Windows tomorrow. Would Windows users immediately jump to a new startup selling that exact same code? Of course not.</p><p>The source code isn&#8217;t what makes Windows valuable, it is the Outcome the user achieves. An average user pays for Windows because they can open a laptop and work immediately. They are paying for Distribution, Support, and Trust. They are paying for a &#8220;Job&#8221; to be &#8220;Done.&#8221;</p><p>No matter how many tens of thousands of lines you generate with an AI agent, no customer will ever pay you more for it. In fact, if those lines don&#8217;t move the needle on the user&#8217;s &#8220;Time to Joy,&#8221; you haven&#8217;t created a single cent of value&#8212;you&#8217;ve just increased your own overhead.</p><h3>2. Time-to-Value: Physics of a feedback loop</h3><p>If you want to understand why your expensive engineering team feels slow, stop looking at their output and start looking at their feedback loops.</p><p>The quintessential catalyst for software value isn&#8217;t a new framework or an AI agent it&#8217;s the refinement of the loop the time it takes for a developer to make a change and see if it actually worked.</p><p>I learned this lesson by accident. Years ago, I took a &#8220;step back in time&#8221; to help a family member with a website running on a basic LAMP stack managed via FTP. Coming from a world of enterprise Kubernetes clusters and hour-long CI/CD pipelines, I expected to be frustrated. Instead, I was faster than I&#8217;d been in years. Because there were no massive dependency graphs or 20-minute build steps, I could try an idea and see the result in seconds. I was in a constant state of flow.</p><p>In his research on developer effectiveness, Tim Cochran emphasizes these &#8220;micro-feedback loops&#8221; the actions a developer performs 100 or 200 times a day. When those loops are fast, you get &#8220;Flow.&#8221; When they are slow, you get &#8220;Friction.&#8221;</p><p>This is where the &#8220;37k lines of code&#8221; metric becomes truly dangerous.</p><ul><li><p>More code = more dependencies.</p></li><li><p>More dependencies = slower test suites.</p></li><li><p>Slower test suites = broken feedback loops.</p></li></ul><p>When a developer&#8217;s loop is interrupted by a slow build or a failing agent-generated test it takes an average of 23 minutes to return to a state of focused productivity. If your AI agent is dumping 37,000 lines of code into your repo, it isn&#8217;t just adding value it&#8217;s adding &#8220;noise&#8221; that clogs the pipes. It forces the human engineers to spend their day waiting for CI, debugging &#8220;hallucinated&#8221; edge cases, and losing their flow.</p><p>Instead of measuring how many lines the AI wrote today, measure how long it takes a human to validate those lines. If the &#8220;Time-to-Value&#8221; is increasing, your productivity is actually decreasing, regardless of what the LOC dashboard says.</p><h3>3. Utility to Maintenance: Use it or Lose it</h3><p>In the pre-agentic era, building a feature was expensive. That high cost acted as a natural filter. Because it took weeks of human engineering to implement an idea, we were forced to validate it first. We spoke to users, ran prototypes, and asked: <em>&#8220;Is this worth the effort?&#8221;</em></p><p>That &#8220;friction&#8221; was actually a massive business benefit. It prevented us from cluttering the product with &#8220;invasive species&#8221; features that no one asked for but everyone has to maintain.</p><p>Now, with agents capable of pumping out thousands of lines of code in a single afternoon, that filter has vanished. New features are being shoved into products without a second thought. But here is the reality: If you are generating tons of code for features that aren&#8217;t being used, you aren&#8217;t creating value. You are burning money and financing technical debt.</p><p>In a &#8220;Garden,&#8221; a healthy plant provides shade, food, or beauty. A weed just takes up space and nutrients. Every unused &#8220;AI-generated&#8221; feature is a weed. It makes your documentation longer, your UI more confusing, and your test suites slower.</p><h3>Conclusion</h3><p>To be clear I am not anti-AI. These tools are the equivalent of high end power tools for a master tradesperson. They have slashed the time it takes to solve niche problems, automated the tedious boilerplate required for compilation, and can replicate a human defined pattern across a codebase in seconds. Used correctly, they are a massive win for the individual engineer.</p><p>However, we are biologically wired for the path of least resistance. Evolution taught us that cognitive energy is a scarce resource. If we can avoid thinking deeply about a complex architectural trade off by pressing a &#8220;magic solve it for me&#8221; button, we usually will.</p><p>The danger is that today&#8217;s models are just good enough to hide the rot. In a corporate environment driven by quarterly goals, a massive pile of technical debt scheduled for next year is often ignored in favor of the &#8220;velocity&#8221; shown on a dashboard today. When leadership adopts &#8220;Lines of Code&#8221; as a success metric, they aren&#8217;t just rewarding laziness they are incentivizing the industrialization of bloat.</p><p>We must return to the fundamental truth <strong>The source code is not the product.</strong> The product is the <strong>Outcome</strong> the user achieves. The code is merely the expensive, high-maintenance machinery required to deliver that outcome. If you can deliver a $1,000,000 outcome with 10 lines of code, you are a hero. If you deliver that same outcome with 37,000 lines, you have just created a $1,000,000 liability.</p><p>As we move deeper into this &#8220;agentic&#8221; era, the winners won&#8217;t be the companies that burn the most tokens or generate the most files. The winners will be the ones with the discipline to measure what matters: Does the user&#8217;s life get better, or did we just make our repo bigger?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://nathanielfishel.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! 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>