<?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[Better Every Cycle]]></title><description><![CDATA[For smart founders, product owners, and engineers in companies going through The Grow Up moment. ]]></description><link>https://www.bettereverycycle.com</link><image><url>https://substackcdn.com/image/fetch/$s_!pqsi!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faefa2ed2-5de7-418c-b502-45b359e4eb7c_180x180.png</url><title>Better Every Cycle</title><link>https://www.bettereverycycle.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 24 Jun 2026 09:01:53 GMT</lastBuildDate><atom:link href="https://www.bettereverycycle.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Dustin Rea]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[dustinrea@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[dustinrea@substack.com]]></itunes:email><itunes:name><![CDATA[Dustin Rea]]></itunes:name></itunes:owner><itunes:author><![CDATA[Dustin Rea]]></itunes:author><googleplay:owner><![CDATA[dustinrea@substack.com]]></googleplay:owner><googleplay:email><![CDATA[dustinrea@substack.com]]></googleplay:email><googleplay:author><![CDATA[Dustin Rea]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[AI Gave Founders More Tools. It Did Not Give Them Technical Judgement]]></title><description><![CDATA[A founder asked me a question last week that every non-technical founder building with AI is going to ask eventually.]]></description><link>https://www.bettereverycycle.com/p/ai-gave-founders-more-tools-it-did</link><guid isPermaLink="false">https://www.bettereverycycle.com/p/ai-gave-founders-more-tools-it-did</guid><dc:creator><![CDATA[Dustin Rea]]></dc:creator><pubDate>Fri, 19 Jun 2026 18:40:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BQ5g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every week, a non-technical founder gets told to use another AI tool.</p><p>Cursor. Lovable. Bolt. Replit. Claude. v0.</p><p>A new thing comes out. Someone posts a demo. Someone else says the old workflow is dead.</p><p>The founder is left trying to figure out what actually matters.</p><p>By the end of this piece, you should have a cleaner way to judge what AI can help you build, where production software still needs human judgment, and why the spec has become the most important artifact in the room.</p><p>A founder asked me a question last week that every non-technical founder building with AI is going to ask eventually.</p><p>He had a prototype in front of him.</p><p>It worked.</p><p>The design looked right. The flow made sense. The interaction was there. From his side of the screen, the obvious question was:</p><p>Why can&#8217;t the developers just use this code?</p><p>It is a fair question.</p><p>AI tools and design tools are now good enough to create things that feel real. They can generate screens, wire up interactions, produce components, and make a founder feel like the product is closer than it actually is.</p><p>That feeling is useful.</p><p>It is also dangerous.</p><p>Because a software product does not move through one stage. It moves through four.</p><p><strong>Prototype. Spec. Production. Refinement.</strong></p><p>The prototype answers:</p><p>&#8220;Does it feel right?&#8221;</p><p>This is where AI is obviously useful. It can make the idea visible. It can give you screens to react to. It can help you show a flow, test a concept, or explain what you mean faster than a written brief ever could.</p><p>A prototype helps the founder say, &#8220;Yes, that is closer to what I had in mind.&#8221;</p><p>That matters.</p><p>The mistake is treating that as the finish line.</p><p>The spec answers:</p><p>&#8220;What must it do?&#8221;</p><p>This is the stage most founders skip because the prototype feels like it already answered the question.</p><p>It did not.</p><p>The spec defines the product behavior. It names the rules, states, data, permissions, edge cases, error paths, and business logic.</p><p>What happens when payment fails?</p><p>What does a user see when there is no data yet?</p><p>Who can edit this record?</p><p>What should never happen?</p><p>Which customer action proves this feature worked?</p><p>Those decisions need to live somewhere durable. If they stay trapped in your head, the developer guesses. If they stay trapped in a meeting, the team forgets. If they stay out of the prompt, the agent invents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BQ5g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BQ5g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!BQ5g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!BQ5g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!BQ5g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BQ5g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png&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;:1675064,&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.bettereverycycle.com/i/202756115?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.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_!BQ5g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!BQ5g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!BQ5g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!BQ5g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb43f92dc-ffba-4183-8a30-521b87b8f5b8_1672x941.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">Write down how the workflows in your product connect.</figcaption></figure></div><p>The spec is the translation layer between founder expertise, developers, and agents.</p><p>Then comes production.</p><p>Production answers:</p><p>&#8220;Can customers rely on it?&#8221;</p><p>This is where the prototype-code question gets real.</p><p>A prototype can show the desired interaction. Production software has to connect to real data, enforce states, respect permissions, pass tests, deploy cleanly, monitor failures, recover from mistakes, and keep running when customers are using it.</p><p>That is a different job.</p><p>A screen that works once in a demo is not the same thing as a system that can run your business.</p><p>The last stage is refinement.</p><p>Refinement answers:</p><p>&#8220;How should this improve based on customer feedback?&#8221;</p><p>Once customers touch the product, the work changes again.</p><p>Now you are not guessing from inside the room. You are interpreting signal.</p><p>A bug report might be a defect.</p><p>It might be a missing requirement.</p><p>It might be a confused user.</p><p>It might be a customer asking for something that sounds small but breaks the product model.</p><p>Founder judgment matters here because feedback is not automatically direction. Someone has to decide what is signal, what is noise, what belongs now, and what belongs later.</p><p>That is the part AI cannot own for you.</p><p>AI can help across all four stages.</p><p>It can help prototype.</p><p>It can help draft a spec.</p><p>It can help write production code.</p><p>It can help summarize feedback.</p><p>What it cannot do is replace the founder&#8217;s judgment about what matters.</p><p>That is the piece non-technical founders are missing when the market keeps shouting tool names at them.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.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.bettereverycycle.com/subscribe?"><span>Subscribe now</span></a></p><p>The founder does not need to become technical.</p><p>The founder does need enough fluency to ask better questions.</p><p>What stage are we in?</p><p>Are we proving the feel, defining the behavior, hardening for customers, or improving from feedback?</p><p>What decision is missing?</p><p>What risk are we accepting?</p><p>What needs to be written down so the team and the agents stop guessing?</p><p>That is Founder Fluency.</p><p>It is the ability to connect technical work to business risk.</p><p>The best AI workflow in the world still needs that.</p><p>Because walking away from the build is the fantasy.</p><p>Staying in command is the durable path.</p><p>Non-technical founders can build real software companies without raising VC, giving away half the business, or learning to code themselves.</p><p>The tools are good enough now.</p><p>The missing piece is judgment around the tools.</p><p>Prototype to make the idea visible.</p><p>Spec to define what it must do.</p><p>Production to make it reliable.</p><p>Refinement to make it better.</p><p></p><p>Keep your judgment across the whole chain.</p><p>That is how AI becomes a way to build your company instead of another thing you are overwhelmed by.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/p/ai-gave-founders-more-tools-it-did?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.bettereverycycle.com/p/ai-gave-founders-more-tools-it-did?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why a B2B SaaS Was Stuck for Two Years, and How I Unfroze It in 90 Days]]></title><description><![CDATA[The backend crashed multiple times a day, and the team's job had become babysitting restarts while customers complained.]]></description><link>https://www.bettereverycycle.com/p/why-a-b2b-saas-was-stuck-for-two</link><guid isPermaLink="false">https://www.bettereverycycle.com/p/why-a-b2b-saas-was-stuck-for-two</guid><dc:creator><![CDATA[Dustin Rea]]></dc:creator><pubDate>Wed, 20 May 2026 12:13:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yeyN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The owner of a B2B SaaS product had three developers, a project manager, and a developer on standing retainer in case anything broke. The backend crashed multiple times a day, and the team&#8217;s job had become babysitting restarts while customers complained.</p><p>The app hadn&#8217;t deployed in two years, and no new contractor would touch it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yeyN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yeyN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png 424w, https://substackcdn.com/image/fetch/$s_!yeyN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png 848w, https://substackcdn.com/image/fetch/$s_!yeyN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png 1272w, https://substackcdn.com/image/fetch/$s_!yeyN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yeyN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png" width="749" height="429" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:429,&quot;width&quot;:749,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53736,&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.bettereverycycle.com/i/198546533?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.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_!yeyN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png 424w, https://substackcdn.com/image/fetch/$s_!yeyN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png 848w, https://substackcdn.com/image/fetch/$s_!yeyN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.png 1272w, https://substackcdn.com/image/fetch/$s_!yeyN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461d1e46-7bcf-4b2f-a5d1-96cc728a00b0_749x429.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 stack was Java on the backend and Angular 1 on the front. A previous contractor team had started a TypeScript rewrite and were six months behind on the delivery.</p><p>Two React Native apps sat in the portfolio, a legacy one and a new one. Nobody, including the owner, knew what shipped against what.</p><p>Within 90 days, working part-time, I replaced the entire team.</p><p>When I got in, the obvious problem was no documentation. Two years of frozen deploys meant whatever institutional memory existed had walked out the door with previous developers.</p><p>Underneath the documentation gap was a worse problem. Some of the code had walked out with the developers, literally.</p><p>His deployments were going to a cloud account that belonged to a developer who didn&#8217;t work for him anymore. Pieces of the software lived in personal accounts under developers&#8217; names. The owner was paying for production infrastructure he didn&#8217;t fully control.</p><p>He had inherited the configuration that let every developer who touched the product walk off with a slice.</p><p>That&#8217;s why nobody would touch it. Touching it meant negotiating with people who had left.</p><p>The first move was to stop the bleeding. I set up auto-restart on the backend and patched the core issues that had been causing the daily crashes. Within a few weeks, nobody was on restart duty.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jP-y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jP-y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png 424w, https://substackcdn.com/image/fetch/$s_!jP-y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png 848w, https://substackcdn.com/image/fetch/$s_!jP-y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png 1272w, https://substackcdn.com/image/fetch/$s_!jP-y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jP-y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png" width="1456" height="113" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:113,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79077,&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.bettereverycycle.com/i/198546533?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.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_!jP-y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png 424w, https://substackcdn.com/image/fetch/$s_!jP-y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png 848w, https://substackcdn.com/image/fetch/$s_!jP-y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png 1272w, https://substackcdn.com/image/fetch/$s_!jP-y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d18e1cc-1e8b-4ad9-8959-6956fd97d481_2096x162.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The next move was visibility. AI mapped the codebase top to bottom and generated the documentation that nobody had written. Once I could see what existed, I could see what needed to move.</p><p>Then came ownership. I traced every piece of infrastructure (code repositories, deployment pipelines, cloud accounts) back to whoever&#8217;s account it lived in and migrated it under the owner&#8217;s control. By the end of that phase, every piece of his product was actually his.</p><p>After ownership came modern delivery. New deployment pipelines lived under the owner&#8217;s accounts, configured so deploys could ship without ceremony and roll back without drama.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MX7f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MX7f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png 424w, https://substackcdn.com/image/fetch/$s_!MX7f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png 848w, https://substackcdn.com/image/fetch/$s_!MX7f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png 1272w, https://substackcdn.com/image/fetch/$s_!MX7f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MX7f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png" width="1044" height="881" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:881,&quot;width&quot;:1044,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160899,&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.bettereverycycle.com/i/198546533?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.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_!MX7f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png 424w, https://substackcdn.com/image/fetch/$s_!MX7f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png 848w, https://substackcdn.com/image/fetch/$s_!MX7f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.png 1272w, https://substackcdn.com/image/fetch/$s_!MX7f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff63c4fb3-dd65-4ddc-ba29-5ab4bbbd1a70_1044x881.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>The last piece was monitoring. Alerts surfaced problems through dashboards, not through customers.</p><p>Once the documentation existed and the accounts were consolidated, the team had a fair shot at the new pace. The same AI coding tools I was using were available to them. They could have picked them up and kept up.</p><p>They didn&#8217;t. Whether they couldn&#8217;t or chose not to, the result was the same.</p><p>That&#8217;s the part a lot of founders don&#8217;t see coming. Giving a developer AI doesn&#8217;t close the gap if the developer doesn&#8217;t pick it up. The tool doesn&#8217;t replace the operator.</p><p>Ninety days in, the owner cut the standing retainer and off-boarded the original team. The backend that used to crash daily was stable. Issues surfaced through alerts now, not through customer complaints. Shipping was happening again, and the rewrite had a real path forward.</p><p>What made the 90-day pace possible was two things together: principal-level strategy applied to the platform, and rapid execution against that strategy with AI agents.</p><p>Strategy wit</p><p>hout agents would have taken a year, and agents without strategy would have produced more sprawl, not less. The combination is what bent the curve.</p><p>This was a live service with thousands of paying users. Pausing it to rebuild was not an option. Every change had to ship without breaking the people already paying.</p><p>The problem itself is more common than first-time founders realize. Before AI agents were in the mix, fixing a frozen B2B SaaS like this used to mean two extra developers, $20k-$30k/mo, and a year on the calendar. Now I do it solo. I charge 75% less for the same fix and deliver it 75% faster.</p><p>If your product looks anything like this, you&#8217;re not stuck.  You just need the right system in place.</p><div><hr></div><p><em>Dustin Rea runs a solo development practice for non-technical B2B SaaS founders. More at <a href="https://www.dustinrea.com">dustinrea.com</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Better Every Cycle! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The real reason your emails keep going to spam]]></title><description><![CDATA[The non-technical founder's guide to email deliverability.]]></description><link>https://www.bettereverycycle.com/p/the-real-reason-your-emails-keep</link><guid isPermaLink="false">https://www.bettereverycycle.com/p/the-real-reason-your-emails-keep</guid><dc:creator><![CDATA[Dustin Rea]]></dc:creator><pubDate>Sat, 16 May 2026 11:29:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LFOE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p>Most non-technical founders find out about email deliverability the hard way.</p><ul><li><p>A customer says they never got the welcome email.</p></li><li><p>A prospect goes silent and you can&#8217;t tell if they&#8217;re ignoring you or never saw your reply.</p></li><li><p>Trial signups drop and nothing on the site has changed.</p></li></ul><p>The root cause is almost always the same.</p><p>Your domain is missing the DNS records that tell Gmail, Outlook, and Yahoo you&#8217;re allowed to send mail as yourself. Without those records, receiving servers treat your email as suspicious and either filter it to spam or drop it on the floor entirely.</p><p>It&#8217;s fixable, inexpensive, and not that complicated once you know what you&#8217;re looking at.</p><p>It just sits on a part of the build that most developers, especially offshore agencies and junior contractors, skip because email infrastructure is a different specialty from writing application code.</p><p>If you don&#8217;t know to ask for it, you don&#8217;t know you&#8217;re missing it.</p><p>This is a Founder Fluency Pillar 1 gap. Stack, hosting, and DNS sit between your application and the outside world, and the failure modes there don&#8217;t show up inside the app where your team is looking.</p><h2>What deliverability actually depends on</h2><p>When an email arrives at Gmail or Outlook, the receiving server checks three records on your domain before deciding where to deliver it.</p><p><strong>SPF (Sender Policy Framework).</strong> SPF is a DNS record that lists which servers are allowed to send email as your domain. If you send through Google Workspace, your SPF record should authorize Google. If you also send transactional email through a service like Postmark or SendGrid, the SPF record should authorize those too. Use one SPF record per domain, with every sender merged into it.</p><p><strong>DKIM (DomainKeys Identified Mail).</strong> DKIM is a cryptographic signature attached to every outgoing email. The matching public key lives in DNS. The receiving server checks the signature against the public key to confirm the email actually came from your domain and wasn&#8217;t tampered with in transit.</p><p><strong>DMARC (Domain-based Message Authentication, Reporting, and Conformance).</strong> DMARC is the policy that tells receiving servers what to do if SPF or DKIM fail. It supports three modes:</p><ol><li><p><code>p=none</code> (monitor only, deliver as normal)</p></li><li><p><code>p=quarantine</code> (send to spam)</p></li><li><p><code>p=reject</code> (don&#8217;t deliver at all)</p></li></ol><p>Start at <code>p=none</code> with a reporting address so you can see what&#8217;s happening, then move to stricter policies once your DMARC reports are clean.</p><p>If any of these three records are missing or wrong, your email looks like spoofing to the receiving server. Gmail and Outlook deprioritize it, filter it to spam, or reject it outright.</p><p>From the sending side, the failure is invisible: no bounce, no error message, no signal inside your application that anything went wrong. The email just doesn&#8217;t land.</p><p>That silence is the part founders underestimate. Most product failures generate visible signal inside your system. Email deliverability lives outside that loop, in receiving servers you don&#8217;t control, so the same signals never reach 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_!LFOE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LFOE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png 424w, https://substackcdn.com/image/fetch/$s_!LFOE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png 848w, https://substackcdn.com/image/fetch/$s_!LFOE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png 1272w, https://substackcdn.com/image/fetch/$s_!LFOE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LFOE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png" width="718" height="690" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:690,&quot;width&quot;:718,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64540,&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.bettereverycycle.com/i/197887629?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.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_!LFOE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png 424w, https://substackcdn.com/image/fetch/$s_!LFOE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png 848w, https://substackcdn.com/image/fetch/$s_!LFOE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.png 1272w, https://substackcdn.com/image/fetch/$s_!LFOE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e8a3c4-34e6-449d-8d71-b6daec0c1220_718x690.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>The deadline already passed</h2><p>Every major inbox provider now treats this as a compliance requirement. In <a href="https://support.google.com/a/answer/81126">February 2024, Google and Yahoo both started requiring</a> SPF, DKIM, and an aligned DMARC policy for any domain sending more than 5,000 messages per day to personal accounts on their services. <a href="https://techcommunity.microsoft.com/blog/microsoftdefenderforoffice365blog/strengthening-email-ecosystem-outlook%E2%80%99s-new-requirements-for-high%E2%80%90volume-senders/4399730">Microsoft followed for outlook.com, live.com, and hotmail.com in May 2025</a>, with the same 5,000-per-day threshold.</p><p>Gmail spent most of 2024 ramping enforcement gradually. In November 2025, it shifted from temporary delivery delays to outright rejection for non-compliant traffic. Microsoft&#8217;s policy went straight to rejection the day it took effect.</p><p>Five thousand messages per day sounds like a lot until you do the math. Welcome emails, password resets, order receipts, and a weekly newsletter to a list of 30,000 trip the threshold the day the newsletter goes out, and the Gmail, Yahoo, and Outlook buckets are counted separately. The &#8220;we&#8217;re too small to worry about this&#8221; line stopped working the day those deadlines took effect.</p><h2>Why your team probably missed it</h2><p>Setting up SPF, DKIM, and DMARC properly takes about two hours if someone has done it before. It gets missed because the failure happens after the email leaves your application, in receiving servers your team doesn&#8217;t control. From the engineer&#8217;s seat, everything inside the build looks fine.</p><p>Most teams put their review effort into application code, so a DNS configuration that was correct in 2023 stays untouched even as the standards on the receiving side move past it. </p><p>If your dev arrangement predates February 2024 and nobody pulled DNS into a review since, you&#8217;re almost certainly shipping out of compliance with at least one of the big three inbox providers.</p><p>That&#8217;s also why this falls cleanly into Pillar 1 of Founder Fluency. Stack and infrastructure questions are the ones a founder can&#8217;t diagnose by looking at the app, because the app isn&#8217;t where the problem is. </p><p>A founder who knows enough to ask about the DNS records catches the gap in one conversation. That single question is the difference between a fixed problem and months of silent revenue.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Better Every Cycle! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Four questions to ask your dev</h2><ol><li><p><strong>&#8220;Show me our SPF, DKIM, and DMARC records on our sending domain.&#8221;</strong> They should be able to produce these in five minutes. If they have to ask what those are, that&#8217;s information.</p></li><li><p><strong>&#8220;Run our domain through mail-tester.com. What&#8217;s the score?&#8221;</strong> Mail-tester is free. You send one email to the address they give you, and the tool grades it out of 10 with specific notes on what&#8217;s wrong. You want 9/10 or 10/10. Anything lower means something is misconfigured.</p></li><li><p><strong>&#8220;What&#8217;s our DMARC policy?&#8221;</strong> At minimum <code>p=none</code> with a reporting address like <code>rua=mailto:youraddress@yourdomain.com</code> so you can see authentication failures as they happen. Better is <code>p=quarantine</code> or <code>p=reject</code> after a few weeks of clean reports.</p></li><li><p><strong>&#8220;Are we sending transactional email and marketing email from the same domain?&#8221;</strong> Usually you don&#8217;t want to be. Marketing email gets more spam complaints, more unsubscribes, and more aggressive filtering, which means your transactional email (password resets, order receipts, the stuff customers actually need) inherits the worse reputation. Most teams send transactional from the main domain (<code>yourdomain.com</code>) and marketing from a subdomain (<code>mail.yourdomain.com</code> or <code>news.yourdomain.com</code>).</p></li></ol><h2>What to do this week</h2><p>If you&#8217;ve never checked any of this, run the test yourself. Send an email from your business domain to a personal Gmail account. If it lands in spam, in Promotions, or nowhere at all, you have a problem that&#8217;s almost certainly costing you deals you&#8217;ll never hear about.</p><p>Then run mail-tester.com on the same sending address. If you score below 9/10, the tool tells you exactly which records are missing or wrong. Hand that report to your developer.</p><p>Verify someone set the three records up correctly, then check the score periodically as you add new sending services. The cryptography itself isn&#8217;t your job to understand.</p><p>If a developer can&#8217;t answer the four questions above, or waves them off as &#8220;not important right now,&#8221; that&#8217;s information about how the rest of your platform is being built. The whole point of Founder Fluency is that you don&#8217;t have to take on faith what your team is doing. You can ask one specific question and judge whether the answer holds up.</p><p>Email deliverability is the cleanest example of why that matters: two hours of dev work prevents months of silent revenue loss you&#8217;d only catch when a customer happens to mention it.</p><div><hr></div><h2>Sources</h2><ul><li><p>Google, &#8220;Email sender guidelines&#8221; (Google Workspace Admin Help): <a href="https://support.google.com/a/answer/81126">support.google.com/a/answer/81126</a></p></li><li><p>Google, &#8220;Email sender guidelines FAQ&#8221; (November 2025 enforcement update): <a href="https://support.google.com/a/answer/14229414">support.google.com/a/answer/14229414</a></p></li><li><p>Yahoo Sender Hub, &#8220;Sender Best Practices&#8221;: <a href="https://senders.yahooinc.com/best-practices/">senders.yahooinc.com/best-practices</a></p></li><li><p>Yahoo Postmaster blog, &#8220;More Secure, Less Spam: Enforcing Email Standards&#8221; (October 2023 announcement of Feb 2024 enforcement): <a href="https://blog.postmaster.yahooinc.com/post/730172167494483968/more-secure-less-spam">blog.postmaster.yahooinc.com</a></p></li><li><p>Microsoft, &#8220;Strengthening Email Ecosystem: Outlook&#8217;s New Requirements for High-Volume Senders&#8221; (Microsoft Community Hub, April 2025): <a href="https://techcommunity.microsoft.com/blog/microsoftdefenderforoffice365blog/strengthening-email-ecosystem-outlook%E2%80%99s-new-requirements-for-high%E2%80%90volume-senders/4399730">techcommunity.microsoft.com</a></p></li><li><p>SPF (Sender Policy Framework): <a href="https://datatracker.ietf.org/doc/html/rfc7208">RFC 7208</a>, April 2014</p></li><li><p>DKIM (DomainKeys Identified Mail): <a href="https://datatracker.ietf.org/doc/html/rfc6376">RFC 6376</a>, September 2011</p></li><li><p>DMARC (Domain-based Message Authentication, Reporting, and Conformance): <a href="https://datatracker.ietf.org/doc/html/rfc7489">RFC 7489</a>, March 2015</p></li><li><p>Mail-Tester: <a href="https://www.mail-tester.com/">mail-tester.com</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Non-technical founders have an unfair advantage with AI agents]]></title><description><![CDATA[Five principles that turn AI agents from slop machines into product factories. Companion notes for this week's conversation with Isaac Askew and Jeffrey Sherman on Never Rewrite.]]></description><link>https://www.bettereverycycle.com/p/non-technical-founders-have-an-unfair</link><guid isPermaLink="false">https://www.bettereverycycle.com/p/non-technical-founders-have-an-unfair</guid><dc:creator><![CDATA[Dustin Rea]]></dc:creator><pubDate>Fri, 15 May 2026 14:02:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/73ojk2jNkvY" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Watch the full episode here: <a href="https://www.youtube.com/watch?v=73ojk2jNkvY">Never Rewrite - Agentic Development Is Turning Engineers Into Product Owners</a></p><p>This post covers the general opinions I carry right now. If you&#8217;re a non-technical SaaS founder trying to figure out where AI fits in your dev arrangement, this is for you.</p><p>The thesis is: </p><p><strong>managing AI coding agents is the same skill as managing developers.</strong> </p><p>If you can do one, you can do the other.</p><p>The corollary nobody is saying out loud is that non-technical founders have an unfair advantage with agents, because they&#8217;ve already been forced to learn how to delegate without prescribing.</p><p>I spent the last several years running an agency that delivered production B2B SaaS with human engineers before AI and then a mixed team of human engineers and AI agents.</p><p>What surprised me was that the management discipline turned out to be the same one I&#8217;d been teaching non-technical founders the whole time.</p><p>Here are the five themes I continue to see repeating..</p><h2>1. The prescription trap</h2><p>The most common failure mode for technical people with AI agents is the same failure mode product managers have with engineers. They tell the agent <em>how</em> instead of <em>what</em>.</p><p>Vague prompts produce garbage. Too-literal prompts also produce garbage, because the agent&#8217;s ability to make tradeoffs has been stripped out.</p><p>The skill is being precise about <em>what</em> you want and loose about <em>how</em> it gets done. That&#8217;s the whole game.</p><h2>2. Completed staff work</h2><p>Don&#8217;t let the agent jump straight to code. Make it research the problem, propose three options, and recommend one. It&#8217;s the same thing you&#8217;d ask of a good junior dev: come back with options and a recommendation, not a question.</p><p>This habit forces the agent to surface assumptions you didn&#8217;t realize you were making. You catch the wrong premise in the planning step, where rework costs minutes. Catching this at the end in testing wastes time and tokens.</p><h2>3. Demo the result, don&#8217;t read the diff</h2><p>With human developers, you might read the pull request. With AI agents, you can&#8217;t. They ship ten times the code. The workflow non-technical founders use already scales for this: have the agent demo the working thing.</p><p>The deeper point lands hardest with technical founders. Non-technical founders were forced into this discipline years ago because they couldn&#8217;t read code. Now technical founders are catching up to a habit they used to look down on.</p><p>That doesn&#8217;t mean skip code review. In a healthy setup, every pull request runs through static analysis and a review agent first. A human reads the pull requests that touch Mission Critical Paths.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Better Every Cycle! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>4. Principles are not prescriptions</h2><p>This is the line founders miss. &#8220;Don&#8217;t prescribe&#8221; doesn&#8217;t mean &#8220;no guardrails.&#8221; It means the opposite. You need <em>strong</em> principles, baked into the architecture, that constrain the <strong>solution space</strong> without constraining the <strong>solution</strong>.</p><p>A principle constrains the solution space. A prescription constrains the solution.</p><p>Two concrete examples:</p><ul><li><p><strong>Full-stack TypeScript when building a web app</strong>, unless there&#8217;s a real reason not to. One type system spans webapp, API, mobile, and every other client. The agent and every human on the team operate from one mental model.</p></li><li><p><strong>A design system with reusable components.</strong> That means a good table view, a data viewer, and form primitives. The agent composes new screens from existing parts instead of hand-writing every table; the UI stays visually consistent for free.</p></li></ul><p>Layer hard requirements on top. Junior devs need rules. Senior devs need principles. AI agents need both, plus a small list of non-negotiables (never commit secrets, never skip tests, never touch production directly) that act as the floor.</p><h2>5. Decompose, one-shot, compose</h2><p>Big tasks produce slop. The agent can actually nail a small, bounded job. Decompose the work into bounded pieces, one-shot each one, then compose the results into production-quality work. Ask it to &#8220;build the whole feature&#8221; and it loses the plot, the same way a junior dev crushes tickets and chokes on epics.</p><p>The same pattern applies to building a team. Founders go hunting for the unicorn who does design, ops, sales, and product. That person doesn&#8217;t exist, or costs a fortune, or burns out. The real answer is a small team of specialists, each excellent at their one thing, with clean handoffs between them.</p><p>Whether the unit is a prompt, a service, or a person, the principle is the same.</p><h2>Watch the Full Episode of Never Rewrite</h2><div id="youtube2-73ojk2jNkvY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;73ojk2jNkvY&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/73ojk2jNkvY?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><h2>What&#8217;s next</h2><p>This is the working summary. The deeper essay, on where the &#8220;Dark Factory &#8220; pattern came from, who&#8217;s publicly building it right now, and how I&#8217;m using the pattern to rebuild my agency, lands on Better Every Cycle next week.</p><p>Subscribe if you want the long version when it drops.</p><p>In the meantime, the full conversation is here: <a href="https://www.youtube.com/watch?v=73ojk2jNkvY">Never Rewrite - Agentic Development Is Turning Engineers Into Product Owners</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Better Every Cycle! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Notes on Staff Projects, Find your voice, and Never Rewrite]]></title><description><![CDATA[Read along with me by viewing my annotated highlights on working as a Staff+ engineer and catch up on the best content I consumed in the last week.]]></description><link>https://www.bettereverycycle.com/p/notes-on-staff-projects-find-your</link><guid isPermaLink="false">https://www.bettereverycycle.com/p/notes-on-staff-projects-find-your</guid><dc:creator><![CDATA[Dustin Rea]]></dc:creator><pubDate>Sat, 30 Mar 2024 03:05:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/NnDYiLJCSj0" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Read and respond to my notes on a Principal Engineer's thoughts on Staff+ work at Google and the idea that Senior Engineers must complete a"<em>Staff Project</em>" for promotion.  </p><p><a href="https://readwise.io/reader/shared/01ht6dt2bnxq08br9yf9kw55cf">Principal Software Engineer at Google - Adam Bender on staffeng.com</a></p><blockquote><p><em>Question for Staff+ Did you do a &#8220;Staff Project&#8221;? Did it land perfectly or need some refinement? </em> </p></blockquote><p>I talked a little about the experience of my &#8220;Staff Project&#8221; in the annotated notes in the link above.  </p><p>TLDR is that Staff Projects are big and ambitious and typically involve a lot of communication, planning, and reflection in hindsight on what could have gone better.</p><div><hr></div><h1>The Best of What I Read Last Week</h1><p>This is a curated list of reads from last week.  It is not exhaustive, in any order, or based on what was actually published last week.  This list is content that I consumed and felt worth sharing with people who would read my newsletter. </p><ul><li><p><a href="https://amivora.substack.com/p/using-a-series-of-dials-to-discover">Finding my voice with a series of dials</a></p></li><li><p><a href="https://medium.com/@AranT/auto-tagging-and-using-semantic-versioning-with-github-actions-e40188d12cf4">Auto-Tagging Releases with SemVer in Github Actions</a></p></li><li><p><a href="https://medium.com/@viraj_63415/oauth-or-openid-connect-3189393762a6">OAuth 2.0 vs OpenID Connect</a></p></li><li><p><strong>Never Rewrite - Episode 46: Workshopping Solutions for a Growing CRM SaaS product</strong></p></li></ul><p>Last week I was on the <a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1s">Never Rewrite Podcast </a>with Isaac Askew and Jeffrey Sherman discussing scale and quality issues for a CRM SaaS.   Check out the chapter list below to jump straight to a topic you&#8217;re interested in:<br><br><strong>Chapters </strong></p><ul><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=0s">00:00</a> Introduction and Background </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=72s">01:12</a> The Current State of the White Label CRM </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=371s">06:11</a> Goals and Expectations for the Project </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=474s">07:54</a> User Trust and Importance of the CRM </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=644s">10:44</a> Focus on Email and SMS Issues </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=810s">13:30</a> Importance of User Support and Community </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=996s">16:36</a> Email and SMS Deliverability Challenges </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1186s">19:46</a> Database Structure and Performance Challenges </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1213s">20:13</a> Improving Write Efficiency </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1262s">21:02</a> Using SQS and SNS for Message Queuing </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1323s">22:03</a> Controlling Flow with Multiple Readers </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1385s">23:05</a> Writing to Separate Databases </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1441s">24:01</a> Tracking Heavy Queries </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1537s">25:37</a> Separating Permissions and Heavy Reads </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1568s">26:08</a> Caching with Redis </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1625s">27:05</a> Improving Email Service Reliability </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1742s">29:02</a> Monitoring and Alerting </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1828s">30:28</a> Improving Data Logging and Validation </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1935s">32:15</a> Implementing a Defined Process for Email Service </p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=1989s">33:09</a> Recording and Rebuilding Failed Email Requests</p></li><li><p><a href="https://www.youtube.com/watch?v=NnDYiLJCSj0&amp;t=2111s">35:11</a> Setting Up Aggregated Logs and Monitoring</p></li></ul><div id="youtube2-NnDYiLJCSj0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;NnDYiLJCSj0&quot;,&quot;startTime&quot;:&quot;1s)&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/NnDYiLJCSj0?start=1s)&amp;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>Thanks for reading!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading D-Rea's Newsletter! Subscribe for free to hear more about my experience as a staff+ engineer and agency owner.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Will AI End Your Coding Career?]]></title><description><![CDATA[Should you turn in your MacBook and try to make it on TikTok?]]></description><link>https://www.bettereverycycle.com/p/will-ai-end-your-coding-career</link><guid isPermaLink="false">https://www.bettereverycycle.com/p/will-ai-end-your-coding-career</guid><dc:creator><![CDATA[Dustin Rea]]></dc:creator><pubDate>Fri, 22 Mar 2024 15:58:25 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>Hi I'm Dustin Rea and this is D-Rea's Newsletter.  <br>A newsletter for humans working in Tech.  </p></blockquote><p>At the time of this writing, I am a software engineer working at an AI company and I also operate a software design and development agency that works with SaaS companies, most of which are trying to leverage AI.  My opinions are my own. </p><p><em>Not going to lie</em>, I was a little nervous when I first saw <a href="https://preview.devin.ai/">Devin AI</a>, as most of you reading probably were as well.  That's why my clickbait title worked. </p><p>However, I try to keep my future <em>Terminator</em> nightmares at bay by remembering timeless principles about society that date back thousands of years. </p><p>TLDR</p><p>AI is another advancement that is already shaping the way we work.  Notice I said <em>we work</em>.  Because someone will need to solve problems, make decisions, or lead others using AI at the very least.  Also, people thrive on human connection so I predict entertainment as a profession will be safe for years to come.  </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="278" height="416.9554915145693" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4684,&quot;width&quot;:3123,&quot;resizeWidth&quot;:278,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;a black and white photo of a robot&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="a black and white photo of a robot" title="a black and white photo of a robot" srcset="https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1643345397840-651fc8efd91e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2fHx0ZXJtaW5hdG9yfGVufDB8fHx8MTcxMTEyMTUwOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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><h1>Healthy Comparisons</h1><p>The Quantum Computer is also talked about in a similar way to AI.  It will fundamentally change what is possible.  For some people that is scary, because that means they will have to change what they are doing.  Change can be scary <em>and</em> bad.</p><p>Change can also be exciting and good.  If we didn't have change, we wouldn't have Amazon shipping packages to your door steps in two days, <em>most of the time</em>. </p><p>Without <em>change</em> we wouldn't have the internet or the iPhone.  Both of which were used to completely change industries.  In the same light, they created <em>new opportunities</em>. </p><p>Cloud Solutions Architect wasn't a job until the concept of the cloud existed.  Mobile App Developer wasn't a type of Software Engineer prior to the iPhone<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.  </p><h1>Software Engineer or Clown</h1><div class="pullquote"><p>My theory is that as long as technology advances, Humans will find more complex problems to solve and better ways to leverage the technology to its limits until a new plateau is reached. The world will always need problem solvers, thinkers, leaders, and entertainers.  There are probably a few more but you get the picture. </p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for more writing by an actual human</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><h1>Keep the MacBook, For Now</h1><p>I think that even if software engineering is going to fade away as the profession it is today, a new profession for engineering types will pop up.  In the meantime, there is a massive amount of work to do maintaining legacy software that keeps the world running.  There will be mountains of work to do even with AI helping us to start shifting that software to the new AI paradigm. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="252" height="378" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:5184,&quot;width&quot;:3456,&quot;resizeWidth&quot;:252,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;black and silver laptop computer beside black computer mouse&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&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="black and silver laptop computer beside black computer mouse" title="black and silver laptop computer beside black computer mouse" srcset="https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1597239450996-ea7c2c564412?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcxMTExOTU4OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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>Humans don't change overnight, it will take time and effort and we should seize the opportunity, just like every other advancement. </p><p>Know a software engineer going through an existential crisis? Send &#8216;em my way and I&#8217;ll try to talk them down from the ledge.  <strong>Keep Building!</strong></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/p/will-ai-end-your-coding-career?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Help Your Tech Friends by Sharing</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.bettereverycycle.com/p/will-ai-end-your-coding-career?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.bettereverycycle.com/p/will-ai-end-your-coding-career?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><em>Unless you count Palm Pilot or Blackberry, but they are from relatively the same time period and the point remains.</em></p></div></div>]]></content:encoded></item></channel></rss>