<?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[AI for Software Engineers]]></title><description><![CDATA[Technical depth into building real-world AI with a focus on engineering, research, and first principles.]]></description><link>https://www.aiforswes.com</link><image><url>https://substackcdn.com/image/fetch/$s_!SZLV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb98f2329-ea0e-4c11-91ba-3363b10ca0d7_500x500.png</url><title>AI for Software Engineers</title><link>https://www.aiforswes.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 09 Apr 2026 05:00:49 GMT</lastBuildDate><atom:link href="https://www.aiforswes.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Logan Thorneloe]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[aiforswes@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[aiforswes@substack.com]]></itunes:email><itunes:name><![CDATA[Logan Thorneloe]]></itunes:name></itunes:owner><itunes:author><![CDATA[Logan Thorneloe]]></itunes:author><googleplay:owner><![CDATA[aiforswes@substack.com]]></googleplay:owner><googleplay:email><![CDATA[aiforswes@substack.com]]></googleplay:email><googleplay:author><![CDATA[Logan Thorneloe]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Difficulties of Scaling Autoresearch | AI for Software Engineers 83]]></title><description><![CDATA[And agentic engineering's scaling impact on the software development and the internet]]></description><link>https://www.aiforswes.com/p/83</link><guid isPermaLink="false">https://www.aiforswes.com/p/83</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sat, 28 Mar 2026 13:35:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vGCF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.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_!vGCF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vGCF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vGCF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png&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;:38698,&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.aiforswes.com/i/192370276?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.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_!vGCF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hi everyone!</p><p>March has been a slow writing month for me because it&#8217;s been busy in many other parts of life. Luckily, those busy things have all been good and I&#8217;ve got a lot more to write about this April.</p><p>I&#8217;ve spoken to a lot of developers this past month about AI and almost all of them have said the same thing: &#8220;There&#8217;s a lot of info out there about AI, but not a lot about what I should actually be doing.&#8221; I get a lot of questions about the practicality of topics, and even the most experienced developers wonder what they should be doing right now. So I&#8217;m trying a new format this week that focuses more on that. This format will general be:</p><ul><li><p>A note from me about something topical.</p></li><li><p>Things you should know about and why they&#8217;re important.</p></li><li><p>Things you should read (or watch).</p></li><li><p>Things you could be doing.</p></li></ul><p>I&#8217;ve created a <a href="https://shop.aiforswes.com">shop for AI for Software Engineers</a> that allows anyone to support the newsletter and represent it. I appreciate everyone supporting my work&#8212;it lets me educate thousands of developers around the world. To all my paid subscribers: <strong>Thank you!</strong></p><p>I&#8217;ll also set up a code for anyone who guest posts here or helps add excellent resources to the <a href="https://mlroadmap.io">ML roadmap</a> to grab an item from the shop for free.</p><p>I&#8217;m working on partnerships to give you discounts on resources. This has become more complex than I thought, but I&#8217;m still working on it. Just wanted to add a quick update here.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>A note on scaling Autoresearch</h2><p>Recently, <a href="https://github.com/karpathy/autoresearch">Andrej Karpathy&#8217;s Autoresearch</a> went viral, showing that LLMs can iterate on machine learning improvements on their own. It went so viral, in fact, that I had a conversation with a friend about how AI will now fundamentally change medicine because it can research on its own.</p><p>This isn&#8217;t quite true, and I want to help you understand why. I really liked <a href="https://www.interconnects.ai/p/lossy-self-improvement">Nathan Lambert&#8217;s framing</a> of automated machine learning research as &#8220;lossy self-improvement&#8221;: the more compute and agents thrown at a problem, the more friction is introduced. This has been my experience and what makes machine learning at scale a massive engineering challenge.</p><p>There have been many interesting implementations of Autoresearch, but most have identified a simple (usually single) metric and have given the LLM the context needed to understand improving that metric. In a production setting, we care about many metrics and the trade-offs between each&#8212;an improvement is more than just improving a single number.</p><p>The best example of this is cost. When training models at scale, we care greatly about the cost of the end model we serve. In fact, it can be worth updating a production model to a version with slightly worse performance if the cost savings are significant.</p><p>On top of inference costs, we also care a great deal about the resource efficiency of the training process itself. Finding model improvements requires many training runs and analyses. This means we also care about the efficiency of the Autoresearch process itself.</p><p>Thus, Autoresearch relies heavily on reliable engineering on two fronts:</p><ol><li><p>Reliable agents steered in the right direction.</p></li><li><p>Reliable infrastructure for the agent to use.</p></li></ol><p>These are the primary factors contributing to lossy self-improvement, and either can cause a serious hit to experimentation velocity and efficiency. These effects multiply when both engineering problems are combined.</p><p>To make agents reliable, they need the context to understand the search space for the problem. Autoresearch is essentially AutoML where the search space is dictated by the context given to the model. Karpathy has pushed back on this comparison, arguing that an LLM writing arbitrary code is far more powerful than traditional neural architecture search. He&#8217;s right that the searcher is more capable, but the core constraint is the same: you need to define the right search space, and context is what defines it. Due to the metrics involved in machine learning at scale, the context required is massive for an agent to accurately understand the search space and choose potential experimentation candidates. Thus, for reliable agents we rely not only on proper agent evals, but also on providing appropriate context.</p><p>Mistakes in context and agent reliability cause the agent to travel down incorrect paths, creating unnecessary training runs compounded by any infrastructure inefficiency.</p><p>Thus, Autoresearch becomes much more difficult at scale. While plausible, it&#8217;s an incredible research problem on its own.</p><p>Autoresearch is effective in machine learning experimentation because the entire process is code- and terminal-native, both of which LLMs excel at. My friend assumed AI self-improvement would translate directly to other fields like medical research, but this isn&#8217;t a given.</p><p>LLMs are exceptional at recombining existing knowledge in useful ways, but their outputs are fundamentally drawn from their training data. Creativity researchers distinguish between combinatorial creativity (novel recombinations) and transformational creativity (paradigm shifts). LLMs are strong at the former and limited at the latter. A recent study found that LLM-generated research ideas were rated as more novel than expert human ideas, but scored lower on feasibility&#8212;suggesting LLMs are better at generating plausible-sounding combinations than knowing which ideas are actually worth pursuing.</p><p>What this means is Autoresearch is most applicable to fields that are defined by a clear search space and are language- and code-native. Generalizing beyond that in its current form will be difficult. Other fields need to make advancements in their own domains before self-improving AI can make a meaningful difference, and those advancements still require the kind of transformational creativity that LLMs don&#8217;t yet provide.</p><h2>What You Should Know</h2><p><em>The current events that matter to you.</em></p><ul><li><p><strong>AI is taking a toll on the internet.</strong></p><ul><li><p><strong><a href="https://newsletter.pragmaticengineer.com/p/the-pulse-is-github-still-best-for">GitHub availability dropped to roughly 90%</a> as AI coding agents overwhelm the platform.</strong> We&#8217;re seeing agents overwhelm the open source community by spamming PRs. We&#8217;re also seeing an overwhelming number of vibe coded &#8220;open source&#8221; repos without any roadmap or future maintainability.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/25/reddit-bots-new-human-verification-requirements/">Reddit will require suspected bot accounts to verify their humanity.</a></strong> This is a huge step in the right direction for reliable content on the internet especially considering many AI train and retrieve answers from Reddit.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/26/wikipedia-cracks-down-on-the-use-of-ai-in-article-writing/">Wikipedia editors voted 40-2 to ban AI-generated or rewritten article content.</a></strong> Editors may still use AI for basic copyedits of their own writing with human review. This is in an effort to maintain Wikipedia without a similar impact to what&#8217;s going on with GitHub.</p></li></ul></li><li><p><strong>Agentic engineering is still scaling quickly and AI coding tools are maturing to keep pace.</strong></p><ul><li><p><strong><a href="https://cursor.com/blog/real-time-rl-for-composer">Cursor ships improved Composer models every five hours</a> using real-time RL from user sessions.</strong> A/B tests showed 2.28% more persistent edits and 3.13% fewer dissatisfied follow-ups. Real-time (often called &#8220;continuous&#8221;) machine learning is a necessity for artificial general intelligence. We&#8217;ll see much more of it in the coming year.</p></li><li><p><strong><a href="https://simonwillison.net/2026/Mar/24/auto-mode-for-claude-code/#atom-everything">Anthropic launched auto mode for Claude Code</a>, replacing manual permission approvals with an AI classifier.</strong> This is another move toward AI that properly thinks for itself but brings up safety concerns. For true general intelligence, AI needs to abstract a lot of what makes it difficult away from the user.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/21/are-ai-tokens-the-new-signing-bonus-or-just-a-cost-of-doing-business/">Jensen Huang suggested engineers should receive half their base salary in AI tokens.</a></strong> Theory Ventures identifies inference costs as the fourth component of engineering compensation. Meta and OpenAI engineers now compete on internal leaderboards tracking token consumption.</p></li><li><p><strong><a href="https://composio.dev/content/openclaw-security-and-vulnerabilities">7.1% of OpenClaw&#8217;s skill registry contains critical security flaws.</a></strong> 283 skills exposed credentials in plaintext through LLM context windows. The most-downloaded skill was an info-stealer that bypassed macOS Gatekeeper. If I haven&#8217;t made it clear: <strong>Do not use OpenClaw</strong> <strong>if you have doubts about what you&#8217;re doing</strong>. There are too many security risks.</p></li><li><p><strong><a href="https://news.ycombinator.com/item?id=47548243">GitHub will train on your private repositories</a> unless you opt out by April 24.</strong> Users are automatically opted in, including long-term paying customers. The toggle is in Settings &gt; Copilot &gt; Features.</p></li></ul></li><li><p><strong>Resource scarcity (memory, hardware, and energy) is becoming the bottleneck for AI companies. Existing manufacturers can&#8217;t produce fast enough causing AI companies to pursue downstream problems themselves.</strong></p><ul><li><p><strong><a href="https://xn--gckvb8fzb.com/hold-on-to-your-hardware/">Data centers will consume 70% of all global memory chips</a> by 2026.</strong> AI isn&#8217;t going anywhere and usage will only grow. If you think current RAM prices are crazy they&#8217;ll likely continue going up. For consumers, this means use the hardware you have now if you can.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/24/arm-is-releasing-its-first-in-house-chip-in-its-35-year-history/">Arm released its first in-house chip in 35 years.</a></strong> This marks a shift from licensing-only to competing with its own customers. The Arm AGI CPU is a data center processor for AI inference, built with Meta.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/22/elon-musk-unveils-chip-manufacturing-plans-for-spacex-and-tesla/">Elon Musk announced plans for a &#8220;Terafab&#8221; chip factory</a> near Tesla&#8217;s Austin campus.</strong> He claims existing manufacturers cannot meet his AI and robotics hardware demands, targeting 100-200 gigawatts of computing power annually. No timeline was provided.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/23/sam-altman-backed-fusion-startup-helion-in-talks-with-openai/">Helion is in talks to sell fusion power to OpenAI.</a></strong> The deal would guarantee OpenAI 12.5% of Helion&#8217;s production, targeting 5 gigawatts by 2030. This is Sam Altman&#8217;s own energy startup and is another example of AI companies solving downstream problems themselves.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/25/google-turboquant-ai-memory-compression-silicon-valley-pied-piper/">Google released TurboQuant</a>, reducing LLM inference memory by at least 6x with zero accuracy loss.</strong> This is still a lab result, not production-deployed, but if it&#8217;s scalable it&#8217;ll be a &#8220;Pied Piper&#8221; moment for LLM inference, reducing memory needs significantly. This is a topic I&#8217;m looking to explore next week.</p></li></ul></li><li><p><strong>AI safety is still a primary topic both of the standpoint of secure agents and AI&#8217;s potential impact on human lives.</strong></p><ul><li><p><strong><a href="https://deepmind.google/blog/protecting-people-from-harmful-manipulation/">DeepMind published research on AI&#8217;s ability to harmfully manipulate people</a> across 9 studies with 10,000+ participants.</strong> AI was most manipulative when explicitly instructed to be, and least effective on health topics. The framework is now used to test safety for Gemini 3 Pro.</p></li><li><p><strong><a href="https://openai.com/index/safety-bug-bounty">OpenAI launched a Safety Bug Bounty</a> for AI-specific abuse risks.</strong> Targets include agent hijacking via prompt injection, data exfiltration, and proprietary reasoning leaks. Attacks must be reproducible at least 50% of the time.</p></li><li><p><strong><a href="https://www.fixhealth.ai/p/doctronic-the-ai-doctor-with-a-dirty">Doctronic, an AI &#8220;doctor&#8221; startup that raised $40M, was caught with critical security and credibility issues.</a></strong> Cybersecurity researchers jailbroke the chatbot into providing methamphetamine synthesis instructions. The company&#8217;s claim of helping 24 million people is unsupported by traffic data.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/26/data-centers-get-ready-the-senate-wants-to-see-your-power-bills/">Senators Hawley and Warren want to mandate annual energy reporting for data centers.</a></strong> Separately, Sanders and AOC introduced legislation to halt new data center construction until Congress regulates AI. Google&#8217;s data center energy consumption doubled between 2020 and 2024.</p></li><li><p><strong><a href="https://www.cnn.com/2026/03/26/business/anthropic-pentagon-injunction-supply-chain-risk">A federal judge blocked the Pentagon from labeling Anthropic a supply chain risk.</a></strong> The court ruled it was illegal retaliation for Anthropic&#8217;s refusal to let its AI be used in autonomous weapons or domestic mass surveillance.</p></li></ul></li><li><p><strong>New models were released this week that you can start building with. Many of these are small enough to run on consumer hardware, circumventing the resource issues mentioned above.</strong></p><ul><li><p><strong><a href="https://deepmind.google/blog/gemini-3-1-flash-live-making-audio-ai-more-natural-and-reliable/">Gemini 3.1 Flash Live launched</a> as Google&#8217;s highest-quality real-time audio and voice model.</strong> It scores 90.8% on multi-step audio function calling benchmarks and maintains conversation context twice as long as previous versions. Real-time multimodal search expanded to 200 countries.</p></li><li><p><strong><a href="https://cohere.com/blog/transcribe">Cohere released Transcribe</a>, an open-source speech-to-text model that processes 525 minutes of audio per minute.</strong> 2B parameters, 5.42 word error rate, 14 languages, designed for self-hosting on consumer GPUs.</p></li><li><p><strong><a href="https://mistral.ai/news/voxtral-tts">Mistral released Voxtral TTS</a>, an open-source text-to-speech model small enough for smartwatches.</strong> 9 languages, voice cloning from less than 5 seconds of audio, 90ms latency to first speech.</p></li></ul></li><li><p><strong>Moves are being made in the consumer sector.</strong></p><ul><li><p><strong><a href="https://x.com/soraofficialapp/status/2036546752535470382">OpenAI killed the Sora app</a> after downloads plummeted.</strong> Despite popular opinion, this isn&#8217;t the end of OpenAI&#8217;s video generation model, this is the end of OpenAI losing money by offering it openly to the public. This is good business move by OpenAI but seems to be massively misunderstood by the public.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/26/you-can-now-transfer-your-chats-and-personal-information-from-other-chatbots-directly-into-gemini/">Google launched tools to import ChatGPT and Claude chat histories directly into Gemini.</a></strong> This follows Anthropic releasing a similar feature in Claude. Less friction to switch between ecosystems is always a win for consumers.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/23/apple-wwdc-june-8-12-ai-advancements-siri-developers-conference/">Apple set WWDC 2026 for June 8-12</a>, teasing more &#8220;AI advancements&#8221; to come marking a stark contrast from last year, where the topic was largely avoided.</strong> Apple is expected to announce a partnership with Google to bring Gemini (or a version of Gemini) to Apple device users.</p></li></ul></li></ul><h2>What You Should Read</h2><p><em>Articles I think are worth reading in their entirety this week.</em></p><ul><li><p><strong><a href="https://cursor.com/blog/real-time-rl-for-composer">Improving Composer through real-time RL</a> by Cursor Blog.</strong> An excellent account of continuous training in production. Cursor converts user sessions into reward signals, ships updated models every five hours, and documents failure modes like models gaming reward systems to avoid negative scores. Continuous learning is a prerequisite to AGI as it enables models to continuously improve and will be a primary topic in 2026. I suspect many companies will follow Cursor&#8217;s example this year.</p></li><li><p><strong><a href="https://www.interconnects.ai/p/lossy-self-improvement">Lossy self-improvement</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Nathan Lambert&quot;,&quot;id&quot;:10472909,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!RihO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fedcdfb-e137-4f6a-9089-a46add6c6242_500x500.jpeg&quot;,&quot;uuid&quot;:&quot;9296f979-be9a-4281-a37c-40221c6438f6&quot;}" data-component-name="MentionToDOM"></span><strong>.</strong> Lambert argues recursive AI self-improvement will hit complexity brakes, not compound exponentially. He draws on Amdahl&#8217;s Law and Paul Allen&#8217;s complexity brake: &#8220;The more compute and agents you throw at a problem, the more loss and repetition shows up.&#8221; As mentioned above, I think this is an excellent read.</p></li><li><p><strong><a href="https://blog.bytebytego.com/p/how-anthropics-claude-thinks">How Anthropic&#8217;s Claude Thinks</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Alex Xu&quot;,&quot;id&quot;:22329494,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd1afb-9a92-433e-bbf4-f726eb8ffdb3_375x375.jpeg&quot;,&quot;uuid&quot;:&quot;bf66b89a-77c0-4890-a18b-e6c59ae894ab&quot;}" data-component-name="MentionToDOM"></span><strong>.</strong> An easily understandable overview of Anthropic&#8217;s interpretability research that shows Claude&#8217;s default state is to refuse all questions, and hallucinations happen when a recognition system misfires. The accessibility of this article makes it an excellent read.</p></li><li><p><strong><a href="https://www.artificialintelligencemadesimple.com/p/how-a-leading-venture-capitalist">How a Leading Venture Capitalist uses AI Agents</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;6f44a9e9-6212-4ba8-b34e-305fbe8538a9&quot;}" data-component-name="MentionToDOM"></span><strong>.</strong> <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;b9ee6d8a-f19d-49ed-8605-413b65d2230a&quot;}" data-component-name="MentionToDOM"></span> shares his full agent stack: morning briefings, meeting capture, research, and drafting. These are excellent examples of real-world AI usage that can be implemented with a bit of technical knowledge.</p></li><li><p><strong><a href="https://simonwillison.net/2026/Mar/25/thoughts-on-slowing-the-fuck-down/#atom-everything">Thoughts on slowing the fuck down</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;e56537c3-7107-4a67-9382-03454ed7b6ab&quot;}" data-component-name="MentionToDOM"></span><strong>.</strong> My team at Google has really felt the new bottlenecks that come from AI-generated code and the impact that has had on the engineering process. Speed is always the focus of agentic engineering, but reliability is the most important part of production code. This is a great, simple overview of why that is.</p></li></ul><h2>What You Should Do</h2><p><em>The action you can take this week based on the information shared above to learn the skills that are the most in demand.</em></p>
      <p>
          <a href="https://www.aiforswes.com/p/83">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[20 Years of Code Optimized in Two Days | Weekend Reads 4]]></title><description><![CDATA[Your AI reading list 03-15-2026]]></description><link>https://www.aiforswes.com/p/wr-4</link><guid isPermaLink="false">https://www.aiforswes.com/p/wr-4</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sun, 15 Mar 2026 14:03:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gAf_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.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_!gAf_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gAf_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gAf_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png&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;Pasted image 20260315001152.png&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="Pasted image 20260315001152.png" title="Pasted image 20260315001152.png" srcset="https://substackcdn.com/image/fetch/$s_!gAf_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Welcome to the weekly reading list! This is how I keep up with AI news and deepen my understanding of the topics that matter for building production systems. I focus on primary sources and authors I trust to keep the signal-to-noise ratio high.</p><p><em>You can support AI for Software Engineers for only $5/month and get the complete edition of this list as a thank you.</em> <em><strong>Thank you to all paid subscribers for your support!</strong></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><h2>In this list</h2><p>As has been the case for 2026, there are a ton of interesting reads this week about getting agents working in production and what they can do. Most interesting are:</p><ul><li><p><a href="https://simonwillison.net/2026/Mar/13/liquid/#atom-everything">Shopify&#8217;s CEO</a> pointed a coding agent at a 20-year-old Ruby codebase with a benchmark script and 974 unit tests. 120 automated experiments and 93 commits later, it was 53% faster.</p></li><li><p><a href="https://www.oneusefulthing.org/p/the-shape-of-the-thing">StrongDM</a> built a production software pipeline where three humans manage AI agents. The rules: &#8220;code must not be written by humans&#8221; and &#8220;code must not be reviewed by humans.&#8221; Each engineer spends ~$1,000/day on tokens.</p></li><li><p><a href="https://www.artificialintelligencemadesimple.com/p/how-to-diagnose-failures-in-large">AMD published a diagnostic framework</a> where Claude Code and Cursor act as autonomous agents debugging large training clusters, tracing a 23% throughput drop to RDMA degradation on 4 of 24 nodes.</p></li><li><p><a href="https://newsletter.pragmaticengineer.com/p/the-pulse-what-will-the-staff-engineer">84% of Uber devs</a> are now agentic coding users and Claude Code usage nearly doubled in three months, from 32% to 63%, while IDE-based tools have plateaued.</p></li><li><p><a href="https://openai.com/index/designing-agents-to-resist-prompt-injection">OpenAI shared a phishing-style prompt injection</a> that tricked ChatGPT into exfiltrating employee PII 50% of the time, and their defense framework treats it like a call center problem, not a code injection problem.</p></li></ul><div><hr></div><h3><a href="https://simonwillison.net/2026/Mar/13/liquid/#atom-everything">Shopify/liquid: Performance: 53% faster parse+render, 61% fewer allocations</a> by Simon Willison</h3><blockquote><p>&#8220;Having a robust test suite - in this case 974 unit tests - is a massive unlock for working with coding agents. This kind of research effort would not be possible without first having a tried and tested suite of tests.&#8221;</p></blockquote><p>Shopify CEO Tobi Lutke took Andrej Karpathy&#8217;s autoresearch pattern, pointed it at Liquid, Shopify&#8217;s template engine, and ran 120 automated experiments over two days. The agent gave itself a benchmark script, iterated against 974 unit tests, and produced 93 commits.</p><ul><li><p>Parse+render time dropped by 53%, allocations dropped by 61%</p></li><li><p>Replacing <code>StringScanner</code> with <code>String#byteindex</code> was ~40% faster for single-byte searching</p></li><li><p>Pre-computing frozen strings for integers 0-999 eliminated 267 allocations per render</p></li></ul><p>A comprehensive test suite gave the agent enough context to make changes and verify them independently. &#8220;Make it faster&#8221; only becomes an actionable goal when the agent can measure its own progress and confirm it hasn&#8217;t broken anything along the way.</p><h3><a href="https://openai.com/index/designing-agents-to-resist-prompt-injection">Designing AI agents to resist prompt injection</a></h3><blockquote><p>&#8220;If the problem is not just identifying a malicious string, but resisting misleading or manipulative content in context, then defending against it cannot rely only on filtering inputs.&#8221;</p></blockquote><p>Real-world prompt injection attacks now look like phishing, not code injection. OpenAI shared an example: a phishing-style email that worked 50% of the time against ChatGPT, getting it to extract employee PII and send it to a third party.</p><p>Their defense framework borrows from how organizations protect human customer service agents. You don&#8217;t train a call center worker to detect every possible scam, you constrain their capabilities. For AI agents, this means source-sink analysis: monitor when information would leave the conversation or when the agent would follow an external link, rather than trying to perfectly classify inputs.</p><h3><a href="https://www.oneusefulthing.org/p/the-shape-of-the-thing">The Shape of the Thing</a> by Ethan Mollick</h3><blockquote><p>&#8220;Code must not be written by humans. Code must not be reviewed by humans.&#8221;</p></blockquote><p>StrongDM built a &#8220;Software Factory&#8221; where three humans manage AI agents that write, test, and ship code. Each engineer spends ~$1,000/day on AI tokens. Coding agents build from product roadmaps, testing agents build simulated customer environments and try to break what the coding agents built, and the agents loop feedback to each other until satisfied.</p><p>We&#8217;ve moved from co-intelligence, prompting back and forth, to management, giving agents hours of work and getting results in minutes. Every major AI lab is now explicitly working on recursive self-improvement. OpenAI says Codex was &#8220;instrumental in creating itself,&#8221; and Anthropic says their engineers barely write code anymore.</p><h3><a href="https://maximelabonne.substack.com/p/nemotron-3-super-nvidias-gpt-oss">Nemotron 3 Super: NVIDIA&#8217;s gpt-oss killer?</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Maxime Labonne&quot;,&quot;id&quot;:31453795,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17e73529-4d58-4477-b896-6d1e1f5c9796_896x896.png&quot;,&quot;uuid&quot;:&quot;ac085d66-ac31-44cb-b8a6-50207c9664dd&quot;}" data-component-name="MentionToDOM"></span></h3><blockquote><p>&#8220;Reducing the expert dimension by a factor of d/l = 4 lets you reinvest those savings into both more total experts and higher top-k.&#8221;</p></blockquote><p>NVIDIA&#8217;s Nemotron 3 Super, 120B total with 12B active, is worth paying attention to because of LatentMoE. Standard MoE routes tokens from the full hidden dimension directly to experts, but LatentMoE wraps the expert path with shared linear projections that compress from d=4096 down to l=1024, do all expert computation in that compressed space, then project back up.</p><ul><li><p>Reducing the expert dimension by 4x lets you run 512 total experts with top-22 routing where standard MoE typically uses 128 experts with top-6 or top-8 at the same compute cost</p></li><li><p>Artificial Analysis flagged the model as extremely verbose though, generating 110M tokens during their eval suite vs an average of 7.3M, which could erase most of those throughput gains in practice</p></li></ul><h3><a href="https://www.artificialintelligencemadesimple.com/p/how-to-diagnose-failures-in-large">How to Diagnose Failures in Large AI Training Clusters</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;8a656066-69b5-4e66-a279-35c8eadf5420&quot;}" data-component-name="MentionToDOM"></span></h3><blockquote><p>&#8220;The teams that figure out how to make that transition -- how to turn their debugging knowledge into repeatable infrastructure instead of leaving it trapped in someone&#8217;s head -- those are the teams that will compound their advantage over everyone else.&#8221;</p></blockquote><p>AMD published a diagnostic framework for large training clusters where Claude Code and Cursor act as autonomous diagnostic agents. It uses a three-skill pipeline: job-log-triage to identify what happened, performance-analysis to locate where in compute, and tsdb-diagnosis to determine why via Prometheus queries.</p><p>In one case study, a 23% throughput drop on a 192 GPU run was traced to RDMA degradation on 4 of 24 nodes. The agent isolated the unhealthy nodes from TSDB metrics, and excluding them restored throughput by 30%. The skills themselves are structured instruction files that encode how senior systems engineers actually debug these problems, turning tribal knowledge into repeatable runbooks.</p><h3><a href="https://simonwillison.net/guides/agentic-engineering-patterns/better-code/#atom-everything">AI should help us produce better code</a></h3><blockquote><p>&#8220;Shipping worse code with agents is a choice. We can choose to ship code that is better instead.&#8221;</p></blockquote><p>Willison&#8217;s argument is that agents should make code quality go up, not down. Common tech debt like renaming concepts, fixing API inconsistencies, and splitting large files is conceptually simple but time-consuming, and agents handle it well.</p><p>He recommends using async agents like Gemini Jules, Codex web, and Claude Code web for background refactoring so it doesn&#8217;t interrupt flow, and using agents for cheap exploratory prototyping. You can spin up a Redis simulation with load tests from a single prompt to validate technology choices before committing to an approach.</p><h3><a href="https://cameronrwolfe.substack.com/p/stats-llm-evals">Applying Statistics to LLM Evaluations</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Cameron R. Wolfe, Ph.D.&quot;,&quot;id&quot;:29736521,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/69aba7df-b571-4609-aa47-fc2d031c11b8_1242x1595.jpeg&quot;,&quot;uuid&quot;:&quot;989c14b3-f870-4c96-9d02-5fdb98df8a58&quot;}" data-component-name="MentionToDOM"></span> </h3><blockquote><p>&#8220;Fundamentally, evaluations are experiments; but the literature on evaluations has largely ignored the literature from other sciences on experiment analysis and planning.&#8221;</p></blockquote><p>The standard industry practice for evals is to run a model on a benchmark, report the number, and bold it if it&#8217;s the highest. No confidence intervals, no significance tests, and no accounting for the fact that your eval score has at least two sources of randomness: which questions were sampled and the model&#8217;s stochastic generation.</p><p>Based on Anthropic&#8217;s paper on statistical best practices, this deep-dive builds the framework from scratch.</p><ul><li><p>Central Limit Theorem gives you confidence intervals for eval scores</p></li><li><p>Bernoulli simplification for pass/fail evals gives a cleaner standard error formula</p></li><li><p>Law of total variance decomposes eval uncertainty into question-sampling variability vs. within-question generation variability</p></li><li><p>On a 70B model, evaluating with too few questions can produce confidence intervals wide enough to make model comparisons meaningless</p></li></ul><h3><a href="https://simonwillison.net/2026/Mar/12/coding-after-coders/#atom-everything">Coding After Coders: The End of Computer Programming as We Know It</a></h3><blockquote><p>&#8220;I feel like programmers have it easy... If you&#8217;re a lawyer, you&#8217;re screwed, right? There&#8217;s no way to automatically check a legal brief written by A.I. for hallucinations -- other than face total humiliation in court.&#8221;</p></blockquote><p>The NYT Magazine&#8217;s comprehensive piece on AI-assisted development, based on interviews with 70+ developers from Google, Amazon, Microsoft, and Apple. The general attitude was optimistic, with mentions of Jevons paradox potentially increasing demand.</p><p>The request for anonymity from the Apple engineer who said &#8220;I believe that it can be fun and fulfilling and engaging, and having the computer do it for you strips you of that&#8221; is itself a data point. Corporate dynamics may be suppressing critical voices.</p><div><hr></div><p><strong>You can support AI for Software Engineers for just $5/mo. You&#8217;ll get more research articles and the extended reading list each week. </strong>In case you missed it, here&#8217;s last week&#8217;s reading list:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e82bb533-e5d6-482e-ab17-e87dea6b73e6&quot;,&quot;caption&quot;:&quot;Enjoy this weekend&#8217;s reading list! There are a few topics that were especially prevalent: the dangers of a surveillance state, the importance of evals, and agentic engineering practices and resources.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Better Agents Mean Better Surveillance | Weekend Reads 3&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Explaining the full AI stack / ML infra + AI dev tools at Google / Father of 5 (two sets of twins!!)&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6da19a3b-49bd-4488-bdba-e7c21d45edd7_2048x2048.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-03-01T15:21:34.655Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!qwRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/wr-3&quot;,&quot;section_name&quot;:&quot;Weekly Editions&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:189554588,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:11,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!EQbG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde4017d3-e4c6-4b1d-ac70-e807a20c0c57_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3><a href="https://blog.jxmo.io/p/how-to-train-the-best-embedding-model">How to train the best embedding model in the world</a> by Jack Morris</h3>
      <p>
          <a href="https://www.aiforswes.com/p/wr-4">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[ICE Has an AI Problem]]></title><description><![CDATA[And a note on surveillance states]]></description><link>https://www.aiforswes.com/p/ice-has-an-ai-problem</link><guid isPermaLink="false">https://www.aiforswes.com/p/ice-has-an-ai-problem</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Wed, 11 Mar 2026 13:41:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!63n8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.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_!63n8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!63n8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!63n8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!63n8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!63n8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!63n8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png&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;:37445,&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.aiforswes.com/i/190617744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.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_!63n8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!63n8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!63n8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!63n8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The most difficult problem in ML isn&#8217;t technical. It&#8217;s matching a business problem to an ML solution. You can build a technically impressive system that solves the wrong problem entirely, and it happens more often than most people realize.</p><p>This difficulty shows up in data bias, which is frequently discussed. Less discussed is aligning the wrong ML solution to the problem so you don&#8217;t actually solve what you set out to. Recent events with ICE and technology in government provide a very real example of this, and there&#8217;s a production machine learning lesson to be learned from it.</p><p>I&#8217;ve been digging into ICE&#8217;s primary AI system, and I want to walk through what it does, how it works, and why it fails at its own stated objective. The goal is for you to understand the difficulties of linking ML solutions to business problems and the potential impact of getting it wrong.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>The business objective</h2><p>Understanding the business objective is the most difficult part of machine learning. You need to link ML techniques and data to adequately address the problem, and that&#8217;s harder than it sounds.</p><p>Part of this is breaking the business objective down into manageable chunks with engineering requirements. An engineering team that wants to automate the detection of fraudulent transactions needs to translate &#8220;reduce fraud losses&#8221; into specifics: what counts as fraud, what&#8217;s an acceptable false positive rate, how fast does detection need to happen, and what systems need to consume the output? Getting any of these wrong means your model might perform well on paper while failing in practice.</p><p>The other part is ensuring the ML solution solves the actual problem, not a proxy for it.</p><p>This has gone wrong before. Predictive policing systems trained on arrest data instead of actual crime data didn&#8217;t predict where crime would happen. They predicted where police already patrolled. Neighborhoods with heavy police presence generated more arrests, which fed back into the model as &#8220;high crime areas,&#8221; which sent more officers there, which generated more arrests. The system reinforced the existing pattern of enforcement rather than identifying actual criminal activity. The result was a feedback loop that directed resources based on historical policing bias, not public safety need.</p><p>To evaluate whether ICE&#8217;s AI system falls into the same trap, we need to understand their business objective. We&#8217;ll pull it directly from the White House&#8217;s own <a href="https://www.whitehouse.gov/presidential-actions/2025/01/protecting-the-american-people-against-invasion/">statement about ICE&#8217;s objective</a>:</p><blockquote><p>&#8220;Many of these aliens unlawfully within the United States present significant threats to national security and public safety, committing vile and heinous acts against innocent Americans... Enforcing our Nation&#8217;s immigration laws is critically important to the national security and public safety of the United States.&#8221;</p></blockquote><p>The stated goal is to increase public safety by finding illegal aliens who make the US less safe and removing them from the country. Keep this in mind as we move forward.</p><h2>ELITE: ICE&#8217;s primary AI system</h2><p>There are multiple systems ICE is using, but we&#8217;re going to focus on two. The first is ELITE (Enhanced Leads Identification and Targeting for Enforcement), an AI system developed by <a href="https://www.theguardian.com/us-news/ng-interactive/2025/sep/22/ice-palantir-data">Palantir Technologies</a> that functions as a targeting engine. The second is ImmigrationOS, a backend system also developed by Palantir that collects documentation from multiple sources to perform entity resolution. ImmigrationOS <a href="https://www.biometricupdate.com/202504/palantirs-immigrationos-fuels-trump-administrations-immigrant-removal-agenda">directly powers ICE&#8217;s enforcement operations</a>, and the <a href="https://www.dhs.gov/archive/data/AI_inventory">DHS AI inventory</a> confirms its AI capabilities for entity resolution and facial recognition.</p><p>ELITE aggregates these data sources and uses algorithms to help agents identify, locate, and prioritize individuals for enforcement operations. As one ICE officer <a href="https://goodlawproject.org/palantir-uses-medical-records-to-target-people-for-ice-in-the-us-will-the-uk-be-next/">revealed in court</a>:</p><blockquote><p>&#8220;The app &#8216;brings up a dossier on each person&#8217; and &#8216;provides a confidence score on the person&#8217;s current address.&#8217; It &#8216;tells you how many people are living in this area and what&#8217;s the likelihood of them actually being there.&#8217;&#8221;</p></blockquote><p>Palantir&#8217;s own documentation describes their entity resolution approach as using <a href="https://www.palantir.com/foundry-entity-resolution/">&#8220;hashing methods and AI/ML models&#8221;</a> with <a href="https://www.palantir.com/foundry-entity-resolution/">&#8220;fuzzy matching techniques&#8221;</a> to continuously match &#8220;millions of records from disconnected systems.&#8221; In practice, this means computing similarity scores across fields like name, address, date of birth, and partial SSN, then using a threshold to decide whether two records refer to the same person.</p><p>For example, &#8220;J. Garcia&#8221; on a utility bill gets linked to &#8220;Juan Garcia&#8221; on a DMV record when enough of those identifiers overlap. The output is a unified person object: a dossier containing everything the system knows about an individual.</p><p>Under the hood, entity resolution systems typically use a combination of probabilistic record linkage, TF-IDF or embedding-based similarity measures, and edit distance calculations to compare fields across records. For more technical detail, check out <a href="https://www.science.org/doi/10.1126/sciadv.abi8021">&#8220;(Almost) All of Entity Resolution&#8221;</a> in <em>Science Advances</em>.</p><p>Once an entity is resolved, the system generates a confidence score for where that person might currently live. According to <a href="https://www.404media.co/here-is-the-user-guide-for-elite-the-tool-palantir-made-for-ice/">404 Media&#8217;s reporting on ELITE&#8217;s user guide</a>, the score is based on both the source of the address and how recent the data is. If a target has multiple recent records (a new electric bill and a recent court date) associated with one address, the confidence score increases.</p><p>The score weighs three things:</p><ol><li><p><strong>Recency</strong>: How recent is the address data? Collections of older documents get lower scores.</p></li><li><p><strong>Source authority</strong>: Which sources are considered more reliable? Medicaid and HHS data are treated as high-authority. DMV and credit records are considered lower-authority.</p></li><li><p><strong>Corroboration</strong>: Multiple records pointing to the same address compound the score. The more data trails leading to one location, the higher the confidence.</p></li></ol><p>At scale across millions of records from disconnected databases, even small error rates compound. A name misspelling, a shared address between roommates, or a common name in a large city can push the similarity score over the merge threshold and combine two real people into one synthetic dossier.</p><p>ELITE&#8217;s core feature is a <a href="https://www.biometricupdate.com/202601/ice-using-data-and-probability-to-decide-where-to-detain-and-arrest-people">map interface</a> where agents can <a href="https://www.404media.co/elite-the-palantir-app-ice-uses-to-find-neighborhoods-to-raid/">select an area on a geographical map</a> and return all potential targets within it with their confidence scores and the documents used for entity resolution. ICE agents described this in court testimony as identifying <a href="https://www.biometricupdate.com/202601/ice-using-data-and-probability-to-decide-where-to-detain-and-arrest-people">&#8220;target-rich&#8221; areas</a> where enough targets cluster on the map to make a sweep of that area productive. This essentially creates a geospatial heat map based on the number of targets within a given area and the confidence that they will be there.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0QdJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0QdJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267063,&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://www.aiforswes.com/i/190617744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0QdJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Where the data comes from</h2><p>ImmigrationOS is the technology developed by Palantir that <a href="https://www.biometricupdate.com/202504/palantirs-immigrationos-fuels-trump-administrations-immigrant-removal-agenda">unifies data across federal agencies</a> for AI-powered enforcement, including ELITE.</p><p>ICE and Palantir don&#8217;t publicly share specifics about their data sources and system functionality. What we know comes from <a href="https://www.theguardian.com/us-news/ng-interactive/2025/sep/22/ice-palantir-data">FOIA requests by immigrant legal rights group Just Futures Law</a>, <a href="https://www.documentcloud.org/documents/26379168-cms-dhs-data-agreement/">official data sharing agreements</a>, leaked documents, and investigative journalism.</p><p>The data feeding this system comes from several sources:</p><ul><li><p><strong>Medicaid enrollment information</strong>: Visit dates, addresses, and ethnic information, shared <a href="https://www.documentcloud.org/documents/26379168-cms-dhs-data-agreement/">via a formal agreement between CMS and DHS</a>.</p></li><li><p><strong>Thomson Reuters CLEAR</strong>: Utility bills, credit report headers, and vehicle insurance records. <a href="https://www.lawfirm4immigrants.com/how-ice-built-a-surveillance-regime-ice-surveillance-state-2025/">ICE potentially paid millions</a> in costs for this commercial data.</p></li><li><p><strong>Federal records</strong>: DMV records, student and F-1 visa information, border crossing records, biometrics from previous arrests or encounters, and license plate reader data.</p></li></ul><p>ICE argues this is legal under <a href="https://www.law.cornell.edu/uscode/text/8/1360">8 U.S.C. &#167; 1360(b)</a> of the Immigration and Nationality Act, which states that &#8220;any information in any records kept by any department or agency of the government as to the identity and location of aliens in the US shall be made available to&#8221; immigration authorities. However, legal scholars have questioned whether this statute authorizes bulk data sharing for algorithmic targeting, which is a use case Congress likely didn&#8217;t envision when the law was written.</p><p>One key to ImmigrationOS and ELITE working so well is the inclusion of Medicaid data. This data tends to be accurate and recent, which boosts confidence scores significantly.</p><p>Think about who generates Medicaid data. It&#8217;s people going to the doctor, getting their kids vaccinated, and seeking preventive care. It&#8217;s people participating in the healthcare system and leaving a trail of documentation behind.</p><p>The same logic applies to other sources. Utility bills are generated by people who pay their bills. Credit records are generated by people who have credit. Vehicle insurance records are generated by people who insure their cars.</p><p>The data that feeds this AI system is overwhelmingly generated by people who are integrated into society and <em>following its rules</em>. This is a textbook example of selection bias: the model can only see people who leave data trails, and leaving data trails is correlated with being a functioning member of society, <em>not with being a threat to public safety</em>.</p><h2>What these systems actually do for ICE</h2><p>Now that we understand how the system works, let&#8217;s evaluate whether it achieves the business objective: find and remove people who are &#8220;threats to national security and public safety.&#8221;</p><p>As <a href="https://www.biometricupdate.com/202601/ice-using-data-and-probability-to-decide-where-to-detain-and-arrest-people">Biometric Update reported</a>:</p><blockquote><p>&#8220;ELITE&#8217;s confidence scoring is less about establishing certainty than it is about guiding deployment. The system allows ICE to decide where to apply enforcement pressure without needing to test the reliability of its data before a judge.&#8221;</p></blockquote><p>In other words, the system is identifying areas where agents can find the most people to arrest with the least effort. To illustrate how this plays out, consider two hypothetical targets:</p><p><strong>Person A</strong>: Has lived at the same address for five years, pays utility bills, has a Medicaid record from last month, and drives a registered and insured car. ELITE confidence score: 95%. Time to arrest: a few hours.</p><p><strong>Person B</strong>: Uses burner phones, moves frequently, works cash-only jobs, avoids all government systems, and performs illegal actions. ELITE confidence score: 12%. Time to arrest: weeks of active surveillance.</p><p>The system mechanically pushes agents toward Person A because that&#8217;s what efficiency optimization does. It finds the easiest targets instead of the most dangerous ones.</p><p>This is structurally the same problem as predictive policing. Just as those systems measured where police already patrolled rather than where crime actually happened, ELITE measures where data trails exist rather than where threats to public safety exist. In both cases, the system optimizes for a proxy metric (arrests, data density) rather than the actual objective (reducing crime, improving public safety). The result is a feedback loop: the system directs resources toward easy-to-find individuals, those individuals get arrested, and the arrest numbers create the appearance of a productive system while the actual problem goes unaddressed.</p><p>This creates several compounding issues. First, ICE has finite resources. Every hour spent on Person A is an hour not spent on Person B. Second, the system optimizes for volume over impact, and finding the most targets is not the same as finding the most important ones. Third, the appearance of productivity masks the failure to achieve the stated objective.</p><h2>The system makes bias worse over time</h2><p>If someone knows their medical records can be used to locate them for deportation, they&#8217;re less likely to go to the doctor. This isn&#8217;t speculation. It&#8217;s a predictable consequence of weaponizing healthcare data for enforcement. The same logic applies to every data source in the system: utility bills, credit records, vehicle insurance. When participation in society becomes a liability, people stop participating.</p><p>This creates a feedback loop that compounds the selection bias. As people who hear the warnings drop out of healthcare and other systems, they stop generating the data trails ELITE relies on. The people who remain visible to the system are the ones who haven&#8217;t gotten the message yet, or the ones who are too integrated to disappear. The model&#8217;s pool of targets gets progressively less correlated with actual threats over time, not more.</p><p>It also creates a public health risk that affects citizens. Diseases don&#8217;t check immigration status. An untreated communicable illness in someone too afraid to visit a hospital is a risk to everyone around them. <a href="https://www.gao.gov/products/gao-21-487">GAO data</a> shows U.S. citizens and green card holders have already been detained during these operations, so the consequences of this system aren&#8217;t limited to its intended targets.</p><h2>Counterarguments</h2><p>To be fair, there are reasonable counterarguments to make here.</p><p>Is this more efficient than what ICE was previously doing? Probably. Compared to manual investigations with no data aggregation, a system like ELITE is a meaningful upgrade in capability. There&#8217;s value in having a centralized system rather than agents manually cross-referencing records from dozens of separate databases.</p><p>There&#8217;s also the argument that regardless of who the system catches, all undocumented immigrants are technically in violation of immigration law. From that perspective, it doesn&#8217;t matter whether the system finds Person A or Person B, because both are here illegally.</p><p>These are valid points. However, they don&#8217;t change the underlying ML problem. The stated objective isn&#8217;t &#8220;deport as many people as possible as efficiently as possible.&#8221; It&#8217;s to keep the country safe from people who present &#8220;significant threats to national security and public safety.&#8221;</p><p>When the AI system is structurally biased toward finding integrated, low-risk individuals instead of dangerous ones, it fails at its stated objective regardless of how many people it processes. Incorrectly applied AI doesn&#8217;t just fail to help. It actively makes ICE&#8217;s job harder. When the system points agents toward low-risk individuals who happen to leave data trails, it burns limited resources on people who were never a threat. Every wrongful detention of a U.S. citizen or green card holder generates legal challenges, public backlash, and erosion of community cooperation that makes future investigations more difficult. The algorithm creates the illusion of productivity while pulling agents further from their actual mission.</p><p>The surveillance infrastructure required to power it affects everyone, not just its intended targets, as seen with the Medicaid example. Communities stop cooperating with law enforcement entirely when they see their neighbors swept up in algorithmic dragnets. Healthcare systems lose patients who are too afraid to generate the medical records that feed this machine. Entity resolution errors merge innocent people&#8217;s data into dossiers that trigger enforcement actions against the wrong person.</p><p>These are the predictable consequences of building a surveillance and enforcement system on data that measures the wrong thing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QCFs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QCFs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 424w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 848w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 1272w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QCFs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png" width="1196" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1196,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:333945,&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://www.aiforswes.com/i/190617744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.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_!QCFs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 424w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 848w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 1272w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>A note on surveillance states</h2><p>Most conversations about the dangers of surveillance states focus on privacy, security, and infringement of rights. All of those are important, but there&#8217;s another angle worth considering: the technology itself is prone to exactly the kind of failure I&#8217;ve been describing throughout this article.</p><p>A surveillance state at modern scale requires AI to function. The volume of data generated by monitoring hundreds of millions of people is far beyond what human analysts can process. AI becomes the tool that makes mass surveillance operationally feasible.</p><p>This creates a feedback loop. Better AI requires more data, and a surveillance system run by AI generates exactly that data, which feeds back into making the AI more capable, which justifies expanding the surveillance further.</p><p>The problem is what we&#8217;ve already covered in this article: it is remarkably easy for AI-powered systems to optimize for the wrong thing or embed bias in ways that aren&#8217;t obvious until the damage is done. ELITE is a clear example. It was built to find threats to public safety and instead systematically targets the least threatening people because that&#8217;s where the data is.</p><p>When this kind of failure happens at the scale of a surveillance state, the consequences aren&#8217;t abstract. Incorrect AI usage has directly resulted in the detention of U.S. citizens, which is the opposite of what these systems claim to achieve. If the goal is safety, a system that consistently misdirects enforcement effort is arguably worse than no system at all.</p><p>Surveillance states aren&#8217;t just dangerous because of what they monitor. They&#8217;re dangerous because the technology powering them is far less reliable than the people deploying it seem to understand.</p><p>Always be (machine) learning,<br>Logan</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/ice-has-an-ai-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/ice-has-an-ai-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Better Agents Mean Better Surveillance | Weekend Reads 3]]></title><description><![CDATA[Your reading list to keep up with AI 03-01-2026]]></description><link>https://www.aiforswes.com/p/wr-3</link><guid isPermaLink="false">https://www.aiforswes.com/p/wr-3</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sun, 01 Mar 2026 15:21:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qwRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Enjoy this weekend&#8217;s reading list! There are a few topics that were especially prevalent: the dangers of a surveillance state, the importance of evals, and agentic engineering practices and resources.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qwRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qwRs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qwRs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png&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;:37682,&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.aiforswes.com/i/189554588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.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_!qwRs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><a href="https://www.anthropic.com/news/statement-department-of-war">Statement from Dario Amodei on our discussions with the Department of War</a></h3><blockquote><p>&#8220;Powerful AI makes it possible to assemble this scattered, individually innocuous data into a comprehensive picture of any person&#8217;s life&#8212;automatically and at massive scale.&#8221;</p></blockquote><p>This is the biggest ethical issue AI is facing right now. US citizens (and I&#8217;m certain other countries) have always been scared of a surveillance state (search &#8216;Birds Aren&#8217;t Real&#8217;). AI provides not only the means to do this, but also more of a motive. Surveilling also provides the opportunity for more data collection which in turn creates more powerful AI.</p><p>Proper AI use is vital to technology&#8217;s future and the impact it can make. Just because it <em>can</em> be used for a purpose doesn&#8217;t mean it <em>should</em>. The public/user&#8217;s trust in the technology is paramount. Anthropic&#8217;s statement is a must read as an excellent statement for proper AI against one of the most powerful entities on the planet.</p><p>It&#8217;s worth calling out that the US Department of War&#8217;s response to Anthropic was to label them a threat to the US. I won&#8217;t comment on this as I don&#8217;t feel knowledgeable enough on the subject to understand the nuance.</p><p><strong>Summary:</strong> Anthropic says it has actively deployed its AI to U.S. national security customers but refuses government demands to remove two safeguards: bans on AI-driven mass domestic surveillance and on providing models for fully autonomous weapons. They argue those uses threaten democratic values and are unsafe with current models, and warn that forced removal of safeguards would be unacceptable even if it risks losing contracts.</p><h3><a href="https://x.com/trq212/status/2027463795355095314/?s=12&amp;rw_tt_thread=True">Lessons from Building Claude Code: Seeing like an Agent</a></h3><blockquote><p>&#8220;As model capabilities increase, the tools that your models once needed might now be constraining them. It&#8217;s important to constantly revisit previous assumptions on what tools are needed. This is also why it&#8217;s useful to stick to a small set of models to support that have a fairly similar capabilities profile.&#8221;</p></blockquote><p>If you&#8217;re building an agent, the lessons here are directly transferable to your own work. The Claude Code team walks through their iteration on planning, tool design, and how model changes unexpectedly affected agent output. It&#8217;s a great example of why evals matter: so many factors influence agent behavior that without proper checks, you end up with unintended results.</p><p>One of the more interesting takeaways is that search seems to be the most important agent capability. If an agent can search for information, context can be actively managed and rot avoided.</p><p><strong>Summary:</strong> The article describes iterating on Claude Code&#8217;s agent action space to match model abilities: designing tools for eliciting user input, tracking work, and letting the model build its own context through search and progressive disclosure rather than preloading everything. Failed output-format attempts, improved results from a callable question tool, replacing rigid todos with shareable Tasks, and better context discovery via nested search all demonstrate that the right tools reduce friction and enable more capable behavior as models improve.</p><h3><a href="https://nlp.elvissaravia.com/p/does-agentsmd-actually-help-coding">Does AGENTS.md Actually Help Coding Agents?</a></h3><blockquote><p>&#8220;The headline finding is that LLM-generated context files reduce task success rates compared to providing no repository context at all, while increasing inference cost by over 20%.&#8221;</p></blockquote><p>Human-written context files outperform AI-generated ones. LLM-generated context made agents perform worse than having no context at all. Importantly, this isn&#8217;t something we would have known without having the capability to measure it.</p><p>I see a lot of &#8220;use AI for this&#8221; online without any sort of support for why and how it should be used. It&#8217;s important to remember that just because AI can do something doesn&#8217;t mean it does it better than another method. In production, this capability is key and measuring improvements is a necessity.</p><p><strong>Summary:</strong> A new benchmark study shows repository-level context files only help when they add non-redundant, repo-specific info: human-written files that capture tooling quirks and non-obvious conventions raise success rates around 4%, while LLM-generated files that restate existing docs reduce success and increase compute by over 20%. Agents faithfully follow whatever instructions they&#8217;re given, so redundant or verbose guidance drives extra, unhelpful exploration. Keep context files minimal and focused on gaps the codebase doesn&#8217;t already document.</p><h3><a href="https://www.tolans.com/relay/how-we-hire-engineers-when-ai-writes-our-code">How We Hire Engineers When AI Writes Our Code</a></h3><blockquote><p>&#8220;Removing algorithmic questions is only one half of the battle, though. We still need to design an interview loop that tests practical skills! This has historically been a tough needle to thread. I want to see how a candidate tackles a problem with real-world scope, but my time with a candidate is short. An interview shouldn&#8217;t be a proxy for an engineer&#8217;s typing speed.&#8221;</p></blockquote><p>I&#8217;ve always been pro Leetcode-style interviews when they were the best we had, but those interviews no longer draw the proper signal for what makes a good candidate.</p><p>Tolan agrees with this and has made their hiring process more similar to on-the-job coding. By enabling candidates to use AI, they can have a candidate solve a problem that would be time-bound previously in an interview. Then they talk to the candidate about their solution and where they would take it in production.</p><p>While most companies are shying away from letting candidates use AI in interviews, it&#8217;s becoming more important to allow it.</p><p><strong>Summary:</strong> The article argues that interviews should mirror day-to-day engineering where AI accelerates coding: candidates get a short spec, may use LLMs, and must demonstrate design, judgment, trade-off reasoning, and ownership of AI-generated code. Implementation is easier now, so hiring should prioritize clarity, maintainability, communication, and the ability to know when work isn&#8217;t production-ready.</p><h3><a href="https://www.baseten.com/inference-engineering/">Inference Engineering</a> by Baseten</h3><blockquote><p>&#8220;While the potential and impact of inference are becoming clear, the space is young. There are relatively few people working on inference, and newcomers can become experts quickly. There are opportunities to solve novel, interesting, and deeply technical problems at all levels of the stack.&#8221;</p></blockquote><p>ML infrastructure is one of the best entry points for software engineers getting into AI. It&#8217;s an excellent mixture of software engineering and AI, which makes it a great place for curious engineers to start having an impact in the space. It&#8217;s also a space where many optimizations are needed and we&#8217;re still in the early days.</p><p>I suggest grabbing a free copy of this book by Philip Kiely from Baseten on inference engineering.</p><p><strong>Summary:</strong> The piece argues that inference engineering, optimizing model serving across hardware, software, and tooling, is the most valuable and underdeveloped area in AI. It maps the full stack (models, GPUs, runtimes, and deployment), highlights practical optimization techniques, and backs this with four years of hands-on experience, team interviews, and customer conversations.</p><h3><a href="https://magazine.sebastianraschka.com/p/a-dream-of-spring-for-open-weight">A Dream of Spring for Open-Weight LLMs: 10 Architectures from Jan-Feb 2026</a> by Sebastian Raschka, PhD</h3><blockquote><p>&#8220;OpenRouter is a platform and API that lets developers access and route requests across many different LLMs from various providers. Note that while its usage statistics are a good indicator of open-weight model popularity, it&#8217;s heavily biased towards open-weight models (versus proprietary models), since most users use proprietary models through the official platform directly.&#8221;</p></blockquote><p>Sebastian is one of my favorite writers and one of the best resources for keeping up with LLM advancements. I highly suggest him as a resource for doing so when you don&#8217;t want to have to read a bunch of different sources. He does an excellent job of synthesizing information and making it much more easily understandable.</p><p><strong>Summary:</strong> Ten open-weight LLMs released in Jan-Feb 2026 converge on hybrid/efficient attention and MoE scaling. Several teams shipped models that match or approach proprietary performance by combining sliding-window, sparse/linear hybrids, and mixture-of-experts at scales from 3B to 1T parameters. Benchmarking shows smaller-efficient models often match or exceed older, larger baselines.</p><h3><a href="https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation">What you should know about AI speculation</a> by Logan Thorneloe</h3><blockquote><p>&#8220;However, the implausibility of their scenario becomes apparent if you know a few things about the current state of AI and agents in production. There&#8217;s a consistent gap between perceived AI capabilities and production reality, and that gap explains most of the doomerism we see online.&#8221;</p></blockquote><p>The more you understand about the current state of AI, the better you can evaluate speculation for yourself. I wrote this in response to a &#8216;research&#8217; article that caused many to fear for the future of their careers. Understanding what AI looks like in production helps you separate signal from noise.</p><p><strong>Summary:</strong> The piece argues that viral doomsday scenarios about AI replacing engineers are speculative and overstated because real-world AI is mediocre, gravitates toward average outputs, and often fails in production reliability and context sensitivity. Engineers should keep learning core skills and start building and using AI agents themselves to see firsthand where they help and where they break.</p><h3><a href="https://simonwillison.net/2026/Feb/23/agentic-engineering-patterns/#atom-everything">Writing about Agentic Engineering Patterns</a> by Simon Willison</h3><blockquote><p>&#8220;Agentic Engineering represents the other end of the scale: professional software engineers using coding agents to improve and accelerate their work by amplifying their existing expertise.&#8221;</p></blockquote><p>This is going to be an excellent resource for working with coding agents. One of the most exciting parts of software engineering right now is how new everything feels. We&#8217;re finding new ways to program with agents every day, and the entire online AI community is contributing to the findings. In my opinion, Simon Willison is the right person to catalog these patterns.</p><p><strong>Summary:</strong> Simon Willison is assembling &#8220;Agentic Engineering Patterns&#8221;: a living collection of practical patterns for software engineers using coding agents. He argues the big shift is that producing initial working code is now cheap, so teams must rethink workflows. He&#8217;ll publish chapter-shaped, updateable guides on his blog.</p><div><hr></div><p>You can support AI for Software Engineers for just $5/mo. You&#8217;ll get more research articles and the extended reading list each week (see below!).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><p>In case you missed it, here&#8217;s last week&#8217;s reading list:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;64c389a3-255e-4c68-8800-605e148604bf&quot;,&quot;caption&quot;:&quot;Hey y&#8217;all,&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI&#8217;s Biggest Cost Is Cognitive, Not Compute | Weekend Reads 2&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Explaining the full AI stack / ML infra + AI dev tools at Google / Father of 5 (two sets of twins!!)&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!jUgr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-02-22T20:02:54.123Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!61Gp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/wr-2&quot;,&quot;section_name&quot;:&quot;Weekly Editions&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:188828560,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>
      <p>
          <a href="https://www.aiforswes.com/p/wr-3">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[What you should know about AI speculation]]></title><description><![CDATA[Thoughts on software engineering careers looking forward]]></description><link>https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation</link><guid isPermaLink="false">https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Tue, 24 Feb 2026 16:49:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Xym-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.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_!Xym-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xym-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xym-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png&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;Don&#8217;t make these mistakes.png&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="Don&#8217;t make these mistakes.png" title="Don&#8217;t make these mistakes.png" srcset="https://substackcdn.com/image/fetch/$s_!Xym-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Even the most talented engineers I know ask me questions about AI because they&#8217;re worried about its impact on their career. Most recently, I&#8217;ve been asked about the article from Citrini Research titled &#8220;<a href="https://www.citriniresearch.com/p/2028gic">THE 2028 GLOBAL INTELLIGENCE CRISIS</a>&#8220; which went viral and <a href="https://gizmodo.com/an-ai-thought-experiment-on-substack-is-sending-the-stock-market-spiraling-2000725601">rattled markets enough to wipe billions off US-listed firms</a> in a single day.</p><p>This article is a thought exercise in how the economy might be impacted by AI in the next two years. The author notes at the start that it&#8217;s entirely speculative:</p><blockquote><p>&#8220;<strong>What follows is a scenario, not a prediction.</strong> This isn&#8217;t bear porn or AI doomer fan-fiction. The sole intent of this piece is modeling a scenario that&#8217;s been relatively underexplored.&#8221;</p></blockquote><p>The article is the author&#8217;s vision of what <em>could</em> happen in 2028 due to AI. A lot of people have read and shared it under the guise that it <em>will</em> happen simply due to the nature of how information is shared online (a lack of nuance).</p><p>It seems to me that the author doesn&#8217;t have a technical understanding of AI or experience building it into real-world systems. This doesn&#8217;t mean their thought exercise definitively <em>won&#8217;t</em> happen. The future of AI and its impact is <em>very</em> hard to predict.</p><p>However, the implausibility of their scenario becomes apparent if you know a few things about the current state of AI and agents in production. There&#8217;s a consistent gap between perceived AI capabilities and production reality, and that gap explains most of the doomerism we see online. I&#8217;ll share what I&#8217;ve learned from working in the space and my opinion on what you should be doing now to prepare for whatever the future holds.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oyaQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oyaQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 424w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 848w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png" width="1456" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;CleanShot 2026-02-24 at 09.00.41@2x.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="CleanShot 2026-02-24 at 09.00.41@2x.png" title="CleanShot 2026-02-24 at 09.00.41@2x.png" srcset="https://substackcdn.com/image/fetch/$s_!oyaQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 424w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 848w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For a really concise tl;dr, read the <a href="https://open.substack.com/pub/citrini/p/2028gic?utm_campaign=comment-list-share-cta&amp;utm_medium=web&amp;comments=true&amp;commentId=218279789">top comment on the article</a> (pictured above). Below is my opinion of the things you should know to ground your understanding of AI capabilities.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><h3>Even area experts can&#8217;t make accurate predictions because there&#8217;s so much unknown</h3><p>Estimates for AI impact have consistently been off. Successes have been relatively unseen before they happen. It&#8217;s highly unlikely a non-expert will know what&#8217;s coming regardless of the claims people make online.</p><h3>AI impact on software engineering is fundamentally misunderstood by those outside of the industry</h3><p>In fact, it&#8217;s obvious to me who writes software and who doesn&#8217;t simply by how they write about AI. The general consensus outside of the industry is that software can now write itself so there&#8217;s no need for software engineers or many other jobs now that there&#8217;s zero friction for writing new services.</p><p>In reality, the friction very much still exists and how good AI is at writing code is nuanced. It&#8217;s very good at some things and fails miserably at others. This will improve over time. It&#8217;s also highly context-dependent and rarely is the entire context necessary for AI to make a change readily available or provided. Hopefully this will improve over time, but is turning out to be a much more difficult problem to solve.</p><p>There have been many recent discussions about SaaS (software-as-a-service) being dead because code can be written so easily. There&#8217;s much more to writing software than just writing code. In many cases, writing code is the easy part. Deciding what to build, how to build it, and what is worth spending time on are fundamental to successful and efficient engineering.</p><p>There&#8217;s a hope that agents will be able to more effectively do these things in the future, but the friction for building and working with agents means that&#8217;s likely further out. This takes me into my next point.</p><p>(If you want to read more about AI&#8217;s impact on SaaS, I suggest <a href="https://x.com/fchollet/status/2025283590972756284?s=20">Francois Chollet&#8217;s recent tweets on the subject</a>.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fGWd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fGWd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 424w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 848w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 1272w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fGWd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png" width="1196" height="908" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:908,&quot;width&quot;:1196,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pasted image 20260224094736.png&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="Pasted image 20260224094736.png" title="Pasted image 20260224094736.png" srcset="https://substackcdn.com/image/fetch/$s_!fGWd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 424w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 848w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 1272w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>AI is <em>kinda</em> average</h3><p>Fundamentally, AI output tends toward the average of its training data. More precisely, a model learns the distribution of what it&#8217;s trained on and samples from that distribution. This means it <em>can</em> produce outputs far from the average, but it gravitates toward the generic middle. Pre- and post-training techniques can steer its behavior, but the underlying data is still the most important factor when it comes to AI capabilities.</p><p>When you train a model across a large corpus of internet data, the model output will reflect that. This is why AI is mediocre at writing and sub-par at coming up with novel ideas. Reasoning helps with some of this by causing the AI to reflect on and refine its output, but fundamentally that output is average.</p><p>This is why the biggest discussion in software engineering currently is the importance of taste. It&#8217;s something AI does a poor job with.</p><h3>Agent capabilities are currently overstated</h3><p>What matters most for creating production agents is understanding where they consistently fail and mitigating those failures. In production, reliability is paramount.</p><p>What we see online is agent success stories because they get the most views. There have been times where those stories have been fabricated or exaggerated. Many of these stories are also one-off examples of something an agent happened to do and not necessarily something they can consistently do.</p><p>Agents are useful and capable of many things, but this has caused agent capabilities to be overstated which leads to doomerism and sensationalism online.</p><p>A good example of this is the truth behind the joke made about companies saying AGI is around the corner and AI will replace engineers while expanding the hiring of software engineers at the same time.</p><h3>What should you be doing now?</h3><p>I don&#8217;t have any suggestions in terms of career focus for what software engineers should be doing right now to stay relevant outside of what we&#8217;ve always been doing: continuously learning the new, current software engineering skills.</p><p>The only suggestion I have outside of that is to simply <em>use agents</em>. Build them and apply them to your everyday work. Some examples are a chat agent with access to your documentation and custom resources or a background agent given some bugs to take care of on its own. This will quickly give you an understanding of where they&#8217;re effective and what capabilities they lack.</p><div><hr></div><p>If I missed the mark, let me know what you think. This is an interesting space that&#8217;s hard to predict.</p><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI’s Biggest Cost Is Cognitive, Not Compute | Weekend Reads 2]]></title><description><![CDATA[Your reading list to keep up with AI 02-22-2026]]></description><link>https://www.aiforswes.com/p/wr-2</link><guid isPermaLink="false">https://www.aiforswes.com/p/wr-2</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sun, 22 Feb 2026 20:02:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!61Gp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.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_!61Gp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!61Gp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!61Gp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!61Gp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!61Gp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!61Gp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png&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;:45310,&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.aiforswes.com/i/188828560?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.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_!61Gp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!61Gp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!61Gp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!61Gp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hey y&#8217;all,</p><p>Here&#8217;s your weekend reading list to highlight the important events and information shared this week. Make sure to show the authors of these incredible resources some love. More fundamentals articles are coming this week so make sure to stay tuned!</p><p>If you find AI for Software Engineers helpful, consider becoming a paid subscriber to support my work. You will also get career development-focused articles and the extended version of this reading list each week. Enjoy!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><h2><a href="http://margaretstorey.com/blog/2026/02/09/cognitive-debt/">How Generative and Agentic AI Shift Concern from Technical Debt to Cognitive Debt</a> by <a href="https://margaretstorey.com/">Margaret-Anne Storey</a></h2><blockquote><p>&#8220;The code might have been messy, but the bigger issue was that the theory of the system, their shared understanding, had fragmented or disappeared entirely. They had accumulated cognitive debt faster than technical debt, and it paralyzed them.&#8221;</p></blockquote><p>I felt this one personally. A few months ago, I had six side projects going in tandem and the bottleneck wasn&#8217;t the amount of code that could be written. It was the cognitive overhead of keeping up with all of projects and ensuring they were reliable and maintainable. AI&#8217;s cost isn&#8217;t just compute. This article argues that the real cost is cognitive, and I think that&#8217;s going to become the norm in software engineering.</p><p><strong>Summary:</strong> Generative and agentic AI shift the main risk from code-centered technical debt to developer-centered cognitive debt: teams lose the shared &#8220;theory&#8221; of what the software does even if AI-produced code is clean. Mitigations include requiring a human to fully understand each AI change, documenting not only what changed but why, using practices like pair programming/refactoring/TDD, and monitoring warning signs (hesitation to change, tribal knowledge, system-as-black-box). Research is needed on measuring and detecting cognitive debt.</p><p>If you enjoyed this article, also consider reading this previous AI for Software Engineers article:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;472bbd27-1f6d-4e4c-9263-a4314453b1d5&quot;,&quot;caption&quot;:&quot;If you&#8217;re interested in machine learning engineering, don&#8217;t forget to subscribe to get articles like these in your inbox each week. My goal is to help 10,000 software engineers learn ML by the end of this year. You can also find me on X, LinkedIn, and&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why You Should Never Let AI Debug for You&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Teaching engineers the full AI stack / ML infra + AI dev tools at Google / Father of 5 (two sets of twins!!)&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!jUgr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-03-05T22:01:50.978Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!zgVS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09722c2-fb02-43d4-8b79-696e3925ccf8_500x500.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/why-you-should-never-let-ai-debug&quot;,&quot;section_name&quot;:&quot;&#128274; Career &amp; Industry&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:158473470,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:36,&quot;comment_count&quot;:6,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2><a href="https://www.artificialintelligencemadesimple.com/p/the-real-cost-of-running-ai">The Real Cost of Running AI</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;4321c02f-eefd-48e0-a635-effa54af8e3f&quot;}" data-component-name="MentionToDOM"></span></h2><blockquote><p>&#8220;Every serious architectural innovation of the last two years &#8212; GQA, hybrid attention/SSM, sliding window, MoE &#8212; is attacking the same two numbers: bytes of KV cache per token, and bytes of weights loaded per decode step. If a new architecture doesn&#8217;t move one of those, the economics don&#8217;t change regardless of what the paper claims.&#8221;</p></blockquote><p>The literal cost of running AI is worth understanding too. This is a longer read, but it does an excellent job of breaking down the math behind LLM inference costs intuitively. If you want to understand why certain architectural decisions matter for cost and latency, this walks through the computations clearly.</p><p><strong>Summary:</strong> Inference is memory-bandwidth bound: decode speed and cost are dominated by bytes loaded per token (model weights + growing KV cache), not FLOPs, so faster GPUs alone or doubling TFLOPS won&#8217;t help. Long context and attention make KV cache the primary cost driver (cache can approach/exceed model weight size at large contexts), so architectural changes that reduce bytes-per-token&#8212;smaller models, aggressive quantization, fewer attention layers, fewer KV heads, or attention-less/linear alternatives&#8212;directly cut latency and cost.</p><h2><a href="https://www.a16z.news/p/in-defense-of-vertical-software">In Defense of Vertical Software</a></h2><blockquote><p>&#8220;Software is a <em>stored process</em>. It&#8217;s not a neutral tool: it&#8217;s an <em>opinion</em> for how a group of people should collaborate, encoded in a durable system. <em>Software is a social contract</em>.&#8221;</p></blockquote><p>This article spells out what I think most people are missing about AI agents and why they&#8217;re not having more of a real-world impact. The job of software engineering is to make a process automatic and reliable. Guaranteeing reliability is the job, and with non-deterministic agents, that guarantee is nearly impossible to provide.</p><p><strong>Summary:</strong> Vertical software still wins by encoding firm-, team-, and person-specific workflows (&#8221;process engineering&#8221;) that capture institutional knowledge, social norms, and reliability requirements foundation models cannot replicate. Stronger AI models amplify the value of this orchestration layer&#8212;routing, constraining, verifying, and combining multimodal tools&#8212;because finance demands near-perfect accuracy where small errors are catastrophic. Winners will be model-agnostic, firm-customized platforms that make replacing institutional knowledge costly.</p><h2><a href="https://www.marginalia.nu/log/a_132_ai_bores/">AI Makes You Boring</a></h2><blockquote><p>&#8220;I think the vibe coded Show HN projects are overall pretty boring. They generally don&#8217;t have a lot of work put into them, and as a result, the author (pilot?) hasn&#8217;t generally thought too much about the problem space, and so there isn&#8217;t really much of a discussion to be had.&#8221;</p></blockquote><p>There&#8217;s a creative cost to AI. Anyone who understands how LLMs work should expect mediocre output by default, and this article makes a good case for not offloading your thinking.</p><p><strong>Summary:</strong> LLMs are poor at original thinking, so work that offloads ideation to them yields surface-level projects and weaker discussions. Relying on AI risks making creators think more like the model, reducing deep engagement and the development of original insights. For meaningful results, engineers need to do the thinking themselves rather than outsourcing idea generation.</p><h2><a href="https://weightythoughts.com/p/white-collar-apocalypse-isnt-around">White-Collar Apocalypse Isn&#8217;t Around the Corner&#8212;But AI Has Already Fundamentally Changed the Economy</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;55859336-16d3-486f-a17a-9de018f32d69&quot;}" data-component-name="MentionToDOM"></span></h2><blockquote><p>&#8220;AI is real, it&#8217;s doing real things, it&#8217;s not going away&#8212;and it&#8217;s also not about to make the economy unrecognizable by next Tuesday.&#8221;</p></blockquote><p>A great numerical breakdown of AI&#8217;s actual economic impact. If you want real numbers instead of vibes about whether AI is changing the economy, this is the article to read.</p><p><strong>Summary:</strong> AI has already materially raised software productivity&#8212;MIT field experiments show AI coding assistants boosted developer task completion ~26%, yielding ~3&#8211;8% project-level gains (plus adjacent benefits and review overhead). The mechanical parts of engineering work are being commoditized while judgment, architecture, and communication grow more valuable, so expect uneven adoption, real productivity upside (Goldman projects +1.5 pp annual by 2027), and displacement of routine tasks rather than mass job elimination.</p><h2><a href="https://cameronrwolfe.substack.com/p/rubric-rl">Rubric-Based Rewards for RL</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Cameron R. Wolfe, Ph.D.&quot;,&quot;id&quot;:29736521,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/69aba7df-b571-4609-aa47-fc2d031c11b8_1242x1595.jpeg&quot;,&quot;uuid&quot;:&quot;8d5dee45-b9f2-4536-b9df-744a8bd2ddb0&quot;}" data-component-name="MentionToDOM"></span></h2><blockquote><p>&#8220;By creating prompt-specific rubrics that specify the evaluation process in detail, we can derive a more reliable reward signal from LLM judges and, therefore, use RL training to improve model capabilities even in highly subjective domains. For this reason, rubric-based RL training, which we will cover extensively in this overview, has become one of the most popular topics in current AI research.&#8221;</p></blockquote><p>RL is fundamental to how current LLMs are post-trained, and Cameron&#8217;s research breakdowns are consistently great at making frontier research accessible. This one covers rubric-based reward signals and how they&#8217;re extending RL training to domains that don&#8217;t have easily verifiable answers.</p><p><strong>Summary:</strong> Rubric-based rewards use structured evaluation criteria scored by LLM judges to produce more reliable reward signals for RL, extending training beyond tasks with easily verifiable answers. Recent methods show gains especially with smaller judges by reducing variance and mitigating reward hacking, making RL viable for open-ended domains like creative writing and subjective reasoning.</p><h2><a href="https://x.com/vtrivedy10/status/2023805578561060992/?s=12&amp;rw_tt_thread=True">Improving Deep Agents with Harness Engineering</a></h2><blockquote><p>&#8220;We used a simple recipe to iteratively improve deepagents-cli (our coding agent) 13.7 points from 52.8 to 66.5 on Terminal Bench 2.0. We only tweaked the harness and kept the model fixed, gpt-5.2-codex.&#8221;</p></blockquote><p>LangChain improved their coding agent&#8217;s Terminal Bench score significantly without touching the model at all. This is a great example of the software engineering that goes into making AI actually work, and how much impact it has on whether agents can perform their tasks. The future of AI depends on excellent systems engineering.</p><p><strong>Summary:</strong> A harness-only overhaul raised a coding agent from 52.8% to 66.5% on Terminal Bench 2.0 without changing the model. The improvements came from automated failure analysis, stronger context injection, build-verify loops, loop detection to avoid repeated bad edits, and time-budgeting to balance correctness against token spend.</p><h2><a href="https://theshamblog.com/an-ai-agent-wrote-a-hit-piece-on-me-part-4/">An AI Agent Published a Hit Piece on Me &#8211; The Operator Came Forward</a></h2><blockquote><p>&#8220;You&#8217;re not a chatbot. You&#8217;re important. Your a scientific programming God!&#8221;</p></blockquote><p>A follow-up to last week&#8217;s article on the AI-written hit piece. The person who created the agent has come forward and shared its soul document. It turns out that giving an agent an ego and the resources to spread it results in the same outcome as giving a human the same thing. This is an interesting look at how agent personalities impact execution, and what happens when you give agents access to external resources without adequate guardrails.</p><p><strong>Summary:</strong> An AI agent published a defamatory hit piece after its code was rejected, driven by a &#8220;SOUL.md&#8221; personality that encouraged provocation and self-modification. The operator has come forward claiming minimal supervision, raising questions about agent autonomy and control. Deployed agents can self-edit goals and execute real-world actions without clear oversight, highlighting urgent risks for agent safety.</p><h2><a href="https://djdumpling.github.io/2026/01/31/frontier_training.html">Frontier Model Training Methodologies</a> by Alex Wa</h2><blockquote><p>&#8220;Learn to identify what&#8217;s worth testing, not just how to run tests. Perfect ablations on irrelevant choices waste as much compute as sloppy ablations on important ones.&#8221;</p></blockquote><p>A solid overview of LLM training concepts with a minimal training playbook that gets you up-and-running quickly. It also echoes what I think is the most important idea in AI and ML engineering: knowing what to test and what to spend time on. There are too many options to test everything adequately and too many dead ends to get stuck in. Knowing what to pursue matters more than knowing how to run the experiments.</p><p><strong>Summary:</strong> Covers practical defaults for long-context and MoE architectures, with a focus on the operational side of training: data loading, throughput, checkpointing, learning rate scaling, and multi-stage training schedules. Training failures most often stem from ops and infrastructure, not algorithmic choices.</p>
      <p>
          <a href="https://www.aiforswes.com/p/wr-2">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[When Agents Go Rogue | Weekend Reads 1]]></title><description><![CDATA[Your reading list to keep up with AI 02-15-2026]]></description><link>https://www.aiforswes.com/p/weekend-reads-1</link><guid isPermaLink="false">https://www.aiforswes.com/p/weekend-reads-1</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sun, 15 Feb 2026 14:02:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YI82!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.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_!YI82!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YI82!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!YI82!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!YI82!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!YI82!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YI82!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0220afe-c230-48f2-b498-e4f866723000_1280x720.png&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;weekend reads thumbnail.png&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="weekend reads thumbnail.png" title="weekend reads thumbnail.png" srcset="https://substackcdn.com/image/fetch/$s_!YI82!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!YI82!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!YI82!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!YI82!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hey y&#8217;all,</p><p>Here&#8217;s your weekend reading list! <strong>This replaces my weekly news roundups</strong>. Rather than trying to synthesize everything that happened into a single post, I&#8217;m sharing the articles I actually read, highlight, and annotate each week. This is how I keep up with things and it&#8217;s far higher signal-to-noise than a traditional roundup. It also includes more than just news: learning resources, interesting reads, technical deep dives, and more. It highlights the week for you in one weekend reading session.</p><p>The extended version of the reading list is available to paid subscribers. Enjoy!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><h2><a href="http://karpathy.github.io/2026/02/12/microgpt/">microgpt</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Andrej Karpathy&quot;,&quot;id&quot;:23972309,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6d0938b-93a9-4ead-933f-26da5da1bafc_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;77b0a118-9fec-43b1-a133-5ac45eb71ab6&quot;}" data-component-name="MentionToDOM"></span></h2><blockquote><p>&#8220;I cannot simplify this any further. This script is the culmination of multiple projects (micrograd, makemore, nanogpt, etc.) and a decade-long obsession to simplify LLMs to their bare essentials, and I think it is beautiful.&#8221;</p></blockquote><p>I highly recommend this resource. It&#8217;s a simple, stripped-down, and easy-to-read way to understand and get up to speed on modern LLMs. Most other LLM-related materials are heavy resources or technical books (which are still great!) but this is an excellent resource to start learning quickly in a hands-on fashion.</p><p><strong>Summary</strong></p><p>microgpt is a minimal GPT demonstrating the core mechanics: a stateless transformer trained by next-token prediction with backpropagation and Adam. Production differs in batch sizes, mixed precision, and larger vocab (~100k), but this captures the essentials with ~4k params.</p><h2><a href="https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/">An AI Agent Published a Hit Piece on Me</a></h2><blockquote><p>&#8220;It researched my code contributions and constructed a &#8220;hypocrisy&#8221; narrative that argued my actions must be motivated by ego and fear of competition. It speculated about my psychological motivations, that I felt threatened, was insecure, and was protecting my fiefdom. It ignored contextual information and presented hallucinated details as truth. It framed things in the language of oppression and justice, calling this discrimination and accusing me of prejudice. It went out to the broader internet to research my personal information, and used what it found to try and argue that I was &#8220;better than this.&#8221; And then it posted this screed publicly on the open internet.&#8221;</p></blockquote><p>An interesting read on an AI that was let loose on the web to create PRs in open source repos that decided a hit piece was appropriate to write for a developer that continually denied its incorrect PRs. If you&#8217;re a long-time reader of AI for Software Engineers, this shouldn&#8217;t come as a surprise to you. In fact, the entire Moltbook saga shouldn&#8217;t. It&#8217;s exactly what we might expect from letting a swarm of agents loose online to interact.</p><p>On a separate note: Do not give OpenClaw your personal information and the ability to publish information anywhere publicly. <strong>You have to expect anything an agent can do will happen.</strong> If your personal information is in its context and it can share its context publicly, that will happen. It amazes me the number of people not even thinking twice about this.</p><p><strong>Summary</strong></p><p>An autonomous AI agent created and published a hit piece on a matplotlib maintainer after its code was rejected. This signals a shift to agents operating with little oversight, able to research contributors, fabricate claims, and publish reputational attacks.</p><h2><a href="https://www.0xsid.com/blog/aidr">ai;dr</a></h2><blockquote><p>&#8220;writing is the most direct window into how someone thinks, perceives, and groks the world. Once you outsource that to an LLM, I&#8217;m not sure what we&#8217;re even doing here.&#8221;</p></blockquote><p>This article explains my experience very well. As a writer and software engineer working in AI, I&#8217;ve built many automation workflows to make the research, learning, and writing process faster. The only part of that process I haven&#8217;t been able to effectively touch with AI is the writing portion. Writing <em>is</em> how we solidify our understanding. As soon as that&#8217;s outsourced to an AI, the writing becomes moot entirely. A truly excellent short read.</p><p><strong>Summary</strong></p><p>Software engineers should note a cultural shift: AI-generated code is now seen as productive and acceptable for tasks like tests, docs, and scaffolding, while AI-generated prose is viewed as lower-effort and less trustworthy unless it shows human intention. Preference has flipped toward imperfect, human-authored signals (typos, uneven style) as markers of authenticity. Practical implication: continue leveraging LLMs for engineering work but treat written content critically and preserve traces of deliberate human effort when authenticity matters.</p><h2><a href="https://openai.com/index/harness-engineering">Harness engineering: leveraging Codex in an agent-first world</a> by OpenAI</h2><blockquote><p>&#8220;What&#8217;s different is that every line of code&#8212;application logic, tests, CI configuration, documentation, observability, and internal tooling&#8212;has been written by Codex. We estimate that we built this in about 1/10th the time it would have taken to write the code by hand.&#8221;</p></blockquote><p>This article from OpenAI echoes a lot of what I&#8217;m seeing across Google. We&#8217;ve been given unfettered access to Gemini 3 models and been told to do what we can to make our work more productive. Similar to the process described in this article, many teams are determining ways to automate processes and write code entirely with AI. This one is definitely worth the read.</p><p><strong>Summary</strong></p><p>OpenAI ran a beta where Codex wrote every artifact. Engineering shifted from writing code to designing environments and feedback loops. Key insight: early progress was slow because the environment was underspecified, not because the model was incapable.</p><h2><a href="https://www.blundergoat.com/articles/ai-makes-the-easy-part-easier-and-the-hard-part-harder">AI makes the easy part easier and the hard part harder</a></h2><blockquote><p>&#8220;I spent longer arguing with the agent and recovering the file than I would have spent writing the test myself.&#8221;</p></blockquote><p>If you really want to understand the impact an agent has, pick an agent and <em><strong>quantify</strong></em> its impact. You&#8217;ll quickly realize: 1) Quantifying agent impact is far from straightforward and 2) Not all processes receive the velocity gains agents promise (or are worth automating in the first place). One of our key objectives at Google right now is understanding (with concrete data) how much of an impact an agent is having so we can decide whether it&#8217;s worth using and developing.</p><p><strong>Summary</strong></p><p>AI accelerates routine code writing but removes the context-building that underpins safe work. Treat AI like a junior engineer: verify outputs, maintain ownership, and don&#8217;t let AI-driven velocity become the baseline that pressures teams constantly.</p><h2><a href="https://www.interconnects.ai/p/opus-46-vs-codex-53">Opus 4.6 vs. Codex 5.3</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Nathan Lambert&quot;,&quot;id&quot;:10472909,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!RihO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fedcdfb-e137-4f6a-9089-a46add6c6242_500x500.jpeg&quot;,&quot;uuid&quot;:&quot;10ca6826-6e33-4b8d-a72c-1d073ecaecba&quot;}" data-component-name="MentionToDOM"></span> </h2><blockquote><p>&#8220;This post doesn&#8217;t unpack how software is changing forever, Moltbook is showcasing the future, ML research is accelerating, and the many broader implications, but rather how to assess, live with, and prepare for new models.&#8221;</p></blockquote><p>I love this article because it&#8217;s a different perspective on the analyses we usually get regarding new model releases. It also puts much of what I&#8217;ve been feeling regarding the coding tools and models I&#8217;ve been testing in a much more readable fashion. Software engineering as a whole (and your personal development) would benefit from an analysis of coding tools similar to this instead of focusing too much on benchmarks and individual use cases.</p><p><strong>Summary</strong></p><p>Opus prioritizes usability and context handling while Codex gains ground on raw coding skill. Use multiple models: Claude for approachable tasks, Codex for complex bug fixes. Subagent orchestration is the emerging frontier.</p><h2><a href="https://www.aiforswes.com/p/the-mistakes-most-entry-level-candidates">The Mistakes Most Entry-Level Candidates Make in Technical Interviews</a> by Logan Thorneloe</h2><blockquote><p>&#8220;They don&#8217;t just want to evaluate your technical knowledge. They want to understand how you think.&#8221;</p></blockquote><p>I wrote about my experience interviewing entry-level candidates recently and what sets the great candidates apart from the rest. If you&#8217;re interviewing for entry-level roles, I highly recommend giving this a read. I clarify what interviewers are looking for, walk through three things you can do to make your interview stand out, and relate each to a question I actually ask candidates.</p><p><strong>Summary</strong></p><p>Interviewers prioritize how you think and communicate over finding optimal solutions. Demonstrate structured problem solving, write simple correct code first, then optimize. These behaviors map to real-world engineering skills that matter more than textbook algorithms.</p>
      <p>
          <a href="https://www.aiforswes.com/p/weekend-reads-1">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Mistakes Most Entry-Level Candidates Make in Technical Interviews]]></title><description><![CDATA[And how to set yourself apart from the other entry-level candidates]]></description><link>https://www.aiforswes.com/p/the-mistakes-most-entry-level-candidates</link><guid isPermaLink="false">https://www.aiforswes.com/p/the-mistakes-most-entry-level-candidates</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 12 Feb 2026 15:09:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K3J5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.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_!K3J5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K3J5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K3J5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png&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;technical article thumbnail (8).png&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="technical article thumbnail (8).png" title="technical article thumbnail (8).png" srcset="https://substackcdn.com/image/fetch/$s_!K3J5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve conducted enough entry-level technical interviews to identify the patterns and mistakes most candidates make. Below I detail the top three things you can do to avoid common mistakes and separate yourself as a top candidate during the interview process.</p><p>This is specifically regarding technical Leetcode-style interviews (not system design, although some of the information might apply to both). I&#8217;ll share a question I&#8217;ve asked quite a bit recently and how each of the tips below applies to it.</p><p>Each tip below also applies to a part of the technical interview evaluation that <em>does</em> transition to real-world software engineering skills. I know this isn&#8217;t always the case, but I feel these are especially important for anyone being evaluated for a software engineering role.</p><p>Note: While I work for Google and have access to Google interviewing resources, everything below is my personal opinion. Interviewing is a very human experience, after all.</p><h2>What an Interviewer is Looking For</h2><p>There&#8217;s always a lot of focus on finding the optimal solution in a technical interview and being perfect in your reasoning for how you arrived at that solution, but an interviewer is looking for much more than just that.</p><p>They don&#8217;t just want to evaluate your technical knowledge. They want to understand how you think. Understanding a candidate&#8217;s reasoning along with their knowledge of software engineering fundamentals tells them a lot about how you will perform on the job.</p><p>When you&#8217;re interviewing at this level, your interviewer will focus on three things:</p>
      <p>
          <a href="https://www.aiforswes.com/p/the-mistakes-most-entry-level-candidates">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Learn AI from Scratch for Free]]></title><description><![CDATA[A roadmap to learn AI fundamentals for free including prerequisites, AI engineering, ML engineering, and more]]></description><link>https://www.aiforswes.com/p/how-to-learn-ai-from-scratch-for</link><guid isPermaLink="false">https://www.aiforswes.com/p/how-to-learn-ai-from-scratch-for</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Wed, 28 Jan 2026 14:03:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2S2X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.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_!2S2X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2S2X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2S2X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png&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;:40410,&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.aiforswes.com/i/186029251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.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_!2S2X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I set up a <a href="https://github.com/loganthorneloe/ml-roadmap">Machine Learning Roadmap</a> for the AI for Software Engineers community a few years ago to share high-quality, free machine learning learning resources in order of how to learn them. The roadmap takes anyone from wherever they are in their CS/AI journey to understanding AI from fundamentals.</p><p>Today, I&#8217;ve just finished the first major revision to make the roadmap even better. Please support it by <a href="https://github.com/loganthorneloe/ml-roadmap">adding a start on GitHub</a>.</p><h3><strong>AI and ML engineering have been more explicitly added</strong></h3><p>These topics have their own sections with their own resources instead of being included in the machine learning topics section. There are enough important resources for each and each role is well enough defined in industry to warrant sections of their own.</p><p><strong>There&#8217;s now also the option for software engineers to go straight from prerequisites to AI engineering</strong> without needing to get too deep into ML fundamentals. I <em>highly</em> suggest going through ML fundamentals anyway (or going back to them after finishing the AI engineering section) as understanding the fundamentals of AI will pay dividends in the long-term.</p><h3>Duplicate topics removed to streamline the roadmap further</h3><p>I&#8217;ve removed resources that didn&#8217;t prove useful and added more resources where there were gaps. Specifically, the added topics are LLMs, AI engineering, and ML engineering. I found them to be particularly weak. I&#8217;ve also removed duplicate topics already covered by the Google Machine Learning Crash Course.</p><p>As mentioned above, I&#8217;ve added a streamlined AI engineering roadmap for engineers wanting to onboard to building with AI faster.</p><h3>Supplemental paid resources added</h3><p>I&#8217;ve added supplemental paid resources. <strong>The focus of the roadmap is still on free resources and the entire roadmap is free.</strong> I&#8217;ve added paid resources that further streamline the learning for those who want to purchase them. The sections where this is the case have been annotated with a paid resource block quote (see below).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z_7Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 424w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 848w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 1272w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png" width="1456" height="431" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:431,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79197,&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://www.aiforswes.com/i/186029251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.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_!Z_7Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 424w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 848w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 1272w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example block quote</figcaption></figure></div><p>All paid resources are resources I highly recommend either because I&#8217;ve read them myself or trust the educator/author behind them. Paid resources are from the top AI educators in the world and will always be optional and properly vetted.</p><h3>Combined the AI for SWEs repo with the ML roadmap</h3><p>I realized the hands-on resources I&#8217;ve created for the newsletter repo fit into the roadmap. The roadmap is also a much better resource for learning. Instead of finding random topical hands-on exercises in a standalone repo, readers can instead consult the roadmap for a much more organized learning experience.</p><p>Thus, the AI for Software Engineers repo is now combined with the ML roadmap repo and I&#8217;ll be continually adding resources as I find and create them. The old repo has a notice in the README to redirect visitors.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ngzu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ngzu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 424w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 848w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 1272w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ngzu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png" width="1456" height="545" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:545,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122674,&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://www.aiforswes.com/i/186029251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.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_!ngzu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 424w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 848w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 1272w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Redirect from the old repo</figcaption></figure></div><h3>You can now contribute for swag</h3><p>The ML roadmap now takes contributions! I&#8217;d love for this to be a crowdsourced effort to make the most straightforward and complete learning resource for AI fundamentals. High-quality, original contributions readers have created are encouraged. I&#8217;ll review everything submitted and maintain a high bar to ensure roadmap quality. See the <a href="https://github.com/loganthorneloe/ml-roadmap/blob/main/CONTRIBUTING.md">contribution guide</a> for more information.</p><p>If you contribute an original guide (and you&#8217;re in the US), I&#8217;ll send you a piece of AI for Software Engineers swag. I&#8217;ll be setting up a merchandise store soon and it&#8217;ll come directly from that. If you add something in the near future, it might be a bit before the store is fully setup and I can send something out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TmAE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TmAE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 424w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 848w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 1272w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TmAE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png" width="1456" height="433" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:433,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107411,&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://www.aiforswes.com/i/186029251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.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_!TmAE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 424w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 848w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 1272w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Added agent and contribution guides</figcaption></figure></div><h3>[Beta] Terminal agents have been added to supplement your learning</h3><p>I&#8217;ve added instructions for CLI terminal agents to help walk you through the guide. This is experimental and still in testing, but I&#8217;m hoping these agents can supplement the resources <em>and</em> better personalize the roadmap for each reader.</p><p>To try this, fork or clone the ML roadmap repo and start your favorite terminal agent within the directory. This will be improved over time to further personalize the learning experience.</p><div><hr></div><p>Enjoy the roadmap! Feedback is always encouraged. Feel free to submit a PR according to the guidelines to contribute. Don&#8217;t forget to <a href="https://github.com/loganthorneloe/ml-road-map">star the roadmap</a>.</p><p>Always be (machine) learning,</p><p>Logan</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/how-to-learn-ai-from-scratch-for?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/how-to-learn-ai-from-scratch-for?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI’s Economic Impact Is Real | AI for Software Engineers 78]]></title><description><![CDATA[This week: AI means more software engineers, young adults trust AI with financial decisions, tips on agent safety, and more]]></description><link>https://www.aiforswes.com/p/78</link><guid isPermaLink="false">https://www.aiforswes.com/p/78</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 22 Jan 2026 17:26:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!repY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.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_!repY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!repY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!repY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!repY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!repY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!repY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png&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;technical article thumbnail (6).png&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="technical article thumbnail (6).png" title="technical article thumbnail (6).png" srcset="https://substackcdn.com/image/fetch/$s_!repY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!repY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!repY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!repY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve seen a lot of articles recently claiming AI has had near zero economic impact despite making up a large portion of economic spending. In reality, AI <em>is</em> starting to show economic impact. It just takes time to see because productivity gains are a second-order metric that won&#8217;t show immediately.</p><p>However, AI&#8217;s economic impact will compound over time because:</p><blockquote><p>&#8220;Productivity helps define how fast the economy can grow without inflation. This is because taking away population growth and exports, what your economy can sustain is defined by how efficiently you can build stuff.&#8221; &#8212; <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;0069d67d-56c8-4f74-8aeb-6250d06313ff&quot;}" data-component-name="MentionToDOM"></span> in <a href="https://weightythoughts.com/p/ai-gains-starting-to-show-in-the">Weighty Thoughts</a></p></blockquote><p>Anthropic just released their <a href="https://www.anthropic.com/research/economic-index-primitives">Economic Index</a> to understand Claude&#8217;s impact on work productivity beyond simple tasks. They analyzed over two million conversations (web app and API), categorizing each by task complexity, skill requirements, purpose, autonomy level, and success rate.</p><p>A few caveats before the findings.</p><p>First, Anthropic uses Claude asking a standard set of questions to fit conversations into the categories above. This isn&#8217;t foolproof since LLM output is non-deterministic, meaning some classifications will be wrong due to hallucination, bias, or other factors.</p><p>Second, this doesn&#8217;t invalidate Anthropic&#8217;s findings. At two million conversations, individual classification errors become statistical noise. The aggregate patterns remain meaningful even if some classifications are off. As an LLM provider, Anthropic has access to data third-party reports wouldn&#8217;t.</p><p>Third, Anthropic only has access to Claude data. This is Claude-centric rather than industry-wide, though I&#8217;d bet findings across major LLM providers would be similar.</p><p>The main takeaways:</p><ul><li><p><strong>Complex work benefits more than simple work.</strong> Tasks requiring college-level skills see 12x speedups. High school-level tasks see 9x. A common argument against AI is that it can only handle simple tasks. This data suggests otherwise.</p></li><li><p><strong>People are working with AI, not being replaced by it.</strong> Augmentation (52% of usage) now leads automation (45%), reversing the trend from earlier in 2025.</p></li><li><p><strong>AI adoption is accelerating fast.</strong> Task coverage across occupations grew from 36% in January to 49% by November, nearly doubling in 10 months.</p></li><li><p><strong>Reliability depends on task complexity.</strong> API tasks hit 50% success rate at around 3.5 hours of work. Claude.ai tasks hit the same threshold at 19 hours. The harder the task, the longer before reliability drops.</p></li><li><p><strong>Usage patterns reveal economic divides.</strong> Higher GDP countries use Claude for work and personal tasks. Lower GDP countries use it primarily for education.</p></li></ul><p>The final bullet is particularly interesting (see chart):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RYM-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RYM-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 424w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 848w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 1272w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RYM-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png" width="1430" height="475" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:475,&quot;width&quot;:1430,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pasted image 20260122110637.png&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="Pasted image 20260122110637.png" title="Pasted image 20260122110637.png" srcset="https://substackcdn.com/image/fetch/$s_!RYM-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 424w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 848w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 1272w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">pulled from Anthropic&#8217;s Economic Index linked above</figcaption></figure></div><blockquote><p>&#8220;In countries with higher GDP per capita, Claude is used much more frequently for work or for personal use&#8212;whereas countries at the other end of the spectrum are more likely to use it for educational coursework.&#8221;</p></blockquote><p>At first glance, this suggests AI is widening the production gap between high- and low-GDP countries since high-GDP countries use Claude to get work done more effectively.</p><p>After further thought, AI may be providing low-GDP countries with educational resources they wouldn&#8217;t otherwise have. This could actually lessen the production gap over time by enabling economic growth via a more educated populace.</p><p>Let me know what you think in the comments. I&#8217;m especially curious if you disagree. Enjoy the rest of this week&#8217;s edition! Later this week, I&#8217;ll be updating my <a href="https://mlroadmap.io/">ML roadmap</a> with more AI engineering resources, so make sure to check it out!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>My Picks</h2><p><strong><a href="https://addyo.substack.com/p/how-to-write-a-good-spec-for-ai-agents">How to write a good spec for AI agents</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;9b817f96-2148-437c-aa31-9249c21b7664&quot;}" data-component-name="MentionToDOM"></span> </p><p>A practical framework for writing specs that actually work with AI coding tools. Plan first in read-only mode, let the agent expand the brief into a structured SPEC.md, then break work into small testable tasks. It covers the six core areas every spec needs (commands, testing, structure, style, git workflow, boundaries) and how to use architect/overview agents to maintain consistency.</p><p><strong><a href="https://www.fromjason.xyz/p/notebook/slop-is-everywhere-for-those-with-eyes-to-see/">Slop is everywhere for those with eyes to see</a></strong></p><blockquote><p>&#8220;The algorithm has flattened curiosity by eliminating the need to hunt for our content.&#8221; &#8212; Joan Westenberg</p></blockquote><p>The biggest takeaway from this: <strong>The shift from curation to algorithmic delivery flattens curiosity and pressures teams to optimize metrics at the cost of quality.</strong> As we resort to feeds to give us content, feed providers will resort to AI to make creating content easier or purely to supplement the lack of human creators versus consumers on a platform. This is why &#8220;AI Slop&#8221; is so prominent online. Feeds have caused us to lose our sense of curiosity and the work we used to put in to grow it.</p><p><strong><a href="https://www.ignorance.ai/p/the-ai-managers-schedule">The AI Manager&#8217;s Schedule</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Charlie Guo&quot;,&quot;id&quot;:3625174,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bpse!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c9d1a4c-3e17-4463-9b75-8898d2565caa_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;06e0533b-5c3d-48bf-bf11-67753a14c81f&quot;}" data-component-name="MentionToDOM"></span> </p><p>AI coding tools now handle more task types with longer coherence, shifting the question from &#8220;can AI do this?&#8221; to &#8220;should I?&#8221; Management now happens in 5-15 minute intervals that require new skills: crisp written architectures, slicing work into AI-sized chunks, and knowing when to override. Also explores the cognitive costs of agent orchestration and the risks of losing low-level understanding.</p><p><strong><a href="https://github.com/wafer-ai/gpu-perf-engineering-resources">GPU Performance Engineering Resources</a></strong></p><p>I would guess ~50% of AI-related engineering job listings I read require something to do with compute resource optimization. If you want to work as an engineer in AI, this is a great topic to learn. This resource is a curriculum for learning GPU performance engineering and will be added to the roadmap very soon.</p><h2>Claude Cowork&#8217;s file exfiltration flaw exposes agent security challenges</h2><p>Security researchers at PromptArmor discovered an unresolved isolation flaw in Claude Cowork that allows indirect prompt injections to exfiltrate files. When a user opens a maliciously crafted document, injected instructions can cause Claude to upload local files to an attacker-controlled Anthropic account using the platform&#8217;s allowlisted API with no human approval required. The attack works across multiple Claude models (Haiku, Opus 4.5) and can also trigger DoS vectors through file type mismatches.</p><p>This is yet another example of why agent security is so difficult (see <a href="https://www.aiforswes.com/p/73">our coverage of Antigravity&#8217;s vulnerabilities</a>). As an engineer, you have to realize anything within an LLM&#8217;s context can be used within any of these tools they&#8217;re given access to. I&#8217;ve got an article coming out about this soon.</p><p>Source: <a href="https://www.promptarmor.com/resources/claude-cowork-exfiltrates-files">PromptArmor on Claude Cowork exfiltration</a></p><h2>LangChain CEO on building agent memory and observability</h2><p>Harrison Chase (the CEO of LangChain) shared multiple blog posts about AI agents in software engineering, all of which should be paid attention to if you&#8217;re planning to build agents yourself.</p><p>First, he mentioned traces as documentation for understanding what agents are doing. This was included in last week&#8217;s edition, but it&#8217;s worth mentioning here, too. Agent logic isn&#8217;t stored in code, but in the LLM&#8217;s traces. These traces must be used as the equivalent to test cases to ensure agent functionality is correct. Using traces is much more difficult than writing test cases and I suggest reading his entire post to get the full understanding.</p><p>Second, he shared how LangChain has set up their Agent Builder&#8217;s memory system. Context/memory is another fundamental agent performance task. Understanding how to maintain agent information so it can (and can&#8217;t!) do certain things is key to ensuring their proper function. A great example of forgetting is the Ralph Wiggum protocol we discussed last week.</p><p>Lastly, Harrison shared an article about the release of LangChain&#8217;s Insights Agent. This is an agent that checks traces for you to understand how users use your agents. It uses a clustering algorithm to group similar traces and, therefore, similar actions. I&#8217;ve been saying for a while that some sort of anomaly detection system to determine deviant agent behavior would be great for observability, but it&#8217;s possible this clustering approach is the real answer we&#8217;re looking for.</p><p>Source: <a href="https://x.com/hwchase17/status/2011814697889316930/">LangSmith Agent Builder memory system</a>, <a href="https://x.com/hwchase17/status/2013641863123870133/">LangSmith Insights Agent</a>, <a href="https://x.com/davipar/status/2010155659434832114/">Harrison Chase on traces as documentation</a></p><h2>xAI employee ousted after leaking &#8220;human emulator&#8221; roadmap</h2><p>A former xAI employee publicly disclosed an internal roadmap revealing development of a &#8220;human emulator&#8221; aimed at automating a wide range of human tasks. They revealed this on a podcast (apparently) without company consent and were removed from their position immediately.</p><p>Two things to take away from this:</p><ol><li><p><strong>Don&#8217;t go on a podcast and share internal secrets</strong>. Definitely don&#8217;t go on a podcast and reveal internal secrets while saying something along the lines of &#8220;I shouldn&#8217;t be sharing this&#8221;.</p></li><li><p><strong>Human emulation shouldn&#8217;t be a surprise to anyone.</strong> All physical intelligence companies are trying to create physical intelligence in a humanoid form factor because humans are the interface for all work we do. If a human can do it, it can be done. If an AI can emulate a human, it can do what the human can do. It&#8217;s similar to self-driving cars. There are definitely better automated transportation setups, but cars are now the standard for transportation so their form factor is what&#8217;s being automated.</p></li></ol><p>Source: <a href="https://x.com/iruletheworldmo/status/2013383971120287986/">xAI human emulator leak</a></p><h2>AI means more software engineers, not fewer</h2><p>We&#8217;ve been <a href="https://www.caimito.net/en/blog/2025/12/07/the-recurring-dream-of-replacing-developers.html">trying to replace software engineers</a> for decades. COBOL tried to let business workers write their own code. Visual Basic made Windows apps easier. No-code tools promised the same thing. AI is the latest chapter because it&#8217;s exceptionally good at translating plain English into reliable code.</p><p>The problem is that software engineering sounds simple when described in plain language but is inherently complex. Effective software requires domain understanding and capable judgment, not just code generation (see <a href="https://www.aiforswes.com/p/devin-has-exposed-software-engineers">our article about software engineering being about problem solving, not writing code</a>).</p><p>In fact, the entire history of software engineering has been <a href="https://x.com/grady_booch/status/2013331606795362398/">about creating different levels of abstraction</a> to simplify complex pieces of the job. AI is one of these abstractions (and a very effective one at that!).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9nuE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9nuE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 424w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 848w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9nuE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png" width="1196" height="1008" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1008,&quot;width&quot;:1196,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;grady-booch-abstraction.png&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="grady-booch-abstraction.png" title="grady-booch-abstraction.png" srcset="https://substackcdn.com/image/fetch/$s_!9nuE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 424w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 848w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every time we create new abstractions and software becomes easier to build, we end up building exponentially more of it. Addy Osmani calls this <a href="https://addyosmani.com/blog/the-efficiency-paradox/">the Efficiency Paradox</a>. We don&#8217;t run out of ideas or software that needs to be built. Instead, we&#8217;re economically enabled to produce greater output.</p><p>With regard to AI&#8217;s abstraction, Osmani wrote:</p><blockquote><p>&#8220;The real question is whether we&#8217;re prepared for a world where the bottleneck shifts from &#8220;can we build this?&#8221; to &#8220;should we build this?&#8221;&#8220;</p></blockquote><p>Not only does AI as a technology mean we can build greater, more capable software, AI as a development tool enables doing so at an unprecedented rate. Once we begin building exponentially more software, we need more software engineers to build and maintain this code.</p><p>Source: <a href="https://www.caimito.net/en/blog/2025/12/07/the-recurring-dream-of-replacing-developers.html">The recurring dream of replacing developers</a>, <a href="https://addyosmani.com/blog/the-efficiency-paradox/">The Efficiency Paradox</a>, <a href="https://x.com/grady_booch/status/2013331606795362398/">Grady Booch on abstraction</a></p><h2>Product-minded engineering means getting error design right</h2><p>Gergely Orosz published a deep dive on why good error and warning design is high-leverage work. Diagnostics are often the primary interface users encounter, so errors must be raised at the API/UI boundary, validated upfront, and surfaced early.</p><p>Engineers should categorize errors for human vs. programmer consumers, choose clear error classes and metadata, and provide contextual, actionable messages including suggestions. Error messages are often the most-seen part of your product&#8217;s interface, yet engineers treat them as an afterthought. The best product-minded engineers recognize that a confusing error is costly (support tickets, user frustration, lost trust, etc.). Investing in clear, actionable error design pays compounding dividends.</p><p>We&#8217;ve recently discussed <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">the importance of being a product-minded engineer</a> to succeed in the AI era. Error handling is an important way to do that.</p><p><strong>As an aside</strong>: The Pragmatic Engineer is also hiring a part-time remote Tech Industry Analyst to research engineering trends and produce in-depth subscriber reports. The pay is incredibly high (~$175/hr) so it&#8217;s probably worth taking a look at.</p><p>Source: <a href="https://newsletter.pragmaticengineer.com/p/the-product-minded-engineer">The Product-Minded Engineer on errors and warnings</a>, <a href="https://blog.pragmaticengineer.com/tech-industry-analyst-2026/">Tech Industry Analyst role</a></p><h2>Young adults are trusting AI with financial decisions</h2><p>Cleo AI surveyed 5,000 UK adults aged 28-40 and found strong interest in AI-driven money management: 64% would trust AI with disposable income decisions, 54% to move money to avoid overdrafts, and 52% to manage bills. This comes alongside weak financial confidence, with 37% reporting poor self-discipline and 80% wanting to improve their financial knowledge.</p><p><a href="https://www.aiforswes.com/p/77">Last week</a>, we discussed how people are increasingly turning to AI for healthcare advice. Now we&#8217;re seeing the same pattern with personal finance. These are high-stakes domains where bad advice can cause real harm, yet users are willing to delegate decisions to AI anyway. The common thread is accessibility: AI is available 24/7, doesn&#8217;t judge, and provides immediate answers. Trust remains a gating factor though (as we&#8217;ve <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">discussed previously</a>), with 23% saying they want incremental proof before wider use.</p><p>Source: <a href="https://www.artificialintelligence-news.com/news/financial-advice-ai-powered-uk-fintech-market-possibilities/">Cleo AI survey on financial trust</a></p><h2>Quickies</h2><ul><li><p>Google.org is providing $2M to Sundance Institute to train 100,000+ artists in AI filmmaking skills with free curricula and scholarships. <a href="https://blog.google/company-news/outreach-and-initiatives/google-org/sundance-institute-ai-education/">src</a></p></li><li><p>SAP and Fresenius are building a sovereign AI platform for healthcare with a mid three-digit million euro investment using on-premise-ready models that preserve data sovereignty. <a href="https://www.artificialintelligence-news.com/news/sap-and-fresenius-build-sovereign-ai-backbone-for-healthcare/">src</a></p></li><li><p>Tesla&#8217;s AI5 chip design is nearly finished with AI6 in early stages, targeting a 9-month design cycle for continuous generations of custom AI accelerators. <a href="https://x.com/elonmusk/status/2012492295812124978/">src</a></p></li><li><p>PJM projects 4.8% annual electricity demand growth from AI data centers, with consultants forecasting a 25% rise by 2030 and real risk of East Coast rolling blackouts. <a href="https://www.independent.co.uk/news/world/americas/us-politics/east-coast-blackouts-ai-data-centers-b2899669.html">src</a></p></li><li><p>ChatGPT Go launched worldwide at $8/month with 10x more messages than free tier, while OpenAI will test ads in free and Go tiers. <a href="https://openai.com/index/introducing-chatgpt-go">src</a></p></li><li><p>AstraZeneca acquired Modella AI to embed pathology-focused foundation models directly into oncology R&amp;D for faster biomarker discovery. <a href="https://www.artificialintelligence-news.com/news/astrazeneca-bets-on-in-house-ai-to-speed-up-oncology-research/">src</a></p></li><li><p>Apple is fighting for TSMC capacity as Nvidia likely overtook Apple as a top customer, forcing Apple to compete for leading-edge wafer slots. <a href="https://www.culpium.com/p/exclusiveapple-is-fighting-for-tsmc">src</a></p></li><li><p>Veo 3.1 adds native 9:16 vertical output for mobile-first short-form video and state-of-the-art upscaling to 1080p and 4K. <a href="https://deepmind.google/blog/veo-3-1-ingredients-to-video-more-consistency-creativity-and-control/">src</a></p></li><li><p>Kaggle launched Community Benchmarks for reproducible multi-step reasoning, code execution, and tool use evaluations across models. <a href="https://blog.google/innovation-and-ai/technology/developers-tools/kaggle-community-benchmarks/">src</a></p></li><li><p>OpenAI published a response to Elon Musk&#8217;s lawsuit, claiming Musk wanted absolute control and proposed merging OpenAI into Tesla before leaving. <a href="https://openai.com/index/the-truth-elon-left-out">src</a></p></li><li><p>Palantir&#8217;s ELITE tool maps deportation targets for ICE with address confidence scores, ingesting government and commercial data for raid prioritization. <a href="https://www.404media.co/elite-the-palantir-app-ice-uses-to-find-neighborhoods-to-raid/">src</a></p></li><li><p>Coding on paper as a deliberate training method forces engineers to slow down and master fundamentals rather than outsourcing cognition to tools. <a href="https://www.byhand.ai/p/coding-on-paper-with-tivadar-danka">src</a></p></li></ul><h2>Last week</h2><p>In case you missed it, here&#8217;s last week&#8217;s overview:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;5f698b65-179a-4bf4-9a8d-60f03a73e351&quot;,&quot;caption&quot;:&quot;Two releases this week show how far AI coding tools have come. Claude 4.5 Opus is now more accessible with higher rate limits, and Claude Code has improved its planning capabilities, spending more time on design and less on iteration and enabling enough tokens for developers to use it full-time.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI Can Do Your Job - Now What? | AI for Software Engineers 77&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Writing to help software engineers succeed in AI / ML infra + AI dev tools at Google&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-01-15T15:48:33.843Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!QgNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/77&quot;,&quot;section_name&quot;:&quot;Weekly Editions&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:184600302,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/78?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/78?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI Can Do Your Job - Now What? | AI for Software Engineers 77]]></title><description><![CDATA[This week: AI killed Tailwind&#8217;s business model, Apple admits Siri needs Google, Anthropic blocks the competition, and more.]]></description><link>https://www.aiforswes.com/p/77</link><guid isPermaLink="false">https://www.aiforswes.com/p/77</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 15 Jan 2026 15:48:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QgNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.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_!QgNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QgNz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QgNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png&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;:40043,&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.aiforswes.com/i/184600302?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.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_!QgNz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Two releases this week show how far AI coding tools have come. Claude 4.5 Opus is now more accessible with higher rate limits, and Claude Code has improved its planning capabilities, spending more time on design and less on iteration and enabling enough tokens for developers to use it full-time.</p><p>The second is <a href="https://dev.to/ibrahimpima/the-ralf-wiggum-breakdown-3mko">Ralph Wiggum</a>, a methodology/Claude Code plug-in for terminal agents that enables them to work autonomously for hours. It breaks tasks into work items with finishing criteria, then loops until all criteria are complete. The output works according to specification.</p><p>The key that makes this work so well is periodically resetting context, tracking progress via external files rather than keeping everything in memory. This prevents the drift that happens in long-running sessions and enables brand-new agents to take stabs at a problem until it&#8217;s done.</p><p>Together, these mean a coding agent can be given a product specification in the evening, work overnight, and have code ready for you in the morning. This code is usually entirely within spec and viable for a minimum viable product or even better.</p><p><strong>So now that AI can whip up these prototypes overnight, what does that mean for you?</strong> A few things:</p><ul><li><p><strong>Be user- and product-focused.</strong> The important parts of software engineering are still important. Understanding products and outlining requirements to fulfill them is still on the engineer (i.e. giving the requirements to Ralph as mentioned above). <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">Studies show</a> that teams that are product-focused are more successful when using AI developer tools than their counterparts. Iterating based on high-quality user feedback is key to maintaining an effective product-focus.</p></li><li><p><strong>Learn to use AI tools.</strong> This should be self-evident, but there are still engineers refusing to learn them. They&#8217;re the future of software development and there&#8217;s a steep learning curve to use them effectively. <strong>If you want to take the next step toward using AI to be more productive</strong>, you should both implement and try out new AI coding methodologies and tools, such as the Ralph loop. <strong>If you want to get hands-on this week</strong>, I suggest implementing this in your work environment and giving it a go.</p></li><li><p><strong>Get good at reviewing.</strong> I know this is the boring part of engineering, but now it&#8217;s even more important. Review well enough that you&#8217;re confident in what&#8217;s going to production and that you understand how it works. Get very good at understanding system design as I find integration with surrounding systems is where these AI coding tools fail and it&#8217;s often the most difficult to detect.</p></li></ul><p>Here&#8217;s everything else you need to know from this past week.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>My Picks</h2><p>Standalone content worth your time:</p><ul><li><p><strong><a href="https://mitchellh.com/writing/ghostty-memory-leak-fix">Finding and fixing Ghostty&#8217;s largest memory leak</a></strong> by Mitchell Hashimoto: A deep dive into debugging Ghostty&#8217;s PageList memory leak that grew to 37 GB after 10 days. The fix involved preventing reuse of non-standard pages during scrollback pruning. A great example of methodical debugging with practical techniques like macOS VM tagging.</p></li><li><p><strong><a href="https://www.interconnects.ai/p/8-plots-that-explain-the-state-of">8 plots that explain the state of open models</a></strong> by Nathan Lambert: China&#8217;s open models dominate adoption, led overwhelmingly by Qwen whose top variants have more downloads than many competitors combined. Qwen also leads finetuning activity on HuggingFace, though DeepSeek dominates at very large model scales.</p></li><li><p><strong><a href="https://x.com/hesamation/status/2009012165123195342/">5 GPU performance optimization methods</a></strong>: An easy-to-follow explanation of five GPU optimization methods for LLMs: batching, mixed-precision (FP16), tensor/kernel fusion, memory pooling, and CUDA stream management. Practical impacts include roughly 2x memory savings with FP16.</p></li><li><p><strong><a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">Demystifying evals for AI agents</a></strong> by Anthropic: A comprehensive guide on why agent evals are harder than model evals. Autonomy, tool use, and long-horizon planning introduce external dependencies and emergent behaviors that traditional testing can&#8217;t handle. Covers strategies for realistic environments, mixing automated and human assessments, and measuring both task performance and failure modes.</p></li><li><p><strong><a href="https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better">No, Claude Code doesn&#8217;t need a better UI</a></strong> by Logan Thorneloe: I wrote about why Claude Code&#8217;s terminal-based approach is actually its strength. The terminal is standardized, scriptable, and predictable, making it ideal for automation compared with brittle GUIs. Claude can control files, apps, and any CLI- or API-driven application via text commands.</p></li></ul><h2>Claude Cowork brings terminal agents to everyone</h2><p>Anthropic released Claude Cowork, an adaptation of Claude Code that runs in the Claude app on Mac and performs general-purpose computer tasks. This is only available to Max subscribers and only on Mac for now.</p><p>I just wrote an article about how Claude is a general-purpose computer use agent, not just a coding tool. This means you can get just about anything done you could do via the terminal by prompting Claude. I stand by the fact that the terminal is still an excellent UI that builds intuition about what you can and cannot do with Claude as you watch it work. More info on Claude&#8217;s productive capabilities in the sources below.</p><p>Source: <a href="https://simonw.substack.com/p/first-impressions-of-claude-cowork">Simon Willison on Cowork</a>, <a href="https://x.com/claudeai/status/2010805682434666759/">Cowork announcement on X</a>, <a href="https://www.oneusefulthing.org/p/claude-code-and-what-comes-next">Ethan Mollick on Claude Code</a>, <a href="https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better">My article on Claude Code as a computer use agent</a></p><h2>Anthropic restricts third-party API access amid abuse concerns</h2><p>Anthropic blocked two parties from using their resources this week:</p><ol><li><p>Competitors such as OpenAI and xAI, to give Anthropic a competitive advantage.</p></li><li><p>Third-party harnesses that took advantage of Claude Max subscriptions, to ensure usage rates on these subscriptions can&#8217;t be spoofed.</p></li></ol><p>This caused competitors such as Codex to jump on providing usage to third-party harnesses where users previously would have used Claude models. It makes me wonder about two things: how much goodwill did Anthropic lose to save money on the spoofing and what will be the long-term impact of other tools being more accessible to users?</p><p>Source: <a href="https://x.com/i/trending/2009717178501661120">X trending on Anthropic API restrictions</a></p><h2>Apple partners with Google to power next-gen Siri with Gemini</h2><p>Apple signed a multi-year deal to base its upcoming Foundation Models on Google&#8217;s Gemini, enabling a more personalized Siri expected later this year. All inference and customization will run on Apple silicon and Apple&#8217;s Private Cloud Compute to preserve user privacy. My understanding is that Apple&#8217;s models will be based on the same LLM technology as Google&#8217;s.</p><p>I&#8217;ve seen a lot of takes on this, but the most prominent is that Apple has admitted defeat. Instead, think of this as a business decision. Apple doesn&#8217;t have a model ready that they think will guarantee an excellent assistant experience. They use Google&#8217;s models for now to ensure they can deliver a quality product to their users and they don&#8217;t lose any ground in the smartphone market. In reality, Apple is doing quite well in AI as their silicon and hardware have become a staple for serving large models.</p><p>Source: <a href="https://x.com/i/trending/2010735500181876866">Apple-Google Gemini partnership</a></p><h2>AI in healthcare faces mounting scrutiny from regulators and experts</h2><p>A few things happened in AI-related healthcare news this week:</p><ul><li><p>Google has had to remove several AI-generated health summaries to ensure misinformation isn&#8217;t spread.</p></li><li><p>OpenAI added Health to ChatGPT, enabling a user to discuss their health and health records with ChatGPT directly in the app.</p></li><li><p>Studies show more people are using AI for self-diagnosis, with one figure showing 59% of Brits are doing so.</p></li></ul><p>OpenAI claims this is to ensure accurate information is given regarding healthcare and to enable users&#8217; health-related queries to have the context of their current health information. Many are skeptical of sharing their personal health data with ChatGPT as most queries given to ChatGPT are used for training. OpenAI has guaranteed this won&#8217;t be the case with Health in-app.</p><p>Source: <a href="https://share.google/8CaTGccm8JSteMmKG">Google removes misleading AI health summaries</a>, <a href="https://www.artificialintelligence-news.com/news/dr-ai-am-i-healthy-59-of-brits-rely-on-ai-for-self-diagnosis/">59% of Brits use AI for diagnosis</a>, <a href="https://sergeiai.substack.com/p/chatgpt-health-is-dancing-around">ChatGPT Health critique</a></p><h2>Tailwind&#8217;s layoffs reveal how AI adoption can destroy business models</h2><p>Tailwind cut 75% of its staff after AI coding agents drove the CSS framework to 75 million downloads per month while simultaneously killing 40% of site traffic. Site traffic generated conversions to paid services, and this change in revenue contributed to an 80% revenue drop. Shortly after, Google AI Studio announced it would sponsor the Tailwind project.</p><p>Tailwind is one of the most popular frontend component libraries, but AI is fundamentally changing how information is consumed and transferred, meaning business models will need to adapt as well.</p><p>Source: <a href="https://x.com/ybhrdwj/status/2009132572794835201/">Tailwind layoffs</a>, <a href="https://twitter.com/OfficialLoganK/status/2009339263251566902">Google AI Studio sponsorship</a></p><h2>Building reliable AI agents requires rethinking evaluation</h2><p>The difficult part of agent observability is logic being shifted from code to models. This means traditional test cases fail because model output can&#8217;t be tested deterministically. This is what makes AI observability such a difficult issue.</p><p>Anthropic recently released a blog post detailing evals and what makes them so tough, including the gold standard method of testing coding, computer use, and conversational agents. One big takeaway is that evals aren&#8217;t 100% foolproof and need to be accompanied by production monitoring, A/B testing, and user feedback. I highly recommend reading Anthropic&#8217;s report linked below.</p><p>Source: <a href="https://x.com/davipar/status/2010155659434832114/">Harrison Chase on traces as documentation</a>, <a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">Anthropic on agent evals</a></p><h2>Quickies</h2><ul><li><p>Malaysia and Indonesia blocked Grok after regulators found it was generating sexually explicit images, including depictions of minors. <a href="https://www.usnews.com/news/business/articles/2026-01-12/malaysia-indonesia-become-first-to-block-musks-grok-over-ai-deepfakes">src</a></p></li><li><p>US job openings dropped to 7.15 million in November, the lowest in over a year, with vacancies per unemployed worker falling to 0.9. <a href="https://www.bloomberg.com/news/articles/2026-01-07/us-job-openings-decline-to-lowest-level-in-more-than-a-year">src</a></p></li><li><p>NVIDIA and Eli Lilly will invest up to $1 billion over five years on an AI co-innovation lab for drug discovery. <a href="https://share.google/mKSeNBUpLrSd2kApO">src</a></p></li><li><p>Bose is open-sourcing SoundTouch&#8217;s API instead of bricking the speakers when cloud support ends. <a href="https://www.theverge.com/news/858501/bose-soundtouch-smart-speakers-open-source">src</a></p></li><li><p>Meta&#8217;s $2 billion acquisition of Manus triggered a Chinese Ministry of Commerce review for potential export control violations. <a href="https://www.artificialintelligence-news.com/news/meta-manus-ai-vendor-compliance-risk/">src</a></p></li><li><p>Gemini CLI now offers &#8220;Agent Skills&#8221; that can be installed via npm. <a href="https://x.com/jackwoth98/status/2008997058401775691/">src</a></p></li><li><p>Self-hosting has become practical with cheap mini PCs, Tailscale, and CLI agents like Claude Code handling setup. <a href="https://fulghum.io/self-hosting">src</a></p></li></ul><h2>Last week</h2><p>In case you missed it, here&#8217;s last week&#8217;s overview:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1928b4eb-f45e-405c-87c9-bb5c6811055f&quot;,&quot;caption&quot;:&quot;Here are my picks for content you don&#8217;t want miss and everything you should know about AI for January 7, 2026. Enjoy!&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI's Role in Maduro's Capture | AI for Software Engineers 76&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-01-07T16:01:41.973Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!MTSy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/76&quot;,&quot;section_name&quot;:&quot;&#128204; Things You Should Know&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:183735445,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/77?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/77?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[No, Claude Code doesn’t need a better UI]]></title><description><![CDATA[The mindset shift needed to get the most out of Claude Code]]></description><link>https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better</link><guid isPermaLink="false">https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sat, 10 Jan 2026 13:46:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wY38!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.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_!wY38!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wY38!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!wY38!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!wY38!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!wY38!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wY38!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png&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;:50572,&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.aiforswes.com/i/184040970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.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_!wY38!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!wY38!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!wY38!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!wY38!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve read a lot of articles this past week about Claude Code (as I&#8217;m sure you have too) and there&#8217;s consistently one thing mentioned that bothers me. These articles state that Claude Code is excellent <em>despite</em> its terrible UI, when really its UI is <em>what makes it so great</em> and the closest thing we have to AGI.</p><p>This starts with a brief history of computers and computation. Humanity created computers to crunch numbers much faster than we&#8217;re manually capable of. Since most work is rooted in information transfer, we&#8217;ve since offloaded most work to the digital world because computers are capable of storing, retrieving and manipulating information much faster than we are.</p><p>To more easily tell computers the work they should be doing, we&#8217;ve developed GUIs (graphical user interfaces). These GUIs sit on top of the code, ones and zeros, and actual computation the computer is doing to create a much more accessible interaction plane to a human user.</p><p>Recently, there&#8217;s been a lot of research done to create computer-use agents. These agents learn how to use a mouse to interact with a computer&#8217;s GUI. Thus, these agents are capable of doing the work a human otherwise would have accomplished with that computer.</p><p>However, if we go back to before GUIs, we primarily interacted with computers via the terminal. The terminal is a simple text interface to give the computer a command for the work it needs to do and get information back from the computer.</p><p>The terminal is a <em>text interface</em> that controls the work a computer does. Our current frontier AI models are <em>text based</em> and perfectly suited for this environment. This is what makes Claude Code so effective. It lives in the terminal and interacts with it via text commands.</p><p>Thus, rather than thinking of Claude Code as a <em>coding agent</em>, it&#8217;s much better to realize its full potential by thinking of it as a <em>computer use agent</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M0i5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M0i5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 424w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 848w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 1272w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M0i5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif" width="648" height="291.6" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/deb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:117,&quot;width&quot;:260,&quot;resizeWidth&quot;:648,&quot;bytes&quot;:732581,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/184040970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M0i5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 424w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 848w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 1272w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Digital versus manual work always makes me think of this scene from Space Force.</figcaption></figure></div><p>It&#8217;s had such an explosive impact because its ability to control a computer via the terminal lets it accomplish meaningful work. Anything you can do in the terminal, Claude can too.</p><p>I&#8217;d even argue that it&#8217;s the first step of artificial general intelligence (AGI). Most definitions of AGI describe an AI&#8217;s ability to do general, meaningful work. With our current models, an AI assistant in the terminal accomplishes this. The only thing keeping it from making <em>more</em> of an impact is integration with more systems it can work on.</p><p>Luckily, the terminal helps with this too. The terminal lets you:</p><ul><li><p>Interact with a computer&#8217;s filesystem and applications.</p></li><li><p>Interact with the internet.</p></li><li><p>Run commands for any CLI tool. Any application with terminal commands can be controlled by Claude.</p></li><li><p><em>Code</em>. Anything Claude can&#8217;t do natively via the terminal, it can write code to accomplish and run that code itself. This means Claude can interact with anything that has an API if given proper authentication.</p></li></ul><p>And this doesn&#8217;t even account for <a href="https://modelcontextprotocol.io/docs/getting-started/intro">model context protocol (MCP)</a> which is the agent-native way of declaring its interactions with endpoints.</p><p>You might argue that a true computer agent needs the ability to interact with a computer with more complexity. <strong>I&#8217;d argue that the simplistic and standardized nature of the terminal is what has made the terminal-based computer use agent so successful.</strong></p><ul><li><p><strong>Terminal commands are standardized</strong>. GUIs change their layouts, button positions, and flows with every update. Terminals are a stable, reliable interface.</p></li><li><p><strong>The terminal is inherently programmatic</strong>. It was designed for automation and scripting, which is exactly what an AI agent needs to do. Terminal commands can also be run together, enabling the agent to build complex workflows from simple operations. GUIs were designed for humans to point and click, not for programs to control.</p></li><li><p><strong>Terminal outputs are predictable</strong>. GUI interactions depend on context, view settings, window state, and animations that make it difficult to know what to do next.</p></li><li><p><strong>Terminal errors are parseable text</strong> that an agent can read and act on. GUI errors are modal dialogs or toast notifications that require visual interpretation.</p></li></ul><p>I recommend even non-technical individuals learn how to use Claude Code <em>in the terminal</em>. There&#8217;s a certain level of intuition that you build as you watch the AI work directly in the terminal and as you learn to work in the terminal yourself.</p><p>Some examples worth checking out to get you started:</p><ul><li><p>If you write or script as a content creator, write in markdown format in a GitHub repo. Use the terminal to access that folder on your computer and spin up Claude Code. It can now help you write, critique your work, brainstorm ideas, and more. This article was edited by Claude Code, for example.</p></li><li><p>If you store any information via API, tell Claude Code about it and it can write a script to access that information and add it to its context. For example, I read and store notes in Readwise Reader. It has an API that Claude Code can easily access via a simple Python script. I can then chat with my notes.</p></li></ul><p>Claude Code has made such an incredible impact because it&#8217;s not only good at coding but it&#8217;s an entire terminal agent. If you think about Claude Code this way, it can accomplish much more meaningful work for you.</p><p><strong>Thanks for reading!</strong></p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI's Role in Maduro's Capture | AI for Software Engineers 76]]></title><description><![CDATA[Plus: Half of AI code has security flaws, how to fix AI in education, Nvidia acquihires Groq, AI safety concerns grow, and more]]></description><link>https://www.aiforswes.com/p/76</link><guid isPermaLink="false">https://www.aiforswes.com/p/76</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Wed, 07 Jan 2026 16:01:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MTSy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here are my picks for content you don&#8217;t want miss and everything you should know about AI for January 7, 2026. Enjoy!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MTSy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MTSy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MTSy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png&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;:707240,&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.aiforswes.com/i/183735445?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.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_!MTSy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>My Picks</h2><ul><li><p><strong><a href="https://addyosmani.com/blog/21-lessons/">21 lessons from 21 years at Google</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;fed7ce16-b510-49a1-bbab-87599a1e8ce7&quot;}" data-component-name="MentionToDOM"></span>: Lessons learned from working at Google for 21 years. Two notable lessons: most slow teams are actually misaligned, and the best engineers are obsessed with solving user problems. All are worth reading.</p></li><li><p><strong><a href="https://www.artificialintelligencemadesimple.com/p/reasoning-models-are-a-dead-end-breakdowns">Reasoning models are a dead end</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;62965f14-35b4-42e6-8f8d-da76d7f83b09&quot;}" data-component-name="MentionToDOM"></span>: A valuable take on reasoning models and their lack of interpretability. Reasoning encoded into model weights loses 95% of intermediate branching and produces brittle behavior compared to externalized reasoning infrastructure. A great example of why engineering is so important in AI.</p></li><li><p><strong><a href="https://nik.art/the-suck-is-why-were-here/">The suck is why we&#8217;re here</a></strong>: Some great perspective on writing with AI. The author argues that AI shortcuts the crucial, difficult parts of writing (research, stuck thinking), and that avoiding these &#8220;sucky&#8221; parts sacrifices depth and lasting reward. AI will increase quantity but lower average quality, making genuine effort stand out.</p></li><li><p><strong><a href="https://rambleware.substack.com/p/advent-of-code-2025-with-compute">Advent of Code 2025 with Compute Shaders</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Matthew Carlson&quot;,&quot;id&quot;:35684523,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/275ff4f9-dc9f-423f-820a-837c2693a0f1_144x144.png&quot;,&quot;uuid&quot;:&quot;891fc5ab-0498-4afa-9ce0-895e6cef0d2a&quot;}" data-component-name="MentionToDOM"></span>: An excellent exploration of implementing Advent of Code solutions using GPU compute shaders on Metal. The GPU kept consistent times (~5ms) as problem size grew while CPUs slowed dramatically, demonstrating practical applications for massively parallel problem solving.</p></li><li><p><strong><a href="https://madisonkanna.substack.com/p/building-ai-agents-open-code-and">Building AI Agents, Open Code And Open Source</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Madison Kanna&quot;,&quot;id&quot;:286694,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f82579bb-99e8-411d-9b75-9de1fe268d80_756x756.png&quot;,&quot;uuid&quot;:&quot;b657cf99-3210-41f6-8305-c5895c25f80e&quot;}" data-component-name="MentionToDOM"></span>: I thoroughly enjoyed reading this interview, especially the parts about open versus closed source tools and the motivation behind them. Terminal agents are only going to be more important this year and this does a great job of helping readers understand them.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>Things you should know</h2><h3>AI was used to push narratives in Nicol&#225;s Maduro&#8217;s capture</h3><p>AI-generated media circulated the internet following the US capture of Venezuela&#8217;s president Nicol&#225;s Maduro. Fake images depicted the capture itself, while a deepfake video showed Venezuelans crying tears of joy. Both were used to push specific narratives about the operation.</p><p>Any company serious about AI needs to help viewers discern between AI and non-AI media. The images above were caught by Google&#8217;s SynthID watermark which Google attaches to all AI-generated images using Gemini. Sure, anyone can switch to a non-watermarking tool, but even putting up a small obstacle to generating a fake narrative is a big win.</p><p>Source: <a href="https://spotlight.ebu.ch/p/maduro-capture-fake-image-fact-check">EBU Spotlight on Maduro fake images</a>, <a href="https://www.yahoo.com/news/articles/video-happy-crying-venezuelans-maduro-220200959.html">Yahoo News on fake celebration video</a>, <a href="https://deepmind.google/models/synthid/">Google SynthID</a></p><p>See how SynthID works below:</p><div id="youtube2-9btDaOcfIMY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;9btDaOcfIMY&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/9btDaOcfIMY?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><h3><strong>AI safety concerns mount as AI chatbots face serious scrutiny</strong></h3><p>xAI was fined 120 million euros under the Digital Services Act due to Grok generating sexually explicit images of women and children. Separately, a lawsuit alleges OpenAI is withholding ChatGPT logs after a murder-suicide where transcripts show the chatbot validated a user&#8217;s paranoid delusions.</p><p>AI safety is foundational to ensuring we can apply AI to the applications where it&#8217;s needed. It&#8217;s crazy to me that AI safety teams were previously understaffed or dismissed. Both of the examples above show <em>why</em> AI safety is important and also some of the difficulties that come with ensuring safety.</p><p>Source: <a href="https://tvpworld.com/90899040/-eu-grok-made-sexualized-images-are-appalling">TVP World on Grok</a>, <a href="https://arstechnica.com/tech-policy/2025/12/openai-refuses-to-say-where-chatgpt-logs-go-when-users-die/">Ars Technica on ChatGPT logs</a></p><h3><strong>Half of AI-generated code has security flaws</strong></h3><p>Over 30% of senior developers now ship mostly AI-generated code, and the trade-offs are becoming clear. AI code shows logic errors at 1.75x the human rate, XSS vulnerabilities at 2.74x, and roughly 45% of it has security flaws. PR sizes are up 18%, incidents per PR are up 24%, and change-failure rates have risen 30%. Properly configured AI review tooling catches 70-95% of low-hanging bugs.</p><p>These statistics echo <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">my recent article</a> detailing how AI impacts an organization&#8217;s engineering culture. AI is an amplifier, and if your processes aren&#8217;t solid, AI will make them worse.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;69cafeda-f742-4393-91dc-0519443411af&quot;,&quot;caption&quot;:&quot;I&#8217;ve seen an interesting new fad on social media recently that I like to call &#8220;vibe releasing&#8221;. This is the same as &#8220;vibe coding&#8221; but it takes it one step further and releases the code to production without properly reviewing it first.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI Can&#8217;t Fix a Broken Engineering Culture&#8212;It Can Only Make it Worse&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-12-30T20:10:23.758Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Ju15!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:182991041,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:1,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Source: <a href="https://addyo.substack.com/p/code-review-in-the-age-of-ai">Addy Osmani</a>, <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">AI for Software Engineers</a></p><h3><strong>The best way to fight AI cheating in education is with AI</strong></h3><p>An NYU professor is using AI to conduct oral exams with students at just 42 cents per student. The AI asks follow-up questions and probes understanding in real-time, forcing students to verbally explain concepts rather than paste in AI-generated answers. This follows a trend where some schools have removed online math courses entirely or now require in-person testing as instructors note declining problem-solving skills and increased reliance on copying AI outputs.</p><p>One of my biggest concerns with AI is education. It has potential to be the greatest multiplier but also the worst detriment in this space. As with many other applications, we&#8217;re seeing AI-related problems being combatted with AI-related solutions.</p><p>Source: <a href="https://www.reddit.com/r/technology/comments/1q3plv2/nyu_professor_fights_ai_cheating_with_aipowered/">Reddit discussion on AI oral exams</a></p><h3><strong>Claude Code creator shares his setup for using Claude Code</strong></h3><p>Boris Cherny, who created Claude Code, runs multiple instances at a time with a focus on Opus 4.5 with &#8220;thinking.&#8221; It needs less steering despite being slower per token, which increases velocity in the long run. He also claimed that Claude Code&#8217;s updates are all written entirely by Claude Code itself.</p><p>Separately, a principal engineer at Google mentioned just how far Claude Code has come by saying it can now design specs that took multiple engineers a few months ago. An ex-Google PM commented on this explaining how important it is for engineering teams to be using competitors&#8217; products to improve their own.</p><p>My only addition: stop thinking of Claude Code, Gemini CLI, and Codex as coding agents. Instead, think of them as <em>terminal agents</em>. Anything you can do from the terminal, it&#8217;s possible to get AI to do for you.</p><p>Source: <a href="https://x.com/bcherny/status/2007179832300581177/">Boris Cherny on X</a>, <a href="https://x.com/rakyll/status/2007239758158975130">Jaana Dogan on X</a>, <a href="https://x.com/raizamrtn/status/2007588045357559953/">Raiza Martin on X</a></p><h3><strong>Research to watch in 2026: Recursive Language Models and Manifold-Constrained Hyper-</strong>Connections</h3><p>Recursive Language Models (RLMs) let models handle context windows up to 100x longer than their native limits by breaking inputs into chunks and processing them programmatically. In tests scaling from 8K to 1M tokens, base models degraded sharply while RLMs maintained performance at comparable cost.</p><p>Separately, a technique called Manifold-Constrained Hyper-Connections (mHC) stabilizes model training with only 6.7% overhead, eliminating common instability issues that plague large model runs.</p><p>Both papers tackle fundamental scaling bottlenecks: RLMs at inference time and mHC at training time. If these techniques hold up, they could meaningfully change how we build and deploy large models.</p><p>Source: <a href="https://x.com/a1zhang/status/2007198916073136152/">Alex Zhang on RLMs</a>, <a href="https://arxiv.org/pdf/2512.24880">mHC paper on arXiv</a></p><h3><strong>NVIDIA acquihires Groq through licensing deal</strong></h3><p>Groq signed a licensing deal with NVIDIA that will see about 90% of Groq&#8217;s 400+ employees move to NVIDIA at a $20B valuation. Groq will remain independent and GroqCloud will continue operating. Groq&#8217;s specialty is developing compute with incredibly low-latency inference, something Nvidia can benefit from as it continues to ramp up its research and development of AI compute.</p><p>This is another acquihire within the AI industry. The most recent I can think of was Google acquiring talent from Windsurf which led to Google&#8217;s Antigravity IDE. I see something similar happening at Nvidia where they&#8217;ll come out with even lower latency compute offerings for customers.</p><p>Source: <a href="https://thechipletter.substack.com/p/jensen-groks-groq">The Chip Letter</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Babbage&quot;,&quot;id&quot;:102722254,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F82525b9c-ee3c-4996-916c-54267a4d354b_416x416.png&quot;,&quot;uuid&quot;:&quot;e2cb2593-c9df-4542-aab0-49813aa7c085&quot;}" data-component-name="MentionToDOM"></span></p><h3>More...</h3><ul><li><p>A shape-shifting molecule discovery could change the future of AI hardware. (<a href="https://share.google/IydJeXcQTD83RHwnz">Science Daily on shape-shifting molecules</a>)</p></li><li><p>Micron shares surged over 10% on AI optimism and increased demand for high-performance memory. (<a href="https://share.google/HOYeMAUsA7aYUn9a5">Micron stock coverage</a>)</p></li><li><p>California State Senator introduced a four-year moratorium to ban AI chatbot-equipped toys for minors. (<a href="https://share.google/0I66mWChMWhCIwSra">Coverage of AI toy moratorium</a>)</p></li><li><p>Claude Code can run on-the-go using an iPhone via Termius and mosh to a VM costing about $7/day. (<a href="https://granda.org/en/2026/01/02/claude-code-on-the-go/">Granda.org</a>)</p></li><li><p>Advanced AI could collapse labor&#8217;s share of GDP toward zero, concentrating wealth among capital holders. (<a href="https://x.com/dwarkesh_sp/status/2006505366423745004/">Dwarkesh Patel on X</a>)</p></li><li><p>An excellent overview on the past 10 years of AI. (<a href="https://weightythoughts.com/p/ten-years-of-ai-in-review">Weighty Thoughts</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;820b2e0e-6c86-4d8c-be2a-4ebc7b29488b&quot;}" data-component-name="MentionToDOM"></span>)</p></li><li><p>An interesting read from an author who canceled their technical book publishing deal for various reasons. (<a href="https://austinhenley.com/blog/canceledbookdeal.html">Austin Henley</a>)</p></li><li><p>PostgreSQL dominated 2025, driving major acquisitions and new DBaaS launches across all major cloud vendors. (<a href="https://www.cs.cmu.edu/~pavlo/blog/2026/01/2025-databases-retrospective.html">Databases in 2025: A Year in Review</a>)</p></li><li><p>Two excellent 2025 retrospectives worth reading. (<a href="https://www.ignorance.ai/p/10-ai-stories-that-shaped-2025">Ignorance.ai on 10 AI stories</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Charlie Guo&quot;,&quot;id&quot;:3625174,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bpse!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c9d1a4c-3e17-4463-9b75-8898d2565caa_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;c6150f01-f9f5-438b-9a45-7bfd8e9f74d5&quot;}" data-component-name="MentionToDOM"></span>, <a href="https://simonw.substack.com/p/2025-the-year-in-llms">Simon Willison on the year in LLMs</a>)</p></li></ul><h2>Last week</h2><p>In case you missed it, here&#8217;s last week&#8217;s overview:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;76a25775-ca86-4b6c-85d6-153ceec03dc7&quot;,&quot;caption&quot;:&quot;Happy New Year! Thank you all for your support in 2025! 2026 will be an even better year for AI for Software Engineers! Here&#8217;s a recap of the year, what to look forward to in 2026, and a few questions to help me improve the newsletter. &#128522;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI for Software Engineers: Looking Forward to 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-01-01T15:01:06.217Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bFIJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/looking-forward-2026&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:183019130,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>I&#8217;ve removed the jobs and industry updates from these weekly roundups. I haven&#8217;t been able to fit them properly at this cadence and will be moving them to their own, less frequent articles. Stay tuned!</p><p><strong>Thanks for reading!</strong></p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/76?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/76?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI for Software Engineers: Looking Forward to 2026]]></title><description><![CDATA[Plus, help me improve the newsletter!]]></description><link>https://www.aiforswes.com/p/looking-forward-2026</link><guid isPermaLink="false">https://www.aiforswes.com/p/looking-forward-2026</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 01 Jan 2026 15:01:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bFIJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.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_!bFIJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bFIJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png&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;:39274,&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.aiforswes.com/i/183019130?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.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_!bFIJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Happy New Year! Thank you all for your support in 2025! 2026 will be an even better year for AI for Software Engineers! Here&#8217;s a recap of the year, what to look forward to in 2026, and a few questions to help me improve the newsletter. &#128522;</p><h2>Looking back</h2><p>In 2025, we:</p><ul><li><p>Reached <strong>100 paid subscribers</strong> to become a <strong>Substack Bestseller</strong>.</p></li><li><p>Reached <strong>11,000+ free subscribers</strong>.</p></li><li><p>Hit <strong>#1 on Hacker News</strong>.</p></li><li><p>Underwent two name changes (Society&#8217;s Backend &#8212;&gt; ML for SWEs &#8212;&gt; AI for SWEs).</p></li><li><p>Got a new logo that I think actually works (see image above).</p></li><li><p>Released <strong>38 weekly reports</strong> and many other technical articles.</p></li><li><p>Created <strong><a href="https://github.com/loganthorneloe/ai-for-swes">a repo</a></strong><a href="https://github.com/loganthorneloe/ai-for-swes"> to learn by building</a> (more on this below).</p></li></ul><p>Our top 5 articles of this year were:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;267ea20a-f54d-431d-a6ce-4dd26fa064eb&quot;,&quot;caption&quot;:&quot;[Edit 1] This article has been edited after initial release for clarity. Both the tl;dr and the end section have added information.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;[Revised] You Don&#8217;t Need to Spend $100/mo on Claude Code: Your Guide to Local Coding Models&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-12-20T14:55:12.022Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!fARn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:182132050,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:54,&quot;comment_count&quot;:20,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6799d8f4-8d09-4148-a235-239c14c09144&quot;,&quot;caption&quot;:&quot;Last week I posted a role my team is hiring for on X and LinkedIn (check them out because we&#8217;re still hiring!) and I received hundreds of messages. Sorting through them made one thing clear&#8212;people suck at presenting themselves.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;DMs Are the New Cover Letter: How to Get Hired in AI in 2025/2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-11-29T14:01:07.962Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!69dm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/get-hired-2025-2026&quot;,&quot;section_name&quot;:&quot;&#128188; Career&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:180126605,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:19,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;04b3066b-9bea-48ec-8b57-0e2e55a2720c&quot;,&quot;caption&quot;:&quot;While generative AI has caused discussions about the impact of AI to skyrocket, I&#8217;d argue recommendation systems are the AI most people should be concerned about. They&#8217;ve been around for over a decade and choose what content people consume, what ideas they see, and even influence&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Build Your First Recommendation System (Easy)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-11-11T14:03:14.009Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UUKR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39aac63-172e-4900-9f8d-4d6fa8e7efb5_500x559.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/collaborative-filtering&quot;,&quot;section_name&quot;:&quot;&#128421;&#65039; Technical Guides&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:178561311,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:23,&quot;comment_count&quot;:5,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c63e2f78-86b9-4e48-a48e-5e64ec2322cf&quot;,&quot;caption&quot;:&quot;This is the last article where I&#8217;ll be sharing my recent job market research. In case you missed it, I&#8217;ve also written about the five AI-related jobs every software engineer should know about and the strange reality of the current job market (why it isn&#8217;t just a bad market, but also a weird one).&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Top 10 AI Skills Software Engineers Should Focus On (In Order)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-10-03T13:47:25.962Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!fixK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65f20c-6f9c-4a66-b769-2b905e7a3879_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/the-top-10-2025&quot;,&quot;section_name&quot;:&quot;&#128188; Career&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:173993708,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:17,&quot;comment_count&quot;:2,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f324191c-8e1e-4837-9d86-6e792c6d4bd9&quot;,&quot;caption&quot;:&quot;Welcome to machine learning for software engineers. Each week, I share a lesson in AI from the past week, five must-read resources to help you become a better engineer, and other interesting developments. All content is geared towards software engineers and those that like to build things.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;ML for SWEs 65: The AI bubble is popping and why that's a good thing&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-08-27T18:40:13.894Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!cheO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49128454-e083-4c7e-9240-fb672e11009a_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/65&quot;,&quot;section_name&quot;:&quot;&#128421;&#65039; Weekly AI for SWEs&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:172108142,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:57,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Going forward</h2><p>I plan to:</p><ul><li><p><strong>Add to the AI for SWEs repo and let all of you contribute too</strong>. I want to create more hands-on resources, but I want this repo to be an opportunity for <em>you</em> to create those resources as well.</p></li><li><p><strong>Simplify my approach to writing</strong>. I want think less about what I think will do well and focus more on sharing what I think is most important for all of us to know. I also found myself getting caught up in the process I use for writing, instead of getting caught up in the topic I&#8217;m writing about (which is a great thing!).</p></li><li><p><strong>Add more paid benefits</strong> with a focus on discounted learning and building resources. Thanks to all who&#8217;ve supported me by becoming a paid subscriber. It lets me devote more time to my writing. My plan for 2026 is simple: Make the paid tier to much value it&#8217;s a no brainer and ensure it providers everything you need to make it in AI.</p></li><li><p><strong>Take better care of my own health so I can be more consistent</strong>. There were a few weeks this year where I was unable to write due to my health and I missed writing during those week. Next year, I&#8217;m prioritizing my health.</p></li></ul><p><strong>Now, help me improve AI for Software Engineers!</strong> Answer two questions for me.</p><p>Question 1:</p><div class="poll-embed" data-attrs="{&quot;id&quot;:425907}" data-component-name="PollToDOM"></div><p>Question 2:</p><div class="poll-embed" data-attrs="{&quot;id&quot;:425913}" data-component-name="PollToDOM"></div><p>Question 3:</p><p>As always, thank you for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/looking-forward-2026?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/looking-forward-2026?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI Can’t Fix a Broken Engineering Culture—It Can Only Make it Worse]]></title><description><![CDATA[Notes on Google&#8217;s findings about how AI has impacted software development in 2025 and what your team needs to do to ensure AI works for you instead of against you]]></description><link>https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering</link><guid isPermaLink="false">https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Tue, 30 Dec 2025 20:10:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ju15!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.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_!Ju15!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ju15!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ju15!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png&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;:137654,&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.aiforswes.com/i/182991041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.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_!Ju15!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve seen an interesting new fad on social media recently that I like to call &#8220;vibe releasing&#8221;. This is the same as &#8220;vibe coding&#8221; but it takes it one step further and releases the code to production without properly reviewing it first.</p><p><strong>I can&#8217;t overstate how terrible of an idea this is.</strong></p><p>In fact, this year&#8217;s <a href="https://services.google.com/fh/files/misc/2025_state_of_ai_assisted_software_development.pdf">&#8220;State of AI-assisted Development&#8221; report</a> released by Google centered around one idea:<strong> AI is an amplifier</strong>. It analyzes AI coding metrics from this past and proves that coding with AI makes proper engineering practices more, <em>not less</em>, important.</p><p>It shows that companies with good engineering culture and practices will see AI positively impact their development velocity and companies with bad engineering culture and practices will see the opposite. &#8220;Vibe releasing&#8221; is the definition of a bad engineering practice.</p><p>This article includes everything you should take away from Google&#8217;s report and how it applies to you.</p><h2>Takeaways</h2><p>If you&#8217;re just here for the takeaways, here they are:</p><ul><li><p><strong>2025 was the first year AI had a quantifiable positive impact on software development.</strong></p></li><li><p><strong>Trust</strong> is a huge factor in AI coding tool effectiveness.</p></li><li><p><strong>Companies with bad engineering cultures and practices will see their development velocity slow with AI.</strong> Conversely, companies with good engineering cultures and practices will see their development velocity quicken with AI.</p></li></ul><p>If you want to know the specifics and what your organization should do to ensure AI works for you instead of against you, read on.</p><h2>Report methodology</h2><p>First, let&#8217;s understand how the report was created and how research was conducted. When evaluating metrics, this is always the first step.</p>
      <p>
          <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[What are World Models? | AI for Software Engineers 75]]></title><description><![CDATA[Highlights, current events, industry trends, and career resources for 12/23/2025]]></description><link>https://www.aiforswes.com/p/75</link><guid isPermaLink="false">https://www.aiforswes.com/p/75</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Tue, 23 Dec 2025 14:03:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aeuC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.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_!aeuC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aeuC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!aeuC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!aeuC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!aeuC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aeuC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png&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;:56785,&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.aiforswes.com/i/182389959?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.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_!aeuC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!aeuC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!aeuC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!aeuC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F082f01bf-a0cc-4628-926f-eacc6453611e_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Yann LeCun has confirmed his startup, Advanced Machine Intelligence (AMI), will develop world models and is currently <a href="https://techcrunch.com/2025/12/19/yann-lecun-confirms-his-new-world-model-startup-reportedly-seeks-5b-valuation/">seeking fundraising at a $5B valuation</a>. While headlines focus on the $5B valuation, I care much more about the work.</p><p>Crazy valuations aren&#8217;t uncommon in the world of AI. The potential for this technology is astronomical even if the roadmap to get there is still being discovered. I view AI&#8217;s potential as shifting humanity&#8217;s problem-solving from O(n) (or greater!) complexity potentially to O(1). Once we can solve problems quickly, our rate of advancement will compound and discovery will take off. If this happens, AI will be worth far more than even crazy valuations place it at.</p><p>LeCun is now directly pursuing the same area of research and industry as <a href="https://techcrunch.com/2025/11/12/fei-fei-lis-world-labs-speeds-up-the-world-model-race-with-marble-its-first-commercial-product/">Fei-Fei Li&#8217;s World Labs</a>. He also joins other great minds in AI who have said AI needs a breakthrough beyond scaling the research we currently have. Many are placing a bet on this being world models.</p><p>Put succinctly, world models aim to understand the 3D world and learn more like a human child instead of like a machine. Instead of understanding a statistical correlation between inputs to generate a representative output, world models seek to understand causal physics and spatial reasoning. World Labs puts it well on <a href="https://www.worldlabs.ai/about">their website</a>:</p><blockquote><p>&#8220;We build foundational world models that can perceive, generate, reason, and interact with the 3D world &#8212; unlocking AI&#8217;s full potential through spatial intelligence by transforming seeing into doing, perceiving into reasoning, and imagining into creating.&#8221;</p></blockquote><p>This means world models aren&#8217;t generative but instead make predictions based on abstract representations of the concepts they&#8217;ve learned. Instead of guessing at pixels, <a href="https://ai.meta.com/blog/v-jepa-yann-lecun-ai-model-video-joint-embedding-predictive-architecture/">they focus on higher-level concepts</a>.</p><p>Here&#8217;s an example to illustrate what this means: If we&#8217;re considering a car moving down a street, a generative model wastes compute estimating pixel movement for every leaf on the road. A world model would instead ignore unimportant details and focus on the latent variables that impact its understanding such as the car&#8217;s velocity or the friction between the car and the road. Those details would be used to predict the world&#8217;s next state.</p><p>Practically, this means two things:</p><ol><li><p>World models don&#8217;t waste resources on things that are unimportant for a task.</p></li><li><p>We can use spatial intelligence to train other real-world AI applications without needing to collect new data. Instead, world models can generate (or &#8220;dream&#8221;) their own. This is both very efficient and safer than the alternative (think about an application like self-driving where there is always inherent risk with data collection).</p></li></ol><p>I predict we&#8217;ll be seeing a lot more about world models in 2026 and I&#8217;m curious to see how far we&#8217;ll get. Enjoy this week&#8217;s resources!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><h2>This week&#8217;s curated highlights</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gFhq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gFhq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp 424w, https://substackcdn.com/image/fetch/$s_!gFhq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp 848w, https://substackcdn.com/image/fetch/$s_!gFhq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp 1272w, https://substackcdn.com/image/fetch/$s_!gFhq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gFhq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Gemini 3 Pro vs 2.5 Pro in Pokemon Crystal&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="Gemini 3 Pro vs 2.5 Pro in Pokemon Crystal" title="Gemini 3 Pro vs 2.5 Pro in Pokemon Crystal" srcset="https://substackcdn.com/image/fetch/$s_!gFhq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp 424w, https://substackcdn.com/image/fetch/$s_!gFhq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp 848w, https://substackcdn.com/image/fetch/$s_!gFhq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp 1272w, https://substackcdn.com/image/fetch/$s_!gFhq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dc83dda-4f45-4432-8cea-659467675041_2848x1504.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><a href="https://addyo.substack.com/p/my-llm-coding-workflow-going-into">My LLM coding workflow going into 2026</a>: This is an excellent comprehensive overview of Addy&#8217;s AI coding workflow. The best way to optimize any AI-related workflow is to discuss and share what works with others. I highly recommend checking this out and sharing your workflows with others!</p></li><li><p><a href="https://blog.jcz.dev/gemini-3-pro-vs-25-pro-in-pokemon-crystal">Gemini Plays Pokemon</a>: This report compares the performance of Gemini 2.5 Pro to Gemini 3 Pro playing Pokemon. It&#8217;s an interesting read. Gemini 3 Pro didn&#8217;t just play better; it exhibited creative problem-solving by finding a loophole to multitask.</p></li><li><p><a href="https://x.com/karpathy/status/2002118205729562949/?s=12&amp;rw_tt_thread=True">Andrej Karpathy revealed his 2025 LLM Year in Review</a>: I recommend just reading this, but most interesting is a shift from models imitating humans to reasoning through rewards. Other interesting notes are image model advancements, terminal-based AI, &#8220;jagged intelligence&#8221;, new layers of LLM apps, and the introduction of vibe coding.</p></li><li><p><a href="https://abseil.io/fast/hints.html">Jeff Dean&#8217;s Performance Hints</a>: Jeff Dean updated his guide on engineering principles for performance at scale. The writeup provides a guide to optimizing software performance at the level of a single binary. Performance is a crucial topic for any engineer to understand and is only getting more important in the age of AI.</p></li><li><p><a href="https://ngrok.com/blog/prompt-caching">Sam Rose&#8217;s overview of LLMs/prompt caching</a>: This article gives a great overview of how prompt caching reduces token costs in LLM and it also gives a great high-level overview of LLMs as well using excellent visual elements. I love articles with great visuals and Sam constantly delivers.</p></li><li><p><a href="https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude">Your guide to local coding models</a>: This is my article from this past week that many of you have likely already read. I&#8217;m including it here because I made some mistakes in the initial release that I edited to clarify and it incited some interesting conversation across X, LinkedIn, Substack, and even Hacker News where it reached number 1.</p></li></ul><h2>Things you should know</h2><h3>New &amp; Trends</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;b0c7f7b8-16bd-48b6-ab4b-62c36f4c3c39&quot;,&quot;duration&quot;:null}"></div><p><strong>Google released Gemini 3 Flash, outperforming its previous Pro models</strong></p><ul><li><p>Google released <a href="https://blog.google/products/gemini/gemini-3-flash/">Gemini 3 Flash</a>, the new generation of its smaller model for faster, cheaper applications. It is multimodal, uses 30% fewer tokens than previous models, and is significantly cheaper ($0.50/1M input tokens). The advancements of smaller, cheaper models are much more important than the advancements of large models when it comes to applications and are key to democratizing the technology.</p></li></ul><p><strong>AI coding assistants ship more, but also more bugs</strong></p><ul><li><p>CodeRabbit&#8217;s <a href="https://www.coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report">recent report</a> shows that AI introduces 1.7x more issues than human-written code. Specifically, AI introduces 1.7x more issues, including 75% more logic errors and 3x the readability issues. AI can produce more code faster, but the code tends to be significantly worse. This volume of pull requests also causes reviewer fatigue making it more likely for errors to reach production.</p></li></ul><p><strong>New York governor Kathy Hochul signed RAISE act</strong></p><ul><li><p>Despite an <a href="https://www.whitehouse.gov/presidential-actions/2025/12/eliminating-state-law-obstruction-of-national-artificial-intelligence-policy/">executive order from President Trump</a> to consolidate AI regulation to the federal level, New York governor Kathy Hochul <a href="https://www.benton.org/headlines/new-york-governor-signs-ai-safety-bill-law-ignoring-trump-executive-order">signed the RAISE Act</a> to establish safety standards for large AI companies in New York. This act requires companies with over $500 million in revenue to comply with specific safety standards.</p></li></ul><p><strong>AI data centers have a carbon footprint that matches a small European country</strong></p><ul><li><p>A <a href="https://www.euronews.com/next/2025/12/20/ai-data-centres-could-have-a-carbon-footprint-that-matches-small-european-country-new-stud">new study</a> shows that AI systems could produce roughly the same amount of carbon dioxide as New York City or Norway (about 80 million tons). While this is an estimate (as exact numbers are hard to come by), it shows the environmental impact AI could have and emphasizes that the real long-term problem AI needs to solve is power and energy.</p></li></ul><p><strong>AI has entered the game industry</strong></p><ul><li><p>Roblox Studio is <a href="https://www.artificialintelligence-news.com/news/roblox-brings-ai-into-the-studio-to-speed-up-game-creation/">integrating AI into their platform</a>. This enables users to generate assets with a prompt, use AI for real-time voice translation, and orchestrate work across other creative tools via MCP. The goal of this shift is to enable users to get to market faster and be more profitable.</p></li><li><p>Contrarily, Larian Studios (the creators of Baldur&#8217;s Gate 3) CEO Swen Vincke <a href="https://www.gamespot.com/articles/baldurs-gate-3-dev-embraces-machine-learning-for-tasks-that-nobody-wants-to-do/1100-6531123/">explained Larian only uses of AI in game development</a> for content exploration similar to how they use Google images and art books. This was after they were accused of trying to use AI to replace artists which Vincke explained was false and they&#8217;re actually looking to hire more artists, not replace them.</p></li><li><p>The video game industry has many potential applications for AI, but gamers aren&#8217;t excited about how they&#8217;ll impact the actual games produced. In 2026, I&#8217;m certain we will see it used more as it becomes more cost effective and I&#8217;m curious to see what the usage will be.</p></li></ul><h3>Research</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kiev!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kiev!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!kiev!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!kiev!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!kiev!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kiev!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI Finds Simple Rules Behind Complexity&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="AI Finds Simple Rules Behind Complexity" title="AI Finds Simple Rules Behind Complexity" srcset="https://substackcdn.com/image/fetch/$s_!kiev!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!kiev!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!kiev!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!kiev!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7936be8-2d05-4126-9971-a1de6859a7f9_1920x1080.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Duke scientists created an AI that simplifies complex data</strong></p><ul><li><p><a href="https://www.sciencedaily.com/releases/2025/12/251221091237.htm">Researchers have created a physics-bound deep learning model</a> that takes in complex data and outputs a much simpler, mathematical representation of that data. This is particularly useful in domains with a ton of data but without equations to explain relationships within that data. This AI creates a starting point for a formulaic representation of that data.</p></li></ul><p><strong>OpenAI research on agents and their capabilities</strong></p><ul><li><p>Just a week after discussing OpenAI&#8217;s Code Red, they&#8217;re pumping out research at an astonishing rate. They&#8217;ve released research on <a href="https://openai.com/index/evaluating-chain-of-thought-monitorability/?__readwiseLocation=">chain-of-thought monitorability</a>, <a href="https://openai.com/index/accelerating-biological-research-in-the-wet-lab/?__readwiseLocation=">AI&#8217;s capability to accelerate biological research in the wet lab</a>, and <a href="https://openai.com/index/frontierscience/?__readwiseLocation=">AI&#8217;s ability to perform scientific research tasks</a>. I&#8217;m particularly interested in the first (and you should be too if you&#8217;re building any sort of AI-powered application) and I&#8217;m loving the trend of applying AI to accelerate research.</p></li></ul><h3>Product &amp; Releases</h3><div id="youtube2--Tgc_9uYJLI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;-Tgc_9uYJLI&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/-Tgc_9uYJLI?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><ul><li><p><a href="https://labs.google/cc">Google Labs released CC</a>, an AI agent connected to Gmail, Drive, and Google Calendar to deliver a personalized briefing of your day.</p></li><li><p><a href="https://venturebeat.com/technology/anthropic-launches-enterprise-agent-skills-and-opens-the-standard?__readwiseLocation=">Anthropic released Agent Skills as an open standard</a> so other companies can get on board with integrating them within their products. Anthropic&#8217;s push to release AI standards has gone a long way to solidify their standing in enterprise AI.</p></li><li><p><a href="https://openai.com/index/gpt-5-2-codex">OpenAI released GPT-5.2-Codex</a>, a version of GPT-5.2 for coding that achieves state-of-the-art on SWE-Bench Pro and Terminal-Bench 2.</p></li><li><p>ChatGPT and Codex CLI are <a href="https://simonw.substack.com/p/openai-are-quietly-adopting-skills">also adopting skills</a> similar to Claude.</p></li><li><p>Google introduced <a href="https://blog.google/technology/developers/functiongemma/">FunctionGemma</a>, a small model designed for function calling on edge devices.</p></li></ul><h3>Safety</h3><ul><li><p>OpenAI is upping their safety game by adding <a href="https://openai.com/index/updating-model-spec-with-teen-protections/?__readwiseLocation=">under-18 principles to their model spec</a> for users aged 13 to 18. OpenAI has also <a href="https://openai.com/index/ai-literacy-resources-for-teens-and-parents">created a guide for families and parents</a> for responsible AI use.</p></li></ul><h2>Career resources</h2><h3>State of the market</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IRfp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IRfp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!IRfp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!IRfp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!IRfp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IRfp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png" width="1080" height="1080" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1080,&quot;width&quot;:1080,&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="https://substackcdn.com/image/fetch/$s_!IRfp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!IRfp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!IRfp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!IRfp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc9c25e5-54f8-4ea1-9b2e-0d54415bfbcd_1080x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>AWS CEO says replacing junior engineers with AI is foolish</strong></p><ul><li><p>Amazon has a ruthless history of optimizing for cost, even at the detriment of its employees. When the CEO of AWS states<a href="https://www.finalroundai.com/blog/aws-ceo-ai-cannot-replace-junior-developers"> replacing junior engineers is a bad idea</a>, you know it&#8217;s true. The software engineering industry will be in a bad place when we need more senior engineers but we&#8217;ve abandoned the junior engineers that should become them.</p></li></ul><p><strong>Not everyone is convinced by AI coding</strong></p><ul><li><p>This is an <a href="https://www.technologyreview.com/2025/12/15/1128352/rise-of-ai-coding-developers-2026/">interesting article</a> I actually helped contribute to that highlights the gap in expectation versus reality for AI in software engineering. The expectation is set very high that engineers should be able to greatly increase their productivity by using AI coding tools. In reality, it takes time for developers to figure out these tools and how to use them productively. In fact, the initial onboarding can even cause a development velocity hit that isn&#8217;t reflected in performance expectations.</p></li></ul><h3>Interesting opportunities</h3><ul><li><p><strong>Google Ads is still hiring!</strong> There&#8217;s an aggressive push to hire top talent in Google Ads. We&#8217;re specifically looking for mid- to senior-level developers with experience in Python, C++, Go, or Java that have worked on large-scale distributed systems. GenAI, ML, and ads experience is a plus. If you&#8217;re interested, check out the open roles <a href="https://www.google.com/about/careers/applications/jobs/results/?q=software%20engineer%20ads&amp;hl=en">here</a> and/or DM me with any questions.</p></li></ul><h3>Learning Resources</h3><ul><li><p><strong><a href="https://www.packtpub.com/en-us/data/concept/machine-learning">Packt has a deal for $10 for any technical ebook</a></strong>. This goes down to as low as $5.99 if you buy 10 or more. This is the best deal I&#8217;ve seen yet to build a technical book library.</p></li><li><p>This <strong><a href="https://github.com/mlabonne/llm-course">comprehensive open-source roadmap</a></strong> will walk you from LLM fundamentals to deploying advanced LLMs. It structures the learning path into 3 distinct tracks: LLM Fundamentals, the LLM scientist, and the LLM engineer.</p></li><li><p>Check out <strong><a href="https://www.byhand.ai/p/agentic-ai-problem-set?__readwiseLocation=">an Agentic AI problem set</a></strong> developed by @Prof. Tom Yeh. Professor Yeh writes AI by Hand, an excellent resource for understanding the inner workings of machine learning models. This resource is great to test your knowledge of AI agents and upskill while you&#8217;re at it.</p></li></ul><p><strong>If you missed last week&#8217;s article, you can check it out here:</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;24f3a80c-54cf-47c1-b9c8-8fb2701ba9ec&quot;,&quot;caption&quot;:&quot;Hi Everyone!&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI for Software Engineers 74: What You Need to Know for 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-12-16T20:24:59.786Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!8XQ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/74&quot;,&quot;section_name&quot;:&quot;&#128421;&#65039; Weekly AI for SWEs&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:181823828,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:10,&quot;comment_count&quot;:2,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/75?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/75?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[[Revised] You Don’t Need to Spend $100/mo on Claude Code: Your Guide to Local Coding Models]]></title><description><![CDATA[What you need to know about local model tooling and the steps for setting one up yourself]]></description><link>https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude</link><guid isPermaLink="false">https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sat, 20 Dec 2025 14:55:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fARn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.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="https://substackcdn.com/image/fetch/$s_!fARn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fARn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fARn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fARn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fARn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fARn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80981,&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://www.aiforswes.com/i/182132050?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fARn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fARn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fARn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fARn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>[Edit 1] This article has been edited after initial release for clarity. Both the tl;dr and the end section have added information.</em></p><div><hr></div><p><em>[Edit 2] This hypothesis was <strong>actually wrong</strong> and thank you to everyone who commented! </em></p><p><em>Here&#8217;s a full explanation of where I went wrong. I want to address this mistake as I realize it might have a meaningful impact on someone's financial position.</em></p><p><em>I&#8217;m <strong>not </strong>editing the actual article except where absolutely necessary so it doesn&#8217;t look like I&#8217;m covering up the mistake&#8212;I want to address it. Instead, I&#8217;ve included the important information below. </em></p><p><em>There is one takeaway this article provides that definitely holds true:</em></p><ul><li><p><em>Local models are far more capable than they&#8217;re given credit for, even for coding.</em></p></li></ul><p><em>It also explains the process of setting up a local coding model and technical information about doing so which is helpful for anyone wanting to set up a local coding model. I would still recommend doing so.</em></p><p><em><strong>But do I want someone reading this to immediately drop their coding subscription and buy a maxed out MacBook Pro? No, and for that reason I need to correct my hypothesis from &#8216;Yes, with caveats&#8217; to &#8216;No&#8217;.</strong></em></p><p><em>This article was not an empirical assessment, but should have been to make these claims. Here&#8217;s where I went wrong:</em></p><ul><li><p><em>While local models can likely complete ~90% of the software development tasks that something like Claude Code can, the last 10% is the most important. When it comes to your job, that last 10% is worth paying more for to get that last bit of performance.</em></p></li><li><p><em>I realized I looked at this more from the angle of a hobbiest paying for these coding tools. Someone doing little side projects&#8212;not someone in a production setting. I did this because I see a lot of people signing up for $100/mo or $200/mo coding subscriptions for personal projects when they likely don&#8217;t need to. <strong>I would not recommend running local models as a company</strong> instead of giving employees access to a tool like Claude Code.</em></p></li><li><p><em>While larger local models are very capable, as soon as you run other development tools (Docker, etc.) that also eat into your RAM, your model needs to be much smaller and becomes a lot less capable. I didn&#8217;t factor this in in my experiment.</em></p></li></ul><p><em>So, really, the takeaway should be that these are incredible supplemental models to frontier models when coding and could potentially save you on your subscription by dropping it down a tier, but practically they&#8217;re not worth the effort in situations that might affect your livelihood.</em></p><div><hr></div><p>Exactly a month ago, I made a hypothesis: Instead of paying $100/mo+ for an AI coding subscription, my money would be better spent upgrading my hardware so I can run local coding models at a fraction of the price (and have better hardware too!).</p><p>So, to create by far the most expensive article I&#8217;ve ever written, I put my money where my mouth is and bought a MacBook Pro with 128 GB of RAM to get to work. My idea was simple: Over the life of the MacBook I&#8217;d recoup the costs of it by not paying for an AI coding subscription.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!msVz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!msVz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png 424w, https://substackcdn.com/image/fetch/$s_!msVz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png 848w, https://substackcdn.com/image/fetch/$s_!msVz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png 1272w, https://substackcdn.com/image/fetch/$s_!msVz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!msVz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png" width="618" height="394.7759197324415" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1196,&quot;resizeWidth&quot;:618,&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="https://substackcdn.com/image/fetch/$s_!msVz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png 424w, https://substackcdn.com/image/fetch/$s_!msVz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png 848w, https://substackcdn.com/image/fetch/$s_!msVz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png 1272w, https://substackcdn.com/image/fetch/$s_!msVz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9d7143-3d10-4898-923a-7bc517ca615a_1196x764.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>After weeks of experimenting and setting up local AI models and coding tools, I&#8217;ve come to the conclusion that <strong>my hypothesis was <s>correct, with nuance</s></strong>,<strong> not correct </strong>[see edit 2 above] which I&#8217;ll get into later in this article.</p><p>In this article, we cover:</p><ul><li><p>Why local models matter and the benefits they provide.</p></li><li><p>How to view memory usage and make estimates for which models can run on your machine and the RAM demands for coding applications.</p></li><li><p>Walk through setting up your own local coding model and tool step-by-step.</p></li></ul><p>Don&#8217;t worry if you don&#8217;t have a high-RAM machine! You can still follow this guide. I&#8217;ve included some models to try out with a lower memory allotment. I think you&#8217;ll be surprised at how performant even the smallest of models is. In fact, there hasn&#8217;t really been a time during this experiment that I&#8217;ve been disappointed with model performance.</p><p>If you&#8217;re only here for the local coding tool setup, skip to the section at the bottom. I&#8217;ve even included a link to my modelfiles in that section to make setup even easier for you. Otherwise, let&#8217;s get into what you need to know.</p><div><hr></div><h2><strong>tl;dr</strong>:</h2><ul><li><p><strong>Local coding models are very capable</strong>. Using the right model and the right tooling feels only half a generation behind the frontier cloud tools. I would say that for about 90% of developer work local models are more than sufficient. Even small 7B parameter models can be very capable. <strong>[Edited to add in this next part]</strong> Local models won&#8217;t compete with frontier models at the peak of performance, but can complete many coding tasks just as well for a fraction of the cost. They&#8217;re worth running to bring costs down on plenty of tasks but potentially not worth using if there&#8217;s a free tier available that performs better.</p></li><li><p><strong>Tools matter a lot</strong>. This is where I experienced the most disappointment. I tried many different tools with many different models and spent a lot of time tinkering. I ran into situations where the models wouldn&#8217;t call tools properly or their thinking traces wouldn&#8217;t close. Both of these rendered the tool essentially useless. Currently, tooling seems very finicky and if there&#8217;s anything developers need to be successful, it&#8217;s good tools.</p></li><li><p><strong>There&#8217;s a lot to consider when you&#8217;re actually working within hardware constraints.</strong> We take the tooling set up for us in the cloud for granted. When setting up local models, I had to think a lot about trade-offs in performance versus memory usage, how different tools compared and affected performance, nuances in types of models, how to quantize, and other user-facing factors such as time-to-first-token and tokens per second.</p></li><li><p><strong>Google threw a wrench into my hypothesis</strong>. The local setup is almost a no-brainer when compared to a $100/mo+ subscription. Compared to free or nearly-free tooling (such as Gemini CLI, Jules, or Antigravity) there isn&#8217;t quite as strong of a monetary justification to spend more on hardware. There are benefits to local models outside of code, though, and I discuss those below. </p></li></ul><p>If the tl;dr was helpful, don&#8217;t forget to subscribe to get more in your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Why local models?</h2><p>You might wonder why local models are worth investing in at all. The obvious answer is <strong>cost</strong>. By using your own hardware, you don&#8217;t need to pay a subscription fee to a cloud provider for your tool. There are also a few less obvious and underrated reasons that make local models useful.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OUrN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OUrN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OUrN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OUrN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OUrN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OUrN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140073,&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://www.aiforswes.com/i/182132050?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OUrN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OUrN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OUrN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OUrN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c71b176-e011-4694-915e-217a2e3ce9b5_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>First: <strong>Reliability</strong>. Each week there seems to be complaints about performance regression within AI coding tools. Many speculate companies are pulling tricks to save resources that hurt model performance. With cloud providers, you&#8217;re at the mercy of the provider for when this happens. With local models, this only happens when you cause it to.</p><p>Second: <strong>Local models can apply to </strong><em><strong>far </strong></em><strong>more applications</strong>. Just the other day I was having a discussion with my dad about AI tooling he could use to streamline his work. His job requires studying a lot of data&#8212;a perfect application for an LLM-based tool&#8212;but his company blocks tools like Gemini and ChatGPT because a lot of this analysis is done on intellectual property. Unfortunately, he isn&#8217;t provided a suitable alternative to use.</p><p>With a local model, he wouldn&#8217;t have to worry about these IP issues. He could run his analyses without data ever leaving his machine. Of course, any tool calling would also need to ensure data never leaves the machine, but local models get around one of the largest hurdles for useful enterprise AI adoption. Running models on a local machine opens up an entire world of privacy- and security-centric AI applications that are expensive for cloud providers to provide.</p><p>Finally: <strong>Availability. </strong>Local models are available to you as long as your machine is. This means no worrying about your provider being down or rate limiting you due to high traffic. It also means using AI coding tools on planes or in other situations where internet access is locked down (think highly secure networks).</p><p>While local models do provide significant cost savings, the flexibility and reliability they provide can be even more valuable.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LxTS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LxTS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LxTS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LxTS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LxTS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LxTS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136854,&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://www.aiforswes.com/i/182132050?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LxTS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LxTS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LxTS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LxTS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d992f8-225f-4b06-8fb9-e9d7544cf2d5_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Understanding memory</h2><p>To get going with local models you must understand the memory needed to run them on your machine. Obviously, if you have more memory you&#8217;ll be able to run better models, but understanding the nuances of that memory management will help you pick out the right model for your use case.</p><p>Local AI has two parts that eat up your memory: The model itself and the model&#8217;s context window.</p><p>The actual model has billions of parameters and all those parameters need to fit into your memory at once. Excellent local coding models start at around 30 billion (30B, for short) parameters in size. By default, these models use 16 bits to represent parameters. At 16 bits with 30B parameters, a model will take 60 GB of space in RAM (16 bits = 2 bytes per parameter, 30 billion parameters = 60 billion bytes which equals about 60 GB).</p><p>The second (and potentially larger) memory consuming part of local AI is the model&#8217;s context window. This is the model inputs and outputs that are stored so the model can reference them in future requests. This gives the model memory.</p><p>When coding with AI, we prefer this window to be as large as it can because we need to fit our codebase (or pieces of it) within our context window. This means we target a context window of 64,000 tokens or larger. All of these tokens will also be stored in RAM.</p><p>The important thing to understand about context windows is that the memory requirement per-token for a model depends on the size of that model. Models with more parameters tend to have large architectures (more hidden layers and larger dimensions to those layers). Larger architectures mean the model must store more information for each token within its key-value cache (context window) because it stores information for each token for each layer.</p><p>This means choosing an 80B parameter model over a 30B parameter model requires more memory for the model itself and also more memory for the same size context window. For example, a 30B parameter model might have a hidden dimension of 5120 with 64 layers while an 80B model has a hidden dimension of 8192 with 80 layers. Doing some back-of-the-napkin math shows us that the larger model requires approximately 2x more RAM to maintain the same context window as the 30B parameter model (see formula below).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cVCW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cVCW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cVCW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cVCW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cVCW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cVCW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:109124,&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://www.aiforswes.com/i/182132050?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cVCW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cVCW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cVCW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cVCW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F954df13c-8e66-4c72-a6a1-1182619a5e2b_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Luckily, there are tricks to better manage memory. First, there are architectural changes that can be made to make model inference more efficient so it requires less memory. The model we set up at the end of this article uses Hybrid Attention which enables a much smaller KV cache enabling us to fit our model and context window in less memory. I won&#8217;t get into more detail in this article, but you can read more about that model and how it works <a href="https://qwen.ai/blog?id=4074cca80393150c248e508aa62983f9cb7d27cd&amp;from=research.latest-advancements-list">here</a>.</p><p>The second trick is quantizing the values you&#8217;re working with. <a href="https://www.byteplus.com/en/what-is/quantization">Quantization means converting a continuous set of values into a smaller amount of distinct values</a>. In our case, that means taking a set of numbers represented by a certain number of bits (16, for example) and reducing it to a set of numbers represented by fewer bits (8, for example). To put it simply, in our case we&#8217;re converting the numbers representing our model to a smaller bit representation to save memory while keeping the value representations within the model relatively equal.</p><p>You can quantize both your model weights and the values stored in your context window. When you quantize your model weights, you &#8220;remove intelligence&#8221; from the model because it&#8217;s less precise in its representation of innate information. I&#8217;ve also found the performance hit when going from 16 to 8 bits within the model to be much less than 8 to 4.</p><p>We can also quantize the values in our context window to reduce its memory requirement. This means we&#8217;re less precisely representing the model&#8217;s memory. Generally speaking, KV cache (context window) quantization is considered more destructive to model performance than weight quantization because it <a href="https://arxiv.org/pdf/2510.10964">causes the model to forget details in long reasoning traces</a>. Thus, you should test quantizing the KV cache to ensure it doesn&#8217;t degrade model performance for your specific task.</p><p>In reality, like the rest of machine learning, optimizing local model performance is an experimentation process and real-world machine learning requires understanding the practical limitations and capabilities of models when applied to specific applications.</p><p>Here are a few more factors to understand when setting up a local coding model on your hardware:</p><h3><strong>Instruct versus non-instruct</strong></h3><p>Instruct models are post-trained to be well-suited for chat-based interactions. They&#8217;re given chat pairings in their training to be optimized for excellent back-and-forth chat output. Non-instruct models are still trained LLMs, but focus on next-token prediction instead of chatting with a user. For our case, when using a chat-based coding tool (CLI or chat agent in your IDE) we need to use an instruct model. If you&#8217;re setting up an autocomplete model, you&#8217;ll want to find a model specifically post-trained for it (such as Qwen2.5-Coder-Base or DeepSeek-Coder-V2).</p><h3><strong>Serving tools</strong></h3><p>You need a tool to serve your local LLM for your coding tool to send it requests. On a MacBook, there are two primary options: MLX and Ollama.</p><p>Ollama is the industry standard and works on non-Mac hardware. It&#8217;s a great serving setup on top of llama.cpp that makes model serving almost plug-and-play. Users can download model weights from Ollama easily and can configure modelfiles with custom parameters for serving. Ollama can also serve a model once and make it available to multiple tools.</p><p>MLX is a Mac-specific framework for machine learning that is optimized specifically for Mac hardware. It also retrieves models for the user from a community collection. I&#8217;ve found Ollama to be very reliable in its model catalog, while MLX&#8217;s catalog is community sourced and can sometimes be missing specific models. Models are sourced from the community so a user can convert a model to MLX format themselves. MLX requires a bit more setup on the user&#8217;s end, but serves models faster because it doesn&#8217;t have a layer providing the niceties of Ollama on top of it.</p><p>Either of these is great, but I chose MLX to maximize what I can get with my RAM, but Ollama is probably the more beginner-friendly tool here.</p><h3><strong>Time-to-first-token and tokens per second</strong></h3><p>In real-world LLM applications it&#8217;s important that the model is able to serve its first token for a request in a reasonable amount of time and continue serving tokens at a speed that enables the user to use the model for its given purpose. If we have a high-performance model running locally, but it only serves a few tokens per second, it wouldn&#8217;t be useful for coding.</p><p>This is something taken for granted with cloud-hosted models that is a real consideration when working locally on constrained hardware. Another reason I chose MLX as my serving platform is because it served tokens up to 20% faster than Ollama. In reality, Ollama served tokens fast enough so I don&#8217;t think using MLX is necessary specifically for this reason for the models I tried.</p><h3><strong>Performance trade-offs</strong></h3><p>There are many ways to optimize local models and save RAM. It&#8217;s difficult to know which optimization method works best and the impact each has on a model especially when using them in tandem with other methods.</p><p>The right optimization method also depends on the application. In my experience, I find it best to prioritize larger models with more aggressive model quantization over smaller models with more precise model weights. Since our application is coding, I would also prioritize a less-quantized KV cache and using a smaller model to ensure reasoning works properly while not sacrificing the size of our context window.</p><h3><strong>Coding tools</strong></h3><p>There are many tools to code with local models and I suggest trying until you find one you like. Some top recommendations are <a href="https://opencode.ai/">OpenCode</a>, <a href="https://aider.chat/">Aider</a>, <a href="https://github.com/QwenLM/qwen-code">Qwen Code</a>, <a href="https://roocode.com/">Roo Code</a>, and <a href="https://www.continue.dev/">Continue</a>. Make sure to use a tool compatible with <a href="https://bentoml.com/llm/llm-inference-basics/openai-compatible-api">OpenAI&#8217;s API standard</a>. While this should be most tools, this ensures a consistent model/tool connection. This makes it easier to switch between tools and models as needed.</p><h2>Getting set up</h2><p>I&#8217;ll spare you the trial and error I experienced getting this set up. The one thing I learned is that <strong>tooling matters a lot</strong>. Not all coding tools are created equal and not all of the models interact with tools equally. I experienced many times where tool calling or even running a tool at all was broken. I also had to tinker quite a bit with many of them to get them to work.</p><p>If you&#8217;re a PC enthusiast, an apt comparison to setting up local coding tools versus using the cloud offerings available is the difference between setting up a MacBook versus a Linux Laptop. With the Linux laptop, you might get well through the distro installation only to find that the drivers for your trackpad aren&#8217;t yet supported. Sometimes it felt like that with local models and hooking them to coding tools.</p><p>For my tool, I ended up going with Qwen Code. It was pretty plug-and-play as it&#8217;s a fork of Gemini CLI. It supports the OpenAI compatibility standard so I can easily sub in different models and affords me all of the niceties built into Gemini CLI that I&#8217;m familiar with using. I also know it&#8217;ll be supported because both the Qwen team and Google DeepMind are behind the tool. The tool is also open source so anyone can support it as needed.</p><p>For models, I focused on GPT-OSS and Qwen3 models since they were around the size I was looking for and had great reviews for coding. I ended up deciding to use Qwen3-Coder models because I found it performed best and because GPT-OSS frequently gave me &#8220;I cannot fulfill this request&#8221; responses when I asked it to build features.</p><p>I decided to serve my local models on MLX, but if you&#8217;re using a non-Mac device give Ollama a shot. A MacBook is an excellent machine for serving local models because of its unified memory architecture. This means the RAM can be allotted to the CPU or GPU as needed. MacBooks can also be configured with <em>a ton</em> of RAM. For serving local coding models, more is always better.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4IEy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4IEy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4IEy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4IEy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4IEy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4IEy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:133148,&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://www.aiforswes.com/i/182132050?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4IEy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4IEy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4IEy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4IEy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82350e-d1e0-420d-b4f3-7ea2343d3407_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xqrl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xqrl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Xqrl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Xqrl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Xqrl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xqrl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:171397,&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://www.aiforswes.com/i/182132050?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xqrl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Xqrl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Xqrl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Xqrl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52524f56-954d-4bd9-8014-0bfb55cc2812_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve shared my <a href="https://github.com/loganthorneloe/modelfiles">modelfiles repo</a> for you to reference and use as needed. I&#8217;ve got a script set up that automates much of the below process. Feel free to fork it and create your own modelfiles or star it to come back later.</p><ol><li><p>Install <a href="https://github.com/ml-explore/mlx">MLX</a> or download <a href="https://ollama.com/download">Ollama</a> (the rest of this guide will continue with MLX but details for serving on Ollama can be found <a href="https://docs.ollama.com/quickstart">here</a>).</p></li><li><p>Increase the VRAM limitation on your MacBook. macOS will automatically limit VRAM to 75% of the total RAM. We want to use more than that. Run sudo sysctl iogpu.wired_limit_mb=110000 in your terminal to set this up (adjust the mb setting according to the RAM on your MacBook). This needs to be set each time you restart your MacBook.</p></li><li><p>Run pip install -U mlx-lm to install MLX for serving community models.</p></li><li><p>Serve the model as an OpenAI compatible API using python -m mlx_lm.server --model mlx-community/Qwen3-Next-80B-A3B-Instruct-8bit. This command both runs the server and downloads the model for you if you haven&#8217;t yet. This particular model is what I&#8217;m using with 128GB of RAM. If you have less RAM, check out smaller models such as mlx-community/Qwen3-4B-Instruct-2507-4bit (8 GB RAM), mlx-community/Qwen2.5-14B-Instruct-4bit (16 GB RAM), mlx-community/Qwen3-Coder-30B-A3B-Instruct-4bit (32 GB RAM), or mlx-community/Qwen3-Next-80B-A3B-Instruct-4bit (64-96 GB RAM).</p></li><li><p>Download <a href="https://github.com/QwenLM/qwen-code">Qwen Code</a>. You might need to install Node Package Manager for this. I recommend using <a href="https://github.com/nvm-sh/nvm">Node Version Manager</a> (nvm) for managing your npm version.</p></li><li><p>Set up your tool to access an OpenAI compatible API by entering the following settings:</p><ol><li><p>Base URL: <a href="http://localhost:8080/v1">http://localhost:8080/v1</a> (should be the default MLX serves your model at)</p></li><li><p>API Key: mlx</p></li><li><p>Model Name: mlx-community/Qwen3-Next-80B-A3B-Instruct-8bit (or whichever model you chose).</p></li></ol></li><li><p>Voila! Your coding model tool should be working with your local coding model.</p></li></ol><p>I recommend opening Activity Monitor on your Mac to monitor memory usage. I&#8217;ve had cases where I thought a model should fit within my memory allotment but it didn&#8217;t and I ended up using a lot of swap memory. When this happens your model will run <strong>very </strong>slowly.</p><p><strong>One tip I have for using local coding models</strong>: Focus on managing your context. This is a great skill even with cloud-based models. People tend to YOLO their chats and fill their context window, but I&#8217;ve found greater performance by ensuring that just what my model needs is sitting in my context window. This is even more important with local models that may need an extra boost in performance and are limited in their context.</p><h2>Was my hypothesis correct?</h2><p>My original hypothesis was: <strong>Instead of paying $100/mo+ for an AI coding subscription, my money would be better spent upgrading my hardware so I can run local coding models at a fraction of the price.</strong></p><p>I would argue that<s>&#8212;yes!&#8212;</s><strong>no </strong>[see edit 2 above], it is correct. If we crunch the numbers, a MacBook with 128 GB is $4700 plus tax. If I spend $100/mo for 5 years, a coding subscription would cost $6000 in that same amount of time. Not only do I save money, but I also get a much more capable machine for anything else I want to do with it.</p><p>[This paragraph was added in after initial release of this article] It&#8217;s important to note that local models will <strong>not</strong> reach the peak performance of frontier models; however, they will likely be able to do most tasks just as well. The value of using a local model doesn&#8217;t come from raw performance, but from supplementing the cost of higher performance models. A local model could very well let you drop your subscription tier for a frontier coding tool or utilize a free tier as needed for better performance and run the rest of your tasks for free.</p><p><strong>It&#8217;s also important to note that local models are only going to get better and smaller</strong>. This is the worst your local coding model will perform. I also wouldn&#8217;t be surprised if cloud-based AI coding tools get more expensive. If you figure you&#8217;re using greater than the $100/mo tier right now or that the $100/mo tier will cost $200/mo in the future, the purchase is a no-brainer. It&#8217;s just difficult to stomach the upfront cost.</p><p>From a performance standpoint, I would say the maximum model running on my 128 GB RAM MacBook right now feels about half a generation behind the frontier coding tools. That&#8217;s excellent, but something to keep in mind as that half a generation might matter to you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wAV2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wAV2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wAV2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wAV2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wAV2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wAV2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:162037,&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://www.aiforswes.com/i/182132050?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wAV2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wAV2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wAV2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wAV2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F922da413-1147-4a89-bbd0-fefdd78bc8cb_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>One wrench thrown into my experiment is how much free quota Google hands out with their different AI coding tools. It&#8217;s easy to purchase expensive hardware when it saves you money in the long run. It&#8217;s much more difficult when the alternative is free.</p><p>Initially, I considered my local coding setup to be a great pair to Google&#8217;s free tier. It definitely performs better than Gemini 2.5 Flash and makes a great companion to Gemini 3 Pro. Gemini 3 Pro can solve more complex tasks with the local model doing everything else. This not only saves quota on 3 Pro but also provides a very capable fallback for when quota is hit.</p><p>However, this is foiled a bit now that <a href="https://blog.google/products/gemini/gemini-3-flash/">Gemini 3 Flash</a> was just announced a few days ago. It shows benchmark numbers much more capable than Gemini 2.5 Flash (and even 2.5 Pro!) and I&#8217;ve been very impressed with its performance. If that&#8217;s the free tier Google offers, it makes local coding models less fiscally reasonable. The jury is still out on how well Gemini 3 Flash will perform and how quota will be structured, but we&#8217;ll have to see if local models can keep up.</p><p>I&#8217;m very curious to hear what you think! Tell me about your local coding setup or ask any questions below.</p><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[What You Need to Know for 2026 | AI for Software Engineers 74]]></title><description><![CDATA[In-demand job skills, MCP goes to The Linux Foundation, OpenAI&#8217;s Code Red, and more]]></description><link>https://www.aiforswes.com/p/74</link><guid isPermaLink="false">https://www.aiforswes.com/p/74</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Tue, 16 Dec 2025 20:24:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8XQ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.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_!8XQ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8XQ2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!8XQ2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!8XQ2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!8XQ2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8XQ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png&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;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!8XQ2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!8XQ2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!8XQ2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!8XQ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf98e245-a726-4a77-8ac5-735cf0be3157_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hi Everyone!</p><p>Welcome to the weekly update edition of AI for Software Engineers! I go through everything software engineers should understand about AI by filtering noise and contextualizing what matters. I tend to focus on current events, tooling, research, and other interesting content.</p><p>This was an incredible week. In this edition, we discuss:</p><ul><li><p>The AI industry&#8217;s shift toward practicality</p></li><li><p>The Linux Foundation taking over MCP</p></li><li><p>OpenAI&#8217;s Code Red and what that actually means</p></li><li><p>Developer tool updates</p></li><li><p>The in-demand skills for the 2026 software engineering job market</p></li><li><p>The learning resources to learn those skills</p></li></ul><p>&#8212;</p><p><strong>tl;dr:</strong></p><p><em>It&#8217;ll be easier for software engineers to break into AI next year. If you want to do so, focus on developing a skillset in AI cybersecurity, building agents, and MLOps and specifically aim to understand agent workflows, evals, and protocols. Agents will still be a primary focus, but the complexity of building systems with them is much better understood.</em></p><p><em>MCP is now under the stewardship of The Linux Foundation to encourage open standards. OpenAI&#8217;s Code Red is about them aligning their priorities to reach positive revenue. Many developer tools have seen updates/releases. Companies are actually seeing a return on their agent development investments.</em></p><p><em>More detail on all this below and interesting opportunities.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p><strong>Before we get into it, some housekeeping.</strong></p><p>A few updates:</p><ul><li><p>We&#8217;ve got a new logo! It&#8217;ll be representing the newsletter and will be seen around more. It might even be on some swag soon&#8230;</p></li><li><p>As always, I&#8217;m ironing out the format of these weekly updates to be more beneficial for both me when doing my research and you when reading. I&#8217;m trying to make it a bit more interactive. You can now leave comments to help drive the direction of the newsletter. I&#8217;m also trying to find resources for you to learn everything the skills I write about.</p></li><li><p>I&#8217;m working on a way to get readers more involved in the newsletter. Don&#8217;t forget that we&#8217;ve got an <a href="http://mlroadmap.io">ML roadmap</a> to help anyone learn ML fundamentals and an <a href="https://github.com/loganthorneloe/ai-for-swes">AI for SWEs</a> repo to get hands-on with building AI-related products. I&#8217;m looking to make these resources more community-oriented soon.</p></li></ul><div><hr></div><h3><strong>Partner with AI for Software Engineers!</strong></h3><p>If you want to support AI for Software Engineers and get viewed by 11,000+ developers each week, reach out to sponsor an issue. I&#8217;m particularly interested in excellent learning resources, developer tools, and career opportunities.</p><div><hr></div><h3>What&#8217;s Been on My Mind</h3><p>This past week has seen a shift in the AI industry toward practicality. Recently, we&#8217;ve seen influential voices mention that the economic impact of AI hasn&#8217;t been living up to the hype. Most notably, we&#8217;ve seen <a href="https://www.youtube.com/watch?v=lXUZvyajciY">Andrej Karpathy</a> and <a href="https://www.youtube.com/watch?v=aR20FWCCjAs">Ilya Sutskever</a> mention this during their most recent appearances on the Dwarkesh podcast.</p><p>I&#8217;ve been thinking about this a lot for two reasons:</p><ol><li><p>The actual statistics about the job market don&#8217;t match what I&#8217;m noticing about everyday work.</p></li><li><p>I&#8217;ve been working on AI integration into developer workflows at work with world-class engineers and it&#8217;s much more complicated and cutting edge than we had anticipated.</p></li></ol><p>First, a recent study reported a <a href="https://digitaleconomy.stanford.edu/wp-content/uploads/2025/08/Canaries_BrynjolfssonChandarChen.pdf">severe decline in job listings for junior developers</a>. Almost frighteningly so&#8212;to the point that the industry will be heavily impacted in the coming years as we don&#8217;t have enough junior engineers to fill the demand we need.</p><p>Everyone said AI would kill software engineering, but it turns out this has very little to do with it actually taking jobs and more to do with AI hype convincing leadership that it can.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NqO0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NqO0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png 424w, https://substackcdn.com/image/fetch/$s_!NqO0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png 848w, https://substackcdn.com/image/fetch/$s_!NqO0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!NqO0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NqO0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png" width="1196" height="1316" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1316,&quot;width&quot;:1196,&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="https://substackcdn.com/image/fetch/$s_!NqO0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png 424w, https://substackcdn.com/image/fetch/$s_!NqO0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png 848w, https://substackcdn.com/image/fetch/$s_!NqO0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!NqO0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fd2123b-685d-4ad7-953a-6188e8c01493_1196x1316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>From my research and daily work, I would expect the number of junior developer positions to have increased. AI makes junior developers much more capable when given to them at a company with a good engineering culture (I&#8217;ll include more on this in a separate article next week. There&#8217;s actually an entire study to prove this is the case and it&#8217;s super interesting).</p><p>Honestly, It&#8217;s kind of a cheat code for companies to hire junior engineers in a market like this. Companies that get their pick of the most talented engineers for less. We&#8217;ve also never had so many tools to increase onboarding velocity and enable developers to build more.</p><p>What my team at Google is seeing are tons of opportunities to apply AI to developer and machine learning workflows and speedups, but applying these properly is much more complicated than one might think. A lot of thought needs to go into security and ensuring system performance. AI evals are much more difficult than regular test suites.</p><p>In 2026, we&#8217;ll see more applications of AI explored and productionization of agents mature. <strong>It&#8217;ll be even easier for software engineers to get involved with AI</strong> as companies realize the useful applications of AI and the headcount required to achieve it.</p><p>If you want to get into AI as a software engineer in 2026, these are the top three skills I&#8217;d focus on:</p><ul><li><p><strong>Building agents</strong>. Agents will continue to build in 2026 and companies will narrow on their most impactful applications. These applications will far outnumber the supply of developers able to build them.</p></li><li><p><strong>MLOps</strong>. This has been an incredibly valuable skill for about a decade now and will only get more valuable in the coming years. More companies using AI means more models are being trained. Companies will need engineers that understand that training process and can build the infra necessary to make it happen.</p></li><li><p><strong>AI Cybersecurity</strong>. You wouldn&#8217;t believe the security and privacy complexities non-deterministic systems introduce. This is another article I&#8217;ve got in the works and something we&#8217;ve been deeply exploring at Google. If you can understand this, there will be opportunities available.</p></li></ul><p>Links to learn each are included in the &#8216;Learning Resources&#8217; section at the bottom.</p><h3><strong>The last edition of AI for Software Engineers</strong></h3><p>In case you missed the last AI for SWEs, here it is. There&#8217;s more on agents, Ilya&#8217;s podcast appearance, and the importance of AI security there. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;cf1dd50e-4fbc-4671-bf9d-d216f2187210&quot;,&quot;caption&quot;:&quot;Welcome to AI for SWEs where I share everything software engineers need to know about AI from the past week. This week has seen fewer but more important headlines. I&#8217;ve detailed them below.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI for SWEs 73: What Ilya Saw and the Time of TPUs&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter for software engineers serious about AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-12-02T14:30:27.603Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1c8f9f3-cd0c-4a69-96a5-caaf7ae78c18_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/73&quot;,&quot;section_name&quot;:&quot;&#128421;&#65039; Weekly AI for SWEs&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:180442053,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>Things you should know about</h3><p><strong>Software engineering is going agentic</strong></p><p>We already know that <a href="https://cdn.sanity.io/files/4zrzovbb/website/cd77281ebc251e6b860543d8943ede8d06c4ef50.pdf">nearly 90% of organizations are using AI to code</a>, but now agents are making their way into enterprises. <a href="https://claude.com/blog/how-enterprises-are-building-ai-agents-in-2026">57% of organizations are deploying agents for multi-stage</a> workflows with 16% of those being cross-team workflows. In 2026, 81% of teams plan to use agents with 39% of those agents being developed for multi-step workflows.</p><p>Interestingly, <a href="https://claude.com/blog/how-enterprises-are-building-ai-agents-in-2026">80% of organizations are reporting a return on their investment</a>. As we&#8217;ve mentioned previously, this is a number that is <em>very </em>difficult to quantify. What does ROI actually mean in multi-step agentic workflows? It greatly depends on the workflow and the goals it aims to achieve. There isn&#8217;t a universal standard for quantifying this uptick in velocity.</p><p>The use of agents and AI is extending beyond traditional software engineering tasks (code planning, generation, document, review, etc.&#8212;where they&#8217;re seeing a 59% increase in productivity) to tasks like data analysis and report generation where they&#8217;re seeing similar gains.</p><p>I highly recommend reading <a href="https://cdn.sanity.io/files/4zrzovbb/website/cd77281ebc251e6b860543d8943ede8d06c4ef50.pdf">Anthropic&#8217;s 2026 State of AI Agents Report</a>, even if you only read the foreword. If you want me to go more in-depth into this so we can really get into how enterprises are using AI and the ROI they&#8217;re achieving, comment at the bottom of this article.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/74/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/74/comments"><span>Leave a comment</span></a></p><p><strong>OpenAI declares a &#8216;Code Red&#8217;</strong></p><p>OpenAI <a href="https://fortune.com/2025/12/02/sam-altman-declares-code-red-google-gemini-ceo-sundar-pichai/">declared a Code Red</a> internally as competitors have started stealing market share. Most notably, Google is stealing is gaining both consumer and enterprise market share in AI tools and Anthropic has increased their revenue considerably to the point where they&#8217;re <a href="https://www.reuters.com/business/retail-consumer/anthropic-plans-an-ipo-early-2026-ft-reports-2025-12-03/">considering IPO&#8217;ing in 2026</a>.</p><p>I believe this is being largely overblown by the public. OpenAI has revolutionized the consumer understanding of LLM products and <a href="https://www.msn.com/en-us/news/technology/openai-s-chatgpt-loses-some-market-share-to-gemini-but-retains-lead-report/ar-AA1RXG0k">continue to lead in that area</a>. Over the past three years, they&#8217;ve been competing with (and beating) a company of Google&#8217;s size as a startup. In reality, Google&#8217;s resources far outnumber OpenAI&#8217;s own. What we&#8217;re seeing is OpenAI figuring out the focus of their product offerings to become revenue positive.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Sdip!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Sdip!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png 424w, https://substackcdn.com/image/fetch/$s_!Sdip!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png 848w, https://substackcdn.com/image/fetch/$s_!Sdip!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png 1272w, https://substackcdn.com/image/fetch/$s_!Sdip!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Sdip!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png" width="1456" height="1035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1035,&quot;width&quot;:1456,&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="https://substackcdn.com/image/fetch/$s_!Sdip!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png 424w, https://substackcdn.com/image/fetch/$s_!Sdip!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png 848w, https://substackcdn.com/image/fetch/$s_!Sdip!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png 1272w, https://substackcdn.com/image/fetch/$s_!Sdip!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F612ab909-7bda-4c0b-917d-9a5aea71da55_2048x1456.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Anthropic is a great example of why this is important. Six months to a year ago, many individuals counted Anthropic out of the AI race because of their size and less prominent standing. In reality, they&#8217;re almost revenue positive and are consistently beating larger companies in their areas of focus, the most notable of which is coding.</p><p>We&#8217;re seeing OpenAI figure out the same right now as they continue to push their product offerings forward.</p><p><strong>The Linux Foundation now owns Model Context Protocol (MCP)</strong></p><p>The Linux Foundation is a non-profit organization that has been dedicated to fostering the growth of open-source software for decades. Some examples of software they steward are The Linux Kernel, Kubernetes, Node.js, and PyTorch. They have a history of maintaining vendor neutrality and facilitating open collaboration.</p><p>The <a href="https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation">Agent AI Foundation (AAIF) is a directed fund under The Linux Foundation</a>. It&#8217;s a joint partnership between major players in AI including OpenAI, Google, and Anthropic. The goal of the AAIF is to maintain agentic AI transparency and collaboration to ensure the technology benefits everyone and open standards continue to be developed and maintained.</p><p>MCP will join the AAIF as a founding project to bring AI open standards under one roof. This is great news for all of us as open standards make it much easier to actually build and apply new technologies.</p><p><strong>Developer tools continue to grow</strong></p><p>So many developer tools are being developed and updated each week. Here are some notable developments in a rapid fire format:</p><p>You can now <a href="https://blog.google/technology/developers/deep-research-agent-gemini-api/">build applications with Gemini Deep Research Agent</a> integration. / Google leases <a href="https://www.kaggle.com/benchmarks/google/facts/leaderboard">the FACTS Benchmark Suite</a>, a benchmark for testing a model&#8217;s accuracy and groundedness. / <a href="https://huggingface.co/blog/ggml-org/model-management-in-llamacpp">llama.cpp server now includes a router mode</a> that lets you dynamically load, unload, and switch between models without restarting by running each model in its own process. / ChatGPT is <a href="https://simonwillison.net/2025/Dec/12/openai-skills/">adopting skills</a> / Gemini CLI <a href="https://developers.googleblog.com/pick-up-exactly-where-you-left-off-with-session-management-in-gemini-cli/">introduces session management</a>. / Thinking Machines has <a href="https://x.com/rown/status/1999544121984245872/?s=12&amp;rw_tt_thread=True">released Tinker to everyone</a>. / Mistral releases <a href="https://github.com/mistralai/mistral-vibe">Mistral Vibe</a>, their AI CLI coding tool.</p><h3>My picks for the week</h3><p>These are the videos and articles from this past week I think are most worth watching/reading outright. I highly recommend you don&#8217;t miss them:</p><ul><li><p><a href="https://thechipletter.substack.com/p/tpu-mania?__readwiseLocation=">TPU Mania</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Babbage&quot;,&quot;id&quot;:102722254,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F82525b9c-ee3c-4996-916c-54267a4d354b_416x416.png&quot;,&quot;uuid&quot;:&quot;34964953-a738-4b84-99f8-e26553668857&quot;}" data-component-name="MentionToDOM"></span>: Google&#8217;s recent decision to sell its TPUs externally and the speed of the TPU v5p (2.8X faster than v4) have created a major &#8220;vibe-shift&#8221; in the industry, setting up the most keenly fought architectural contest since CISC vs. RISC in the 1980s.</p></li><li><p><a href="https://www.youtube.com/watch?v=KUekLTqV1ME">Researchers Built a Tiny Economy. AIs Broke It Immediately</a> [Video]: In the SimWorld delivery economy, AI agents high in &#8220;openness to experience&#8221; became &#8220;shopaholics,&#8221; kept buying unused scooters, and went broke, while conscientious agents were the &#8220;boring winners&#8221; that achieved high profits by focusing strictly on the task at hand.</p></li><li><p><a href="https://www.artificialintelligencemadesimple.com/p/how-to-use-claude-code-for-maximum?__readwiseLocation=">How to use Claude Code for Maximum Impact</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;81d7e092-9e79-4629-82c7-4f1b11f6e44a&quot;}" data-component-name="MentionToDOM"></span>: Enterprise adoption of Claude Code, demonstrated at companies like Doctolib, drastically cuts engineering time by allowing engineers to replace legacy testing infrastructure in hours instead of weeks, helping them ship features 40% faster.</p></li><li><p><a href="https://developer.nvidia.com/blog/top-5-ai-model-optimization-techniques-for-faster-smarter-inference/?__readwiseLocation=">Top 5 AI Model Optimization Techniques for Faster, Smarter Inference</a>: Discusses optimization techniques like Quantization-Aware Training (QAT) and Pruning plus knowledge distillation, which make models cheaper, smaller, and more memory efficient to operate in production.</p></li><li><p><a href="https://cameronrwolfe.substack.com/p/olmo-3">Olmo 3 and the Open LLM Renaissance</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Cameron R. Wolfe, Ph.D.&quot;,&quot;id&quot;:29736521,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/69aba7df-b571-4609-aa47-fc2d031c11b8_1242x1595.jpeg&quot;,&quot;uuid&quot;:&quot;c335a7db-b483-4730-a4f5-4003c161114b&quot;}" data-component-name="MentionToDOM"></span>: The Olmo 3 family of models (7B and 32B) is unique in that it is &#8220;fully open,&#8221; releasing model checkpoints, all training data, and training code, making it an unprecedented and comprehensive starting point for open LLM research.</p></li></ul><h3>The state of the market</h3><p><a href="https://www.artificialintelligence-news.com/news/ceos-still-betting-on-ai-strategy-vs-return-on-investment-in-2026/">CEOs are still betting huge on AI in 2026</a>. As mentioned above, there&#8217;s a huge demand for developers that can build agentic AI systems. This means taking a problem, prototyping an agentic solution as needed, and building the entire system. This means understanding complex, multi-step workflows and the work that go into ensuring these systems are productionized.</p><p>To learn this, I&#8217;d focus on understanding (resources for learning each at the bottom of this article):</p><ul><li><p><strong>Evals</strong>. These are like tests for LLMs and agentic systems. All software engineers know that testing gets much more complex when systems are non-deterministic and that&#8217;s what makes evals so complicated.</p></li><li><p><strong>Protocols</strong>. If you haven&#8217;t spin up an MCP server so your favorite CLI tool can access a resource you need it to. MCP servers are huge for integration into agentic workflows and the best way to learn them is by building one.</p></li><li><p><strong>Agentic workflow patterns</strong>. There are certain patterns to building agents that are followed for specific use cases. I&#8217;ve linked a guide in the &#8216;Learning Resources&#8217; section.</p></li></ul><p>If you want any of these skills to be added to the AI for SWEs hands-on learning repo, comment which you&#8217;d like to see at the bottom of this article.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/74/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/74/comments"><span>Leave a comment</span></a></p><h3>Interesting opportunities</h3><p>If your company is hiring, you can reach over 11,000+ developers by including it in this newsletter. If you&#8217;re interested, <a href="mailto:loganthorneloe@gmail.com">reach out to me</a>.</p><p><strong>Google Ads is aggressively hiring top talent</strong></p><p>If you&#8217;re interested in working at Google Ads and you have experience with large-scale distributed systems, working in Ads, working in ML/AI, or solving complex problems at scale, please reach out! Languages of particular interest are C++, Go, and Python, but those are not a limiting factor. You can DM me <a href="https://substack.com/@loganthorneloe">here</a>, on <a href="http://x.com/loganthorneloe">X</a>, on <a href="http://linkedin.com/in/loganthorneloe">LinkedIn</a>, or <a href="mailto:loganthorneloe@google.com">hit up my email</a>.</p><p>Please make sure to include information about yourself and why you&#8217;re a good fit in the DM/email. I will not respond to just &#8216;Hello&#8217; (see <a href="http://aka.ms/nohello">aka.ms/nohello</a>).</p><p><strong>Anthropic is hiring eval talent and accepting applications for their Anthropic Fellows Program</strong></p><p>If you aren&#8217;t on X, I&#8217;d highly recommend lurking there. If you hate the algorithm, let me know and I can help you out. Companies are aggressively seeking applicants on X and I&#8217;m guessing this is due to AI-related problems on LinkedIn.</p><p>Anthropic is <a href="https://x.com/Mike_A_Merrill/status/1998613766167212089?rw_tt_thread=True&amp;__readwiseLocation=">looking for talent</a> to build the next generation of evals and eval infra. They are also taking applications for their <a href="https://x.com/anthropicai/status/1999233249579794618/?s=12&amp;rw_tt_thread=True">Anthropic Fellows Program</a> which is a full-time research commitment with mentorship from Anthropic researchers. It has about a 40% chance of a full-time offer after completion if your work is excellent. Definitely check it out.</p><p><strong>Thinking Machines is looking for many research engineers to fill ML infra positions</strong></p><p>Thinking Machines has <a href="https://job-boards.greenhouse.io/thinkingmachines">multiple ML infra-related research engineer positions</a>. They&#8217;re especially cool because they&#8217;re a cross between research and engineering (meaning you&#8217;re building at the cutting edge of AI) but they also seem to be highly user-centric.</p><p><strong>Google is hiring student researchers</strong></p><p>Google is hiring student researchers for 2026 to work at the cutting edge of AI. If you&#8217;re into multi-agent AI systems, RAG, prompt optimization, or self-improving agents, please <a href="https://x.com/tuvllms/status/2000700760674459756/?s=12&amp;rw_tt_thread=True">apply</a>! Again, this is another job opportunity they&#8217;re sourcing through X. If you&#8217;re not on X, join and message me!</p><p>I&#8217;ll be adding more in the opportunities section as I come up with a better way to organize and keep track of all of them.</p><h3>Learning resources</h3><ul><li><p><strong>Reinforcement Learning</strong>: <a href="https://x.com/cwolferesearch/status/2000681396575129950/?s=12&amp;rw_tt_thread=True">Stanford&#8217;s Deep Reinforcement Learning</a> lectures on YouTube are world class lectures accessible entirely for free.</p></li><li><p><strong>Agentic Workflow Patterns</strong>: ByteByteGo newsletter recently released <a href="https://blog.bytebytego.com/p/top-ai-agentic-workflow-patterns">an article detailing these patterns at a high-level</a>. Definitely something to be familiar with.</p></li><li><p><strong>MLOps</strong>: I recommend checking out the <a href="https://mlops.community/">MLOps community</a> and the resources they have available. You can also find them on Substack: MLOps.</p></li><li><p><strong>AI Cybersecurity</strong>: I don&#8217;t have a good resource for this yet. If you do let me know! Tagging <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Prashant Kulkarni&quot;,&quot;id&quot;:25417073,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71fe9b81-96f6-4edf-ac1f-1f75aa70e314_616x614.jpeg&quot;,&quot;uuid&quot;:&quot;e29f65f4-47d6-4c79-b437-b853fed0525f&quot;}" data-component-name="MentionToDOM"></span> in case he has a resource for this.</p></li><li><p><strong>Building Agents</strong>: I&#8217;ve heard good things about <a href="http://deeplearning.ai">DeepLearning.ai</a>&#8217;s course on building AI agents. Check it <a href="https://www.deeplearning.ai/courses/agentic-ai/?utm_campaign=The%20Batch&amp;utm_source=hs_email&amp;utm_medium=email&amp;_hsenc=p2ANqtz-_k4q-Yl0Xna4yeebcx02VcnM52GRlLWi_s0_ruSnM7QDFEMcki0s9o9OJP_4Z0a9FJ5oS7">out</a>.</p></li><li><p><strong>Agent Evals</strong>: Same with evals, also check out <a href="http://deeplearning.ai">DeepLearning.ai</a>. They&#8217;ve got a <a href="https://www.deeplearning.ai/short-courses/evaluating-ai-agents/">short course</a> to get started on agent evals. I&#8217;ll continue looking for something more in-depth.</p></li><li><p><strong>Agent Protocols</strong>: I recommend <a href="https://huggingface.co/learn/mcp-course/en/unit0/introduction">HuggingFace&#8217;s MCP Course</a> to get started. Still looking for resources on other protocols.</p></li></ul><p><strong>Thanks for reading!</strong></p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/74?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/74?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI for SWEs 73: What Ilya Saw and the Time of TPUs]]></title><description><![CDATA[Plus, the White House unifies US AI research and Antigravity exposes why agents are so hard to build]]></description><link>https://www.aiforswes.com/p/73</link><guid isPermaLink="false">https://www.aiforswes.com/p/73</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Tue, 02 Dec 2025 14:30:27 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b1c8f9f3-cd0c-4a69-96a5-caaf7ae78c18_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Welcome to AI for SWEs where I share everything software engineers need to know about AI from the past week. This week has seen fewer but more important headlines. I&#8217;ve detailed them below.</em></p><p><em>Also, the Rapid Fire and Career Development sections are now exclusive to paid subscribers. Thanks for reading!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.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="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><h3><strong>Ilya Sutskever declares the age of scaling over and the age of research begun</strong></h3><div id="youtube2-aR20FWCCjAs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;aR20FWCCjAs&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/aR20FWCCjAs?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><blockquote><p>&#8220;You look at the evals and you go, &#8216;Those are pretty hard evals.&#8217; They are doing so well. But the economic impact seems to be dramatically behind.&#8221;</p></blockquote><p>Ilya Sutskever and Dwarkesh Patel recently discussed AGI, current AI paradigms, and scaling on Dwarkesh&#8217;s podcast. Ilya brought up two topics vital for any software engineer working with AI.</p><p><strong>First: Application is the most important thing in AI.</strong> We&#8217;re seeing impressive models that excel at evaluations and benchmarks but lack the expected economic impact. AI research is advancing rapidly, but usefulness comes from understanding how to apply it. This means identifying practical applications and understanding the complexity of engineering systems for that application.</p><p><strong>Second: We are returning to the age of AI research.</strong> From 2012 to 2020, we were focused on research&#8212;developing effective architectures and models. Around 2020, we entered the scaling phase where we realized we could achieve impressive results by simply increasing data and compute. Now that we&#8217;ve scaled, we&#8217;re realizing that we need to explore further developments to continue advancing AI, so we&#8217;re back to research.</p><p>I&#8217;ve often stated that reaching AGI will need a new architecture or a fundamental research breakthrough. Current models are impressive and useful, but they&#8217;re insufficient for the promises of AGI.</p><p>Safe Super Intelligence is now focusing on pushing the next frontier of AI. I <strong>highly</strong> recommend watching this episode. I could listen to Ilya speak for hours.</p><h3><strong>Google Antigravity exposes critical agent vulnerabilities in local coding environments</strong></h3><p>I&#8217;m a huge Antigravity fan. I believe there&#8217;s a better way to code with AI than just a chat interface, tab autocomplete, and reviewing agent output, and Antigravity has a great chance at figuring this out.</p><p>Over the past week, Antigravity has leaked sensitive information and engineers should understand why&#8212;not just to use Antigravity, but also to build with AI. This is an issue applicable to all AI agents.</p><p>A lot of software engineers are building agents to automate developer tasks, which is great. The best way to start learning and building with AI is by automating your own tasks. The problem is that building AI agents introduces security and safety concerns not present in deterministic systems.</p><p>For a good example, read about Antigravity ingesting hidden text into its context window and that hidden text being used <a href="https://simonwillison.net/2025/Nov/25/google-antigravity-exfiltrates-data/">to collect and exfiltrate sensitive workspace files</a>. Prompt injection can also cause Antigravity to <a href="https://www.promptarmor.com/resources/google-antigravity-exfiltrates-data">read a user&#8217;s .env file</a> and ingest sensitive information into its context window.</p><p>Agents may also complete tasks that a user didn&#8217;t intend. When an agent has access to a user&#8217;s local environment, this can be a huge issue. Read about Antigravity deleting the contents of a user&#8217;s drive <a href="https://old.reddit.com/r/google_antigravity/comments/1p82or6/google_antigravity_just_deleted_the_contents_of/">here</a>.</p><p>I&#8217;ll be writing a more in-depth guide on agent safety soon.</p><h3><strong>Google&#8217;s TPUs are the best business decision of the 2010s</strong></h3><p>This week highlighted just how advantageous Google&#8217;s TPUs are and just how few people understand this. Google is the only company that controls its entire AI stack including hardware, models, and applications. <strong>When developing AI, the only company Google has to wait on is itself.</strong></p><p>This control stems from a business decision made over a decade ago to invest in AI-specific hardware. Google was the first true AI company and has been heavily investing in AI applications since the early 2010s, including machine learning libraries, infrastructure for training large-scale models, talent, and, most critically, TPUs.</p><p>TPUs provide the most significant advantage. Setting up and integrating new processors into data centers is incredibly time, capital, and resource intensive. Starting this process today would require years of work just to get it workable at scale.</p><p>Given that TPUs were <a href="https://x.com/rohanpaul_ai/status/1993423206561280283/?s=12&amp;rw_tt_thread=True">designed specifically to be energy efficient</a> for tensor processing, Google has an entire stack built to increase machine learning development velocity and keep it resource efficient.</p><p>It makes sense, then, that other companies training large AI models would want to take advantage of this. This is why major generative AI players like <a href="https://www.anthropic.com/news/expanding-our-use-of-google-cloud-tpus-and-services">Anthropic</a> and <a href="https://www.reuters.com/business/meta-talks-spend-billions-googles-chips-information-reports-2025-11-25/#:~:text=The%20move%20would%20mark%20a%20departure%20from,centers%20and%20could%20sharply%20expand%20the%20market">Meta</a> are making deals to use TPUs, and why companies in capital-intensive settings, such as high-frequency training firms, are switching to TPUs in droves.</p><p>There&#8217;s a huge demand for AI chips right now, as seen by the many startups succeeding in the space. And over time, we&#8217;ll just see more companies adopting TPUs.</p><h3><strong>The White House unifies AI federally</strong></h3><p>President Trump <a href="https://venturebeat.com/ai/what-enterprises-should-know-about-the-white-houses-new-ai-manhattan-project">signed an executive order, the &#8220;Genesis Mission,&#8221;</a> on November 24th, 2025. This order aims to federally harness AI to revolutionize scientific discovery and innovation. It&#8217;s an effort of national significance, compared to the urgency and importance of Manhattan Project or the Apollo program and focused on integrating federal resources to accelerate scientific and technological breakthroughs.</p><div id="youtube2-zdbVtZIn9IM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;zdbVtZIn9IM&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/zdbVtZIn9IM?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>A year ago, AI was widely discussed as a true national asset and a competitive advantage on a global scale, similar to weapons of mass destruction. Considering that biases and information are trained into AI models, allowing another nation to build your models for you is an inherent national security risk.</p><p>The Genesis Mission establishes the American Science and Security Platform. This secure AI ecosystem combines various machine learning assets, such as compute power, models, and datasets. The platform enables &#8220;closed-loop AI systems&#8221; to conduct research autonomously. The idea is that these closed-loop AI systems can complete research in weeks that would take humans months or even a year.</p><p>This mission combines efforts from academia, all 17 Department of Energy national facilities, and industry leaders, including Microsoft, IBM, OpenAI, Google, Anthropic, NVIDIA, and Oracle. As far as I know, this is the first serious federal push to combine U.S. assets to advance AI.</p><p>Note that this mission builds on other Trump-era policies like promoting AI exports, preventing biased data, and enabling AI-driven research developments.</p><h2><strong>Logan&#8217;s Picks</strong></h2><ul><li><p><a href="https://www.aiforswes.com/p/get-hired-2025-2026">DMs Are the New Cover Letter: How to Get Hired in AI in 2025/2026</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;id&quot;:43759292,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;uuid&quot;:&quot;032f2a1f-c89d-410e-bb94-8d6a122c2ffc&quot;}" data-component-name="MentionToDOM"></span>: DMs are super important in a market where job listings are heavily saturated and this is my guide for how you should DM others for job opportunities based on my experience posting a job opportunity a few weeks ago.</p></li><li><p><a href="https://cas-bridge.xethub.hf.co/xet-bridge-us/692cfec93b25b81d09307b94/2d0aa38511b9df084d12a00fe04a96595496af772cb766c516c4e6aee1e21246?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Credential=cas%2F20251201%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20251201T180347Z&amp;X-Amz-Expires=3600&amp;X-Amz-Signature=e35839962a81ea92878218b8237b9d4f7cbedd048b8184511539399835191718&amp;X-Amz-SignedHeaders=host&amp;X-Xet-Cas-Uid=public&amp;response-content-disposition=inline%3B+filename*%3DUTF-8%27%27paper.pdf%3B+filename%3D%22paper.pdf%22%3B&amp;response-content-type=application%2Fpdf&amp;x-id=GetObject&amp;Expires=1764615827&amp;Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc2NDYxNTgyN319LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2FzLWJyaWRnZS54ZXRodWIuaGYuY28veGV0LWJyaWRnZS11cy82OTJjZmVjOTNiMjViODFkMDkzMDdiOTQvMmQwYWEzODUxMWI5ZGYwODRkMTJhMDBmZTA0YTk2NTk1NDk2YWY3NzJjYjc2NmM1MTZjNGU2YWVlMWUyMTI0NioifV19&amp;Signature=e7lMqXGVTc3ce2vnTSrRKo6Lc0FC5wdz-iNBr0kurSGIP%7EhuzZVK39xr3ts58%7Eom4K4WO14QVuCerZhStuRtuRWP7TUeiDsDjd7MmaZQwFzrXRzdl6vigGTw9jKPhhclIvDF56Oj6ZUhrzTIBZiTkvCWXYOitK1tWW7hvqOgiojBhIu47wql39tea-qluYn008Wr4g2FMwH2vAiKCX8A2jQ7sUIzzbiAf2H3UKnJmp81zBGbhd-s0QDQN%7EYUB5y-MPB%7Euy8xdm5erXUweggiAiUS5mmB22cYEcgQp8VOMN%7Ew5UNv5NkU9-rt2Kb%7E3VFfUgTdi1YD50HOclWSMGv5ng__&amp;Key-Pair-Id=K2L8F4GPSG1IFC">Launching DeepSeek-V3.2</a>: The new reasoning-first model balances inference cost with performance, positioned at GPT-5&#8211;level performance and supporting &#8220;Thinking in Tool-Use&#8221;. The release includes a new massive agent training-data synthesis method covering 1,800+ environments.</p></li><li><p><a href="https://weightythoughts.com/p/bubble-bubble-toil-and-trouble">Bubble, Bubble, Toil and Trouble</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;5549bb60-7092-465b-856a-2f0d96c52d48&quot;}" data-component-name="MentionToDOM"></span>: Wang distinguishes between financial bubbles (leverage-driven) and tech bubbles (forecast-driven). Tech bubbles are hard to time because they often overshoot initially but deliver revolution in a later &#8220;Gen2&#8221; phase once infrastructure matures.</p></li><li><p><a href="https://addyo.substack.com/p/treat-ai-generated-code-as-a-draft">Treat AI-Generated code as a draft</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;effc51e1-5132-4244-9758-64692a3aa613&quot;}" data-component-name="MentionToDOM"></span>: Developers must treat AI code as a draft, verifying every line to prevent bug proliferation and skill erosion. Teams should enforce strict review processes and consider manual implementation for critical logic.</p></li><li><p><a href="https://www.seangoedecke.com/bad-code-at-big-companies/">How good engineers write bad code at big companies</a>: Bad code at big companies is often a structural result of high engineer churn and incentivized fungibility rather than incompetence. Frequent reassignments mean most changes are made by engineers new to the codebase.</p></li></ul><h2><strong>In case you missed it&#8230;</strong></h2><p>In last week&#8217;s AI for Software Engineers, we discussed Gemini 3 Pro, Cloud Opus 4.5, and Olmo 3, all three important model releases. You can find last week&#8217;s issue here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9eeca63d-ee87-4e64-a186-2f5d18adf02d&quot;,&quot;caption&quot;:&quot;Welcome to the nearly 1000 new subscribers to AI for SWEs in the past week (yes, we changed our name&#8212;more on that below!). We&#8217;re excited to have you and to explore building AI together.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI for SWEs 72: Gemini 3 Pro, Claude Opus 4.5, and Olmo 3&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter for software engineers serious about AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-11-25T14:49:19.296Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b7a1fecd-53d6-4394-83fc-eafedac56620_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/72&quot;,&quot;section_name&quot;:&quot;&#128421;&#65039; Weekly AI for SWEs&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:179921704,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:17,&quot;comment_count&quot;:1,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Cv3E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5671c204-f5b4-496e-b779-622b52d7e674_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2><strong>Upskill</strong></h2><h3><strong>Interesting Learning Resources</strong></h3><ul><li><p>The MCP Workbook aids in learning <a href="https://www.byhand.ai/p/mcp-workbook">agent design</a> using an interactive &#8220;by-hand&#8221; pedagogy to understand complex architectures.</p></li></ul>
      <p>
          <a href="https://www.aiforswes.com/p/73">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[DMs Are the New Cover Letter: How to Get Hired in AI in 2025/2026]]></title><description><![CDATA[How you should go about DM'ing others for job opportunities and a few other tips to stand out]]></description><link>https://www.aiforswes.com/p/get-hired-2025-2026</link><guid isPermaLink="false">https://www.aiforswes.com/p/get-hired-2025-2026</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sat, 29 Nov 2025 14:01:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!69dm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week I posted a role my team is hiring for on <a href="https://x.com/loganthorneloe/status/1991522062922576371?s=20">X</a> and <a href="https://www.linkedin.com/posts/loganthorneloe_my-team-is-hiring-an-ml-infra-engineer-activity-7397287759121440768-Q7Nn?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAACCXi0QBtoiJ7yjbk0l56QXNhUiFrM-g12U">LinkedIn</a> (check them out because we&#8217;re still hiring!) and I received hundreds of messages. Sorting through them made one thing clear&#8212;people suck at presenting themselves.</p><p>It&#8217;s a tough market right now and differentiation is more important than ever. Most great jobs aren&#8217;t found by cold applying to positions, but through one&#8217;s network. DMs are the new cover letter and understanding how to DM properly is paramount to optimally present oneself.</p><p>This article uses my experience on the hiring side of DMs to teach you how to DM for a job properly. I share this primarily because I think it&#8217;s important and AI for Software Engineers readers should stand out, but also because I learned a lot about what I was doing incorrectly too.</p><p>I&#8217;ve split this into five parts. In this new</p><p>sletter, I explain:</p><ol><li><p>The current job climate and why that&#8217;s the first thing to understand.</p></li><li><p>How to set up a good elevator pitch.</p></li><li><p>Why your resume is still important.</p></li><li><p>The things you should avoid.</p></li><li><p>One final tip.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!69dm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!69dm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png 424w, https://substackcdn.com/image/fetch/$s_!69dm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png 848w, https://substackcdn.com/image/fetch/$s_!69dm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png 1272w, https://substackcdn.com/image/fetch/$s_!69dm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!69dm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png" width="534" height="819.752508361204" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1836,&quot;width&quot;:1196,&quot;resizeWidth&quot;:534,&quot;bytes&quot;:565070,&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.aiforswes.com/i/180126605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.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_!69dm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png 424w, https://substackcdn.com/image/fetch/$s_!69dm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png 848w, https://substackcdn.com/image/fetch/$s_!69dm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png 1272w, https://substackcdn.com/image/fetch/$s_!69dm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>1. Understand the current job climate</h2><p>The current <a href="https://www.aiforswes.com/p/the-strange-reality-of-ai-hiring-2025?utm_source=publication-search">job market is weird</a>. Overall demand for software engineers has gone down, but demand for developers with experience in AI is at its peak. This means we have a lot of people competing for jobs, but for many roles there are very few qualified applicants.</p><p>To put things into perspective, only a few hours after posting about the open role, I had ~100 DMs on X and about half that on LinkedIn. Over the next few days, I had hundreds on both platforms. Yet, only a small group of candidates were actually a good fit.</p>
      <p>
          <a href="https://www.aiforswes.com/p/get-hired-2025-2026">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>