<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="/global/feed/rss.xslt" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:media="http://search.yahoo.com/mrss/" xmlns:podaccess="https://access.acast.com/schema/1.0/" xmlns:acast="https://schema.acast.com/1.0/">
    <channel>
		<ttl>60</ttl>
		<generator>acast.com</generator>
		<title><![CDATA[Code & Optimism]]></title>
		<link>https://shows.acast.com/code-and-optimism</link>
		<atom:link href="https://feeds.acast.com/public/shows/65808a8eab7b4300163eef72" rel="self" type="application/rss+xml"/>
		<language>en</language>
		<copyright>Shane Delamore</copyright>
		<itunes:keywords>software, architecture, optimisim, entrepreneurship, philosophy, productivity, essentialisim</itunes:keywords>
		<itunes:author>Shane Delamore</itunes:author>
		<itunes:subtitle>Solving Problems Faster with Software</itunes:subtitle>
		<itunes:summary><![CDATA[<p><br></p><p>All problems are solvable with enough knowledge -- and software is the most powerful knowledge tool ever invented.</p><br><p>Code &amp; Optimism is a show focused on solving problems faster with software. I created this series to discuss topics related to my passion of accelerating our ability to solve problems with software. In this show I'll dive into everything from practical tips to philosophical musings about optimism, solving problems and this wonderful tool called software and how we can become ever better at software engineering.</p><br><p>Who is it for?</p><ul><li>Any Software Engineer that wants to level up, particularly in the roles of tech-leads and architects</li><li>Any Visionary, CEO or product-leader tackling challenging problems with software</li></ul><p><br></p><p>About me, your host, Shane Brinkman-Davis Delamore: I write programming languages (e.g. CaffeineScript) and app creation platforms (e.g. ArtSuite) and in my day job (GenUI.com) I help visionaries maximize their impact through software.</p><br><p>AI use notes: I use Discript and sometimes use their voice-fill tech to touch up small portions of my recording. I also use image generators (like MidJourney) for cover and example images. I'll also use ChatGpt for ideation and idea refinement, but the ideas are all mine. Further, I don't read from a script when I do the recording.</p><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></itunes:summary>
		<description><![CDATA[<p><br></p><p>All problems are solvable with enough knowledge -- and software is the most powerful knowledge tool ever invented.</p><br><p>Code &amp; Optimism is a show focused on solving problems faster with software. I created this series to discuss topics related to my passion of accelerating our ability to solve problems with software. In this show I'll dive into everything from practical tips to philosophical musings about optimism, solving problems and this wonderful tool called software and how we can become ever better at software engineering.</p><br><p>Who is it for?</p><ul><li>Any Software Engineer that wants to level up, particularly in the roles of tech-leads and architects</li><li>Any Visionary, CEO or product-leader tackling challenging problems with software</li></ul><p><br></p><p>About me, your host, Shane Brinkman-Davis Delamore: I write programming languages (e.g. CaffeineScript) and app creation platforms (e.g. ArtSuite) and in my day job (GenUI.com) I help visionaries maximize their impact through software.</p><br><p>AI use notes: I use Discript and sometimes use their voice-fill tech to touch up small portions of my recording. I also use image generators (like MidJourney) for cover and example images. I'll also use ChatGpt for ideation and idea refinement, but the ideas are all mine. Further, I don't read from a script when I do the recording.</p><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></description>
		<itunes:explicit>false</itunes:explicit>
		<itunes:owner>
			<itunes:name>Shane Delamore</itunes:name>
			<itunes:email>info+65808a8eab7b4300163eef72@mg-eu.acast.com</itunes:email>
		</itunes:owner>
		<acast:showId>65808a8eab7b4300163eef72</acast:showId>
		<acast:showUrl>code-and-optimism</acast:showUrl>
		<acast:signature key="EXAMPLE" algorithm="aes-256-cbc"><![CDATA[wbG1Z7+6h9QOi+CR1Dv0uQ==]]></acast:signature>
		<acast:settings><![CDATA[FYjHyZbXWHZ7gmX8Pp1rmTHg2/BXqPr07kkpFZ5JfhvEZqggcpunI6E1w81XpUaBscFc3skEQ0jWG4GCmQYJ66w6pH6P/aGd3DnpJN6h/CD4icd8kZVl4HZn12KicA2k]]></acast:settings>
        <acast:network id="65781bd659a09800122c8c0b" slug="shane-delamore-65781bd659a09800122c8c0b"><![CDATA[Shane Delamore]]></acast:network>
		<itunes:type>episodic</itunes:type>
			<itunes:image href="https://assets.pippa.io/shows/65808a8eab7b4300163eef72/1728833182335-c2e727ab-79ba-4f28-9104-3710d7ddad35.jpeg"/>
			<image>
				<url>https://assets.pippa.io/shows/65808a8eab7b4300163eef72/1728833182335-c2e727ab-79ba-4f28-9104-3710d7ddad35.jpeg</url>
				<link>https://shows.acast.com/code-and-optimism</link>
				<title><![CDATA[Code & Optimism]]></title>
			</image>
		<item>
			<title><![CDATA[Forget Correctness & Code Quality, Be Verifiable and Agile]]></title>
			<itunes:title><![CDATA[Forget Correctness & Code Quality, Be Verifiable and Agile]]></itunes:title>
			<pubDate>Mon, 04 Nov 2024 20:28:33 GMT</pubDate>
			<itunes:duration>26:17</itunes:duration>
			<enclosure url="https://sphinx.acast.com/p/open/s/65808a8eab7b4300163eef72/e/6729299aa85028c1d710d63e/media.mp3" length="38128670" type="audio/mpeg"/>
			<guid isPermaLink="false">6729299aa85028c1d710d63e</guid>
			<itunes:explicit>false</itunes:explicit>
			<link>https://medium.com/p/c3bffe94ccc3</link>
			<acast:episodeId>6729299aa85028c1d710d63e</acast:episodeId>
			<acast:showId>65808a8eab7b4300163eef72</acast:showId>
			<acast:episodeUrl>forget-correctness-code-quality-be-verifiable-and-agile</acast:episodeUrl>
			<acast:settings><![CDATA[FYjHyZbXWHZ7gmX8Pp1rmbKbhgrQiwYShz70Q9/ffXZMTtedvdcRQbP4eiLMjXzCKLPjEYLpGj+NMVKa+5C8pL4u/EOj1Vw4h5MMJYp0lCcFAe0fnxBJy/1ju4Qxy1fh8gO4DvlGA40yms2g0/hOkcrfHIopjTygHFqGwwOPKFIai4SuTvs86Lx3UYCyl6Zse8UO0ux61aqJvtd6wJ8EL52aRBWnoF4j6XGCH9t7gCNKKXvd7KUDT79XWkjrxahV/6pYkG+Xshx84N7u1BxBb/m52me8ygAQzP5+MR/wgIJdW2HKfzn8qFSoq0captmW]]></acast:settings>
			<itunes:subtitle>the true first principles of software engineering</itunes:subtitle>
			<itunes:episodeType>full</itunes:episodeType>
			<itunes:season>1</itunes:season>
			<itunes:episode>40</itunes:episode>
			<itunes:image href="https://assets.pippa.io/shows/65808a8eab7b4300163eef72/1730752844652-8656c545-e4a8-4f28-9800-9cbc91494f2b.jpeg"/>
			<description><![CDATA[<p>Why ‘Correctness’ and ‘Code Quality’ Are Misleading: Embrace Verifiability and Agility</p><br><p>In this episode of <em>Code and Optimism</em>, I argue for replacing the subjective terms ‘correctness’ and ‘code quality’ with ‘verifiability’ and ‘agility’ in software development. I explain how these alternatives provide objective measures and practical benefits, driving impactful and adaptable projects. I outline the importance of solving meaningful problems, setting good requirements, and managing code effectively for agility while verifying impact through automation. Discover how pursuing correctness and code quality has been leading your team astray, and rediscover what truly matters for maximizing your impact on the world.</p><br><p>00:00&nbsp;Forget Correctness and Code Quality</p><p>01:53&nbsp;Start with Solving a Real World Problem</p><p>05:05&nbsp;Good Requirements</p><p>07:21&nbsp;Correctness vs Verifiability</p><p>12:12&nbsp;Quality vs Agility</p><p>14:37&nbsp;Lint Rant</p><p>17:26&nbsp;Agility and Code Debt</p><p>22:15&nbsp;Verifiability AND Agility</p><p>25:51&nbsp;Outro</p><br><p>Related:</p><ul><li><a href="https://medium.com/@shanebdavis/code-quality-and-correctness-considered-harmful-what-are-the-true-pillars-of-software-c3bffe94ccc3" rel="noopener noreferrer" target="_blank">Forget “Code Quality” and “Correctness” — Verifiability and Agility are the True First Principles of Software Engineering Blog Post</a></li><li><a href="https://medium.com/@shanebdavis/organic-modular-design-8a7258a44d8f" rel="noopener noreferrer" target="_blank">Organic Modular Design Blog Post</a> <a href="https://open.acast.com/networks/65781bd659a09800122c8c0b/shows/65808a8eab7b4300163eef72/episodes/6708f519011dc7d6443dd33b" rel="noopener noreferrer" target="_blank">C&amp;O Episode #39</a></li><li><a href="https://medium.com/@shanebdavis/embracing-software-agility-a32a90132c81" rel="noopener noreferrer" target="_blank">Embracing Software Agility Blog Post</a></li><li><a href="https://open.acast.com/networks/65781bd659a09800122c8c0b/shows/65808a8eab7b4300163eef72/episodes/66b71f5c491100609f6ad37a" rel="noopener noreferrer" target="_blank">Modular Testing - C&amp;O Episode #38</a></li></ul><p><br></p><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></description>
			<itunes:summary><![CDATA[<p>Why ‘Correctness’ and ‘Code Quality’ Are Misleading: Embrace Verifiability and Agility</p><br><p>In this episode of <em>Code and Optimism</em>, I argue for replacing the subjective terms ‘correctness’ and ‘code quality’ with ‘verifiability’ and ‘agility’ in software development. I explain how these alternatives provide objective measures and practical benefits, driving impactful and adaptable projects. I outline the importance of solving meaningful problems, setting good requirements, and managing code effectively for agility while verifying impact through automation. Discover how pursuing correctness and code quality has been leading your team astray, and rediscover what truly matters for maximizing your impact on the world.</p><br><p>00:00&nbsp;Forget Correctness and Code Quality</p><p>01:53&nbsp;Start with Solving a Real World Problem</p><p>05:05&nbsp;Good Requirements</p><p>07:21&nbsp;Correctness vs Verifiability</p><p>12:12&nbsp;Quality vs Agility</p><p>14:37&nbsp;Lint Rant</p><p>17:26&nbsp;Agility and Code Debt</p><p>22:15&nbsp;Verifiability AND Agility</p><p>25:51&nbsp;Outro</p><br><p>Related:</p><ul><li><a href="https://medium.com/@shanebdavis/code-quality-and-correctness-considered-harmful-what-are-the-true-pillars-of-software-c3bffe94ccc3" rel="noopener noreferrer" target="_blank">Forget “Code Quality” and “Correctness” — Verifiability and Agility are the True First Principles of Software Engineering Blog Post</a></li><li><a href="https://medium.com/@shanebdavis/organic-modular-design-8a7258a44d8f" rel="noopener noreferrer" target="_blank">Organic Modular Design Blog Post</a> <a href="https://open.acast.com/networks/65781bd659a09800122c8c0b/shows/65808a8eab7b4300163eef72/episodes/6708f519011dc7d6443dd33b" rel="noopener noreferrer" target="_blank">C&amp;O Episode #39</a></li><li><a href="https://medium.com/@shanebdavis/embracing-software-agility-a32a90132c81" rel="noopener noreferrer" target="_blank">Embracing Software Agility Blog Post</a></li><li><a href="https://open.acast.com/networks/65781bd659a09800122c8c0b/shows/65808a8eab7b4300163eef72/episodes/66b71f5c491100609f6ad37a" rel="noopener noreferrer" target="_blank">Modular Testing - C&amp;O Episode #38</a></li></ul><p><br></p><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></itunes:summary>
		</item>
		<item>
			<title>Organic Modular Design</title>
			<itunes:title>Organic Modular Design</itunes:title>
			<pubDate>Fri, 11 Oct 2024 09:51:21 GMT</pubDate>
			<itunes:duration>28:49</itunes:duration>
			<enclosure url="https://sphinx.acast.com/p/open/s/65808a8eab7b4300163eef72/e/6708f519011dc7d6443dd33b/media.mp3" length="41803184" type="audio/mpeg"/>
			<guid isPermaLink="false">6708f519011dc7d6443dd33b</guid>
			<itunes:explicit>false</itunes:explicit>
			<link>https://shows.acast.com/code-and-optimism/episodes/organic-modular-design</link>
			<acast:episodeId>6708f519011dc7d6443dd33b</acast:episodeId>
			<acast:showId>65808a8eab7b4300163eef72</acast:showId>
			<acast:episodeUrl>organic-modular-design</acast:episodeUrl>
			<acast:settings><![CDATA[FYjHyZbXWHZ7gmX8Pp1rmbKbhgrQiwYShz70Q9/ffXZMTtedvdcRQbP4eiLMjXzCKLPjEYLpGj+NMVKa+5C8pL4u/EOj1Vw4h5MMJYp0lCcFAe0fnxBJy/1ju4Qxy1fh8gO4DvlGA40yms2g0/hOkcrfHIopjTygHFqGwwOPKFIai4SuTvs86Lx3UYCyl6Zse8UO0ux61aqJvtd6wJ8EL52aRBWnoF4j6XGCH9t7gCPXvaKsMqBkX+0CJzRCp1LIQP1r0f5yisHHRRO3MVrSHgTZgKPEhCxY3iX1tRuQyA24I7HM68Na9i0xpg8fNWSF]]></acast:settings>
			<itunes:subtitle>The Lifecycle of Modular Design in Real-World Projects</itunes:subtitle>
			<itunes:episodeType>full</itunes:episodeType>
			<itunes:season>1</itunes:season>
			<itunes:episode>39</itunes:episode>
			<itunes:image href="https://assets.pippa.io/shows/65808a8eab7b4300163eef72/1728592251987-d44be402-f31b-4d2d-871c-65ebfb42e8a8.jpeg"/>
			<description><![CDATA[<p><strong>Most software teams are drowning in complexity—but with your help, we can change that story.</strong></p><p>In my latest episode of <em>Code and Optimism</em>, I share a little-known secret: modular design, when done right, <strong>isn’t just for architects or the early stages of a project</strong>. It’s something <strong>every</strong> developer should be doing every day. I call it <strong>Organic Modular Design</strong>—a real-world approach where modules grow naturally as the code evolves.</p><p>Here’s the kicker: if we’re not constantly maximizing modularity—from the project’s inception through the very last code edit—our project’s complexity <strong>will</strong> spiral out of control. But it doesn’t have to be this way. With a few key principles, we can stop the chaos and keep our codebase healthy and scalable.</p><p>The payoff? <strong>Logarithmic complexity scaling</strong> instead of the quadratic-scaling mess that kills most projects. Curious? This episode might just change the way you code forever.</p><p>As always, I don't claim to have all the answers. Anyone who says they do is either a fool or is selling something. For my part, I'm always trying to learn how to solve problems faster with software, and I'd love to learn with you. Send some feedback my way. Let's talk!</p><h2>Timestamps</h2><p>00:00 Introduction to Modular Design</p><p>00:55 Organic Modular Design (OMD)</p><p>02:12 The Modular Life Cycle</p><p>02:49 DRY Principle and Function Modules</p><p>04:43 File and Folder Modules</p><p>07:46 Encapsulation and Interface</p><p>17:07 Packaging Modules</p><p>23:58 Conclusion and Key Takeaways</p><p><br></p><h2>Tool Recommendations</h2><ul><li>Monorepo tooling: <a href="https://www.npmjs.com/package/@art-suite/monorepo" rel="noopener noreferrer" target="_blank">@art-suite/monorepo</a></li></ul><h2>Related Episodes</h2><ul><li>E12: Complexity Fighting Super Powers <a href="https://youtu.be/cj81OhXpQCU" rel="noopener noreferrer" target="_blank">https://youtu.be/cj81OhXpQCU</a></li><li>E13: The 5 Essential Elements of Modular Software Design <a href="https://youtu.be/V_mOC8I86ic" rel="noopener noreferrer" target="_blank">https://youtu.be/V_mOC8I86ic</a></li></ul><h2>Related Blog post:</h2><ul><li>The 5 Essential Elements of Modular Software Design <a href="https://medium.com/@shanebdavis/the-5-essential-elements-of-modular-software-design-6b333918e543" rel="noopener noreferrer" target="_blank">https://medium.com/@shanebdavis/the-5-essential-elements-of-modular-software-design-6b333918e543</a></li></ul><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></description>
			<itunes:summary><![CDATA[<p><strong>Most software teams are drowning in complexity—but with your help, we can change that story.</strong></p><p>In my latest episode of <em>Code and Optimism</em>, I share a little-known secret: modular design, when done right, <strong>isn’t just for architects or the early stages of a project</strong>. It’s something <strong>every</strong> developer should be doing every day. I call it <strong>Organic Modular Design</strong>—a real-world approach where modules grow naturally as the code evolves.</p><p>Here’s the kicker: if we’re not constantly maximizing modularity—from the project’s inception through the very last code edit—our project’s complexity <strong>will</strong> spiral out of control. But it doesn’t have to be this way. With a few key principles, we can stop the chaos and keep our codebase healthy and scalable.</p><p>The payoff? <strong>Logarithmic complexity scaling</strong> instead of the quadratic-scaling mess that kills most projects. Curious? This episode might just change the way you code forever.</p><p>As always, I don't claim to have all the answers. Anyone who says they do is either a fool or is selling something. For my part, I'm always trying to learn how to solve problems faster with software, and I'd love to learn with you. Send some feedback my way. Let's talk!</p><h2>Timestamps</h2><p>00:00 Introduction to Modular Design</p><p>00:55 Organic Modular Design (OMD)</p><p>02:12 The Modular Life Cycle</p><p>02:49 DRY Principle and Function Modules</p><p>04:43 File and Folder Modules</p><p>07:46 Encapsulation and Interface</p><p>17:07 Packaging Modules</p><p>23:58 Conclusion and Key Takeaways</p><p><br></p><h2>Tool Recommendations</h2><ul><li>Monorepo tooling: <a href="https://www.npmjs.com/package/@art-suite/monorepo" rel="noopener noreferrer" target="_blank">@art-suite/monorepo</a></li></ul><h2>Related Episodes</h2><ul><li>E12: Complexity Fighting Super Powers <a href="https://youtu.be/cj81OhXpQCU" rel="noopener noreferrer" target="_blank">https://youtu.be/cj81OhXpQCU</a></li><li>E13: The 5 Essential Elements of Modular Software Design <a href="https://youtu.be/V_mOC8I86ic" rel="noopener noreferrer" target="_blank">https://youtu.be/V_mOC8I86ic</a></li></ul><h2>Related Blog post:</h2><ul><li>The 5 Essential Elements of Modular Software Design <a href="https://medium.com/@shanebdavis/the-5-essential-elements-of-modular-software-design-6b333918e543" rel="noopener noreferrer" target="_blank">https://medium.com/@shanebdavis/the-5-essential-elements-of-modular-software-design-6b333918e543</a></li></ul><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></itunes:summary>
		</item>
		<item>
			<title>Modular Testing</title>
			<itunes:title>Modular Testing</itunes:title>
			<pubDate>Sat, 10 Aug 2024 08:51:24 GMT</pubDate>
			<itunes:duration>26:35</itunes:duration>
			<enclosure url="https://sphinx.acast.com/p/open/s/65808a8eab7b4300163eef72/e/66b71f5c491100609f6ad37a/media.mp3" length="38573054" type="audio/mpeg"/>
			<guid isPermaLink="false">66b71f5c491100609f6ad37a</guid>
			<itunes:explicit>false</itunes:explicit>
			<link>https://shows.acast.com/code-and-optimism/episodes/modular-testing</link>
			<acast:episodeId>66b71f5c491100609f6ad37a</acast:episodeId>
			<acast:showId>65808a8eab7b4300163eef72</acast:showId>
			<acast:episodeUrl>modular-testing</acast:episodeUrl>
			<acast:settings><![CDATA[FYjHyZbXWHZ7gmX8Pp1rmbKbhgrQiwYShz70Q9/ffXZMTtedvdcRQbP4eiLMjXzCKLPjEYLpGj+NMVKa+5C8pL4u/EOj1Vw4h5MMJYp0lCcFAe0fnxBJy/1ju4Qxy1fh8gO4DvlGA40yms2g0/hOkcrfHIopjTygHFqGwwOPKFIai4SuTvs86Lx3UYCyl6Zse8UO0ux61aqJvtd6wJ8EL52aRBWnoF4j6XGCH9t7gCP/fNH2TtO3JSCOWcmVagQrPFgKFmJQ1qIXhdcmp5l+TweThczDImHt9rOKjtfRAiir7Gg4FzQPhCULwz2g8OTI]]></acast:settings>
			<itunes:subtitle>Stop unit testing!</itunes:subtitle>
			<itunes:episodeType>full</itunes:episodeType>
			<itunes:season>1</itunes:season>
			<itunes:episode>38</itunes:episode>
			<itunes:image href="https://assets.pippa.io/shows/65808a8eab7b4300163eef72/1723279833572-51cf6f1a-eec7-47ba-bf48-be816a38fda2.jpeg"/>
			<description><![CDATA[<p>Why You Should Stop Doing Unit and Integration Testing - Embrace Modular Testing Instead!</p><br><p>In this episode, I challenge conventional testing methods and present a new approach—modular testing. I argue against traditional unit, integration, and system end-to-end testing, highlighting their inefficiencies and complexities. Instead, I introduce modular testing, where the focus is on testing only the external API of a module. This method aligns with good modular design principles and significantly reduces test maintenance effort. By testing just the API, the process becomes simpler, more agile, and scalable. I provide insights into the five essential elements of modular design and discuss how modular testing can enhance overall software quality while keeping testing efforts manageable.</p><p><br></p><ul><li>00:00&nbsp;Introduction to Automated Testing</li><li>01:03&nbsp;Standard Testing - A Review</li><li>01:43&nbsp;Unit Testing</li><li>03:06&nbsp;Integration Testing</li><li>04:57&nbsp;System Testing</li><li>06:59&nbsp;Modular Testing</li><li>08:25&nbsp;Modular Design Recap</li><li>12:11&nbsp;Benefits of Modular Testing</li><li>16:30&nbsp;Modular Testing IS Unit Testing, but better...</li><li>18:40&nbsp;Modular Testing IS Integration Testing, but better...</li><li>22:46&nbsp;System Testing? It's Modules All the Way Down...</li><li>24:23&nbsp;Conclusion and Final Thoughts</li><li>25:48&nbsp;Outro</li></ul><p><br></p><p>Related C&amp;O Episodes:</p><ul><li>E12 - Get Complexity-Fighting Super Powers with Modules <a href="https://youtu.be/cj81OhXpQCU" rel="noopener noreferrer" target="_blank">https://youtu.be/cj81OhXpQCU</a></li><li>E13 - The 5 Essential Elements of Modular Software Design <a href="https://youtu.be/V_mOC8I86ic" rel="noopener noreferrer" target="_blank">https://youtu.be/V_mOC8I86ic</a></li></ul><p><br></p><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></description>
			<itunes:summary><![CDATA[<p>Why You Should Stop Doing Unit and Integration Testing - Embrace Modular Testing Instead!</p><br><p>In this episode, I challenge conventional testing methods and present a new approach—modular testing. I argue against traditional unit, integration, and system end-to-end testing, highlighting their inefficiencies and complexities. Instead, I introduce modular testing, where the focus is on testing only the external API of a module. This method aligns with good modular design principles and significantly reduces test maintenance effort. By testing just the API, the process becomes simpler, more agile, and scalable. I provide insights into the five essential elements of modular design and discuss how modular testing can enhance overall software quality while keeping testing efforts manageable.</p><p><br></p><ul><li>00:00&nbsp;Introduction to Automated Testing</li><li>01:03&nbsp;Standard Testing - A Review</li><li>01:43&nbsp;Unit Testing</li><li>03:06&nbsp;Integration Testing</li><li>04:57&nbsp;System Testing</li><li>06:59&nbsp;Modular Testing</li><li>08:25&nbsp;Modular Design Recap</li><li>12:11&nbsp;Benefits of Modular Testing</li><li>16:30&nbsp;Modular Testing IS Unit Testing, but better...</li><li>18:40&nbsp;Modular Testing IS Integration Testing, but better...</li><li>22:46&nbsp;System Testing? It's Modules All the Way Down...</li><li>24:23&nbsp;Conclusion and Final Thoughts</li><li>25:48&nbsp;Outro</li></ul><p><br></p><p>Related C&amp;O Episodes:</p><ul><li>E12 - Get Complexity-Fighting Super Powers with Modules <a href="https://youtu.be/cj81OhXpQCU" rel="noopener noreferrer" target="_blank">https://youtu.be/cj81OhXpQCU</a></li><li>E13 - The 5 Essential Elements of Modular Software Design <a href="https://youtu.be/V_mOC8I86ic" rel="noopener noreferrer" target="_blank">https://youtu.be/V_mOC8I86ic</a></li></ul><p><br></p><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></itunes:summary>
		</item>
		<item>
			<title>The Guiding Principle of Automated Testing</title>
			<itunes:title>The Guiding Principle of Automated Testing</itunes:title>
			<pubDate>Sat, 27 Jan 2024 09:40:58 GMT</pubDate>
			<itunes:duration>7:45</itunes:duration>
			<enclosure url="https://sphinx.acast.com/p/open/s/65808a8eab7b4300163eef72/e/65b4cfaa912de90017f79e73/media.mp3" length="11250687" type="audio/mpeg"/>
			<guid isPermaLink="false">65b4cfaa912de90017f79e73</guid>
			<itunes:explicit>false</itunes:explicit>
			<link>https://shows.acast.com/code-and-optimism/episodes/e37-the-guiding-principle-of-automated-testing</link>
			<acast:episodeId>65b4cfaa912de90017f79e73</acast:episodeId>
			<acast:showId>65808a8eab7b4300163eef72</acast:showId>
			<acast:episodeUrl>e37-the-guiding-principle-of-automated-testing</acast:episodeUrl>
			<acast:settings><![CDATA[FYjHyZbXWHZ7gmX8Pp1rmbKbhgrQiwYShz70Q9/ffXZMTtedvdcRQbP4eiLMjXzCKLPjEYLpGj+NMVKa+5C8pL4u/EOj1Vw4h5MMJYp0lCcFAe0fnxBJy/1ju4Qxy1fh8gO4DvlGA40yms2g0/hOkcrfHIopjTygHFqGwwOPKFIai4SuTvs86Lx3UYCyl6Zse8UO0ux61aqJvtd6wJ8EL52aRBWnoF4j6XGCH9t7gCPC0dP8/mD3nPd9VU8bLucBSVo9U7qGmwmTDIrxYUAYk07WU3zqkXKtceuFLG9DKt9usvqZGR1nc1q4ew7REl/o]]></acast:settings>
			<itunes:episodeType>full</itunes:episodeType>
			<itunes:season>1</itunes:season>
			<itunes:episode>37</itunes:episode>
			<itunes:image href="https://assets.pippa.io/shows/65808a8eab7b4300163eef72/1706348426191-77b60ca9ada60b19f1dcb46b7049f939.jpeg"/>
			<description><![CDATA[<p>Before we can get into the nuts and bolts about how to do automated testing well, we have to understand what it means to do testing well. And for that, we need a guiding principle.&nbsp;</p><br><p>Automated testing, like so many aspects of solving problems with software, is a path of mastery. You can forever get better and better at it, and the magnitude of potential benefits are unbounded. However, it will be difficult to impossible to continually make progress without some guiding light showing us what way to go. A well constructed guiding principle can do exactly that for us. It provides a semi-objective way to assess progress and help make choices along the way.</p><br><p>In this episode I synthesize the benefits we explored in the last episode with some observations about the essential nature of automated testing. From that I propose a guiding principle that should help us all agree on what is and is not good automated testing.</p><br><p>Timestamps</p><p>0:44 - definition</p><p>1:17 - as proof</p><p>2:23 - metacode</p><p>3:00 - recap of benefits</p><p>3:56 - The Guiding Principle</p><p>5:28 - summary</p><p>6:40 - next time</p><p>7:08 - outro</p><br><p>Related C&amp;O Episodes:</p><ul><li>E036 - Surprising Benefits of Automated Testing - <a href="https://youtu.be/pBNzAB45_Hc" rel="noopener noreferrer" target="_blank">https://youtu.be/pBNzAB45_Hc</a></li></ul><p><br></p><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></description>
			<itunes:summary><![CDATA[<p>Before we can get into the nuts and bolts about how to do automated testing well, we have to understand what it means to do testing well. And for that, we need a guiding principle.&nbsp;</p><br><p>Automated testing, like so many aspects of solving problems with software, is a path of mastery. You can forever get better and better at it, and the magnitude of potential benefits are unbounded. However, it will be difficult to impossible to continually make progress without some guiding light showing us what way to go. A well constructed guiding principle can do exactly that for us. It provides a semi-objective way to assess progress and help make choices along the way.</p><br><p>In this episode I synthesize the benefits we explored in the last episode with some observations about the essential nature of automated testing. From that I propose a guiding principle that should help us all agree on what is and is not good automated testing.</p><br><p>Timestamps</p><p>0:44 - definition</p><p>1:17 - as proof</p><p>2:23 - metacode</p><p>3:00 - recap of benefits</p><p>3:56 - The Guiding Principle</p><p>5:28 - summary</p><p>6:40 - next time</p><p>7:08 - outro</p><br><p>Related C&amp;O Episodes:</p><ul><li>E036 - Surprising Benefits of Automated Testing - <a href="https://youtu.be/pBNzAB45_Hc" rel="noopener noreferrer" target="_blank">https://youtu.be/pBNzAB45_Hc</a></li></ul><p><br></p><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></itunes:summary>
		</item>
		<item>
			<title>3 Surprising Benefits of Automated Testing</title>
			<itunes:title>3 Surprising Benefits of Automated Testing</itunes:title>
			<pubDate>Mon, 18 Dec 2023 18:11:28 GMT</pubDate>
			<itunes:duration>7:20</itunes:duration>
			<enclosure url="https://sphinx.acast.com/p/open/s/65808a8eab7b4300163eef72/e/65808b502fdc17001762a57a/media.mp3" length="10641174" type="audio/mpeg"/>
			<guid isPermaLink="false">65808b502fdc17001762a57a</guid>
			<itunes:explicit>false</itunes:explicit>
			<link>https://youtu.be/pBNzAB45_Hc</link>
			<acast:episodeId>65808b502fdc17001762a57a</acast:episodeId>
			<acast:showId>65808a8eab7b4300163eef72</acast:showId>
			<acast:episodeUrl>surprising-benefits-of-automated-testing</acast:episodeUrl>
			<acast:settings><![CDATA[FYjHyZbXWHZ7gmX8Pp1rmbKbhgrQiwYShz70Q9/ffXZMTtedvdcRQbP4eiLMjXzCKLPjEYLpGj+NMVKa+5C8pL4u/EOj1Vw4h5MMJYp0lCcFAe0fnxBJy/1ju4Qxy1fh8gO4DvlGA40yms2g0/hOkcrfHIopjTygHFqGwwOPKFIai4SuTvs86Lx3UYCyl6Zse8UO0ux61aqJvtd6wJ8EL52aRBWnoF4j6XGCH9t7gCPeyDNOMco9f6UcSdW+Da1mCASmPc8pSXIBwyvFVwiI9BxE2U7eV87a6rKcgGpPvHGvVv0xa/XqRy5MnLi2BNJn]]></acast:settings>
			<itunes:subtitle>How I came to love automated testing...</itunes:subtitle>
			<itunes:episodeType>full</itunes:episodeType>
			<itunes:season>1</itunes:season>
			<itunes:episode>36</itunes:episode>
			<itunes:image href="https://assets.pippa.io/shows/65808a8eab7b4300163eef72/1706348516558-d1812780df646db3335b6182bec9454a.jpeg"/>
			<description><![CDATA[<p>I have a confession to make. I love automated testing. When done well, automated tests can help write better code, provide the best possible documentation, and most of all, automated testing can help write code faster:</p><p><br></p><blockquote>Code + Tests&nbsp;</blockquote><blockquote>SOLVES PROBLEMS FASTER</blockquote><blockquote>than just Code</blockquote><p><br></p><p>Seriously.&nbsp;</p><br><p>And, when done well, writing and maintaining automated tests suites can actually be a lot of fun. After all, it’s a chance to get paid to play with your code…</p><br><p>Timestamps</p><ul><li>0:19 - #1 Write better code</li><li>1:43 - #2 Best form of Doc</li><li>3:32 - #3 Accelerate your Code</li><li>4:41 - Imikimi story - an cautionary tail</li><li>6:00 - Recap</li><li>6:13 - Why I Love writing tests…</li><li>7:02 - Outro</li></ul><p><br></p><p>Related C&amp;O Episodes:</p><ul><li>E12 - Get Complexity-Fighting Super Powers with Modules&nbsp;<a href="https://youtu.be/cj81OhXpQCU" rel="noopener noreferrer" target="_blank">https://youtu.be/cj81OhXpQCU</a></li><li>E13 - The 5 Essential Elements of Modular Software Design&nbsp;<a href="https://youtu.be/V_mOC8I86ic" rel="noopener noreferrer" target="_blank">https://youtu.be/V_mOC8I86ic</a></li></ul><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></description>
			<itunes:summary><![CDATA[<p>I have a confession to make. I love automated testing. When done well, automated tests can help write better code, provide the best possible documentation, and most of all, automated testing can help write code faster:</p><p><br></p><blockquote>Code + Tests&nbsp;</blockquote><blockquote>SOLVES PROBLEMS FASTER</blockquote><blockquote>than just Code</blockquote><p><br></p><p>Seriously.&nbsp;</p><br><p>And, when done well, writing and maintaining automated tests suites can actually be a lot of fun. After all, it’s a chance to get paid to play with your code…</p><br><p>Timestamps</p><ul><li>0:19 - #1 Write better code</li><li>1:43 - #2 Best form of Doc</li><li>3:32 - #3 Accelerate your Code</li><li>4:41 - Imikimi story - an cautionary tail</li><li>6:00 - Recap</li><li>6:13 - Why I Love writing tests…</li><li>7:02 - Outro</li></ul><p><br></p><p>Related C&amp;O Episodes:</p><ul><li>E12 - Get Complexity-Fighting Super Powers with Modules&nbsp;<a href="https://youtu.be/cj81OhXpQCU" rel="noopener noreferrer" target="_blank">https://youtu.be/cj81OhXpQCU</a></li><li>E13 - The 5 Essential Elements of Modular Software Design&nbsp;<a href="https://youtu.be/V_mOC8I86ic" rel="noopener noreferrer" target="_blank">https://youtu.be/V_mOC8I86ic</a></li></ul><hr><p style='color:grey; font-size:0.75em;'> Hosted on Acast. See <a style='color:grey;' target='_blank' rel='noopener noreferrer' href='https://acast.com/privacy'>acast.com/privacy</a> for more information.</p>]]></itunes:summary>
		</item>
    	<itunes:category text="Technology"/>
		<itunes:category text="Business">
			<itunes:category text="Entrepreneurship"/>
		</itunes:category>
    </channel>
</rss>
