<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software Design on MacWorks</title><link>https://macworks.dev/tags/software-design/</link><description>Recent content in Software Design on MacWorks</description><generator>Hugo</generator><language>en</language><atom:link href="https://macworks.dev/tags/software-design/index.xml" rel="self" type="application/rss+xml"/><item><title>Week 19 Summary</title><link>https://macworks.dev/docs/month/blogs/weekly-2026-W19/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/month/blogs/weekly-2026-W19/</guid><description>&lt;h1 id="engineering-reads--week-of-2026-04-17-to-2026-05-01"&gt;Engineering Reads — Week of 2026-04-17 to 2026-05-01&lt;a class="anchor" href="#engineering-reads--week-of-2026-04-17-to-2026-05-01"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="week-in-review"&gt;Week in Review&lt;a class="anchor" href="#week-in-review"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This week&amp;rsquo;s reading fundamentally re-evaluates the role of the software engineer in an era where text and code generation are practically free. The dominant debate has shifted from how to generate logic faster to how we deterministically verify it, forcing a transition toward strict mechanical guardrails and &amp;ldquo;agentic engineering&amp;rdquo;. Alongside this technical shift, there is a fierce resurgence in confronting the sociopolitical reality of our craft, reminding us that architectural choices—from open-source licenses to structural capability boundaries—never exist in a moral vacuum.&lt;/p&gt;</description></item><item><title>2026-05-01</title><link>https://macworks.dev/docs/archives/blogs/engineer-blogs-2026-05-01/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/archives/blogs/engineer-blogs-2026-05-01/</guid><description>&lt;h1 id="engineering-reads--2026-05-01"&gt;Engineering Reads — 2026-05-01&lt;a class="anchor" href="#engineering-reads--2026-05-01"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The friction of software subscriptions extends beyond billing, manifesting as frustrating user experiences when basic autonomy—like the ability to cancel a free service tier—is missing or broken. Even zero-cost services accumulate administrative cruft when system design completely neglects the offboarding path.&lt;/p&gt;
&lt;h2 id="deep-reads"&gt;Deep Reads&lt;a class="anchor" href="#deep-reads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;I can’t cancel GitHub Copilot&lt;/strong&gt; · Drew DeVault · &lt;a href="https://drewdevault.com/blog/I-cant-cancel-Copilot/"&gt;Source&lt;/a&gt;
Drew DeVault highlights a frustrating edge case in subscription state management: the inability to cleanly offboard from a complimentary service tier. After securing free access as a Free and Open Source Software (FOSS) community member to evaluate GitHub Copilot, DeVault abandoned the tool after a trivial fifteen-minute test. However, the platform&amp;rsquo;s design seemingly lacks a self-service cancellation path for non-paying users, locking them into unavoidable, recurring monthly renewal emails. DeVault notes that while there is no financial penalty, the inability to reclaim user autonomy through either UI settings or support channels represents a breakdown in fundamental system usability. Product engineers and system architects should read this as a stark reminder that robust offboarding flows are just as critical as onboarding, even when direct revenue is not explicitly attached to the user state.&lt;/p&gt;</description></item></channel></rss>