<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Chuck McAndrew&apos;s Blog</title><description>Writing about infrastructure, open source, and more.</description><link>https://chuckmcandrew.com/</link><language>en-us</language><item><title>Culture Is How Teams Become Excellent</title><link>https://chuckmcandrew.com/blog/culture-is-how-teams-become-excellent/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/culture-is-how-teams-become-excellent/</guid><description>Excellent engineers come from excellent teams, not the other way around. A story about building one on purpose, and watching it outlast the people who built it.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Don&apos;t Let a Bad Deploy Teach the Wrong Lesson</title><link>https://chuckmcandrew.com/blog/dont-let-a-bad-deploy-teach-the-wrong-lesson/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/dont-let-a-bad-deploy-teach-the-wrong-lesson/</guid><description>An incident always teaches you something. The trick is not learning the wrong lesson. A story about a failed self-service deploy and what it actually proved.</description><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Context, Not Control</title><link>https://chuckmcandrew.com/blog/context-not-control/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/context-not-control/</guid><description>When I first led a team, I made every decision run through me. A manager set me straight: my job was never to make the decisions, it was to make sure decisions got made.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Cognitive Bandwidth Is the Constraint</title><link>https://chuckmcandrew.com/blog/cognitive-bandwidth-is-the-constraint/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/cognitive-bandwidth-is-the-constraint/</guid><description>Developer productivity isn&apos;t limited by effort or typing speed. It&apos;s limited by how much an engineer can hold in their head at once, and protecting that is most of the job.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Platform Engineering for Human Beings</title><link>https://chuckmcandrew.com/blog/platform-engineering-for-human-beings/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/platform-engineering-for-human-beings/</guid><description>The job of a technical leader isn&apos;t to make every decision. It&apos;s to build the systems that let good engineering happen without them in the room.</description><pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate></item><item><title>In Praise of Inefficiency</title><link>https://chuckmcandrew.com/blog/in-praise-of-inefficiency/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/in-praise-of-inefficiency/</guid><description>Resilient systems need inefficiency built in. Seedlings, deadlifts, and what happens to engineers who never learn to struggle.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>The Centaur Model: Why the Best AI Work Is Still Partnership</title><link>https://chuckmcandrew.com/blog/centaur-model-human-ai-collaboration/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/centaur-model-human-ai-collaboration/</guid><description>The best use of AI isn&apos;t vibe coding or refusing the tool. It&apos;s pair programming in the deepest sense, where both parties bring something the other can&apos;t.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Threat Modeling for Software Developers</title><link>https://chuckmcandrew.com/blog/threat-modeling-for-developers/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/threat-modeling-for-developers/</guid><description>Security has a baseline that everyone should meet. Above that, the right level of security depends on your threat model, and that&apos;s a business decision, not a technical one.</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate></item><item><title>DRY Doesn&apos;t Mean What You Think It Means</title><link>https://chuckmcandrew.com/blog/dry-doesnt-mean-what-you-think/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/dry-doesnt-mean-what-you-think/</guid><description>Most developers learn DRY as &apos;don&apos;t duplicate code.&apos; The original principle is about something deeper: every piece of knowledge should have a single source of truth.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Rebuilding My Site with Astro, Tailwind, and DaisyUI</title><link>https://chuckmcandrew.com/blog/rebuilding-with-astro/</link><guid isPermaLink="true">https://chuckmcandrew.com/blog/rebuilding-with-astro/</guid><description>Why I ditched Hugo after years and rebuilt my personal site from scratch with Astro, Tailwind CSS v4, and DaisyUI v5.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>