<?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[charity.wtf]]></title><description><![CDATA[observability, tech advice, honeycomb.io, etc]]></description><link>https://charity.wtf</link><image><url>https://substackcdn.com/image/fetch/$s_!Tg4H!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F194fc089-9e91-4a15-85cc-5da3fca53eed_1280x1280.png</url><title>charity.wtf</title><link>https://charity.wtf</link></image><generator>Substack</generator><lastBuildDate>Wed, 08 Jul 2026 19:53:11 GMT</lastBuildDate><atom:link href="https://charity.wtf/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Charity Majors]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[charitydotwtf@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[charitydotwtf@substack.com]]></itunes:email><itunes:name><![CDATA[Charity Majors]]></itunes:name></itunes:owner><itunes:author><![CDATA[Charity Majors]]></itunes:author><googleplay:owner><![CDATA[charitydotwtf@substack.com]]></googleplay:owner><googleplay:email><![CDATA[charitydotwtf@substack.com]]></googleplay:email><googleplay:author><![CDATA[Charity Majors]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[In defense of AI mandates]]></title><description><![CDATA[When you need to execute a coordinated change on a tight timeline, a mandate is the best and most honest way to fund it.]]></description><link>https://charity.wtf/p/in-defense-of-ai-mandates</link><guid isPermaLink="false">https://charity.wtf/p/in-defense-of-ai-mandates</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Thu, 02 Jul 2026 19:46:36 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9e857ab8-6302-418d-beb9-9689efe35d17_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been writing a series of pieces on lessons learned from our AI journey at <a href="http://honeycomb.io">Honeycomb</a>. I&#8217;ve written about <a href="https://charitydotwtf.substack.com/p/ai-enthusiasts-are-in-a-race-against">the tension between enthusiasts and skeptics</a>, <a href="https://charitydotwtf.substack.com/p/ai-demands-more-engineering-discipline">the need for engineering rigor</a>, and <a href="https://charitydotwtf.substack.com/p/make-ai-boring-again">the ethics of using tools with externalities and a seedy backstory</a>.</p><p>Today I want to send you off to a long July 4th weekend with a short but passionate defense of that most despised of management tools, the technology mandate.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4uzU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4uzU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png 424w, https://substackcdn.com/image/fetch/$s_!4uzU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png 848w, https://substackcdn.com/image/fetch/$s_!4uzU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png 1272w, https://substackcdn.com/image/fetch/$s_!4uzU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4uzU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png" width="556" height="158.85714285714286" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:416,&quot;width&quot;:1456,&quot;resizeWidth&quot;:556,&quot;bytes&quot;:1971829,&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://charitydotwtf.substack.com/i/204650782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.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_!4uzU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png 424w, https://substackcdn.com/image/fetch/$s_!4uzU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png 848w, https://substackcdn.com/image/fetch/$s_!4uzU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png 1272w, https://substackcdn.com/image/fetch/$s_!4uzU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef931a8-ad69-4d92-9ddf-8f25d8e3c984_2166x619.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h2>Nobody likes mandates</h2><p>I have read many a tweet or post from engineers exploding with rage over the pointless, counterproductive AI mandates they have endured at work.</p><p>I have also read many a post from CEOs and execs bragging about their mandates, how decisively they upskilled, how fast they are moving now, and &#8212; lest we forget &#8212; how many people they laid off as a result of their new, AI-juiced incredibleness.</p><p>(Boy, I wonder why people aren&#8217;t excited?)</p><p>Sometimes mandates are stupid and punitive and shortsighted and dumb. But not always.</p><h2>A mandate is a way to fund the change</h2><p>The mandate is one way of putting organizational muscle behind a decision. It's a funding mechanism. It works by acknowledging that &#8220;hey, we are all going to be a little slower for a bit while we figure this out, and it will be annoying and expensive and we accept that.&#8221; </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FuSn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FuSn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png 424w, https://substackcdn.com/image/fetch/$s_!FuSn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png 848w, https://substackcdn.com/image/fetch/$s_!FuSn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png 1272w, https://substackcdn.com/image/fetch/$s_!FuSn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FuSn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png" width="554" height="152.5782967032967" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:401,&quot;width&quot;:1456,&quot;resizeWidth&quot;:554,&quot;bytes&quot;:2018787,&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://charitydotwtf.substack.com/i/204650782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.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_!FuSn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png 424w, https://substackcdn.com/image/fetch/$s_!FuSn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png 848w, https://substackcdn.com/image/fetch/$s_!FuSn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png 1272w, https://substackcdn.com/image/fetch/$s_!FuSn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cba38da-5b6c-453d-9ee7-3319d9eedb1b_2154x593.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>It&#8217;s a way of letting managers know that we know some deadlines and standards will slip, and that's ok. <em>We are all going to go through this hard thing together and have each other&#8217;s back, because this is important.</em> We accept the tradeoffs.</p><p>Any time you devote resources to a goal, you need to account for where those resources are coming from. What can people put down or let slip? What work are you choosing not to do? How will you know if it was worth the time and effort?</p><p><span>A mandate is a forcing function for identifying a timeline and figuring out what kind of enablement is needed. It forces you to have hard conversations about what tradeoffs to expect and what success will look like.</span></p><h2>If you don&#8217;t fund the change, it&#8217;s not important</h2><p><span>Without funding and a mandate, you're effectively telling your employees to build these skills in their spare time, if they can and if they feel like it. Which is the same as telling them &#8220;this is NOT a priority, we are NOT willing to fund it.&#8221;</span></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eMVC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eMVC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png 424w, https://substackcdn.com/image/fetch/$s_!eMVC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png 848w, https://substackcdn.com/image/fetch/$s_!eMVC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png 1272w, https://substackcdn.com/image/fetch/$s_!eMVC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eMVC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png" width="546" height="150" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:1456,&quot;resizeWidth&quot;:546,&quot;bytes&quot;:1898275,&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://charitydotwtf.substack.com/i/204650782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.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_!eMVC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png 424w, https://substackcdn.com/image/fetch/$s_!eMVC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png 848w, https://substackcdn.com/image/fetch/$s_!eMVC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png 1272w, https://substackcdn.com/image/fetch/$s_!eMVC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76a69861-d731-4fd5-bbf8-4b2356c3f3e9_2143x589.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>You are telling managers there is no cover from above. No grace and understanding that deadlines may slip, quality may degrade, work may take longer. No resources to try and make the learning fun and social. No shared sense of <em>we are all in this together, yes this is hard, but we will get through it. </em></p><p>You are just larding on more pressure and uncertainty and stress &#8212; the opposite of clarity and call to action.</p><p>If you have the luxury of time, you might not need a mandate. Maybe you have time and space to win hearts and minds, create opportunities for learning, cultivate intrinsic motivation and manage to outcomes. This can be an easier and less disruptive way of driving change through an engineering org. </p><p>But you don&#8217;t always have that luxury. And not every change is fun. Most big transformation projects end up needing hearts and minds and mandates.</p><h2>Make a decision, but follow through</h2><p>So figure it out. Is AI existential for you, or is it a nice-to-have? Either way, for the love of god, be consistent. Don&#8217;t claim it&#8217;s existential but refuse to fund the change. Don&#8217;t claim it&#8217;s a nice-to-have, then change your mind later and blame your employees for not working hard enough to build AI expertise.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tBWI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tBWI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png 424w, https://substackcdn.com/image/fetch/$s_!tBWI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png 848w, https://substackcdn.com/image/fetch/$s_!tBWI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png 1272w, https://substackcdn.com/image/fetch/$s_!tBWI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tBWI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png" width="534" height="151.47115384615384" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:413,&quot;width&quot;:1456,&quot;resizeWidth&quot;:534,&quot;bytes&quot;:2037138,&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://charitydotwtf.substack.com/i/204650782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.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_!tBWI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png 424w, https://substackcdn.com/image/fetch/$s_!tBWI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png 848w, https://substackcdn.com/image/fetch/$s_!tBWI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png 1272w, https://substackcdn.com/image/fetch/$s_!tBWI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8611730-4fcb-4003-a048-6e1ae868686c_2151x610.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>As I wrote in my <a href="https://charitydotwtf.substack.com/p/ai-enthusiasts-are-in-a-race-against">skeptics and enthusiasts</a> piece:</p><blockquote><p>As management, sometimes you have to ask people to do things they disagree with or go in a direction they don&#8217;t love. That&#8217;s part of the job&#8230;But forcing something through should always be the last resort. </p><p><span>And if you do end up laying down the law, </span><em>you better be right</em><span>. Reality had better back you up, and fast. Because if you forced them into doing something they knew was wrong and wouldn&#8217;t work, they are going to resent you for the rest of their life.</span></p></blockquote><p><span>If you&#8217;re reorienting your strategy, roadmap and job ladder around an AI-first agenda, but you aren&#8217;t willing to be straight with your employees that these are required skills now &#8212; and allocate time and space to develop those skills &#8212; that&#8217;s not respecting their agency, it&#8217;s dishonesty and cowardice in leadership.</span></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I_Y6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I_Y6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png 424w, https://substackcdn.com/image/fetch/$s_!I_Y6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png 848w, https://substackcdn.com/image/fetch/$s_!I_Y6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png 1272w, https://substackcdn.com/image/fetch/$s_!I_Y6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I_Y6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png" width="588" height="149.42307692307693" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:370,&quot;width&quot;:1456,&quot;resizeWidth&quot;:588,&quot;bytes&quot;:1333143,&quot;alt&quot;:&quot;&quot;,&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://charitydotwtf.substack.com/i/204650782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!I_Y6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png 424w, https://substackcdn.com/image/fetch/$s_!I_Y6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png 848w, https://substackcdn.com/image/fetch/$s_!I_Y6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png 1272w, https://substackcdn.com/image/fetch/$s_!I_Y6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3cb179c-bad2-4c7b-a5ac-2309626029dd_1769x450.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>A declaration of independence</h2><p>Happy fourth, everyone, and happy 250th birthday to this battered, beautiful country of ours. We hold these words to be self-evident,</p><blockquote><p>All people are entitled to inherent rights including life, liberty and the pursuit of happiness.</p><p>Governments exist only to protect these rights and derive their authority from the people they govern.</p></blockquote><p>Still revolutionary words. To our republic, if we can keep it. &#129346;</p><p><em>~charity</em></p><p></p>]]></content:encoded></item><item><title><![CDATA[Is it ethical to use AI?]]></title><description><![CDATA[On externalities and engagement, the problem with purity politics, and why we need to make AI boring again]]></description><link>https://charity.wtf/p/make-ai-boring-again</link><guid isPermaLink="false">https://charity.wtf/p/make-ai-boring-again</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Wed, 24 Jun 2026 19:52:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c7a68015-b571-4120-9a24-6ba8350f2124_1774x887.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am a contrarian who likes to argue and complain a lot. Because of this, I have never been inclined to block people who argue with me or complain about my work, or even lash out at me with some hostility. I could say a lot of noble sounding things about how I value debate and open discourse, and those things would be true, but I also just feel like I should tolerate other people as much as they have to tolerate me. </p><p>I recently wrote a piece about <a href="https://charitydotwtf.substack.com/p/ai-enthusiasts-are-in-a-race-against">AI enthusiasts vs AI skeptics</a> &#8212; a very mild piece, I might add, almost repulsively brimming over with both-sides-are-good-people&#8217;s and can&#8217;t-we-all-just-get-along&#8217;s. Yet I have blocked more people in the past three weeks than the past ten years.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> There is a fear in the water right now that is bringing the crazy out in all of us.</p><p>The stakes are not low. The world is burning, after all. CEOs go on job-murdering sprees and the Industrial Revolution may be coming for knowledge workers. <a href="https://www.vatican.va/content/leo-xiv/en/encyclicals/documents/20260515-magnifica-humanitas.html#The_civilization_of_love">Even the Pope is alarmed</a>.</p><h2>AI is not special</h2><p>It bothers me when I see people holding AI up like it&#8217;s something special &#8212; uniquely evil, incomparably harmful, irreparably tainted. It is none of those things. <strong>AI is just technology.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UVCm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UVCm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png 424w, https://substackcdn.com/image/fetch/$s_!UVCm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png 848w, https://substackcdn.com/image/fetch/$s_!UVCm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png 1272w, https://substackcdn.com/image/fetch/$s_!UVCm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UVCm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png" width="535" height="179.9941792782305" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:289,&quot;width&quot;:859,&quot;resizeWidth&quot;:535,&quot;bytes&quot;:437602,&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://charitydotwtf.substack.com/i/202052392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.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_!UVCm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png 424w, https://substackcdn.com/image/fetch/$s_!UVCm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png 848w, https://substackcdn.com/image/fetch/$s_!UVCm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png 1272w, https://substackcdn.com/image/fetch/$s_!UVCm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f553b-23da-4aca-baee-80abe60d9fad_859x289.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Some technologies are more damaging than others &#8212; knives are less damaging than guns, Facebook for colleges was less damaging than Facebook for Myanmar &#8212; but we <em>always</em> discover risks before we know how to govern them.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> There is always a gap while we try to catch up.</p><p>That gap is not proof that AI is evil. It is proof that we have work to do.</p><p>The fact that we have not solved the problems yet is not an argument to disconnect. It is an argument to engage, <em>especially</em> if you work in technology and already have an arsenal of relevant skills.</p><p>You do not learn to govern a tool by refusing to touch it. You learn by using it and understanding well enough to critique it, shape it, contribute to it, and set boundaries around it. <a href="https://mcfunley.com/choose-boring-technology">You learn how to make it borin</a>g.</p><p>&#8220;<a href="https://www.usenix.org/conference/srecon25americas/presentation/majors">Learn AI so you can complain about AI better</a>.&#8221; I said it and I meant it. I still do.</p><h2>There are a number of harms associated with AI</h2><p>I took to Bluesky and started a thread to <a href="https://bsky.app/profile/charity.wtf/post/3mol5pvcabk2p">catalogue the harms</a> associated with AI. There seems to be two buckets: harms done in the creation of AI (e.g. training without permission or compensation, labor exploitation in data labeling) and harms enabled by the use of AI (e.g. revenge porn, the ouroboros of truthiness and the problem of attribution, energy and water usage).</p><p>I am not trying to minimize or deny these harms. Indeed, I think part of being a responsible user of AI means educating ourselves and acting to counter these harms. </p><p>Where I diverge from many is that I don&#8217;t think awareness of these harms leads inexorably to the conclusion, &#8220;thus I should not use it or engage with AI.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KTdr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KTdr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png 424w, https://substackcdn.com/image/fetch/$s_!KTdr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png 848w, https://substackcdn.com/image/fetch/$s_!KTdr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png 1272w, https://substackcdn.com/image/fetch/$s_!KTdr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KTdr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png" width="530" height="182.1118721461187" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:301,&quot;width&quot;:876,&quot;resizeWidth&quot;:530,&quot;bytes&quot;:456644,&quot;alt&quot;:&quot;&quot;,&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://charitydotwtf.substack.com/i/202052392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!KTdr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png 424w, https://substackcdn.com/image/fetch/$s_!KTdr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png 848w, https://substackcdn.com/image/fetch/$s_!KTdr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png 1272w, https://substackcdn.com/image/fetch/$s_!KTdr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce7c8f97-5fac-44e3-8dc5-910a667d0528_876x301.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>I think the moral valence points in the other direction, especially for those of us in tech. I think we have a moral responsibility to engage, become experts, become people worth listening to. I think the next generation of technology is being hammered out right now, and I want to help shape it. I think unilateral disarmament in the face of powerful new tools is neither wise or an effective strategy.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p>But let&#8217;s talk about those buckets of harm first.</p><h2>Harms tied to how AI was built</h2><p>The argument I hear the most goes something like this. &#8220;AI was trained on stolen data,<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> therefore anyone who uses it is complicit. If you care about artists, you should not use these tools, and should try to avoid any art generated using AI.&#8221; Or this article, &#8220;<a href="https://smallsheds.garden/blog/2026/on-the-acceptance-of-genai/">On the acceptance of GenAI</a>,&#8221; which I&#8217;ve been sent many times.</p><p>No, you should avoid AI-generated art because most of it is <em>terrible</em>. Honestly, if there is one segment I am not worried about at all, it is whether or not art will thrive. Aesthetics will have their own revenge, and it will be vicious. It is already happening</p><p>It&#8217;s worth pointing out that <strong>ethics, morality and the law are different things</strong>. Was the way OpenAI trained their models legal? It&#8217;s unclear. The laws were not written with this use case in mind, and case law to date has been muddled, contradictory, and narrowly decided based on the facts of the case. It&#8217;s effectively Schrodinger&#8217;s Law &#8212; we won&#8217;t find out if it was legal or not until the Supreme Court weighs in. </p><p>But even if it turns out to have been legal, was it <em>right</em>? Not in my book.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cKVO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cKVO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png 424w, https://substackcdn.com/image/fetch/$s_!cKVO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png 848w, https://substackcdn.com/image/fetch/$s_!cKVO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png 1272w, https://substackcdn.com/image/fetch/$s_!cKVO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cKVO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png" width="528" height="179.4709976798144" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:293,&quot;width&quot;:862,&quot;resizeWidth&quot;:528,&quot;bytes&quot;:434140,&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://charitydotwtf.substack.com/i/202052392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.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_!cKVO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png 424w, https://substackcdn.com/image/fetch/$s_!cKVO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png 848w, https://substackcdn.com/image/fetch/$s_!cKVO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png 1272w, https://substackcdn.com/image/fetch/$s_!cKVO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b96418-34f8-4df0-991b-4d2d367b62f5_862x293.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Training data is not the only harm done: there is also exploited labor, energy costs, clean water, quality of life issues for communities, tax issues (did you know datacenters pay no taxes, and are offered billions in tax BREAKS by local govts?), concentration of power amongst certain elites, the apparent sociopathy of key actors, and more. </p><p>If you want to support artists, <em>support artists</em>.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a> But there is no such thing as original sin. Technology is a tool. What matters is what we do with it.</p><h2>Harms tied to living with and using AI now</h2><p>The list of harms people are currently experiencing as a consequence of AI is long, and the list of harms we see looming on the horizon is even longer. From everyday irritants &#8212; getting five pages of slop instead of three crisp bullet points, hiring pipelines clogged with fake applicants, AI customer support designed to be unhelpful and wear you out &#8212; to deadly serious concerns about skill atrophy, lack of accountability, sycophancy, and whether the ouroboros of training on generated data will lead to a corresponding decay in reference quality and the loss of truth itself.</p><p><span>Most of these are not novel to AI, they were problems before AI came around, AI is just making them worse or more extreme. Which means that solutions will also not specific to AI.</span></p><p><span>I am troubled by the amount of motivated reasoning coming from the people I feel politically aligned with. It&#8217;s very easy to mock and write off people who vocally hate AI for a long list of things they never seemed to give a shit about before they realized they hated AI and went looking for reasons.</span><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-6" href="#footnote-6" target="_self">6</a></p><p><span>I worry this works to delegitimize concerns over some of the very real, very specific, very very frightening harms that ARE specific to AI. Like delegating decisions about who to jail or who to kill on the battlefield, or what authoritarian governments can do with these tools &#8212; including our own.</span></p><p>The list is long, and the list is growing. What are we going to do?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!prpn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!prpn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png 424w, https://substackcdn.com/image/fetch/$s_!prpn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png 848w, https://substackcdn.com/image/fetch/$s_!prpn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png 1272w, https://substackcdn.com/image/fetch/$s_!prpn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!prpn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png" width="562" height="183.30237825594563" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:288,&quot;width&quot;:883,&quot;resizeWidth&quot;:562,&quot;bytes&quot;:456044,&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://charitydotwtf.substack.com/i/202052392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.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_!prpn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png 424w, https://substackcdn.com/image/fetch/$s_!prpn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png 848w, https://substackcdn.com/image/fetch/$s_!prpn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png 1272w, https://substackcdn.com/image/fetch/$s_!prpn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6c31024-54af-45d0-9f91-7ecd4ac8bc93_883x288.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>We had to learn how live in a world with guns, nuclear weapons, smallpox, alcohol, cigarettes, social media, fentanyl and bitcoin. Now we need to figure out how to live in a world with AI.</p><h2>My politics are not concerned with purity</h2><p>I was raised by a man who believed that purity was a real thing, and the highest good that we (women) should aspire to. I was raised to see the mainstream world as a place rotten with corruption and full of temptation. I was taught that the righteous path meant divesting ourselves from the fallen world and its schools, its insurance plans, its governing bodies, its popular culture. </p><p>And while my parents are wonderful, loving people and I love them dearly, I have spent <a href="https://charity.wtf/2025/07/09/thoughts-on-motivation-and-my-40-year-career/">my own adult life</a> fiercely devoted to the opposite.</p><p>I believe in interdependence. I believe we are inescapably entwined and entangled with one another, whether or not we perceive the entanglements or trace the particulars. I believe it is neither possible nor desirable to remove ourselves from the web of dependencies we are born to.</p><p>The way you show care is by showing up. The way you make the world a better place is by getting down in the muck and building it, using whatever skills and resources you have on hand. The way you drive change is <em>you engage</em>.</p><p>Yes, we are all complicit. Yes, we are all compromised. No argument. But what are you going to <em>do</em> with that feeling of conviction? Will you channel your discomfort into solidarity and action, or try to ease your conscience by removing yourself from the system? Which does more to help those being harmed?</p><h2>You can&#8217;t fight fundamentalism with fundamentalism</h2><p>I believe that the pursuit of purity slips easily into narcissism and performance art, centering ourselves and our quest instead of centering the problem or the ones who are harmed by it.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IF4i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IF4i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png 424w, https://substackcdn.com/image/fetch/$s_!IF4i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png 848w, https://substackcdn.com/image/fetch/$s_!IF4i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png 1272w, https://substackcdn.com/image/fetch/$s_!IF4i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IF4i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png" width="560" height="179.45454545454547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:282,&quot;width&quot;:880,&quot;resizeWidth&quot;:560,&quot;bytes&quot;:474738,&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://charitydotwtf.substack.com/i/202052392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.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_!IF4i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png 424w, https://substackcdn.com/image/fetch/$s_!IF4i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png 848w, https://substackcdn.com/image/fetch/$s_!IF4i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png 1272w, https://substackcdn.com/image/fetch/$s_!IF4i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe63cdc74-cb9d-4cab-ba4f-97f00de8b848_880x282.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><span>The pursuit of purity is the animating force behind every fundamentalism, left or right. And while fundamentalism is an emotionally satisfying response, and one that looks increasingly tempting as Silicon Valley leans into its heel turn, I do not think it is an </span><em><span>effective</span></em><span> response. </span></p><blockquote><p>&#8220;I argue against purism because it is one bad but common approach to devastation in all its forms&#8230;It is a bad approach because it shuts down precisely the field of possibility that might allow us to take better collective action against the destruction of the world in all its strange, delightful, impure frolic.&#8221; &#8212; Alexis Shotwell, &#8220;<a href="https://www.goodreads.com/en/book/show/30227589-against-purity">Against Purity: Living Ethically in Compromised Times</a>&#8221;</p></blockquote><p>I am especially dubious of the calories we spend performatively denouncing each other for being insufficiently pure.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-7" href="#footnote-7" target="_self">7</a> Who does this help? Artists? Families who can&#8217;t sleep next to data centers?</p><p><span>Whether we like it or not, AI is here to stay. If the future of tech is being written right now &#8212; and I believe it is &#8212; what&#8217;s the plan? Walk off the field and abandon it to whoever has fewest scruples? Come on.</span></p><h2>Okay, so what DO we do?</h2><p>Well, this is the right question, and one we should be asking of ourselves.</p><p>I think that anyone who works in the tech industry should be actively learning everything they can about AI &#8212; how it works, how it fails, how to use it effectively and guard against harms. </p><p>I still think the software industry will turn out to be <em>the</em> killer app for AI, since software is made up of language and logic, and <a href="https://substack.com/home/post/p-201425003">software has built-in ways for validating outputs and mitigating drift</a> that other applications do not. But we will have to learn them, build them, teach them, and use them.</p><p>I think every workplace that uses AI should be actively, urgently talking about the ways AI is changing the way we work together, communicate and collaborate. And not just to collect and catalogue a list of harms, but to actively experiment with ways of pushing back on them, solving them, working around them, making these technologies work FOR us.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nC0B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nC0B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png 424w, https://substackcdn.com/image/fetch/$s_!nC0B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png 848w, https://substackcdn.com/image/fetch/$s_!nC0B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png 1272w, https://substackcdn.com/image/fetch/$s_!nC0B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nC0B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png" width="562" height="181.68945538818076" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:279,&quot;width&quot;:863,&quot;resizeWidth&quot;:562,&quot;bytes&quot;:456258,&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://charitydotwtf.substack.com/i/202052392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.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_!nC0B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png 424w, https://substackcdn.com/image/fetch/$s_!nC0B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png 848w, https://substackcdn.com/image/fetch/$s_!nC0B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png 1272w, https://substackcdn.com/image/fetch/$s_!nC0B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facbc3a84-bee3-43a1-8cac-1cdd326b9af0_863x279.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>How can we be more human together? How can we add boundaries around our use of AI? How can we ensure that it serves us? Can we build more ethical alternatives to harmful technologies? There&#8217;s a market for those, I&#8217;m betting.</p><p>I also think we need more answers than the ones we currently have. Compensation funds or relocation support for people who live near datacenters. Publicize the billions of taxpayer dollars that subsidize these projects, which usually pay no taxes. <a href="https://www.nbcnewyork.com/investigations/states-offer-tax-breaks-ai-data-centers-americans-dont-want/6507973/">Vote out the motherfuckers who gave your money away</a>. Are there legal advocacy groups devoted to this topic? Lobbying groups? What else? Send me any answers you know of and vouch for, and I will post any answers I get.</p><h2>Start where you live. Start at work</h2><p>I recognize that answer is a little weak. I&#8217;m sorry, I don&#8217;t have all the answers either. I only know there ARE no easy answers, and anyone who says differently is selling something or grandstanding on social media.</p><p>I do know that for me, and probably for many of you, the answer starts at work. The answer starts with admitting that we <em>don&#8217;t</em> know. And digging in, and getting started anyway.</p><p>I&#8217;d start here: Are you getting frustrated with AI slop and the undisciplined use of AI tooling, the unfair and un-acknowledged tax on each other&#8217;s time? </p><p>We all are &#8212; trust me. These gripes are worth airing. Not for the sake of griping but as a way of figuring out better ways to interact, better patterns, better working agreements. Do you want to declare some days or types of interactions off-limits for AI? Do you want to try asking for consent before sharing an AI-generated doc? What kind of experiments would alleviate your biggest frustration? </p><p>Pain is nature&#8217;s teacher. Follow it.</p><p>If you&#8217;re a manager, have an open conversation with your team. (If you&#8217;re not a manager, bring it up with yours!) The good news is, literally everyone is angry and frustrated with the status quo. The time is ripe to propose new ways of being and working together.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RUdT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RUdT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png 424w, https://substackcdn.com/image/fetch/$s_!RUdT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png 848w, https://substackcdn.com/image/fetch/$s_!RUdT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png 1272w, https://substackcdn.com/image/fetch/$s_!RUdT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RUdT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png" width="523" height="182.0454016298021" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:299,&quot;width&quot;:859,&quot;resizeWidth&quot;:523,&quot;bytes&quot;:477080,&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://charitydotwtf.substack.com/i/202052392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.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_!RUdT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png 424w, https://substackcdn.com/image/fetch/$s_!RUdT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png 848w, https://substackcdn.com/image/fetch/$s_!RUdT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png 1272w, https://substackcdn.com/image/fetch/$s_!RUdT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dd13dac-9a86-4bae-96dd-e122fab2f48b_859x299.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>Let&#8217;s make AI boring again</h2><p>There is unlikely to be a future without AI. Sorry. But that doesn&#8217;t mean we&#8217;re stuck with whatever OpenAI and Anthropic decide to give us.</p><p>When I&#8217;m feeling hopeless, I tell myself this: I can have more influence over AI in the software industry than I can have over any of the other things I lay awake at night worrying about: the government, the Supreme Court, elections, climate change, desertification, the information ecosystem, Ukraine, or the Middle East. </p><p>The same is probably true for you.</p><p><span>We do not get to choose a pure world. But we get to choose whether we will help shape the compromised world we already live in.</span></p><p><span>The answer to fear-driven rage is boring, disciplined, collective work, the work of organizing and caring and building a better world. The answer to fundamentalism is not more fundamentalism. Our feelings of guilt and culpability should push us towards acts of solidarity and repair, not the pursuit of individual purity.</span></p><p>To my mind, the goal is not to make AI disappear. It&#8217;s too darn useful, and anyway, we can&#8217;t. The goal is to make its use disciplined, social and accountable. Let&#8217;s do the work it takes to live with powerful tools and govern them responsibly. </p><p>Let&#8217;s make AI boring again.</p><p>~charity</p><p>Thanks to everyone who contributed to my bluesky thread, sent messages, challenged my thinking, or reviewed early drafts of this piece. (Too many to name, and some have asked for privacy.) I appreciate you all very much.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZPQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZPQV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png 424w, https://substackcdn.com/image/fetch/$s_!ZPQV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png 848w, https://substackcdn.com/image/fetch/$s_!ZPQV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png 1272w, https://substackcdn.com/image/fetch/$s_!ZPQV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZPQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png" width="540" height="179.87637362637363" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:540,&quot;bytes&quot;:1765894,&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://charitydotwtf.substack.com/i/202052392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.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_!ZPQV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png 424w, https://substackcdn.com/image/fetch/$s_!ZPQV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png 848w, https://substackcdn.com/image/fetch/$s_!ZPQV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png 1272w, https://substackcdn.com/image/fetch/$s_!ZPQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc383c056-4f2a-4a26-8015-0c0eb30422df_2172x724.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For those interested in reading more:</p><p>There&#8217;s a book I&#8217;ve been recommending a lot recently called &#8220;<a href="https://www.goodreads.com/en/book/show/174156496-catastrophe-ethics">Catastrophe Ethics: How to Choose Well in a World of Tough Choices</a>&#8221;, by Travis Rieder.</p><p>It may be a bit too &#8220;pop&#8221; for philosophy nerds and too &#8220;philosophy&#8221; for popular audiences&#8230; but I loved it and refer back to it often. Rieder talks about the difficulty of living an ethical life when every choice we make is fraught with harms, yet individual actions seems meaningless against the scale of our problems. How do you chart a life of integrity without falling into puritanicalism or nihilism? </p><p>&#8220;<a href="https://www.google.com/search?q=more+everything+forever+goodreads&amp;oq=more+everything+forever+goodreads&amp;gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIICAEQABgWGB4yBwgCEAAY7wUyCggDEAAYgAQYogQyBwgEEAAY7wUyCggFEAAYgAQYogQyBwgGEAAY7wXSAQg1NTI0ajBqN6gCALACAA&amp;sourceid=chrome&amp;ie=UTF-8">More Everything Forever: AI Overlords, Space Empires, and Silicon Valley&#8217;s Crusade to Control the Fate of Humanity</a>&#8221;, by Adam Becker. &#8220;Catastrophe Ethics&#8221; can be a bit of a grim read at times, but this book is pure joy. Becker is a science journalist with a philosophy degree and a PhD in astrophysics, and he lives in San Francisco, ground zero for AI psychosis. There is no one better equipped to bust myths about AI, the Singularity, effective altruism, AGI, and so much more, with a zesty edge of dry humor.</p><p>Albert Hirschman&#8217;s &#8220;<a href="https://www.goodreads.com/book/show/149033.Exit_Voice_and_Loyalty?ref=nav_sb_noss_l_20">Exit, Voice and Loyalty: Responses to Decline in Firms, Organizations, and States</a>&#8221; (thanks Liz)</p><p>And finally, the utterly necessary &#8220;<a href="https://www.goodreads.com/en/book/show/28048.Hope_in_the_Dark">Hope in the Dark</a>&#8221;, by Rebecca Solnit. We tend to forget our wins as soon as we achieve them, so it&#8217;s easy to feel like everything is always getting worse, all the time. It is not. And <strong>struggle builds hope</strong>, all along the way.</p><p></p><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>I have never blocked someone for disagreeing with me, and I never will. Why would I, when disagreements are more interesting to me than agreements, and when I get so much generative energy from debate and being challenged?</p><p>The people I block are the ones who showed up angry for reasons that have nothing to do with me. They&#8217;re usually lashing out at me because they think I personify some great evil (&#8220;Just one more rich CTO trying to automate good jobs away&#8221;). They&#8217;re not engaging with what I said, just using me as a punching bag. I don&#8217;t feel any need to stand here and take it.</p><p>I have not yet blocked anyone for being snide and performatively angry at me on social media, but I&#8217;m not ruling it out, and for the same reason. They aren&#8217;t actually talking to me, and they certainly aren&#8217;t listening. They're just holding my writing up and performing their moral superiority for an approving audience. </p><p>Of the many cancers of social media, I might despise this one the most.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>As Jade Rubick said in the same thread, &#8220;For a lot of technologies, there is a fight between externalized effects that are harmful, and the coordination costs it takes to counter them.'&#8220;</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>AI will absolutely be used by authoritarian governments everywhere &#8212; it already is. This genie is not going back in the bottle. I want every ethical person I know learning about AI, using AI, and thinking about how we are going to use AI to <em>fight back</em>.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>I have to say how much whiplash it gives me, as a child of open source and copyleft, to find that copyright law and internet advertising are now&#8230; the good guys? this timeline is WEIRD you guys)</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>My newest favorite artist is Kara Voorhees Reynolds, who wrote &#8220;<a href="https://www.goodreads.com/book/show/204988997-priestess">Priestess</a>&#8221;, &#8220;<a href="https://www.goodreads.com/book/show/239520726-illuminator">Illuminator</a>&#8221;, and &#8220;<a href="https://www.goodreads.com/series/438082-gods-of-tintar">Pilgrimess</a>&#8221;, three <em>beautiful</em>, painful, loving, deeply fun fantasy novels with no Chosen Ones and lots of female rage. The middle book is my favorite. You should read them. &lt;3</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-6" href="#footnote-anchor-6" class="footnote-number" contenteditable="false" target="_self">6</a><div class="footnote-content"><p>The water argument is the one that&#8217;s really getting under my skin right now. Oh, you just realized that datacenters use clean water? I look forward to your lobbying against golf courses (which use 20x as much water as DCs) and sprinkler agriculture (70% of clean water globally just gets sprayed into the air). Data centers are moving towards closed loop models at a good clip, and are used by way more people.</p><p>&#8220;AI uses too much water&#8221; is not the argument of someone who cares about water, it&#8217;s the argument of someone who hates AI and is looking for reasons. Don&#8217;t be that guy. It makes us all look bad.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-7" href="#footnote-anchor-7" class="footnote-number" contenteditable="false" target="_self">7</a><div class="footnote-content"><p>I had a comparison to AI veganism in here at one point, but I took it out, because we really <em>should</em> eat less meat. That argument is more compelling than the one against AI, so I don&#8217;t want to present a false equivalence. (And no, I am not a vegan, though I don&#8217;t eat much meat at home.)</p><p>If the history of veganism is any guide, AI veganism is not going to convince anyone to give up using AI. It's only going to annoy people.</p></div></div>]]></content:encoded></item><item><title><![CDATA[AI demands more engineering discipline. Not less]]></title><description><![CDATA[If you lived through the shift from handcrafted server pets to immutable infrastructure, you should sense something oddly familiar about what's happening now.]]></description><link>https://charity.wtf/p/ai-demands-more-engineering-discipline</link><guid isPermaLink="false">https://charity.wtf/p/ai-demands-more-engineering-discipline</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Mon, 15 Jun 2026 05:35:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ef553825-6e34-4653-ba0d-3e9b416c225f_1774x887.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few days back I wrote a piece called &#8220;<a href="https://charitydotwtf.substack.com/p/ai-enthusiasts-are-in-a-race-against">AI enthusiasts are in a race against time, AI skeptics are in a race against entropy</a>.&#8221; </p><p>I have notes on a whole pile of AI-related topics that I&#8217;d like to cover in depth: AI mandates, communication norms, code review, AI art, and more. Unfortunately, I got too many interesting responses to my last piece, and now I have to address those before I can move on to other topics. &#128521;</p><p>There were two types of interesting responses: the first on the technical merits, the second on ethical grounds. I will respond to each of these separately. Let&#8217;s take the technical side first, because it&#8217;s easier. (Edited to add: here is <a href="https://charitydotwtf.substack.com/p/make-ai-boring-again">the ethical response</a>)</p><p>Somehow, a subset of readers came away believing I was telling everyone to ditch code review and push their shittiest code straight into production without reading it, <em>right now,</em> tout suite.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></p><p>That is not what I am doing. That is not what I think you <em>should</em> do. But I did not pick that example at random, and I will tell you why.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3g6N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3g6N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png 424w, https://substackcdn.com/image/fetch/$s_!3g6N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png 848w, https://substackcdn.com/image/fetch/$s_!3g6N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png 1272w, https://substackcdn.com/image/fetch/$s_!3g6N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3g6N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png" width="556" height="148.38981173864894" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:241,&quot;width&quot;:903,&quot;resizeWidth&quot;:556,&quot;bytes&quot;:323669,&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://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.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_!3g6N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png 424w, https://substackcdn.com/image/fetch/$s_!3g6N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png 848w, https://substackcdn.com/image/fetch/$s_!3g6N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png 1272w, https://substackcdn.com/image/fetch/$s_!3g6N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87a779c4-2e63-495a-aa1b-b44f1558a24f_903x241.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h2>In 2025, the question was whether AI could ever generate &#8220;good&#8221; code</h2><p>It&#8217;s easy to forget, but for most of 2025, the idea that AI-generated code was slop and might always be slop was not only a reasonable position to hold, it was the default, mainstream position.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><p>That question was answered decisively last November. Ever since Opus 4.5 came out, AI has been able to generate code that is approximately as good as that of the median software engineer, at least for common patterns, and much faster and more cheaply. I came out of a book hole and realized this in January, and over the first few months of 2026, it seemed like everyone around me was having a similar realization.</p><p>But many saw it coming much sooner.</p><p>The popular narrative holds that Opus 4.5 was what changed. But Opus 4.5 was more like the tipping point. Agentic harnesses (the code that wraps the LLM in a loop with tools) became a real thing in mid 2025, with precursors building back to late 2024. Tool use, function calling, MCPs&#8230;all of this wave was building over the course of 2025, and crested into real general purpose usability at the end of the year.</p><p>That&#8217;s what the enthusiasts were trying to tell us last year. Not only &#8220;this is coming&#8221;, but &#8220;this is coming faster than you think.&#8221; </p><p>As it turns out, they were right.</p><h2>It was reasonable to be skeptical the first time</h2><p>As you may know, I come from the reliability side of the house. The compliment I will pay to myself and my people is that we do not struggle to adapt to new realities. As soon as a problem is real and in front of us, we adjust smoothly, even eagerly, thanks to an unwholesome zest for lapping up disgusting technical messes (and the campfire tales we get to tell later).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jEKP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jEKP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png 424w, https://substackcdn.com/image/fetch/$s_!jEKP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png 848w, https://substackcdn.com/image/fetch/$s_!jEKP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png 1272w, https://substackcdn.com/image/fetch/$s_!jEKP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jEKP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png" width="577" height="220.68233799237612" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:301,&quot;width&quot;:787,&quot;resizeWidth&quot;:577,&quot;bytes&quot;:363566,&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://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.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_!jEKP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png 424w, https://substackcdn.com/image/fetch/$s_!jEKP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png 848w, https://substackcdn.com/image/fetch/$s_!jEKP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png 1272w, https://substackcdn.com/image/fetch/$s_!jEKP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b0224a-8572-43fa-85d5-0579487ed15f_787x301.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The un-compliment I will pay myself and my people is that we sometimes struggle to accept that <em>progress is real</em>, that the continued existence of bugs and edge cases does not diminish the fact that huge swaths of problem space do get more-or-less solved over time, to the point they can be taken for granted by most people.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p>The speed at which code went from total crap to &#8220;ah damn, that&#8217;s not bad&#8221; is what I have in the back of my mind, as enthusiasts are telling us that harness engineering and AI validation is real, it&#8217;s already here, and it&#8217;s getting better astonishingly fast.</p><p>Holding out for &#8220;I&#8217;ll believe it when I see it&#8221; was forgivable the first time, but much less so the second time. This is what it feels like to be on the inside of an exponential change curve, turns out.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> </p><h2>What happened in 2025, exactly?</h2><p>I want to pause here and be very clear about what I think is happening. Then I&#8217;m going to tell you what specifically I am excited about, and why. </p><p>You are under no obligation to join me there. But there are way too many sweeping statements out there right now about &#8220;it was never X&#8221; &#8212; &#8220;it was always Y&#8221; &#8212; &#8220;the future belongs to xyzzy&#8221; &#129326; &#8212; and I want to be crystal clear how conditional and specific and contextual my claims are.</p><p>What happened in 2025 was this: <strong>the economics of code production were turned upside down.</strong> Instead of being very hard, time-consuming, and expensive to generate code, it became effectively free and instant. Lines of code went from being treasured, reused, cared for and carefully curated, to being disposable and regenerable, practically overnight.</p><p>For most of computing history, the primary way people have learned to understand software is by writing the code. Once you've achieved some mastery, reading and discussing code gets you most of the way there. (I might argue that software engineers have always relied far too heavily on <em>the code</em> instead of sensemaking <em>the system</em> through observability.)</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3-TF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3-TF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png 424w, https://substackcdn.com/image/fetch/$s_!3-TF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png 848w, https://substackcdn.com/image/fetch/$s_!3-TF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png 1272w, https://substackcdn.com/image/fetch/$s_!3-TF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3-TF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png" width="560" height="228.6007702182285" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:318,&quot;width&quot;:779,&quot;resizeWidth&quot;:560,&quot;bytes&quot;:371591,&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://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.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_!3-TF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png 424w, https://substackcdn.com/image/fetch/$s_!3-TF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png 848w, https://substackcdn.com/image/fetch/$s_!3-TF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png 1272w, https://substackcdn.com/image/fetch/$s_!3-TF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45ec2a6-8f65-4ece-af9f-27720fbbaeb2_779x318.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>&#8220;The real product of a software team is shared understanding&#8221;</h2><p>Many great software engineers hold that true product of every (good) software engineering team has always been a shared understanding of the software we own. That it gets stored as cache state in our fragile little meat brains, frequently flushed to disk, deployed to production, committed to github, but our minds are where meaning has always lived. </p><p>Is it any wonder that software has always been such a fiercely collectivist endeavor, exquisitely sensitive to relationship dynamics and manners and questions of fairness and emotional valence? It&#8217;s exactly what you&#8217;d expect when part of your brain lives in other people&#8217;s brains, and your collective interdependence is sky high.</p><p>It&#8217;s something that I love about this industry. But there&#8217;s no denying that minds have been a poor container for certain aspects of the software development model. We are forgetful, distractible, impatient. We are bad at spotting small details, we grow habituated to repetition. Worst of all, the model in our heads diverges massively and perpetually from the world our users interact with. </p><p>Anyway, SREs have never quite bought that explanation. To us, it&#8217;s clear that the true product of every (good) software engineering team is production.</p><p>Only prod is prod. Test in prod, or live a lie.</p><p>(This is all backstory. I am getting to the point, I promise.)</p><h2>Turns out, this is an engineering problem after all</h2><p>We issued our AI mandate last August.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a> I had seen enough to know that this was happening, and it was time to do the responsible thing. <a href="http://honeycomb.io">Honeycomb</a> is a devtools company, and people come to us to help with hard problems on the forefront of technology. I was all in on AI, but I can&#8217;t say I was super excited about it, in my heart of hearts.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-6" href="#footnote-6" target="_self">6</a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lHkQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lHkQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png 424w, https://substackcdn.com/image/fetch/$s_!lHkQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png 848w, https://substackcdn.com/image/fetch/$s_!lHkQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png 1272w, https://substackcdn.com/image/fetch/$s_!lHkQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lHkQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png" width="549" height="206.74809160305344" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:296,&quot;width&quot;:786,&quot;resizeWidth&quot;:549,&quot;bytes&quot;:388388,&quot;alt&quot;:&quot;&quot;,&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://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!lHkQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png 424w, https://substackcdn.com/image/fetch/$s_!lHkQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png 848w, https://substackcdn.com/image/fetch/$s_!lHkQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png 1272w, https://substackcdn.com/image/fetch/$s_!lHkQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf09736c-8384-4a8b-8055-0e629d3c70f6_786x296.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Then I found Chad Fowler&#8217;s writings on <a href="https://aicoding.leaflet.pub/">Phoenix Architectures</a>.</p><p>If you don&#8217;t know what I&#8217;m talking about, you should honestly stop reading my shit right now and <a href="https://aicoding.leaflet.pub/">go read his</a>. Chad is the guy who coined the term &#8220;<a href="https://chadfowler.com/articles/trash-your-servers-and-burn-your-code.html">immutable infrastructure</a>&#8221; in 2013. His best-known essay is &#8220;<a href="https://aicoding.leaflet.pub/3mbrvhyye4k2e">Relocating Rigor</a>&#8221;, because Martin Fowler<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-7" href="#footnote-7" target="_self">7</a> mentioned it <a href="https://www.thoughtworks.com/about-us/events/the-future-of-software-development">recapping a Thoughtworks meetup</a> on the future of software. I replied with &#8220;<a href="https://www.honeycomb.io/blog/production-is-where-the-rigor-goes">Production Is Where the Rigor Goes</a>&#8221;, complaining that they didn&#8217;t talk about production enough.</p><p>When I wrote that, I think &#8220;Relocating Rigor&#8221; was the only piece I had read. But soon I found the rest of it, and after reading two or three essays, it <em>just</em> <em>clicked</em>. I knew exactly what he was talking about. I could predict the rest of what he was going to say. And then, reader&#8230;then I got <em>excited</em>.</p><h2>This has all happened before, and this will all happen again</h2><p>I am going to give you a small sample of Chad quotes, just enough to get the gist. Here&#8217;s one from &#8220;<a href="https://aicoding.leaflet.pub/3malrv6poy22a">The Death and Rebirth of Programming</a>&#8221;.</p><blockquote><p>Immutable infrastructure. Stateless services. Containers. Blue-green deployments. Infrastructure as code.</p><p>These ideas all share a common premise: never fix a running thing. Replace it.</p><p>AI pushes this premise beyond infrastructure and into application code itself. When rewriting is cheap, editing in place becomes risky. Mutation accumulates entropy. Replacement resets it.</p></blockquote><p>Another favorite: &#8220;<a href="https://aicoding.leaflet.pub/3md5ftetaes2e">The Deletion Test</a>&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WxpU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WxpU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png 424w, https://substackcdn.com/image/fetch/$s_!WxpU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png 848w, https://substackcdn.com/image/fetch/$s_!WxpU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png 1272w, https://substackcdn.com/image/fetch/$s_!WxpU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WxpU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png" width="564" height="213.58151476251604" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:295,&quot;width&quot;:779,&quot;resizeWidth&quot;:564,&quot;bytes&quot;:372819,&quot;alt&quot;:&quot;&quot;,&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://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!WxpU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png 424w, https://substackcdn.com/image/fetch/$s_!WxpU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png 848w, https://substackcdn.com/image/fetch/$s_!WxpU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png 1272w, https://substackcdn.com/image/fetch/$s_!WxpU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98d0d940-6230-4da3-8f73-38d275b056bc_779x295.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><blockquote><p>Here&#8217;s a simple test you can apply to any software system you work on:</p><p>Imagine deleting the entire implementation.</p><p>Most engineers experience deletion as existential. Code feels like <em>the thing</em>. It&#8217;s what we write, review, version, deploy, and debug. Losing it feels like losing the system itself.</p><p>When people say, &#8220;We can&#8217;t just throw the code away,&#8221; what they usually mean is something more precise:</p><ul><li><p>We don&#8217;t know exactly what behavior is required.</p></li><li><p>We don&#8217;t know which failures are unacceptable.</p></li><li><p>We don&#8217;t know what invariants must always hold.</p></li><li><p>We don&#8217;t know how to tell if a new version is correct.</p></li><li><p>We don&#8217;t know which bugs are intentional fixes for forgotten edge cases.</p></li></ul><p>Those are not code problems. They are evaluation problems.</p><p>Code becomes precious when it is the only place knowledge lives.</p></blockquote><p>and,</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TaBS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TaBS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png 424w, https://substackcdn.com/image/fetch/$s_!TaBS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png 848w, https://substackcdn.com/image/fetch/$s_!TaBS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png 1272w, https://substackcdn.com/image/fetch/$s_!TaBS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TaBS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png" width="552" height="235.05882352941177" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:782,&quot;resizeWidth&quot;:552,&quot;bytes&quot;:379464,&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://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.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_!TaBS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png 424w, https://substackcdn.com/image/fetch/$s_!TaBS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png 848w, https://substackcdn.com/image/fetch/$s_!TaBS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png 1272w, https://substackcdn.com/image/fetch/$s_!TaBS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8910be06-8ab1-4348-a6c2-63c426bc93b6_782x333.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><blockquote><p>For most of software history, treating code as durable was reasonable.</p><p>We treated code as permanent because the labor to produce it was the bottleneck. Rewriting was expensive. Re-validation was risky. Implementations accumulated meaning over time. Structure, tests, comments, bug fixes, and tribal knowledge fused into something you learned not to disturb.</p><p>That made sense when production was the constraint.</p><p>When regeneration is easy, code stops being an asset and starts acting as a cache: a materialized view of understanding that is useful while current, disposable when stale.</p></blockquote><p>&#8220;<em>A materialized view of understanding that is useful while current, disposable when stale</em>.&#8221; I think that might have been the exact line that made it click in my head. </p><h2>Do you remember the sysadmins?</h2><p>I am just barely old enough that my first job title was &#8220;System Administrator&#8221;. I was a teenager, working at the university, with root on every machine in the days before they learned they should definitely <em>not do that</em>.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-8" href="#footnote-8" target="_self">8</a></p><p>I lived through the shift from handcrafted server pets to immutable infrastructure cattle. I didn&#8217;t really understand what was happening at the time, but I&#8217;ve contemplated it a lot in recent years. I wrote this in the final chapter of &#8220;Observability Engineering&#8221;, 2nd edition (now available, <a href="https://www.honeycomb.io/observability-engineering-oreilly-book">download here!</a>):</p><blockquote><p>The shift from handcrafted servers to immutable infrastructure taught us that mutability is the sworn enemy of understanding. Any artifact that is edited in place creates drift. Drift is what makes systems impossible to maintain.</p><p>Our ability to kill and regenerate infrastructure components is the reason we trust it. At Honeycomb, we kill the oldest Kafka node off via cron every Tuesday. That&#8217;s why we are confident in our bootstrapping and balancing processes: everything is repeatable, the data can be regenerated, the commitments live elsewhere.</p><p>The fact that we cannot regenerate our code in the same way is a sign that we do not understand it. We do not know which commitments we have made, we do not know which dependencies will break. We find them by breaking them, mostly.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_xw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_xw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png 424w, https://substackcdn.com/image/fetch/$s_!_xw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png 848w, https://substackcdn.com/image/fetch/$s_!_xw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png 1272w, https://substackcdn.com/image/fetch/$s_!_xw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_xw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png" width="575" height="181.95382882882882" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:281,&quot;width&quot;:888,&quot;resizeWidth&quot;:575,&quot;bytes&quot;:385069,&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://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.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_!_xw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png 424w, https://substackcdn.com/image/fetch/$s_!_xw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png 848w, https://substackcdn.com/image/fetch/$s_!_xw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png 1272w, https://substackcdn.com/image/fetch/$s_!_xw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3181579b-618e-4ef5-b7da-33756cc15ff8_888x281.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Think of all the years of your working life you have wasted on painful migrations and rewrites. Think of replacing load-bearing legacy code. Think of all the <a href="https://martinfowler.com/bliki/StranglerFigApplication.html">strangler figs</a>.</p><p>Lines of code have been doing <em>too much</em>. The code has been the bundled up repository of developer intent, user expectations, implicit and explicit behaviors, the only fossilized composite record we have of bugs gone by. It&#8217;s too much! </p><h2>Lines of code are not the ideal artifact to review</h2><p>And look at all the domains that have been neglected due to the towering, all-consuming expense of maintaining and mutating lines of code. Where are the artifacts I can review and discuss to understand how our architecture is evolving? Where are our architecture artifacts, period? What if we could discuss and converge on an architecture diagram, and the code could be regenerated from changes to the architecture, instead of the architecture being kinda-sorta inferred from the code?</p><p>I am <em>not</em> asserting that all code will eventually be AI-generated to spec, bypassing human understanding. The feasibility of this whole endeavor hangs on the question of what a spec is, or what a spec could be. Anyone who has ever done a painful database migration should have learned some goddamn humility about our ability to extract and formalize users&#8217; expectations in a replayable, automate-able way. </p><p>But I think that every step we can take in that direction will be <em>good for us</em>.</p><p>The tools to do this don&#8217;t exist yet, but many of the ideas do exist. Most come from operations and QA, two domains that software engineering has historically been rather snobbish about. </p><p>Those tests and techniques are not about testing for correctness or what <em>ought</em> to be happening, they are about observing and encoding what <em>is</em> happening. Behavioral tests, characterization tests, capture/replay, traffic splitters. Observability (the good kind).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2r_p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2r_p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png 424w, https://substackcdn.com/image/fetch/$s_!2r_p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png 848w, https://substackcdn.com/image/fetch/$s_!2r_p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png 1272w, https://substackcdn.com/image/fetch/$s_!2r_p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2r_p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png" width="570" height="197.1969696969697" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0156e490-2a09-4246-af73-6d6264cf5324_792x274.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:274,&quot;width&quot;:792,&quot;resizeWidth&quot;:570,&quot;bytes&quot;:323706,&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://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.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_!2r_p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png 424w, https://substackcdn.com/image/fetch/$s_!2r_p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png 848w, https://substackcdn.com/image/fetch/$s_!2r_p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png 1272w, https://substackcdn.com/image/fetch/$s_!2r_p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0156e490-2a09-4246-af73-6d6264cf5324_792x274.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>Our brains were not built for validation</h2><p>Having nondeterministic code in production is finally forcing us to do the things we should have done all along. Instrumenting with traces. Tests and evals in production. Production is not what happens after development is over, <strong>production is a stage of development</strong>.</p><p>Human brains are <em>not good</em> at validation. The nitpickiness, the repetition. This is the worst thing to be clinging to, y&#8217;all. There are so many better things for us to want to preserve and assert for ourselves in the production and maintenance of software. We are never going to beat the machine when it comes to <em>validation</em> &#8212; we are literally the weakest link! </p><p>My money&#8217;s on humans for a good long time when it comes to creativity, inspiration, leaps of logic, and a lot of other things, but PLEASE do not rest your killer argument for humans in software on us being the best <em>quality gate</em>. OMG. &#128584;</p><p>Alright. I&#8217;m almost done here. Just one more thing. </p><h2>Nondeterministic systems will require more engineering discipline, not less</h2><p>I think what many engineers have found so alienating and terrifying about the last two years of AI discourse has been the way so many prominent AI voices appear to be gleefully declaring that software is no longer an engineering problem. &#8220;<a href="https://www.forrester.com/blogs/saas-as-we-know-it-is-dead-how-to-survive-the-saas-pocalypse/">SaaS is dead</a>!&#8221; &#8220;<a href="https://www.linkedin.com/pulse/something-big-happening-matt-shumer-so5he/">Making AI great at coding was the strategy that unlocks everything else</a>&#8221;, and so on. Even <a href="https://www.adamhjk.com/blog/as-we-build-so-we-believe/">Adam Jacob</a>, one of my dearest friends and someone who is rarely wrong about technology, seems to anticipate a bloodbath of software jobs.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-9" href="#footnote-9" target="_self">9</a></p><p>If 2025 was the year of vibe coding, where AI got as good at generating lines of code as the median software engineer, and the range of possible futures often felt destabilizingly, impossibly wide open, I feel like 2026 is shaping up to be a <strong>return to discipline.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HQKd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HQKd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png 424w, https://substackcdn.com/image/fetch/$s_!HQKd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png 848w, https://substackcdn.com/image/fetch/$s_!HQKd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png 1272w, https://substackcdn.com/image/fetch/$s_!HQKd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HQKd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png" width="572" height="187.56279069767442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:282,&quot;width&quot;:860,&quot;resizeWidth&quot;:572,&quot;bytes&quot;:385185,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/201425003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!HQKd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png 424w, https://substackcdn.com/image/fetch/$s_!HQKd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png 848w, https://substackcdn.com/image/fetch/$s_!HQKd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png 1272w, https://substackcdn.com/image/fetch/$s_!HQKd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60407b92-d6c2-4436-8f5b-cf9b33fdb42f_860x282.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The knowledge in our heads is unavailable to AI until we encode it into the system, after all. The returns on those investments will be massive and nonlinear. We might argue that they always would have paid for themselves in the long run. But now every CEO in existence is chomping at the bit to get some of those AI cookies, so let&#8217;s give it to them. Discipline first, cookies second.</p><h2>This is our chance to bring our engineering values to the mainstream</h2><p>The share of software engineering teams that work in short, fast feedback loops (the cardinal sign of discipline in my book) is, and always has been, appallingly small. Five percent, maybe? Definitely less than 10%. AI tooling <a href="https://www.honeycomb.io/blog/you-had-one-job-why-twenty-years-of-devops-has-failed-to-do-it">brings this more within reach</a> than ever before. Or it can. It could. The discontinuous returns on investment in engineering discipline are real enough that it just might happen.</p><p>I am not worried, at least in the near term, about AI creating massive, discontinuous returns on investment in the absence of engineering discipline. (Many will try, and it will be entertaining to watch.)</p><p>But value is backed by durability, not disposability, and I don&#8217;t see that changing. Bits are cheap and fast and governed by the rules of logic and language, but anything with value must ultimately resolve with physical systems: persistence on the one side, user experience on the other. </p><p>People <em>do not want</em> to wake up every day and log in to Slack and find the buttons and menus all subtly moved around. People <em>do not want</em> financial transactions that complete most of the time. Determinism is not going anywhere, my friends.</p><p>AI is not magic. This is still engineering. As Adam says, &#8220;it&#8217;s still technology, and technology needs technologists.&#8221; And I for one am looking forward to learning new and interesting engineering problems, reviewing different kinds of artifacts. </p><p>And <em>never</em> doing another sticky, picky, two year long API rewrite or strangler fig migration, ever, <em>ever</em> again.</p><p><em>~charity</em></p><p>P.S. Thanks to everyone who read a draft and gave me feedback: Dave Williams, Chad Fowler, Adam Jacob, Mark Ferlatte, Austin Parker, Erwin van der Koogh, Ankur Bhatt.</p><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>I was not <em>trying</em> to be neutral or even-handed in my last piece, only to give a baseline of courtesy to everyone. But I think it&#8217;s revealing how many times I was accused of being &#8220;so overly hard on skeptics&#8221;, by skeptics, and &#8220;so overly hard on enthusiasts&#8221;, by enthusiasts, and sometimes simply &#8220;It&#8217;s sad how some people can&#8217;t accept reality&#8221; with no indication which side they meant. Lord.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Fred Hebert and I gave <a href="https://www.usenix.org/conference/srecon25americas/presentation/majors">the closing keynote at SRECon</a> in March of 2025 where we told SREs they should get to know AI, <a href="https://charitydotwtf.substack.com/p/my-hypothetical-srecon26-keynote">maybe even try vibe coding</a> (pause for laughs), because otherwise their critiques wouldn&#8217;t land as well. </p><p>Seriously, that was our big pitch. Learn AI <em>so that</em> you can complain more effectively.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Infrastructure, for example. I think this is true of a lot of engineers, btw. I just think it&#8217;s really <em>really</em> true of the type of engineer that signs up to be an SRE. Technological pessimism and ADHD, our two most defining traits.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>There is a segment of AI enthusiasts who believe we are entering an era of eternal exponential growth, in which the machines begin to build better and better machines, in ways we cannot understand. </p><p>I think those people are bad at math. The only thing we know for certain about exponential growth is that <em>it will end</em>. It always does. either in an S curve or a crash. (For a good time, google Heinz van Foerster and &#8220;our great-great grandchildren will be squeezed to death.&#8221;)</p><p>I definitely think we will use machines to build the machines &#8212; duh, we already are &#8212; but that&#8217;s about recursion and specialization. I think the exponential curve we are on the inside of now was created by sloshy free money chasing high returns, plus the properties of software as a function of language and logic, plus the biggest discoveries always happen in the early days of a technology boom, because low hanging fruit gets picked first.</p><p>My personal sense &#8212; and keep in mind that I am no kind of expert on AI &#8212; is that the exponential advancement in AI models leveled out a while ago, and gains are becoming harder to earn and more incremental in nature. I may turn out to be very wrong, of course. But even if there were no more AI innovations moving forwards, the past year has unleashed enough pent-up force to radically reshape the software industry as we know it. Like a pig in a python, we will be dealing with the consequences for a long time to come.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>More on this coming EXTREMELY soon. Watch the <a href="http://honeycomb.io/blog">Honeycomb </a>blog!</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-6" href="#footnote-anchor-6" class="footnote-number" contenteditable="false" target="_self">6</a><div class="footnote-content"><p>The tech is cool, but as a thinking, feeling, breathing human who cares about other people, it can be hard to get excited about anything that so many people are this upset about. It&#8217;s also hard to get excited about something when so many of the loudest voices are out there talking gleefully about putting everyone permanently out of work, and so many artists and writers and people from developing nations are talking openly about the impact on them. </p><p>Hold your desire to jump in and berate me here, I beg you. Like I said, I will deal with the ethics and morality of using AI in my very next post. Be honest, your attention span is no more up for reading a 10,000-word essay than mine is up for writing one. (Can we blame AI for that too?)</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-7" href="#footnote-anchor-7" class="footnote-number" contenteditable="false" target="_self">7</a><div class="footnote-content"><p>&#8220;The Other Fowler.&#8221; I gather they&#8217;ve been making this joke for like.. fifty years.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-8" href="#footnote-anchor-8" class="footnote-number" contenteditable="false" target="_self">8</a><div class="footnote-content"><p>I share a longer version of this story in the second edition of &#8220;Observability Engineering, chapter 32, downloadable later <em>this week</em>!!"</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-9" href="#footnote-anchor-9" class="footnote-number" contenteditable="false" target="_self">9</a><div class="footnote-content"><p>Adam is rarely wrong about technology, and I am 100% sure he is living and working in _<em>a</em>_ future of software engineering. I am less sure it is the future we will all be living in. If the hardest part of software has never been writing code &#8212; as is my belief &#8212; it logically follows that even if the economics of code production drop to zero, the hard parts will still be hard.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[AI enthusiasts are in a race against time, AI skeptics are in a race against entropy]]></title><description><![CDATA[Both sides are grappling with a real existential threat, and both sides feel like they are screaming into the void. Here's how to close the gap and get everyone pulling in the same direction.]]></description><link>https://charity.wtf/p/ai-enthusiasts-are-in-a-race-against</link><guid isPermaLink="false">https://charity.wtf/p/ai-enthusiasts-are-in-a-race-against</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Tue, 02 Jun 2026 21:25:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2AXu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently attended a talk where one of the presenters made some pretty&#8230;<em>astonishing</em> claims about what they had achieved by the pure, uncut power of vibe coding. Difficult engineering problems solved, backlogs cleared. Rewrites that would have taken a year or more in the beforetimes, now whipped out in a few short weeks of prompting. Afterwards, wandering around the conference, I caught a lot of excited chatter:</p><blockquote><p>&#8220;I can&#8217;t <em>wait</em> to make my teams watch the recording of this talk. My engineers are SO resistant to the idea of shipping code without reading it. Finally, some proof they can&#8217;t ignore!&#8221;</p><p>&#8220;Mine are too. It&#8217;s so frustrating. People are just so stuck in what they know. I think they&#8217;re just scared of being replaced, you know?&#8221;</p></blockquote><p>The talk was fantastic. The presenter made it all sound easy, breezy and oh-so-fun.</p><p>The problem is, I know lots of other people at his company, and <em>they</em> described these projects as a horror show. Yes, they allowed, some progress was made, and some of it was pretty cool, but he also left a long, fiery trail of chaos in his wake. Months later, some teams were <em>still</em> grinding through waves of cleanup work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!osVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!osVW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png 424w, https://substackcdn.com/image/fetch/$s_!osVW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png 848w, https://substackcdn.com/image/fetch/$s_!osVW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png 1272w, https://substackcdn.com/image/fetch/$s_!osVW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!osVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png" width="1401" height="477" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:477,&quot;width&quot;:1401,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:712129,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.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_!osVW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png 424w, https://substackcdn.com/image/fetch/$s_!osVW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png 848w, https://substackcdn.com/image/fetch/$s_!osVW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.png 1272w, https://substackcdn.com/image/fetch/$s_!osVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab105aa3-8686-445a-a9d9-024dcaa2500a_1401x477.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>(Please don&#8217;t @ me to ask if I am subtweeting your talk. I am subtweeting MANY TALKS. This is a composite.)</p><p>I keep thinking back to this episode &#8212; the highly selective version of the story that was told on stage, and the room full of AI enthusiasts who seemed to be eating it up with a spoon, uncritically, because it so validated everything they wanted to be true. </p><p>I keep thinking about the certainty they took home with them, and wondering how that energy fed into conversations with their teams.</p><h2>People are retreating into camps and circling the wagons</h2><p>There is a yawning chasm opening up between&#8230;oh, let&#8217;s call them the enthusiasts and the skeptics, although the battle lines are drawn in many different ways. Both groups are tense, frustrated, and a little scared, and as a result, they have stopped talking to each other. Instead, they talk <em>about</em> each other &#8212; as roadblocks, as caricatures, as threats. It&#8217;s all,</p><p>&#8220;THOSE people are AI-pilled and don&#8217;t understand software&#8221;, vs </p><p>&#8220;THOSE people hate AI and don&#8217;t want to move fast.&#8221;</p><p>This is not a situation where one side is right and the other is huffing paint. (O, that it were!) Each side is grappling with a real, alarming, escalating threat to the company&#8217;s existence, and the closer they look the more (again: <em>real, alarming</em>) evidence they find.</p><p>The enthusiasts are <em>not wrong</em>. We are starting to see real, non-imaginary, discontinuous leaps in capabilities from teams that lean in hard to working with AI. And this does not feel like a normal technology cycle where you can wait for the dust to settle; teams that sit this out while competitors are hustling could be out of business before the dust settles. That&#8217;s a real, existential threat.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Cblu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Cblu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png 424w, https://substackcdn.com/image/fetch/$s_!Cblu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png 848w, https://substackcdn.com/image/fetch/$s_!Cblu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png 1272w, https://substackcdn.com/image/fetch/$s_!Cblu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Cblu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png" width="1425" height="509" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:509,&quot;width&quot;:1425,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:731881,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.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_!Cblu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png 424w, https://substackcdn.com/image/fetch/$s_!Cblu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png 848w, https://substackcdn.com/image/fetch/$s_!Cblu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.png 1272w, https://substackcdn.com/image/fetch/$s_!Cblu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dfe59c-41f5-49f9-a082-0d42b05f33ed_1425x509.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 skeptics are also <em>not wrong</em>. When you ship code faster than engineers can read it, in domains where nobody has full context, you are making withdrawals from a trust account that took years to build. Reliability degrades, institutional knowledge evaporates. You end up with systems nobody understands, products burbling into incoherence, and on-call rotations that grind people up and spit them out. That is ALSO a real existential threat.</p><h2>I am writing for solid teams that are doing the work</h2><p>Before I go any further, I want to be clear about who I&#8217;m writing for. This is not about teams whose management chain is disconnected from engineering realities or paying for McKinsey consultants, or teams with low engineering discipline and trust. </p><p>I am not writing for tiny baby startups with no customers or revenue, and I am not writing for behemoths who are on the verge of busting through the red tape to finally get a Claude license.</p><p>I am writing for relatively high-performing teams that are transforming from pre-AI to AI-native. These are teams with engineering discipline and skill who care deeply, who are struggling precisely because there are so many legitimate, competing threats and no obvious answers.</p><p>I&#8217;m talking about the happy case, in other words. <strong>It&#8217;s still hard as shit.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wWBp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wWBp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png 424w, https://substackcdn.com/image/fetch/$s_!wWBp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png 848w, https://substackcdn.com/image/fetch/$s_!wWBp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png 1272w, https://substackcdn.com/image/fetch/$s_!wWBp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wWBp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png" width="1456" height="404" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:404,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:765676,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!wWBp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png 424w, https://substackcdn.com/image/fetch/$s_!wWBp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png 848w, https://substackcdn.com/image/fetch/$s_!wWBp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.png 1272w, https://substackcdn.com/image/fetch/$s_!wWBp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce7dc3f-ab13-4eda-bd23-e9474a36f62c_1589x441.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>There is no natural feedback loop connecting enthusiasts with skeptics</h2><p>The wins are real, the costs are real. This ought to be a fruitful source of tension, where skeptics and enthusiasts join up to solve hard problems with their powers combined, Powerpuff Girls-style. </p><p>The problem is, the wins and costs are happening to two different groups of people. There is no natural feedback loop. </p><p>That conference talk I mentioned? I doubt the speaker was intentionally misleading us. They might not even know about the tire fire in their wake. It has become very easy to do things without context or mastery, and the downstream costs are often invisible to the person who incurs them. All they see is the win.</p><p>The skeptics have the opposite problem. They cannot avoid hearing the enthusiasts&#8217; claims, even if those try. But when those claims seem to get bigger and blowsier and less tethered to reality, the skeptics react with escalating cynicism. They <em>hear</em> the enthusiasts, but they no longer believe a word they say.</p><p>I have lost track of the number of engineers who have said to me, in exasperation, &#8220;I don&#8217;t WANT to be an AI hater. I studied AI in school! I think it&#8217;s neat! I feel like I&#8217;m getting backed into a corner where I <em>have </em>to be a hater because I&#8217;m the only one left who gives a shit about reality! Is <em>any </em>of it real?&#8221;</p><p>Ok, that&#8217;s fair. I&#8217;ll show my work. Here is my north star example of what &#8220;good&#8221; looks like.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZRCB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZRCB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png 424w, https://substackcdn.com/image/fetch/$s_!ZRCB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png 848w, https://substackcdn.com/image/fetch/$s_!ZRCB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png 1272w, https://substackcdn.com/image/fetch/$s_!ZRCB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZRCB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png" width="1425" height="507" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:507,&quot;width&quot;:1425,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:741593,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.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_!ZRCB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png 424w, https://substackcdn.com/image/fetch/$s_!ZRCB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png 848w, https://substackcdn.com/image/fetch/$s_!ZRCB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.png 1272w, https://substackcdn.com/image/fetch/$s_!ZRCB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42a747e-06e0-45c5-a411-7d4427f5f106_1425x507.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>No, it&#8217;s not all hype (the Fin story)</h2><p>I have long looked up to the Fin (formerly Intercom) engineering org. When Christine and I put together our AI mandate<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> last year, we drew a lot of inspiration from a piece by <a href="https://substack.com/@darraghc">Darragh Curran, CTO</a>, <a href="https://fin.ai/ideas/2x/">called simply &#8220;2x&#8221;,</a> where he challenged the R&amp;D org to double their productivity in the next 12 months.</p><p>He recently published some results, showing that they exceeded their goal &#8212; <a href="https://ideas.fin.ai/p/2x-nine-months-later">they </a><em><a href="https://ideas.fin.ai/p/2x-nine-months-later">3x&#8217;d</a></em><a href="https://ideas.fin.ai/p/2x-nine-months-later"> their output in 9 months</a> (defined by total # merged PRs divided by total people in R&amp;D). (Yes, PRs are an imperfect representation of reality. I know this, you know this, he knows this. He talks about it in the piece, which you should absolutely go read.)</p><p>The results are mixed, which makes a <em>fascinating </em>read. Product defect backlog shrunk by over half. &gt;2x product changes, 39% faster from idea to shipped. Code quality provisionally starting to improve, after a long, scary 18 months of decline. Downtime <em>down</em> by 35%.</p><p>That is a real, non-imaginary, discontinuous forward leap in capabilities. This did not happen because AI is magic. It happened because Fin already had exceptionally high engineering discipline, fast feedback loops, and a culture of experimentation and measurement.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><p>If you want to know what engineering teams founded pre-AI can expect to achieve by embracing AI, there you go. This should be well within reach for the rest of us.</p><h2>We can fix this</h2><p>First, a reminder. We care about the same things. We are on the same side. None of us are assholes.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p>And we need each other <em>desperately</em>. To chart a safe path between the Scylla of missed windows and the Charybdis of systems melting into slop, we need eyes on <em>both</em> threats as we coordinate, synchronize, and pull together. Hard.</p><p>In order to do that, we need to do two things: knit our fractured realities back together, so we are rowing the same damn boat, and apply some engineering rigor to the problem.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gyxN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gyxN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png 424w, https://substackcdn.com/image/fetch/$s_!gyxN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png 848w, https://substackcdn.com/image/fetch/$s_!gyxN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png 1272w, https://substackcdn.com/image/fetch/$s_!gyxN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gyxN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png" width="1405" height="518" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:518,&quot;width&quot;:1405,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:743900,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!gyxN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png 424w, https://substackcdn.com/image/fetch/$s_!gyxN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png 848w, https://substackcdn.com/image/fetch/$s_!gyxN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.png 1272w, https://substackcdn.com/image/fetch/$s_!gyxN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7c8ec76-7150-41d2-a2f5-6d7c5a99c462_1405x518.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>First: Tell the whole story. Talk about the wins, and talk about what they cost us</h2><p>The first move is to mend the gap in shared reality. <strong>Tell the whole story</strong>. You&#8217;re allowed to celebrate and get excited about big wins and advances with AI &#8212; but invite reflection on the costs and downstream consequences. People are also allowed to surface costs and consequences, but don&#8217;t leave out the context of what was achieved or attempted. Be very clear that your shared goal is to figure out how to collectively deliver more wins, bigger wins, with fewer unpredictable costs,<em> not</em> to clamp down on innovation.</p><p>This sounds simple. It isn&#8217;t. By default, wins get trumpeted in one setting (blog posts, conference talks, all hands) and costs bubble up in others (SRE team meetings, on call, retros, complainy DMs, grumbling over whiskey).</p><p>The result is that both sides may feel like they are being unfairly silenced. You might not think that &#8220;we aren&#8217;t even <em>allowed</em> to criticize AI&#8221; is a sentiment that can be widely held at the same time as &#8220;all we EVER DO is complain about AI&#8221;, but it can and it does. The asymmetry isn&#8217;t malicious, it&#8217;s structural, and it must be fixed.</p><p>If you&#8217;re an enthusiast, start here. Next time you do something big that you&#8217;re genuinely excited about &#8212; &#8220;in my spare time over the weekend, I finished a migration we gave up for dead two months ago!!&#8221; &#8212; YAY, AWESOME POSSUM! GO YOU! Get excited! Tell your coworkers! But ask around to see if there were any unintended consequences on other teams, and include that too. Or tuck in a &#8220;P.S., if there was any downstream cleanup work, I&#8217;d love to hear about it.&#8221; Especially if there&#8217;s a power dynamic and people might be afraid to speak up: make it easy. <strong>Invite feedback</strong>.</p><p>And if you&#8217;re a skeptic, doing cleanup downstream of someone else&#8217;s great AI vibe coding triumph, don&#8217;t just mutter bitterly to your fellow travelers. Bring this up in a responsible, friendly way to the person who caused it, or surface it in the same forum as it was announced. <strong>Close the loop</strong>. It&#8217;s how we learn.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!erna!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!erna!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png 424w, https://substackcdn.com/image/fetch/$s_!erna!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png 848w, https://substackcdn.com/image/fetch/$s_!erna!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png 1272w, https://substackcdn.com/image/fetch/$s_!erna!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!erna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png" width="1400" height="521" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:521,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:780483,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.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_!erna!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png 424w, https://substackcdn.com/image/fetch/$s_!erna!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png 848w, https://substackcdn.com/image/fetch/$s_!erna!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.png 1272w, https://substackcdn.com/image/fetch/$s_!erna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd4992a-adad-449d-8b09-6a977ccbdba5_1400x521.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>Tell the whole story. Normalize this. It&#8217;s a steam valve for anger, it makes people feel seen, it bends towards less expensive wins, and makes a better story. It also &#8212; crucially &#8212; builds the shared reality that makes the next step possible.</p><h2>Second: Treat this like an engineering problem, not a rhetorical one</h2><p>Once you&#8217;re operating in the same reality, you can have the real conversation. Right now, it tends to go like this.</p><blockquote><p>Enthusiast: &#8220;Let&#8217;s ship without code review! Company X is doing it. This is clearly where the world is headed. Why do you hate the future?&#8221;</p><p>Skeptic: &#8220;Are you fucking kidding me right now? I&#8217;ve got people I&#8217;ve never heard of submitting diffs in crayon and you want me to just <em>auto-accept this shit</em>? Your father was non-technical and your mother had a face like a donkey, and together I guess they made you.&#8221;<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a></p></blockquote><p>Both can be right (minus the face thing). Yes, the field is directionally moving toward software factories and AI-validated diffs. Yes, it may be absolutely unthinkable to start auto-accepting diffs given the current state of your codebase and guardrails. Both of those things are more likely true than not, in fact.</p><p>But &#8220;what&#8217;s wrong with you&#8221; and &#8220;that will never work&#8221; are conversation stoppers dressed up as positions. (Remember, you are both very smart and you are on the same side.) The productive version of this conversation is:</p><blockquote><p><em>&#8220;What would it take for you to feel comfortable shipping code to production without reading it?&#8221;</em></p></blockquote><p>Better evals? Better tests? Better feature flags, guardrails, observability? Work on decoupling dependencies and reducing blast radius? Start with something small and out of the critical path? What is the work we need to do to prepare? What comes first, ordering-wise? Can we put that on the roadmap?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0cwM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0cwM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png 424w, https://substackcdn.com/image/fetch/$s_!0cwM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png 848w, https://substackcdn.com/image/fetch/$s_!0cwM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png 1272w, https://substackcdn.com/image/fetch/$s_!0cwM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0cwM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png" width="1366" height="495" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:495,&quot;width&quot;:1366,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:704807,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.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_!0cwM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png 424w, https://substackcdn.com/image/fetch/$s_!0cwM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png 848w, https://substackcdn.com/image/fetch/$s_!0cwM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.png 1272w, https://substackcdn.com/image/fetch/$s_!0cwM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96635ac4-a980-43d1-a7e6-c39794fba9da_1366x495.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>Approach this like an engineering problem, not an epistemological debate. What would it take? Start there.</p><h2>Engineering discipline has never been more vital</h2><p>As Nathen Harvey said in the 2025 DORA report: &#8220;<a href="https://services.google.com/fh/files/misc/2025_state_of_ai_assisted_software_development.pdf">AI is an amplifier.</a> It magnifies the strengths of high-performing organizations and the dysfunctions of struggling ones.&#8221; AI will not solve for a lack of discipline, tooling gaps, or management that is disconnected from reality. If you want to leverage AI effectively, you need to invest in your engineering discipline and effectiveness.</p><p>AI is not a replacement for engineering discipline, let alone a shortcut to it. (I realize that is the biggest understatement in the universe.)</p><p>Your skeptics are the people you need to metabolize and operationalize these changes in a way that will keep customers from leaving and employees from quitting. But they can only participate constructively when they trust that they are going to be listened to and taken seriously.</p><p>Even if you&#8217;re an enthusiast, do you care about reliability, customer happiness, product coherence, retaining great employees, and improving engineering outcomes? If so, you should be able to find common ground with other people who care about these things. Align on reality, take a step, check in; rinse and repeat.</p><p>You don&#8217;t need to trust or think that each other is <em>right</em> about everything, but you must believe that you inhabit the same reality, share some of the goals, and that each of you are reasonable actors, capable of changing your minds.</p><h2>Stick close to reality, not hypotheticals or maximalist stances</h2><p>When battle lines get drawn and sides get dug in, there are many temptations to escalate: to argue against the maximalist version of an argument you read on the internet, or to demolish the weak, straw man version of what your colleague is saying because you can, even though you know they kind of have a point.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5u_z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5u_z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png 424w, https://substackcdn.com/image/fetch/$s_!5u_z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png 848w, https://substackcdn.com/image/fetch/$s_!5u_z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png 1272w, https://substackcdn.com/image/fetch/$s_!5u_z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5u_z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png" width="1400" height="482" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:482,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:700429,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.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_!5u_z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png 424w, https://substackcdn.com/image/fetch/$s_!5u_z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png 848w, https://substackcdn.com/image/fetch/$s_!5u_z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.png 1272w, https://substackcdn.com/image/fetch/$s_!5u_z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b93f9a5-93d5-46ad-9206-bd145a81f100_1400x482.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></p><p>It doesn&#8217;t help. Try to engage with what your coworker is actually saying, not what some moron said on HN using some of the same words.</p><p>A few small tactical bits:</p><ul><li><p>Mind how you talk about other people to each other. If you privately represent others&#8217; concerns as unserious or unsophisticated (&#8220;<em>they&#8217;re just clinging to what&#8217;s familiar</em>&#8221;) to your allies, you quietly influence each other to write them off.<br></p></li><li><p>Don&#8217;t deny anyone&#8217;s lived experience. That is the fastest way to shut someone down and make sure they stay shut off to you. Debate the facts, but let them come to any updated interpretations of their personal experience in their own sweet time.<br></p></li><li><p>Get your own psychological needs met. Try to spend time with your team members as human beings, even if it&#8217;s just over zoom. A lot of people are massively stressed out and stretched thin right now, and sometimes it can help just to name it and offer a little extra grace. But you can&#8217;t give grace if you are running on fumes yourself.</p></li></ul><p>Go pick a fight on Reddit, if you must. Don&#8217;t take it out on your colleagues, and don&#8217;t project the worst, stupidest version of the Internet&#8217;s stance onto them. Deal with reality together. It&#8217;s hard enough without borrowing trouble.</p><h2>The credibility of expertise, the moral authority of ownership</h2><p>If you want ownership and accountability, you need feedback loops. Feedback loops connecting cause with effect are how we learn and make sense of the world. As we write in the second edition of <em><a href="http://honeycomb.io/book">Observability Engineering</a></em> (now available for download!!):</p><blockquote><p>&#8220;Feedback loops that are timely, precise, and relevant enable <strong>self-awareness</strong> in humans and <strong>self-governance</strong> in teams. They generally produce the right sociotechnical system behaviors without needing constant correction or oversight.&#8221; &#8212; Chapter 25, &#8220;Systems Thinking for Software Delivery.&#8221;</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2AXu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2AXu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png 424w, https://substackcdn.com/image/fetch/$s_!2AXu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png 848w, https://substackcdn.com/image/fetch/$s_!2AXu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png 1272w, https://substackcdn.com/image/fetch/$s_!2AXu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2AXu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png" width="1425" height="507" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/591006fc-dcda-4be5-982e-312139d562e9_1425x507.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:507,&quot;width&quot;:1425,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:759128,&quot;alt&quot;:&quot;&quot;,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!2AXu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png 424w, https://substackcdn.com/image/fetch/$s_!2AXu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png 848w, https://substackcdn.com/image/fetch/$s_!2AXu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.png 1272w, https://substackcdn.com/image/fetch/$s_!2AXu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F591006fc-dcda-4be5-982e-312139d562e9_1425x507.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>Ultimately, I believe there is a kind of moral authority someone earns by owning the consequences. If you&#8217;re the one left holding the bag, you should generally get final say over what goes in that bag. Which means software engineers who own the code should be, at minimum, <em>extremely involved</em> in defining the conditions for the code they agree to support.</p><p>But if you want to have sway over what gets shipped, if you want your critique to land, you must have the standing to deliver it. You must be a credible authority on the topic at hand &#8212; AI, in this case. So you should be highly motivated to become one. Ground yourself in expert knowledge of the new ways. Make it fervently clear that you&#8217;re on board, you see the opportunity, and you want to help everyone get there.</p><p>If you&#8217;re just arguing against the new ways from a position steeped in the old ways, I&#8217;m not sure why anyone should listen to you.</p><p>The engineers who shape how AI gets used will be the ones with credibility: they understand the opportunity, the stakes, and the tradeoffs, and they own enough of the consequences to have standing when they push back. Earning that position takes work, but it is work worth doing.</p><h2>This is <em>the</em> leadership challenge of the present moment</h2><p>If you&#8217;re a senior leader, job #1 is <em>don&#8217;t sink the boat</em>. Keep moving forward as you steer the craft between all manner of icebergs, islands, breakers, and other watery graves. Being late to AI and grinding your team down into a pulp are two especially grim risks we must steer between.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!33EM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!33EM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png 424w, https://substackcdn.com/image/fetch/$s_!33EM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png 848w, https://substackcdn.com/image/fetch/$s_!33EM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png 1272w, https://substackcdn.com/image/fetch/$s_!33EM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!33EM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png" width="1425" height="507" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:507,&quot;width&quot;:1425,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:741593,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.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_!33EM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png 424w, https://substackcdn.com/image/fetch/$s_!33EM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png 848w, https://substackcdn.com/image/fetch/$s_!33EM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.png 1272w, https://substackcdn.com/image/fetch/$s_!33EM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ddd68b8-3ee3-4d8b-8d38-03cfe7ed260b_1425x507.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>Note I said &#8220;leaders&#8221;, not &#8220;managers&#8221;. Some of the most effective leaders of the moment are staff+ engineers, who cannot <em>make</em> anyone do anything, but without whose judgment and good faith nothing gets done. So much of this challenge is about enlisting hearts and minds and building trust. This is often best done by peer counsel.</p><p>As management, sometimes you have to ask people to do things they disagree with or go in a direction they don&#8217;t love. That&#8217;s part of the job. If a hard call needs making and you don&#8217;t make it, if you waffle and waver over not wanting to hurt anyone, that&#8217;s dereliction of duty.</p><p>But forcing something through should always be the last resort. If people are pushing back, they probably have good reasons and you should understand them. Most people can be brought along, with a little understanding. Do the work to bring them.</p><p>And if you do end up laying down the law, <em>you better be right</em>. Reality had better back you up, and fast. Because if you forced them into doing something they knew was wrong and wouldn&#8217;t work, they are going to resent you for the rest of their life.</p><p>And you will deserve it.</p><p>~<em>charity</em></p><p>P.S. Thanks to the people who reviewed this draft: Zach McCoy, Dave Williams, Josh Parsons, Emily Nakashima, Graham Siener, Christine. Special thanks to Quail Lincoln and Fred Hebert, who I can always rely on to pick a friendly fight, and to the entire Honeycomb engineering, product, and design crew, whose talent and skill are second only to the size of the hearts and their determination to do right by each other. I am grateful to be in the boat with all of 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_!q_s-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q_s-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png 424w, https://substackcdn.com/image/fetch/$s_!q_s-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png 848w, https://substackcdn.com/image/fetch/$s_!q_s-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png 1272w, https://substackcdn.com/image/fetch/$s_!q_s-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q_s-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png" width="1385" height="458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:458,&quot;width&quot;:1385,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:649023,&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://charitydotwtf.substack.com/i/200204086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.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_!q_s-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png 424w, https://substackcdn.com/image/fetch/$s_!q_s-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png 848w, https://substackcdn.com/image/fetch/$s_!q_s-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.png 1272w, https://substackcdn.com/image/fetch/$s_!q_s-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a1201b7-f974-49e5-89b8-1b6f1e931b25_1385x458.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><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>We have some results of our own queued up to share with y&#8217;all over the next few weeks. Stay tuned!</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>They also had over a decade of building in-house AI expertise, and they were &#8220;lucky&#8221; enough to have had a <a href="https://www.google.com/search?q=intercom+near+death+experience+eoghan&amp;oq=inter&amp;gs_lcrp=EgZjaHJvbWUqCAgBEEUYJxg7MgYIABBFGDsyCAgBEEUYJxg7MgYIAhBFGD0yBggDEEUYPDIGCAQQRRg9MgYIBRBFGD0yBggGEEUYQTIGCAcQRRg80gEIMjMzNWowajmoAgawAgHxBc7mKW0EkvBv&amp;sourceid=chrome&amp;ie=UTF-8#fpstate=ive&amp;vld=cid:2eadad18,vid:0_opWSfmN8M,st:0">near death experience as a company</a>, which cleared the deck for them to lean in hard on a left pivot. As Janis Joplin might say, sometimes freedom means nothing left to lose.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Right?</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>Maybe that&#8217;s not very nice, but remember, she probably got woken up last night and you did not. Also, Skeptic? Not a good excuse, please apologize.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Your Data Is Made Powerful By Context (so stop destroying it already)]]></title><description><![CDATA[In logs as in life, the relationships are the most important part. AI doesn't fix this. It makes it worse.]]></description><link>https://charity.wtf/p/your-data-is-made-powerful-by-context</link><guid isPermaLink="false">https://charity.wtf/p/your-data-is-made-powerful-by-context</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Mon, 09 Mar 2026 18:18:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4oDO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>After <a href="https://www.honeycomb.io/blog/you-had-one-job-why-twenty-years-of-devops-has-failed-to-do-it">twenty years of devops</a>, most software engineers still treat observability like a fire alarm &#8212; something you check when things are already on fire.</p><p>Not a feedback loop you use to validate every change after shipping. Not the essential, irreplaceable source of truth on product quality and user experience.</p><p>This is not primarily a culture problem, or even a tooling problem. <strong>It&#8217;s a data problem.</strong> The dominant model for telemetry collection stores each type of signal in a different &#8220;pillar&#8221;, which rips the fabric of relationships apart &#8212; irreparably.</p><h2>Your observability data is self-destructing at write time</h2><p>The three pillars model works fine for infrastructure<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, but it is catastrophic for software engineering use cases, and will not serve for agentic validation.</p><p>But <em>why</em>? It&#8217;s a flywheel of compounding factors, not just one thing, but the biggest one by far is this:</p><h1 style="text-align: center;">&#10024;Data is made powerful by context&#10024;</h1><h4 style="text-align: center;">The more context you collect, the more powerful it becomes</h4><p>Your data does not become linearly more powerful as you widen the dataset, it becomes <em>exponentially</em> more powerful. Or if you really want to get technical, it becomes <strong>combinatorially more powerful</strong> as you add more context.</p><p>I made a <a href="https://phenomenal-pika-90fd96.netlify.app/">little Netlify app</a> here where you can enter how many attributes you store per log or trace, to see how powerful your dataset is.</p><ul><li><p>4 fields? 6 pairwise combos, 15 possible combinations.</p></li><li><p>8 fields? 28 pairwise combos, 255 possible combinations. </p></li><li><p>50 fields? 1.2K pairwise combos, 1.1 quadrillion (2^250) possible combinations, as seen in the screenshot below.</p></li></ul><p>When you add another attribute to your structured log events, it doesn&#8217;t just give you &#8220;one more thing to query&#8221;. It gives you <strong>new combinations with every other field that already exists</strong>. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OFqQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OFqQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OFqQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OFqQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OFqQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OFqQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg" width="487" height="644.0575" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1058,&quot;width&quot;:800,&quot;resizeWidth&quot;:487,&quot;bytes&quot;:108650,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/190315082?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5cacd1-a183-4af1-9144-cd17246dcd65_800x1360.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OFqQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OFqQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OFqQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OFqQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040c3242-0148-4054-abfc-9351c175650c_800x1058.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The wider your data is, the more valuable the data becomes. Click on the image to go futz around with the sliders yourself.</figcaption></figure></div><p>Note that this math is <em>exclusively</em> concerned with attribute keys. Once you account for values, the precision of your tooling goes higher still, especially if you handle high cardinality data.</p><h2>Data is made valuable by relationships</h2><p>&#8220;Data is made valuable by context&#8221; is another way of saying that the <strong>relationships between attributes</strong> are the most important part of any data set.</p><p>This should be intuitively obvious to anyone who uses data. How valuable is the string &#8220;Mike Smith&#8221;, or &#8220;21 years old&#8221;? Stripped of context, they hold no value.</p><p>By spinning your telemetry out into siloes based on signal type, the three pillars model ends up destroying the most valuable part of your data: its relational seams.</p><h2>AI-SRE agents don&#8217;t seem to like three pillars data</h2><p>I <a href="https://www.linkedin.com/feed/update/urn:li:activity:7436206311211483136/">posted something</a>  on LinkedIn yesterday, and got a pile of interesting comments. One came from <a href="https://www.linkedin.com/in/kyforster/">Kyle Forster</a>, founder of an AI-SRE startup called RunWhen, who linked to an article he wrote called &#8220;<a href="https://www.linkedin.com/pulse/do-humans-read-logs-anymore-kyle-forster-wi4ie/">Do Humans Still Read Logs</a>?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O-QK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O-QK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png 424w, https://substackcdn.com/image/fetch/$s_!O-QK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png 848w, https://substackcdn.com/image/fetch/$s_!O-QK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png 1272w, https://substackcdn.com/image/fetch/$s_!O-QK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O-QK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png" width="309" height="463.78986866791746" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:533,&quot;resizeWidth&quot;:309,&quot;bytes&quot;:554290,&quot;alt&quot;:&quot;&quot;,&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://charitydotwtf.substack.com/i/190315082?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!O-QK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png 424w, https://substackcdn.com/image/fetch/$s_!O-QK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png 848w, https://substackcdn.com/image/fetch/$s_!O-QK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.png 1272w, https://substackcdn.com/image/fetch/$s_!O-QK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68aaeca5-12db-4610-a61e-94ae1fc18b50_533x800.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">Humpty Dumpty traced every span, Humpty Dumpty had a great plan.</figcaption></figure></div><p>In his article, he noted that &lt;30% of their AI SRE tools were to &#8220;traditional observability data&#8221;, i.e. metrics, logs and traces. Instead, they used the instrumentation generated by other AI tools to wrap calls and queries. His takeaway: </p><blockquote><p>Good AI reasoning turns out to require <strong>far less observability data</strong> than most of us thought when it has other options.</p></blockquote><p>My takeaway is slightly different. After all, the agent still needed instrumentation and telemetry in order to evaluate what was happening. That&#8217;s still observability, right? </p><p>But as Kyle tells it, the <a href="https://www.linkedin.com/pulse/do-humans-read-logs-anymore-kyle-forster-wi4ie/">agents went searching for a richer signal than the three pillars were giving them</a>. They went back to the source to get the raw, pre-digested telemetry with all its connective tissue intact. That&#8217;s how important it was to them.</p><p>Huh.</p><h2>You can&#8217;t put Humpty back together again</h2><p>I&#8217;ve been hearing a lot of &#8220;AI solves this&#8221;, and &#8220;now that we have MCPs, AI can do joins seamlessly across the three pillars&#8221;, and &#8220;this is a solved problem&#8221;.</p><p>Mmm. Joins across data siloes can be better than nothing, yes. But they don&#8217;t restore the relational seams. They don&#8217;t get you back to the mathy good place where <em>every additional attribute makes every other attribute exponentially more valuable</em>. At agentic speed, that reconstruction becomes a bottleneck and a failure surface.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cZQG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cZQG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png 424w, https://substackcdn.com/image/fetch/$s_!cZQG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png 848w, https://substackcdn.com/image/fetch/$s_!cZQG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png 1272w, https://substackcdn.com/image/fetch/$s_!cZQG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cZQG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png" width="305" height="457.7861163227017" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:533,&quot;resizeWidth&quot;:305,&quot;bytes&quot;:514328,&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://charitydotwtf.substack.com/i/190315082?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.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_!cZQG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png 424w, https://substackcdn.com/image/fetch/$s_!cZQG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png 848w, https://substackcdn.com/image/fetch/$s_!cZQG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.png 1272w, https://substackcdn.com/image/fetch/$s_!cZQG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F974e5b91-34a0-45a1-a63b-9911faf8e4ca_533x800.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">Humpty Dumpty stored all the state, Humpty Dumpty forgot to replicate.</figcaption></figure></div><p>Our entire industry is trying to <a href="https://annievella.com/posts/finding-comfort-in-the-uncertainty/">collectively work out</a> the future of agentic development right now. The hardest and most interesting problems (I think) are around validation. How do we validate a change rate that is 10x, 100x, 1000x greater than before?</p><p>I don&#8217;t have all the answers, but I do know this: agents are going to need production observability with speed, flexibility, TONS of context, and some kind of ontological grounding via semantic conventions.</p><p>In short: <strong>agents are going to need precision tools</strong>. And context (and cardinality) are what feed precision.</p><h2>Production is a <em>very</em> noisy place </h2><p>Production is a noisy, rowdy place of chaos, particularly at scale. If you are trying to do anomaly detection with no <em>a priori</em> knowledge of what to look for, the anomaly has to be fairly large to be detected. (Or else you&#8217;re detecting hundreds of &#8220;anomalies&#8221; all the time.)</p><p>But if you <em>do</em> have some knowledge of intent, along with precision tooling, these anomalies can be tracked and validated even when they are exquisitely minute. Like even just a trickle of requests<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> out of tens of millions per second.</p><blockquote><p>Let&#8217;s say you work for a global credit card provider. You&#8217;re rolling out a code change to partner payments, which are &#8220;only&#8221; tens of thousands of requests per second &#8212; a fraction of your total request volume of tens of millions of req/sec, but an important one. </p><p>This is a scary change, no matter how many tests you ran in staging. To test this safely in production, you decide to start by rolling the new build out to a small group of employee test users, and oh, what the hell &#8212; you make another feature flag that lets any user opt in, and flip it on for your own account.</p><p>You wait a few days. You use your card a few times. It works (thank god).</p><p>On Monday morning you pull up your observability data and select all requests containing the new <code>build_id</code> or commit hash, as well as all of the feature flags involved. You break down by endpoint, then start looking at latency, errors, and distribution of request codes for these requests, comparing them to the baseline.</p><p>Hm &#8212; something doesn&#8217;t seem quite right. Your test requests aren&#8217;t timing out, but they are taking longer to complete than the baseline set. Not for all requests, but for some.</p><p>Further exploration lets you isolate the affected requests to a set with a particular query hash. Oops.. how&#8217;d that n+1 query slip in undetected??</p><p>You quickly submit a fix, ship a new build_id, and roll your change out to a larger group: this time, it&#8217;s going out to 1% of all users in a particular region.</p></blockquote><p>The anomalous requests may have been only a few dozen per day, spread across many hours, in a system that served literally billions of requests in that time. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4oDO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4oDO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png 424w, https://substackcdn.com/image/fetch/$s_!4oDO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png 848w, https://substackcdn.com/image/fetch/$s_!4oDO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png 1272w, https://substackcdn.com/image/fetch/$s_!4oDO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4oDO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png" width="309" height="463.21013133208254" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2797a628-3040-4289-98f7-8bc185c81184_533x799.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:799,&quot;width&quot;:533,&quot;resizeWidth&quot;:309,&quot;bytes&quot;:782695,&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://charitydotwtf.substack.com/i/190315082?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.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_!4oDO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png 424w, https://substackcdn.com/image/fetch/$s_!4oDO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png 848w, https://substackcdn.com/image/fetch/$s_!4oDO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.png 1272w, https://substackcdn.com/image/fetch/$s_!4oDO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2797a628-3040-4289-98f7-8bc185c81184_533x799.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">Humpty Dumpty: assembled, redeployed, A patchwork of features half-built, half-destroyed. "It's not what we planned," said the architect, grim. "But the monster is live &#8212; and the monster is him."</figcaption></figure></div><p><strong>Precision tooling makes them findable</strong>. Imprecise tooling makes them unfindable. </p><p>How do you expect your agents to validate each change, if the consequences of each change cannot be found?<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p>Well, one might ask, how have we managed so far? The answer is: by using human intuition to bridge the gaps. This will not work for agents. Our wisdom must be encoded into the system, or it does not exist. As @<a href="https://x.com/odysseus0z">odysseusz0z</a> said recently: &#8220;<a href="https://x.com/odysseus0z/status/2030416758138634583">The work is making your judgment machine-readable</a>.&#8221;</p><h2>Agents need speed, flexibility, context, and precision to validate in prod</h2><p>In the past, excruciatingly precise staged rollouts like these have been mostly the province of your Googles and Facebooks. Progressive deployments have historically required a lot of tooling and engineering resources.</p><p>Agentic workflows are going to make these automated validation techniques much easier and more widely used; at the exact same time, agents developing to spec are going to require a dramatically higher degree of precision and automated validation in production.</p><p>It is not <em>just</em> the width of your data that matters when it comes to getting great results from AI. There&#8217;s a lot more involved in optimizing data for reasoning, attribution, or anomaly detection. But capturing and preserving relationships is at the heart of all of it.</p><p>In this situation, as in so many others, AI is both the sickness and the cure<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a>. Better get used to it.</p><p></p><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>Infrastructure teams use the three pillars for one extremely good reason: they have to operate a lot of code they did not write and can not change. They have to slurp up whatever metrics or logs the components emit and store them somewhere.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Yes, there are some complications here that I am glossing past, ones that start with &#8216;s&#8217; and rhyme with &#8220;ampling&#8221;. However, the rich data + sampling approach to the cost-usability balance is generally satisfied by dropping the least valuable data. The three pillars approach to the cost-usability problem is generally satisfied by dropping the MOST valuable data: cardinality and context.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>The needle-in-a-haystack is one visceral illustration of the value of rich context and precision tooling, but there are many others. Another example: wouldn&#8217;t it be nice if your agentic task force could check up on any diffs that involve cache key or schema changes, say, once a day for the next 6-12 months? These changes famously take a long time to manifest, by which time everyone has forgotten that they happened.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>One sentence I have gotten a ton of mileage out of lately: &#8220;AI, much like alcohol, is both the cause of and solution to all of life&#8217;s problems.&#8221;</p></div></div>]]></content:encoded></item><item><title><![CDATA[My (hypothetical) SRECon26 keynote]]></title><description><![CDATA[One year ago, Fred Hebert and I delivered the closing keynote at SRECon25. Looking back on it now, I can hardly connect with how I felt then. Here's what I'd say one year later.]]></description><link>https://charity.wtf/p/my-hypothetical-srecon26-keynote</link><guid isPermaLink="false">https://charity.wtf/p/my-hypothetical-srecon26-keynote</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Tue, 03 Mar 2026 00:28:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6A3s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey, it&#8217;s almost time for <a href="http://usenix.org/conference/srecon26americas">SRECon 2026</a>! (I can&#8217;t go, but YOU really should!) </p><p>Which means it was almost a year ago that <a href="http://ferd.ca">Fred Hebert</a> and I were up on stage, delivering the <a href="https://www.usenix.org/conference/srecon25americas/presentation/majors">closing keynote<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></a> at SRECon25.</p><p>We argued that SREs should get involved and skill up on generative AI tools and techniques, instead of being naysayers and peanut gallerians. You can get a feel for the overall vibe from the description:</p><blockquote><p>It&#8217;s easy to be cynical when there&#8217;s this much hype and easy money flying around, but generative AI is not a fad; it&#8217;s here to stay. </p><p>Which means that even operators and cynics &#8212; no, especially operators and cynics &#8212; need to get off the sidelines and engage with it. How should responsible, forward-looking SREs evaluate the truth claims being made in the market without being reflexively antagonistic?</p></blockquote><p>Yep, that was our big pitch. Don&#8217;t be <em>reflexively</em> antagonistic. You should learn AI <em>so that</em> your critiques will land with credibility.</p><p>That is not the message I would give today, if I were keynoting SRECon26.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6A3s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6A3s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6A3s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6A3s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6A3s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6A3s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg" width="375" height="300.32119914346896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:374,&quot;width&quot;:467,&quot;resizeWidth&quot;:375,&quot;bytes&quot;:60409,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/189584921?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6A3s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6A3s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6A3s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6A3s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb8458b4-f5fe-4e53-a5a7-94cbe057e946_467x374.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">SRE not sorry</figcaption></figure></div><h2>I came out of a hole, and the world had changed</h2><p>I&#8217;ve been in a bit of a hole for the past few months, trying to get the <a href="https://charitydotwtf.substack.com/p/observability-engineering-a-book?r=j8fxh">second edition</a> of &#8220;<a href="https://charitydotwtf.substack.com/p/first-i-wrote-the-wrong-book-then?r=j8fxh">Observability Engineering</a>&#8221; written and shipped.</p><p>Maybe the hole is why this feels so abrupt and discontinuous to me. Or maybe it&#8217;s just having such a clear artifact of my views one year ago. I don&#8217;t know.</p><p>What I do know is that one year ago, I still thought of generative AI as one more really big integration or use case we had to support, whether we liked it or not. Like AI was a slop-happy toddler gone mad in our codebase, and our sworn duty as SREs was to corral and control it, while trying not be a <em>total</em> dick about it.</p><p>Today, it&#8217;s very clear to me that the center of gravity has shifted from cloud/automation workflows to AI/generation workflows, and that the agentic revolution has only just begun. That toddler is heading off to school. With a loaded gun.</p><h2>When the facts change, I change my mind</h2><p>I don&#8217;t know when exactly that bit flipped in my head, I only know that it did. And as soon as it did, I felt like the last person on earth to catch on. I can barely connect with my own views from eleven months ago.</p><p>Were my views <em>unreasonably </em>pessimistic? Was I willfully ignoring credible evidence in early 2025?</p><p>Hmm, perhaps. But Silicon Valley hype trains have not exactly covered themselves in glory in recent years. VR/AR, crypto/web3/NFTs, wearable tech, the Metaverse, 3D printing, the sharing economy&#8230;this is not an illustrious string of wins.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> </p><p>Cloud computing, on the other hand: genuinely huge. So was the Internet. Sometimes the hype train brings you internets, sometimes the hype train brings you tulips. </p><p>So no, I don&#8217;t think it was obvious in early 2025 that AI generated code would soon grow out of its slop phase. Skepticism was reasonable for a time, and then it was not. I know <em>a lot</em> of technologists who flipped the same bit at some point in 2025.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HW5-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HW5-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HW5-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HW5-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HW5-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HW5-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg" width="230" height="280.10714285714283" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:682,&quot;width&quot;:560,&quot;resizeWidth&quot;:230,&quot;bytes&quot;:103081,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/189584921?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!HW5-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HW5-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HW5-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HW5-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d6a745-2502-4250-92c0-fe57e14d6b01_560x682.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Play nondeterministic games, get nondeterministic prizes</figcaption></figure></div><h2>The keynote I would give today</h2><p>If I was giving the keynote at SRECon 2026, I would ditch the begrudging stance. I would start by acknowledging that AI is radically changing the way we build software. It&#8217;s here, it&#8217;s happening, and it is coming for us all. </p><h4>1 &#8212; This is happening</h4><p>It is very, very hard to adjust to change that is being forced on you. So please don&#8217;t wait for it to be forced on you. <strong>Swim out to meet it</strong>. Find your way in, find something to get excited about.</p><p>As Adam Jacob recently advised, </p><blockquote><p>&#8220;If you&#8217;re an engineer or an operations person, there is only one move. You have to start working in this new way as much as you can. If you can&#8217;t do it at work, do it at home. You want to be on the frontier of this change, because the career risk to being a laggard is incredibly high.&#8221; &#8212; <a href="https://www.linkedin.com/posts/adamjacob_if-youre-thinking-to-yourself-this-10x-activity-7431057194520936448-ZTFL?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAEP-B4Bn1IFS4Br7okfkI7z81XqQEOEKro">Adam Jacob</a></p></blockquote><p>This AI shit is <em>not hard</em> to get started with (but it is also <em>not easy</em> to master). The early days of any technology are the simplest, and this technology more than most. Conquer the brain weasels in your head by learning the truth of this for yourself.</p><h4>2 &#8212; Know thyself</h4><p>At a time of elevated uncertainty and anxiety, our natural human tendency to drift into confirmation bias and disconfirmation bias is higher than ever. Whatever proof you instinctively seek out, you are guaranteed to find.</p><p>The best advice I can give anyone is: <strong>know your nature, </strong>and<strong> lean against it</strong>.</p><ul><li><p>If you are a reflexive naysayer or a pessimist, <em>know that, </em>and force yourself to find a way in to wonder, surprise and delight.</p></li><li><p>If you are an optimist who gets very excited and tends to assume that everything will improve: <em>know that</em>, and force yourself to mind real cautionary tales.</p></li></ul><p>Try to keep your aperture wide, and remain open to possibilities you find uncomfortable. Curate the ocean you swim in. Puncture your bubble.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pGnW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pGnW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pGnW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pGnW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pGnW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pGnW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg" width="288" height="301.7142857142857" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:616,&quot;width&quot;:588,&quot;resizeWidth&quot;:288,&quot;bytes&quot;:124555,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/189584921?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pGnW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pGnW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pGnW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pGnW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe78b88bf-51a5-4382-b9be-37a99af4dc4e_588x616.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">To err is to human. To err at scale..AI</figcaption></figure></div><h4>3 &#8212; Don&#8217;t panic</h4><p>Don&#8217;t panic, and don&#8217;t give in to despair. The future isn&#8217;t written yet, and nobody knows what&#8217;s going to happen. I sure as hell don&#8217;t. Neither do you. </p><p>The fact that AI has radically changed the way we develop software in very a short time, and seems poised to change it much more in the next year or two, is real and undeniable. </p><p>This does not mean that everything else predicted by AI optimists will come to pass. </p><p>Extraordinary claims still require extraordinary evidence. AGI is, at present, an elaborate thought experiment, one that contradicts all the evidence we currently have about how technological breakthroughs typically yield enormous change in the early days, and then plateau. </p><h2>We are all technologists now</h2><p>Here&#8217;s another Adam quote I really like:</p><blockquote><p>The bright side is that it&#8217;s a technology shift, not a manufacturing shift - meaning you still have to have technologists to do it.</p></blockquote><p>I&#8217;ve written a number of blog posts over the years where I have advised people to go into the second half of their career thinking of themselves not as &#8220;engineers&#8221; or as &#8220;managers&#8221;, but as &#8220;technologists&#8221;. <a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p>Every great technologist needs an arsenal of skills on top of their technical expertise. They need to understand how to navigate an organization, how to translate between the language of technology and the language of the business; how to wield influence and drive results across team, company, even industry lines.</p><p>These remain durable skills, in an era where good code can be generated practically for free.</p><h2>This is the moment for pragmatists</h2><p>Many people who love the art and craft of software are struggling in this moment, as the value of that craft is diminishing. (I&#8217;m sorry. &#128148;)</p><p>People who take a much more&#8230;functional&#8230;approach to software seem to be thriving in the present chaos. &#8220;Functional&#8221; describes most of the SREs I know, including myself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q-p1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q-p1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Q-p1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Q-p1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Q-p1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q-p1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg" width="270" height="322.9337094499295" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1696,&quot;width&quot;:1418,&quot;resizeWidth&quot;:270,&quot;bytes&quot;:352998,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/189584921?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q-p1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Q-p1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Q-p1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Q-p1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc420de1-1487-423c-8bf3-0d446803b7a1_1418x1696.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#8220;AiOops&#8230; Prove it!&#8221;...</figcaption></figure></div><p>After all, SREs have always been judged by outcomes &#8212; uptime, reliability, whether the thing kept running. An <a href="http://o16g.com">outcome orientation</a> turns out to be excellent preparation for a world where the &#8220;how&#8221; of software is becoming less important than the what and the whether, across the board.</p><p>So maybe the advice we gave at SRECon wasn&#8217;t so bad after all. Especially this part:</p><blockquote><p>Which means that even operators and cynics &#8212; no, especially operators and cynics &#8212; need to get off the sidelines and engage with it. </p></blockquote><p>Who can build better guardrails for AI, than SREs and operators who have spent their entire careers building guardrails for software engineers and customers?</p><p>The industry needs us. But not begrudgingly, eyerollingly, pretending to get on board in order to slow things down from the inside. The industry needs our skills to help engineering teams go fast forever.</p><p>Don&#8217;t sit back and wait for change to reach you. Run towards the waves. It&#8217;s nice out here.</p><p></p><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>Our talk was called &#8220;<a href="https://www.usenix.org/conference/srecon25americas/presentation/majors">AIOps: Prove it! An Open Letter to Vendors Selling AI for SREs</a>&#8221;. In retrospect, this was a terrible title. It was not an open letter to vendors at all; if anything, it was an open letter to SREs. It started out as one topic, but by the time the event rolled around, it had morphed into something entirely different. Ah well.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I am not even listing the kooky religious shit like effective accelerationism, transhumanism, AI &#8220;alignment&#8221; or the Singularity, all of which has seeped into the water table around these parts.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Omg, I have <em>so many</em> unwritten posts wriggling around in my brain right now on this topic.</p></div></div>]]></content:encoded></item><item><title><![CDATA[First I wrote the wrong book, then I wrote the right book]]></title><description><![CDATA[I'm not sure whether to say "thank you" or "HOW COULD YOU DO THIS TO ME", but this one goes out to all the people who sent me advice on buying software last fall.]]></description><link>https://charity.wtf/p/first-i-wrote-the-wrong-book-then</link><guid isPermaLink="false">https://charity.wtf/p/first-i-wrote-the-wrong-book-then</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Thu, 19 Feb 2026 01:07:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OS1m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is the second in a two-part episode. The first part ended on a &#10024;cliffhanger!!!&#10024; &#8212; so if you missed the first episode, catch up here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d9bf2944-1696-496c-8bbd-26a4bfc1e764&quot;,&quot;caption&quot;:&quot;Last week I got to meet Martin Fowler for the first time in person. This was an exciting moment for me. Martin ranks high on my personal pantheon; he is, so far as I can tell, hardly ever wrong.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Martin Fowler told me the second edition should be shorter (it's twice as long)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32306597,&quot;name&quot;:&quot;Charity Majors&quot;,&quot;bio&quot;:&quot;cofounder and CTO of honeycomb.io; pioneered modern observability. co-author of O'Reilly books \&quot;Database Reliability Engineering\&quot; and \&quot;Observability Engineering\&quot;, now wrapping up the 2nd ed. loves free software, free speech, and peaty single malts.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!EAp-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7a54851-0549-41da-b041-3cfc959ec0ba_3088x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-02-18T00:59:45.505Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!8RWJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://substack.com/home/post/p-186798752&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186798752,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:11,&quot;comment_count&quot;:5,&quot;publication_id&quot;:2935724,&quot;publication_name&quot;:&quot;charity.wtf&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Tg4H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F194fc089-9e91-4a15-85cc-5da3fca53eed_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Six long weeks of writer&#8217;s block</h2><p>I was merrily cranking away what I believed to be my last chapter when I asked the internet &#8212; YOU guys &#8212; for help the first time. &#8220;<a href="https://charity.wtf/2025/09/19/are-you-an-experienced-software-buyer-i-could-use-some-help/">Are you an experienced software buyer? I could use some help</a>,&#8221; went up on September 19th, 2025.</p><p>The response was overwhelming. I heard from software engineers, SREs, observability leads, CTOs, VPs, distinguished engineers, consultants, even the odd CISO. All these emails and responses and lengthy threads kept me busy for a while, but eventually I had to get back to writing. That&#8217;s when I discovered, to my unpleasant surprise, that I couldn&#8217;t seem to <em>write</em> anymore.</p><p>&#8220;Well,&#8221; I reasoned, &#8220;maybe I&#8217;ll just ask the internet for EVEN MORE advice" &#8212; and out popped <a href="https://charity.wtf/2025/10/13/got-opinions-on-observability-i-could-use-your-help-once-more-with-feeling/">Buffy-themed post number two</a>, on October 13th.</p><p>Keep in mind, I thought I would be done by then. November was my <em>stretch</em> deadline, my <em>just in case</em>, <em>I better leave myself some breathing room</em> kind of deadline.</p><p>As November 1st came and went, my frustration began spiraling out into blind panic. <em>What the hell is going on and why can I not finish this???</em></p><h2>In which I finally listen to the advice I asked for</h2><p>A week before Thanksgiving, I was up late tinkering with Claude. I imported all the emails and advice I had gotten from y&#8217;all, and started sorting into themes and picking out key quotes, and that is when it finally hit me: I had written the wrong thing.</p><p>No, this deserves a bigger font.</p><h2><strong>&#10024;I wrote the wrong thing.&#10024;</strong></h2><p>I wrote the wrong thing, for the wrong people, and none of it was going to move the needle in any meaningful way. </p><p>The chapters I had written were full of practical advice for observability engineering teams and platform engineering teams, wrestling with implementation challenges like instrumentation and cost overflows. Practical stuff.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IWQT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IWQT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png 424w, https://substackcdn.com/image/fetch/$s_!IWQT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png 848w, https://substackcdn.com/image/fetch/$s_!IWQT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png 1272w, https://substackcdn.com/image/fetch/$s_!IWQT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IWQT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png" width="276" height="277" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:277,&quot;width&quot;:276,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107045,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/187989244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!IWQT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png 424w, https://substackcdn.com/image/fetch/$s_!IWQT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png 848w, https://substackcdn.com/image/fetch/$s_!IWQT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.png 1272w, https://substackcdn.com/image/fetch/$s_!IWQT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c32f200-fecf-4ac9-b3cf-99c913cb083f_276x277.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">Yes.</figcaption></figure></div><h2>The internet was right (this ONE time)</h2><p>My inbox, on the other hand, was overflowing with stories like these:</p><ul><li><p>&#8220;Many times [competitive research] is faked. One person has their favorite option and then they do just enough &#8216;competitive analysis&#8217; to convince the sourcing folks that due diligence was done or to nullify the CIO/CTO/whoever is accepting this on to their budget&#8221;</p></li><li><p>&#8220;We [the observability team] spent six months exhaustively trialing three different solutions before we made a decision. The CEO of one of the losing vendors called our CEO, and he <strong>overruled our decision</strong> without even telling us.&#8221; (Does your CEO know anything at all about engineering??) &#8220;No.&#8221;</p></li><li><p>&#8220;Our SRE teams have vetoed any attempt to modernize our tool stack. ($Vendor) is part of their identity, and since they would have to help roll out and support any changes, <strong>we are stuck living in 2015</strong> apparently forever.&#8221; (What does management have to say?) &#8220;It&#8217;s been twenty years since they touched a line of code.&#8221;</p></li><li><p>&#8220;We&#8217;re weird in that most of the company hates technology and really hates that we have to pay for it since they don&#8217;t understand the value it brings to the company. <strong>This is intentional ignorance</strong>, we make the value props continually and well, we just haven&#8217;t succeeded yet&#8230;.We&#8217;re a little obsessed with trying to get champagne quality at Boone&#8217;s prices.&#8221;</p></li><li><p>&#8220;When it comes to dealing with salespeople and the enterprise sales process, the best tip for engineers is to not anthropomorphize sales professionals who are driven by commission. The best ones are like robot lawn mowers dressed in furry unicorn costumes. They may seem cute and nice but they do not care about anything besides closing the next deal&#8230;.All of the best SaaS companies are full of these <strong>friendly fake unicorn zombies who suck cash</strong> instead of blood.&#8221;</p></li></ul><p>Nearly all of the emails I got were either describing a terminally fucked up buying process from the top down, or the long term consequences of those fucked up decisions.</p><p>In other words: I was writing tactical advice for teams who were surviving in a strategic vacuum.</p><p>So I threw the whole thing out, and started over from scratch. &#128557;</p><h2>Even good teams are struggling right now</h2><p>As Tolstoy once wrote, &#8220;Happy teams are all alike; every fucked up team is fucked up in its own precious way.&#8221;</p><p>There is an infinity of ways to screw something up. But there is one pattern I see a critical mass of engineering orgs falling into right now, even orgs that are generally quite solid. That is when there is <strong>no shared alignment</strong> or even shared <em>vocabulary</em> between engineering and other stakeholders directors, VPs and SVPs, CTO, CIO, principal and distinguished engineers &#8212; on some pretty clutch questions. Such as:</p><ul><li><p>&#8220;What is observability?&#8221;</p></li><li><p>&#8220;Who needs it?&#8221;</p></li><li><p>&#8220;What problem are we trying to solve?&#8221;</p></li></ul><p>And my favorite: &#8220;Is observability still relevant in a post-AI era? Can&#8217;t agents do that stuff now?&#8221; </p><p>Even some generally excellent CTOs<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> have been heard saying things like, &#8220;yeah, observability is definitely very important, but all our top priorities are related to AI right now.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XKMm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XKMm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png 424w, https://substackcdn.com/image/fetch/$s_!XKMm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png 848w, https://substackcdn.com/image/fetch/$s_!XKMm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png 1272w, https://substackcdn.com/image/fetch/$s_!XKMm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XKMm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png" width="328" height="322" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:322,&quot;width&quot;:328,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160016,&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://charitydotwtf.substack.com/i/187989244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.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_!XKMm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png 424w, https://substackcdn.com/image/fetch/$s_!XKMm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png 848w, https://substackcdn.com/image/fetch/$s_!XKMm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.png 1272w, https://substackcdn.com/image/fetch/$s_!XKMm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918c101-46be-42ed-9a04-0179dcde8e6f_328x322.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>Which gets causality <em>exactly backwards</em>. Because your ability to get any returns on your investments into AI will be limited by how swiftly you can validate your changes and learn from them. Another word for this is &#8220;OBSERVABILITY&#8221;.</p><p>Enough ranting. Want a peek? I&#8217;ll share the new table of contents, and a sentence or two about a couple of my own favorite chapters.</p><h2>Part 6: &#8220;Observability Governance&#8221; (v2)</h2><p>The new outline is organized to speak to technical decision-makers, starting at the top and loosely descending. What do CTOs need to know? What do VPs and distinguished engineers need to know? and so on. We start off abstract, and become more concrete.</p><p>Since every technical term (e.g. high cardinality, high dimensionality, etc) has become overloaded and undifferentiated by too much sales and marketing, we mostly avoid it. Instead, we use the language of systems and feedback loops.</p><p>Again, we are trying to help your most senior engineers and execs develop a shared understanding of &#8220;What problem are we solving?&#8221; and &#8220;What is our goal? Technical terms can actually detract and distract from that shared understanding.</p><ol><li><p><strong>An Open Letter to CTOs:</strong> <strong>Why Organizational Learning Speed is Now Your Biggest Constraint</strong>. Organizations used to be limited by the speed of delivery; now they are limited by how swiftly they can validate and understand what they delivered.</p></li><li><p><strong>Systems Thinking for Software Delivery</strong>. Observability is the signal that connects the dots to make a feedback loop; no observability<em>,</em> <em>no loop</em>. What happens to amplifying or balancing loops when that signal is lossy, laggy, or missing?</p></li><li><p><strong>The Observability Landscape Through a Systems Lens</strong>. What feedback loops do developers need, and what feedback loops does ops need? How do these map to the tools on the market?</p></li><li><p><strong>The Business Case for Observability</strong>. Is your observability a cost center or an investment? How should you quantify your RoI?</p></li><li><p><strong>Diagnosing Your Observability Investment</strong> </p></li><li><p><strong>The Organizational Shift</strong> </p></li><li><p><strong>Build vs Buy (vs Open Source) </strong></p></li><li><p><strong>The Art and Science of Vendor Partnerships.</strong> Internal transformations run on trust and credibility; vendor partnerships run on trust and reciprocity. We&#8217;ll talk about both of these, as well as how to run a strong POC.</p></li><li><p><strong>Instrumentation for Observability Teams</strong></p></li><li><p><strong>Where to Go From Here</strong></p></li></ol><p>Hey, I have <em>a lot</em> of empathy right now for leaders and execs who feel like they&#8217;re behind on everything. I feel it too. Anyone who doesn&#8217;t is lying to themselves (or their name is <a href="http://x.com/simonw">Simon Willison</a>). </p><p>But the role observability plays in complex sociotechnical systems is one of those foundational concepts <strong>you need to understand</strong>. You&#8217;re not gonna get this right by accident. You&#8217;re not going to win by doing the same thing you were doing five years ago. And if you screw up your observability, you screw up everything downstream of it too.</p><p>To those of you who do understand this, and are working hard to drive change in your organizations: I see you. It is hard, often thankless work, but it is <strong>work worth doing</strong>. If I can ever be of help: reach out.</p><h2>A longer book, but a better book</h2><p>The last few chapters are heading into tech review on Friday, February 20th. <em>Finally</em>. The last 3.5 months have been some of the most panicky and stressful of my life. I&#8230;.just typed several paragraphs about how terrible this has been, and deleted them, because you do not need to listen to me whine. &#9786;&#65039;</p><p>Like I said, <a href="https://charitydotwtf.substack.com/p/observability-engineering-a-book">I have never felt especially proud of the first edition</a>. I am not UN proud, it&#8217;s just&#8230;eh. I feel differently this time around. I think&#8212;I <em>hope</em>&#8212;it can be helpful to a lot of different people who are wrestling with adapting to our new AI-native reality, from a lot of different angles.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OS1m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OS1m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png 424w, https://substackcdn.com/image/fetch/$s_!OS1m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png 848w, https://substackcdn.com/image/fetch/$s_!OS1m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png 1272w, https://substackcdn.com/image/fetch/$s_!OS1m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OS1m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png" width="475" height="322" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7250b64f-137d-415f-92be-6ee06aca3039_475x322.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:322,&quot;width&quot;:475,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158395,&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://charitydotwtf.substack.com/i/187989244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.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_!OS1m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png 424w, https://substackcdn.com/image/fetch/$s_!OS1m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png 848w, https://substackcdn.com/image/fetch/$s_!OS1m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png 1272w, https://substackcdn.com/image/fetch/$s_!OS1m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.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">Thanks, Christine. (Another for the folder marked &#8221;NOW YOU TELL ME&#8221;)</figcaption></figure></div><p>I am incredibly grateful to my co-authors, collaborators, and our editor, Rita Fernando, without whom I never would have made it through.</p><p>But there&#8217;s one more group that deserves some credit, and it&#8217;s&#8230;you guys. I asked for help, and help I got. So many people wrote me such long, thought-provoking emails full of stories, advice and hard-earned wisdom. The better the email, the more I peppered you with followup questions, which is a great way to punish a good deed.</p><h2>Blame these people</h2><p>I am a tiny bit torn on whether to say &#8220;thank you&#8221; or &#8220;fuck you&#8221;, because my life would have been <em>much nicer</em> if I had stuck to the plan and wrapped in October. </p><p>But the following list of people were especially instrumental in forcing me to rethink my approach. It made the book much stronger, so if you catch one of them in the wild, please buy them a stiff drink. (Or buy yourself one, and throw it in their face with my sincere compliments.)</p><ul><li><p><strong>Abraham Ingersoll</strong>, the aforementioned &#8220;odd CISO&#8221;, who would be quoted in the book had his advice not been so consistently unprintable by the standards of respectable publications</p></li><li><p><strong>Benjamin Mann</strong> of Delivery Hero, who I would work for in a heartbeat, and not just for the way he wields &#8220;NOPE&#8221; as a term of art</p></li><li><p><strong>Marty Lindsay</strong>, who has spent more time explaining POCs and tech evals to me than anyone should have to. (If you need an o11y consultant, Marty should be your very first stop).</p></li><li><p><strong>Sam Dwyer</strong>, whose stories seeded my original plan to write a set of chapters for observability engineering teams. (I hope the replacement plan is useful too!)</p></li></ul><p>Many others sent me terrific advice, and endured multiple rounds of questions and more questions and clarifications on said questions. A few of them:</p><p><strong>Matthew Sanabria, Chris Cooney, Glen Mailer, Austin Culbertson,  John Scancella, John Doran, Bryan Finster, Hazel Weakly, Chris Ziehr, Thomas Owens, Mike Lee, Jay Gengelbach, Will Hegedus, Natasha Litt, Alonso Suarez, Jason McMunn, Evgeny Rubtsov, George Chamales, Ken Finnegan, Cliff Snyder, Robyn Hirano, Rita Canavarro, Matt Schouten, Shalini Samudri Ananda Rao (Sam)</strong>.</p><p>I am definitely forgetting some names; I will try to update the list as I remember them.</p><p>But seriously: thank you, from the bottom of my heart. I loved hearing your stories, your complaints, your arguments about how the world should improve. Your DNA is in this book; I hope it does you justice.</p><p>~charity<br>&#128156;&#128153;&#128154;&#128155;&#129505;&#10084;&#65039;&#128150;</p><p></p><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>It&#8217;s ironic (and makes me uncomfortably self-conscious), but some of the worst top-down decision-making processes I have ever seen have come from companies where CEO and CTO are both former engineers. The confidence they have in their own technical acumen may be not <em>wholly</em> unfounded, but it is often ten or more years out of date. We gotta update those priors, my friends. Stay humble.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>On the other hand, as my co-founder, Christine Yen, informed me last week: &#8220;Nobody reads books anymore.&#8221;</p></div></div>]]></content:encoded></item><item><title><![CDATA[Martin Fowler told me the second edition should be shorter (it's twice as long)]]></title><description><![CDATA[90% new material, a clearer mission, and a rogues gallery of contributors. The second edition of Observability Engineering is almost done.]]></description><link>https://charity.wtf/p/observability-engineering-a-book</link><guid isPermaLink="false">https://charity.wtf/p/observability-engineering-a-book</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Wed, 18 Feb 2026 00:59:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8RWJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week I got to meet <a href="https://bsky.app/profile/martinfowler.com">Martin Fowler</a> for the first time in person. This was an exciting moment for me. Martin ranks high on my personal pantheon; he is, so far as I can tell, hardly ever wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8RWJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8RWJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8RWJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8RWJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8RWJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8RWJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg" width="600" height="450" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1024,&quot;resizeWidth&quot;:600,&quot;bytes&quot;:273089,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/187989244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8RWJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8RWJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8RWJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8RWJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f4894f1-c0b4-4651-981b-54401808e8e8_1024x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://bsky.app/profile/martinfowler.com">Martin Fowler</a>, me, and <a href="https://bsky.app/profile/nathenharvey.bsky.social">Nathen Harvey</a>, at the happy hout for <a href="https://www.pragmaticengineer.com/">Gergely&#8217;s</a> <a href="https://pragmaticsummit.com">Pragmatic Summit</a>! Not pictured: my glass of wine, Nathen&#8217;s box of fucks to give</figcaption></figure></div><p>After letting me know that he &#8220;only hugs on this side of the Rockies&#8221; (noted), the topic of writing books came up, to which he drawled, </p><blockquote><p>&#8220;The second edition should always be shorter. I <em>always</em> made my second editions shorter. <strong>Shorter books are better books</strong>.&#8221;</p></blockquote><p>God dammit, Martin..<em> Now</em> you tell me. &#128584;</p><p>In related news, our last few chapters for &#8220;<a href="https://www.oreilly.com/library/view/observability-engineering-2nd/9781098179915/">Observability Engineering, 2nd edition</a>&#8221; go out to tech reviewers <em>this week</em>! This puts us on track for dead tree publication in June, although chapters will be available earlier for O&#8217;Reilly subscribers as well as behind an email gate on the Honeycomb site.</p><h2>What&#8217;s different about the second edition?</h2><p>Almost everything. The only chapters that carry over some material are the ones on sampling, retriever (columnar store), and a smattering of the SLO stuff&#8212;maybe 10% all told? And we&#8217;ve added a monstrous amount of new material.</p><p>So no, it will <em>not</em> be shorter than the first edition. It is almost twice as long.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> (Sorry!)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1Kti!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Kti!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png 424w, https://substackcdn.com/image/fetch/$s_!1Kti!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png 848w, https://substackcdn.com/image/fetch/$s_!1Kti!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png 1272w, https://substackcdn.com/image/fetch/$s_!1Kti!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1Kti!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png" width="1044" height="443" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:443,&quot;width&quot;:1044,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80210,&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://charitydotwtf.substack.com/i/186798752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.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_!1Kti!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png 424w, https://substackcdn.com/image/fetch/$s_!1Kti!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png 848w, https://substackcdn.com/image/fetch/$s_!1Kti!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.png 1272w, https://substackcdn.com/image/fetch/$s_!1Kti!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c0ca61-478c-4b8d-83e7-438d4b8ef631_1044x443.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>On the bright side, I do think it will be clearer, more usable, and useful to a wider range of contributors, all over the org chart, than our messy little first edition ever was.</p><h2>The first edition was a spaghetti mess</h2><p>Books, as I understand, are like children; if you made them, you are not allowed to say you aren&#8217;t proud of them. </p><p>So fine, I won&#8217;t say it. But I think we can all privately agree that the first edition was a bit of a hot mess.</p><p>No shade on my wonderful co-authors, <a href="https://bsky.app/profile/lizthegrey.com">Liz</a> and <a href="https://bsky.app/profile/gmiranda23.bsky.social">George</a>, or our O&#8217;Reilly editors, or myself for that matter. We did our best, but now, with the clarity of hindsight, it&#8217;s easy to see all the ways the ground was shifting under us as we wrote.</p><p>When we started the book in 2018, Honeycomb was the only observability company, and our definition of observability&#8212;high cardinality, high dimensionality, explorability&#8212;was the only definition. By the time the book came out in 2021, everyone was rebranding their products as observability, Gartner had waded into the fray.. it was a mess.</p><p>Perhaps the mature thing to do would be to have gone back and rewritten the book in light of the evolving market definition. But while I won&#8217;t speak for my co-authors, after 3.5 years, I was pretty fucking desperate to be done.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PfU9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PfU9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png 424w, https://substackcdn.com/image/fetch/$s_!PfU9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png 848w, https://substackcdn.com/image/fetch/$s_!PfU9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png 1272w, https://substackcdn.com/image/fetch/$s_!PfU9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PfU9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png" width="534" height="345.68543046357615" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:391,&quot;width&quot;:604,&quot;resizeWidth&quot;:534,&quot;bytes&quot;:90872,&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://charitydotwtf.substack.com/i/186798752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.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_!PfU9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png 424w, https://substackcdn.com/image/fetch/$s_!PfU9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png 848w, https://substackcdn.com/image/fetch/$s_!PfU9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.png 1272w, https://substackcdn.com/image/fetch/$s_!PfU9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a31b632-1d2b-4034-95b2-beb8f6bfdf23_604x391.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">Artist&#8217;s rendering of the traditional authorial glow of pride, joy and deep satisfaction upon completing any book manuscript</figcaption></figure></div><p>I swore I would never go through that again. And when O&#8217;Reilly first approached us about writing a second edition, my first reaction was blind panic. </p><h2>The second edition has a clearer mission</h2><p>But once my lizard brain calmed down, I realized two things. Number one, it absolutely needed to be written; number two, I definitely wanted to help write it.</p><p>SO MUCH has changed. SO MUCH needs saying. When we met up in June to pull together a new outline, it seemed to just flow out of us.</p><p>A few of the many things that were not at all clear in 2018, but are crystal clear today:</p><ul><li><p><strong>Who we are writing for</strong> (software engineers)</p></li><li><p><strong>What they are doing</strong> (instrumenting their code and analyzing it in production, with and without AI)</p></li><li><p><strong>What observability means to analysts and the market at large</strong> (literally anything to do with software telemetry)</p></li><li><p>The integrations game is over, and <strong>OpenTelemetry has won</strong></p></li><li><p><strong>Most companies still don&#8217;t have real observability</strong>. And they don&#8217;t know it. &#128533; </p></li></ul><p>I am excited and incredibly grateful for the opportunity to take a second whack at this book in the era of AI. Not how I thought I&#8217;d feel, but I will <em>take it</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0HJr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0HJr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0HJr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0HJr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0HJr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0HJr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg" width="446" height="473.875" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:768,&quot;resizeWidth&quot;:446,&quot;bytes&quot;:243065,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/186798752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca4e692e-fd51-41d2-8b41-f1cb75ff818b_768x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0HJr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0HJr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0HJr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0HJr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada78dbc-5817-4e50-ba20-d464a89f6c86_768x816.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The first edition of &#8220;Observability Engineering&#8221; was translated into Japanese, Korean, and Chinese (I believe it&#8217;s Mandarin?). </figcaption></figure></div><p></p><h2>Writing With the Stars&#127775;</h2><p>We brought <a href="https://bsky.app/profile/aparker.io">Austin Parker</a> on as a fourth co-author very early, with a special emphasis on topics related to OpenTelemetry and AI. </p><p>We also invited a number of people we admire to contribute in a variety of formats&#8230; guest chapters, use cases, stories, embedded advice, and more:</p><ul><li><p><a href="https://bsky.app/profile/jeremymorrell.dev">Jeremy Morrell</a> on how to instrument your code effectively</p></li><li><p><a href="http://hanson.wtf">Hanson Ho</a> and <a href="https://bsky.app/profile/mattklein123.dev">Matt Klein</a> on observability for mobile and frontend</p></li><li><p>Kesha Mykhailov and <a href="https://www.linkedin.com/in/darraghcurran/">Darragh Curran</a> from Intercom on fast feedback loops and developing with LLMs</p></li><li><p><a href="https://www.linkedin.com/in/dalemcdiarmid/">Dale McDiarmid</a>, <a href="https://www.linkedin.com/in/xandergarbett/">Xander Garbett</a>, and <a href="https://www.linkedin.com/in/rory-crispin/">Rory Crispin</a> on how to use Clickhouse for observability workloads</p></li><li><p><a href="https://www.linkedin.com/in/dendrobates/">Rick Clark</a> on the mechanics of driving organizational transformation in order to build and learn at the speed of AI</p></li><li><p><a href="https://www.linkedin.com/in/fxchen/">Frank Chen</a>, a returning champion from our first edition, wrote about ontologies for your instrumentation chain</p></li><li><p><a href="https://bsky.app/profile/phillipcarter.dev">Phillip Carter</a> wrote about eval pipelines and instrumenting LLMs</p></li><li><p><a href="https://www.linkedin.com/in/mathew-vine-8940a477/">Mat Vine</a> has a case study about moving ANZ from thresholds to SLIs/SLOs</p></li><li><p><a href="https://www.linkedin.com/in/michaelekelly/">Mike Kelly</a> on managing telemetry pipelines for fun and profit</p></li><li><p><a href="https://www.linkedin.com/in/hugomgsantos/">Hugo Santos</a> on how to instrument your CI/CD pipelines</p></li><li><p><a href="https://www.linkedin.com/in/petercorless/">Peter Corless</a> made our chapter on &#8220;Build vs Buy (vs Open Source)&#8221; immensely better and more well-rounded</p></li></ul><p>What a fucking list, huh? &#128588;  </p><p>Truly, this book is a veritable rogues gallery of engineers and companies we look up to (including some of our own direct competitors &#128521;). The one thing all these people have in common (besides being great writers with a unique perspective, and people who are willing to return our emails) is that <strong>we share a similar vision</strong> for observability and the future of software development.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xJEF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xJEF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xJEF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xJEF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xJEF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xJEF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg" width="503" height="422.44140625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:645,&quot;width&quot;:768,&quot;resizeWidth&quot;:503,&quot;bytes&quot;:105651,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/186798752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71a7f02-7293-4b2b-9438-8c1b4254fab5_768x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!xJEF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xJEF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xJEF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xJEF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a31a10-5309-4414-895b-f3b741791771_768x645.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Spotted this week: <a href="https://www.linkedin.com/in/nathen/">Nathen Harvey</a>, walking around, giving out fucks by the handful.</figcaption></figure></div><p>In addition to the sections written for software engineers on &#8220;<strong>Instrumentation Fundamentals</strong>&#8221; and &#8220;<strong>Analysis Workflows</strong>&#8221;,  both with and without AI, we have a section on &#8220;<strong>Observability Use Cases</strong>&#8221; and another on &#8220;<strong>Technical Deep Dives</strong>&#8221;, which lets us cover even more ground.</p><p>Which brings us to the last section, the one that I personally signed up to write.</p><h2>Part 6: &#8220;Observability Governance&#8221;</h2><p>When we met in June, I successfully pitched Liz and George on adding one final section: &#8220;Observability Governance&#8221;. Unlike the rest of the book, these chapters would be written for the observability team, or the platform engineering team, or whoever is wrestling with problems like cost containment and tool migrations.</p><p>I sketched out a few ideas and started writing. July passed, August, September&#8230;I was cranking out one governance chapter per month, right on track, planning to wrap up well before November.</p><p>In September, halfway through my last chapter, I reached out to the internet for advice. &#8220;<a href="https://charity.wtf/2025/09/19/are-you-an-experienced-software-buyer-i-could-use-some-help/">Are you an experienced software buyer? I could use some help.</a>&#8221; </p><p>The response was &#10024;tremendous&#10024;; my inbox swelled with interesting stories, bitter rants, lessons learned, and practical tips from engineers and executives alike. </p><p>But when I tried to finish the chapter, my engine stalled out. <em>I could not write</em>. I kept doggedly blocking off time on my calendar, silencing interruptions, staring at drafts, writing and rewriting, trying every angle. Four weeks passed with no progress made.</p><p>Five weeks. Six. </p><h2>Cliffhanger!</h2><p>Tomorrow I&#8217;ll publish the second half of this story, in which the due date for my chapters comes and goes, and I end up throwing away everything I had written and starting over from scratch. Good times!</p><p>Edited to add: the second half is up!! </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;11f27f9a-9584-4098-8674-0ef1410f8e1b&quot;,&quot;caption&quot;:&quot;This is the second in a two-part episode. The first part ended on a &#10024;cliffhanger!!!&#10024; &#8212; so if you missed the first episode, catch up here:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;First I wrote the wrong book, then I wrote the right book&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32306597,&quot;name&quot;:&quot;Charity Majors&quot;,&quot;bio&quot;:&quot;cofounder and CTO of honeycomb.io; pioneered modern observability. co-author of O'Reilly books \&quot;Database Reliability Engineering\&quot; and \&quot;Observability Engineering\&quot;, now wrapping up the 2nd ed. loves free software, free speech, and peaty single malts.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!EAp-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7a54851-0549-41da-b041-3cfc959ec0ba_3088x2316.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-02-19T01:07:35.032Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!OS1m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7250b64f-137d-415f-92be-6ee06aca3039_475x322.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://substack.com/home/post/p-187989244&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:187989244,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:2935724,&quot;publication_name&quot;:&quot;charity.wtf&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Tg4H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F194fc089-9e91-4a15-85cc-5da3fca53eed_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2></h2><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>If we ever write a third edition, I swear on the lives of my theoretical children that it will be MUCH shorter than this one.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Bring Back Ops Pride]]></title><description><![CDATA["Operations" is not a dirty word, a synonym for toil, or a title for people who can't write code. May those who shit on ops get the operational outcomes they deserve.]]></description><link>https://charity.wtf/p/bring-back-ops-pride</link><guid isPermaLink="false">https://charity.wtf/p/bring-back-ops-pride</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Mon, 19 Jan 2026 00:08:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/66b04ca3-f11e-4880-85b8-e602589b7837_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was planning to write something else today, but god dammit, I got nerd-sniped.</p><p>Last week I published a piece on the Honeycomb blog called &#8220;<a href="https://www.honeycomb.io/blog/you-had-one-job-why-twenty-years-of-devops-has-failed-to-do-it">You Had One Job: Why Twenty Years of DevOps Has Failed to Do It</a>.&#8221; Allow me to quote myself:</p><blockquote><p>In retrospect, I think the entire DevOps movement was a mighty, twenty year battle to achieve one thing: a single feedback loop connecting devs with prod.</p><p>On those grounds, it failed.</p><p>Not because software engineers weren&#8217;t good at their jobs, or didn&#8217;t care enough. It failed because the technology wasn&#8217;t good enough. The tools we gave them weren&#8217;t designed for this, so using them could easily double, triple, or quadruple the time it took to do their job: writing business logic.</p><p>This isn&#8217;t true everywhere. Please keep in mind that <strong>all data tools are effectively fungible</strong> if you can assume an infinite amount of time, money, and engineering skill. You can run production off an Excel spreadsheet if you have to, and some SREs <em>have done so</em>. That doesn&#8217;t make it a great solution, the right use of resources, or accessible to the median engineering org.</p></blockquote><p>It&#8217;s a fun piece, if I do say so myself, and you should go read it. (<a href="https://www.honeycomb.io/blog/you-had-one-job-why-twenty-years-of-devops-has-failed-to-do-it">Much stick art</a>!)</p><p>I posted the link on LinkedIn yesterday morning. Comments, as ever, ensued. </p><p>(The internet was a mistake, Virginia.)</p><h2>&#8220;Devs should own everything&#8221;</h2><p>A number of commenters said things like, &#8220;devs should own everything&#8221;, &#8220;make every team responsible for their own devops work&#8221;, and my personal favorite: </p><blockquote><p>&#8220;I still think the main problem is with the ownership model - the fact that devs don&#8217;t own the full system, including infra and ops.&#8221; </p></blockquote><p>(Courtesy of <a href="https://www.linkedin.com/in/alexpulver/">Alex Pulver</a>, who has graciously allowed me to quote him here by name, adding that &#8220;he stands firmly behind this &#128514;&#8221;.)</p><p>As it happens, I have been aggressively advocating for the model I believe my friend is describing here, where software developers are empowered (and expected) to own their code in production, for approximately the past decade. No argument!</p><p>But &#8220;devs should own the full system, including infra and ops&#8221;?</p><p>We need to talk. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w1R9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w1R9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png 424w, https://substackcdn.com/image/fetch/$s_!w1R9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png 848w, https://substackcdn.com/image/fetch/$s_!w1R9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png 1272w, https://substackcdn.com/image/fetch/$s_!w1R9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w1R9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png" width="162" height="162" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:220,&quot;width&quot;:220,&quot;resizeWidth&quot;:162,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fire_burn&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="fire_burn" title="fire_burn" srcset="https://substackcdn.com/image/fetch/$s_!w1R9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png 424w, https://substackcdn.com/image/fetch/$s_!w1R9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png 848w, https://substackcdn.com/image/fetch/$s_!w1R9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png 1272w, https://substackcdn.com/image/fetch/$s_!w1R9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74323bd-8424-4da9-8724-fbaa9917dfaf_220x220.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>I do not think &#8216;ops&#8217; means what you think it means</h2><p>In software&#8212;and <em>only</em> in software&#8212;ops has become a dirty word. Nobody wants to claim it. Operations teams got renamed to DevOps teams, SRE, infrastructure, production engineering, or more recently, platform engineering teams. <em>Anything</em> but ops.</p><p>Ops means Toil! Hashtag #NoOps!</p><p>Number one, this is <em>fucking ridiculous</em>. </p><p>What&#8217;s wrong with operations? Ops is not a synonym for toil; it <em>literally</em> means &#8220;get shit done as efficiently as possible&#8221;. Every function has an operational component at scale: business ops, marketing ops, sales ops, product ops, design ops and everything else I could think of to search for, and so far as I can tell, <em>none </em>of them are treated with anything like the disrespect, dismissal and outright contempt that software engineering<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> has chosen to heap upon its operational function.</p><p>Number two&#8230;what <em>happened</em>?</p><p>I can think of a number of contributing factors (APIs and cloud computing, soaring profit margins, etc), but I can also think of one easy, obvious, mustache-twirling villain, which would make a better story for you AND less work for me. (Root cause analysis wins again!! &#9994;)</p><h2>Whose fault is it?</h2><p>Google. It&#8217;s Google&#8217;s fault.</p><p>I know this, because I asked Google and it told me so.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FpTy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FpTy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png 424w, https://substackcdn.com/image/fetch/$s_!FpTy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png 848w, https://substackcdn.com/image/fetch/$s_!FpTy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png 1272w, https://substackcdn.com/image/fetch/$s_!FpTy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FpTy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png" width="685" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:685,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:142553,&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://charitydotwtf.substack.com/i/184825970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.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_!FpTy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png 424w, https://substackcdn.com/image/fetch/$s_!FpTy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png 848w, https://substackcdn.com/image/fetch/$s_!FpTy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.png 1272w, https://substackcdn.com/image/fetch/$s_!FpTy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ee21b1e-a5da-4132-99ca-bdf84a72d1f3_685x748.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>(What? This is a free substack, not science.)</p><p>Here&#8217;s what I think happened. I think Google came out swinging, saying traditional operations could not scale and needed to become more like software engineering, and it was exactly the right message at exactly the right time, because cloud computing, APIs, SaaSes and so forth were just coming online and making it <em>possible</em> to manage systems more programmatically.</p><p>So far so good. But a crucial distinction got lost in translation, when we started defining this as developers (people who write code: good) vs <em>operators</em> (people who do things by hand: bad), which is what set us on the slippery slope to where we are today, where the entire business-critical function of operations engineering is widely seen as backwards and incompetent.</p><h2>Dev vs Ops is a separation of concerns</h2><p>The difference between &#8220;dev&#8221; and &#8220;ops&#8221; is not about whether or not you can write code. Dude, it&#8217;s 2026: <strong>everyone writes software</strong>.</p><p>The difference between dev and ops is a separation of concerns.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NbpK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NbpK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp 424w, https://substackcdn.com/image/fetch/$s_!NbpK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp 848w, https://substackcdn.com/image/fetch/$s_!NbpK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp 1272w, https://substackcdn.com/image/fetch/$s_!NbpK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NbpK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp" width="241" height="275.6561983471074" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:692,&quot;width&quot;:605,&quot;resizeWidth&quot;:241,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Dev and ops responsibilities.&quot;,&quot;title&quot;:&quot;Dev and ops responsibilities.&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Dev and ops responsibilities." title="Dev and ops responsibilities." srcset="https://substackcdn.com/image/fetch/$s_!NbpK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp 424w, https://substackcdn.com/image/fetch/$s_!NbpK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp 848w, https://substackcdn.com/image/fetch/$s_!NbpK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp 1272w, https://substackcdn.com/image/fetch/$s_!NbpK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cbaee52-99f3-45c1-91f2-b9a563d27a54_605x692.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If your concern is building new features and products to attract customers and generate new revenue, then congrats: you&#8217;re a dev. (But you knew that.)</p><p>If your concern is building core services and protecting their ability to serve customers in the face of any and all threats (including, at the top of the list, your own developers): congratulations slash I&#8217;m sorry, but you are, in fact, in ops.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wjo0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wjo0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png 424w, https://substackcdn.com/image/fetch/$s_!wjo0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png 848w, https://substackcdn.com/image/fetch/$s_!wjo0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png 1272w, https://substackcdn.com/image/fetch/$s_!wjo0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wjo0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png" width="385" height="462.73333333333335" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:631,&quot;width&quot;:525,&quot;resizeWidth&quot;:385,&quot;bytes&quot;:61238,&quot;alt&quot;:&quot;&quot;,&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://charitydotwtf.substack.com/i/184825970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!wjo0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png 424w, https://substackcdn.com/image/fetch/$s_!wjo0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png 848w, https://substackcdn.com/image/fetch/$s_!wjo0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.png 1272w, https://substackcdn.com/image/fetch/$s_!wjo0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18ade258-010d-4ec4-bcd4-b2ca52d2f139_525x631.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>Both of these functional concerns are vital, as in &#8220;you literally can&#8217;t survive without them&#8221;, and complementary. You need product developers to be focused on building features and products, caring deeply about the experience of each user, and looking for ways to add value to the business. You need operations to provide a resilient, scalable, efficient base for those products to run on.</p><h2>The hardest technical problems are found in ops</h2><p>Ops is not &#8220;toil&#8221;. It does not mean &#8220;dummies who can&#8217;t program good&#8221;. Operations engineering is not easier or lesser than writing software to build products and features. </p><p>What&#8217;s darkly ironic is that, if anything, the opposite is true.</p><p>Product engineering is typically much simpler than infrastructure engineering&#8212;in part, of course, because one of the key functions of operations is to make it <strong>as easy as possible to build and ship products</strong>. Operations absorbs the toughest technical problems and provides a surface layer for product development that is simple, reliable, and easy to navigate. </p><p>Not because product engineers are dumb or lesser than (let&#8217;s not slip into <em>that</em> trap<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> again!), but because <strong>cognitive bandwidth is the scarcest resource in any engineering org</strong>, and you want as much of that as possible going towards things that move the business materially forward, instead of wrestling with the messy underbelly.</p><p>The hardest technical challenges and the long, stubborn tail of intractable problems have <em>always</em> been on the infrastructure side. <strong>That&#8217;s why we work </strong><em><strong>so hard</strong></em><strong> to try not to have them</strong>&#8212;to solve them by partnerships, cloud computing, open source, etc. <em>Anything</em> is better than trying to build them again, starting over from scratch. We know the cost of new code in our bones.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p>As I have said a thousand times: the closer you get to laying bits down on disk, the more conservative (and afraid) you should be. </p><p>The closer you get to user interaction, the more okay it is to get experimental, let AI take a shot, YOLO this puppy.</p><p>This is as it should be.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y7E9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y7E9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png 424w, https://substackcdn.com/image/fetch/$s_!y7E9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png 848w, https://substackcdn.com/image/fetch/$s_!y7E9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png 1272w, https://substackcdn.com/image/fetch/$s_!y7E9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y7E9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png" width="300" height="161" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:161,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y7E9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png 424w, https://substackcdn.com/image/fetch/$s_!y7E9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png 848w, https://substackcdn.com/image/fetch/$s_!y7E9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png 1272w, https://substackcdn.com/image/fetch/$s_!y7E9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad05ab6-c633-4cb0-bbb7-a8ab5e3be82b_300x161.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">The cost and pain of developing software is approximately zero compared to the operational cost of maintaining it over time.</figcaption></figure></div><h2>Domain level differences</h2><p>The difference between dev and ops isn&#8217;t about writing code or not. But there <em>are</em> differences. In perspective, priorities, and (often) temperament.</p><p>I touched on a number of these in <a href="https://www.honeycomb.io/blog/you-had-one-job-why-twenty-years-of-devops-has-failed-to-do-it">the article I just wrote on feedback loops</a>, so I&#8217;m not going to repeat myself here. </p><p>The biggest difference I did <em>not</em> mention is that they have different relationships with resources and definitions of success.</p><p>Infrastructure is a cost center. You aren&#8217;t going to make more money if you give ten laptops to everyone in your company, and you aren&#8217;t going to make more money by over-spending on infrastructure, either. Great operations engineers and architects never forget that <strong>cost is a first class citizen</strong> of their engineering decisions.</p><p>You can, in theory, make more money by spending more on product engineering. This is what we refer to as an &#8220;investment&#8221;, although sometimes it seems to mean &#8220;engineers who forget their time costs money&#8221;. </p><p>(Sorry, that was rude.)</p><h2>What about platform engineering?</h2><p>&#8220;What about platform engineering?&#8221; Baby, that&#8217;s ops in dressup.</p><p>A bit less flippantly: I like my friend <a href="https://www.syntasso.io/post/scaling-platform-building-balancing-what-is-unique-to-your-org-and-common-across-teams">Abby Bangser&#8217;s quote</a>: &#8220;platforms should encode things that are unique to your business but common to your teams&#8221;, and I like <a href="https://jackdanger.com/infrastructure-gravity/">Jack Danger&#8217;s stick art</a>, and his observation that &#8220;The only thing that naturally draws engineers to look at the middle of their system is pure blinding rage.&#8221;</p><p>What I love about the platform engineering movement is that it has brought design thinking and product development practices to the operational domain. </p><p>Yes, we should absolutely be treating our product developers like customers, and thinking critically about the interfaces we give them. Yes, there is a middle layer between infrastructure and product engineering, with patterns and footguns of its very own.</p><p>Also yes: from a functional perspective, platform engineering is still ops. (Or at least, more ops than not.)</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dpti!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dpti!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png 424w, https://substackcdn.com/image/fetch/$s_!Dpti!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png 848w, https://substackcdn.com/image/fetch/$s_!Dpti!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png 1272w, https://substackcdn.com/image/fetch/$s_!Dpti!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dpti!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png" width="300" height="153" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:153,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Dpti!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png 424w, https://substackcdn.com/image/fetch/$s_!Dpti!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png 848w, https://substackcdn.com/image/fetch/$s_!Dpti!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png 1272w, https://substackcdn.com/image/fetch/$s_!Dpti!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb05ad97-920a-4b3b-ae27-8456723ea389_300x153.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Yes, you need an ops team. If you have hard operational problems. You should try not to have hard operational problems. (from a talk I gave back in 2015)</figcaption></figure></div><h2>Does it matter what we call it?</h2><p>Yeah, I kinda think it does. </p><p>All these trendy naming schemes do not change the core value of operations, which is to consolidate and efficiently serve the revenue-generating parts of the function.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> This is as true in technology as it is in sales or marketing. Running away from the term and denying your purpose muddies the water and causes confusion at the <strong>exact point where</strong> <strong>clarity is most needed</strong>.</p><p>An engineering team needs to know if they are oriented towards efficiency or investment; you can&#8217;t optimize for both. It changes how you hire, how you build, how you think about success and measure progress. It changes not only your appetite for risk, but what counts as a risk in the first place. </p><p>They also need to know whether they are responsible for the business logic or the platform it runs on.</p><p>Why? Because <strong>no one can do everything</strong>. Telling devs to own their code is one thing. (Great.) Asking them to own their code and <em>the entire technological iceberg beneath it</em> is wholly another. The more surface area you ask someone to master and attend to, the less focus you can expect from them in any given place. </p><p>Do you want your revenue-generating teams generating revenue, or not?</p><p>If you can&#8217;t separate these concerns at the moment, maybe that&#8217;s something to work towards. Which is going to be hard to do, if we can&#8217;t talk about the function of operations without half the room running away and the remaining half squawking &#8220;toil!"</p><h2>Naming is a form of respect</h2><p>Operational rigor and excellence are not, how shall I say this&#8230;not yet something you can take for granted in the tech industry. The most striking thing about the 2025 DORA report was that the <em>majority of companies</em> report that AI is just adding more chaos to a system already defined by chaos. In other words, most companies are bad at ops.</p><p>To some extent, this is because the problems are hard. To a larger extent, I think it&#8217;s the cause (and result) of our wholesale abandonment of operations as a term of pride.</p><p>It&#8217;s another a fucking feedback loop. Ambitious young engineers get the message that being associated with ops is bad, so they run away from those teams. Managers and execs want to recruit great talent and make jobs sound enticing, so they adopt trendy naming schemes to make it clear this work is <em>not ops</em>. </p><p>If you want to do something well, historically speaking, this is not the way. The way to build excellence is to name it for what it is, build communities of practice, raise the bar, and compensate for a job well done.</p><p>Or as <a href="https://charity.wtf/2016/05/31/wtf-is-operations-serverless/">one prognosticator</a> said, way back in 2016:</p><blockquote><p>I think <strong>it&#8217;s time to bring back &#8220;operations&#8221; as a term of pride.</strong> As a thing that is valued, and rewarded.</p><p>&#8220;Operations&#8221; comes with baggage, no doubt. But I just don&#8217;t think that distance and denial are an effective approach for making something better, let alone trash talking and devaluing the skill sets that you need to deliver quality services.</p><p><strong>You don&#8217;t make operational outcomes magically better by renaming the team &#8220;DevOps&#8221; or &#8220;SRE&#8221; or anything else.</strong> You make it better by naming it and claiming it for what it is, and helping everyone understand how their role relates to your operational objectives.</p></blockquote><p>Wow. Truly, I couldn&#8217;t have said it better myself. </p><p></p><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>Not to get all Jungian on you all, but part of me has to wonder if &#8220;ops&#8221; represents the shadow self to software engineers, the parts of yourself that you hate and despise and are most insecure about (I am weak and bad at coding!! I might be automated out of a job!), and thus need to project onto some externalized other that can be safely loathed from a distance.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>This might surprise you youngsters, but there was a time when systems folks were clearly the cool kids and developers were considered rather dim. Devs had to know data structures and algorithms, but sysadmins had to know <em>everything</em>. These things tend to come and go in cycles, so we may as well not shit on each other, eh?</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>As my friend Peter van Hardenberg (better known as internet raconteur &#8220;pvh&#8221;) likes to say, &#8220;The best code is no code at all. The second best code is code someone else writes and maintains for you. The worst code is the code you have to write and maintain yourself.&#8221; If it would fit on my knuckles, I would get this in knuckle tatts.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>Would it be helpful to acknowledge that IT/ops serves an entirely different function than software engineering operations for production systems? Because it absolutely does.</p></div></div>]]></content:encoded></item><item><title><![CDATA[On Friday Deploys: Sometimes that Puppy Needs Murdering]]></title><description><![CDATA[It's the most wonderful time of the year: the pie, the eggnog, the eternal debates over whether deploy freezes cause more harm than good. &#129334;&#127794;]]></description><link>https://charity.wtf/p/on-friday-deploys-sometimes-that</link><guid isPermaLink="false">https://charity.wtf/p/on-friday-deploys-sometimes-that</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Wed, 24 Dec 2025 00:54:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!41Lq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8216;Tis the season that one of my favorite blog posts gets pulled out and put in rotation, much like &#8220;White Christmas&#8221; on the radio station. I&#8217;m speaking, of course, of &#8220;<a href="https://substack.com/home/post/p-181561576">Friday Deploy Freezes are Exactly Like Murdering Puppies</a>&#8221; (<a href="https://charity.wtf/2019/05/01/friday-deploy-freezes-are-exactly-like-murdering-puppies/">old link on WP</a>).</p><p>This feels like as good a time as any to note that I am not as much of an extremist as people seem to think I am when it comes to Friday deploys, or deploy freezes in general.</p><p>(Sometimes I wonder why people think I&#8217;m such an extremist, and then I remember that I did write a post about murdering puppies. Ok, ok. Point taken.)</p><p>Take <a href="https://www.linkedin.com/posts/michael-davis-7033548_friday-deploy-freezes-are-exactly-like-murdering-activity-7408181339444707328-8GjS?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAEP-B4Bn1IFS4Br7okfkI7z81XqQEOEKro">this recent thread from LinkedIn</a>, where <a href="https://www.linkedin.com/in/michael-davis-7033548?">Michael Davis</a> posted an endorsement of my Puppies article along with his own thoughts on holiday code freezes, followed by a number of smart, thoughtful comments on why this isn&#8217;t actually attainable for everyone. <a href="https://www.linkedin.com/in/payamazadi-nyc?">Payam Azadi</a> talks about an &#8220;icing&#8221; and &#8220;defrosting&#8221; period where you ease into and out of deploy freezes (never heard of this, I like it!), and a few other highly knowledgeable folks chime in with their own war stories and cautionary tales.</p><p>It&#8217;s a great thread, with lots of great points. I recommend reading it. I agree with all of them!!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!41Lq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!41Lq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!41Lq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!41Lq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!41Lq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!41Lq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg" width="254" height="338.6666666666667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:768,&quot;resizeWidth&quot;:254,&quot;bytes&quot;:133442,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182465670?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!41Lq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!41Lq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!41Lq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!41Lq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e02dc-5952-42ba-b532-d2efada0d4dc_768x1024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>If you can&#8217;t move swiftly with confidence, you need workarounds</h2><p>For the record, I do not believe that everyone should get rid of deploy freezes, on Fridays or otherwise.</p><p>If you do not have the ability to move swiftly <em>with confidence</em>, which in practice means &#8220;you can generally find problems in your new code before your customers do&#8221;, which generally comes down to the quality and usability of your observability tooling, and your ability to explore high cardinality dimensions in real time (which most teams <em>do not have</em>), then deploy freezes before a holiday or a big event, or hell, even weekends, are probably the sensible thing to do. </p><p>If you can&#8217;t do the &#8220;right&#8221; thing, you find a workaround. This is what we do, as engineers and operators.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TfFn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TfFn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TfFn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TfFn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TfFn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TfFn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg" width="428" height="157.54601226993864" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:978,&quot;resizeWidth&quot;:428,&quot;bytes&quot;:62057,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182465670?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TfFn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TfFn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TfFn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TfFn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4718da54-36dd-423c-a6e3-ed1fb960a789_978x360.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>Deploy freezes are a hack, not a virtue</h2><p>Look, you know your systems better than I do. If you say you need to freeze deploys, I believe you. </p><p>Honestly, I feel like I&#8217;ve <em>always</em> been fairly pragmatic about this. The one thing that does get my knickers in a twist is when people adopt a holier-than-thou posture towards their Friday deploy freezes. Like they&#8217;re doing it because they Care About People and it&#8217;s the Right Thing To Do and some sort of grand moral gesture. Dude, it&#8217;s a fucking hack. Just admit it. </p><p>It&#8217;s the best you can do with the hand you&#8217;ve been dealt, and there&#8217;s no shame in that! That is ALL I&#8217;m saying. Don&#8217;t pat yourself on the back, act a little sheepish, and I am so with you.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xmpo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xmpo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xmpo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xmpo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xmpo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xmpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg" width="412" height="124.22252747252747" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:439,&quot;width&quot;:1456,&quot;resizeWidth&quot;:412,&quot;bytes&quot;:131394,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182465670?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xmpo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xmpo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xmpo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xmpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d44e948-84a0-4457-a8e7-e6407c8005f7_1458x440.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>I think we can have nice things</h2><p>I think there&#8217;s a lot of wisdom in saying &#8220;hey, it&#8217;s the holidays, this is not the time to be rushing new shit out the door absent some specific forcing function, alright?&#8221;</p><p>My favorite time of year to be at work (back when I worked in an office) was always the holidays. It was so quiet and peaceful, the place was empty, my calendar was clear, and I could switch gears and work on completely different things, out of the critical line of fire. I feel like I often peaked creatively during those last few weeks of the year.</p><p>I believe we can have the best of both worlds: a yearly period of peace and stability, with relatively low change rate, <em>and</em> we can evade the high stakes peril of locks and freezes and terrifying January recoveries.</p><p>How? Two things.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U-tY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U-tY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!U-tY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!U-tY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!U-tY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U-tY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg" width="412" height="153.22314049586777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:1452,&quot;resizeWidth&quot;:412,&quot;bytes&quot;:83692,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182465670?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!U-tY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!U-tY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!U-tY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!U-tY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27be66be-5f80-4664-a5fc-a47e3f4b6e1b_1452x540.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>Don&#8217;t freeze deploys. Freeze merges.</h2><p>To a developer, ideally, the act of merging their changes back to main and those changes being deployed to production should feel like one singular atomic action, the faster the better, the less variance the better. You merge, it goes right out. You don&#8217;t want it to go out, you better not merge.</p><p>The worst of both worlds is when you let devs keep merging diffs, checking items off their todo lists, closing out tasks, for days or weeks. All these changes build up like a snowdrift over a pile of grenades. You aren&#8217;t going to find the grenades til you plow into the snowdrift on January 5th, and then you&#8217;ll find them with your face. Congrats!</p><p><strong>If you want to freeze deploys, freeze merges</strong>. Let people work on other things. I assure you, there is plenty of other valuable work to be done.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aR1f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aR1f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aR1f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aR1f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aR1f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aR1f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg" width="558" height="80.48076923076923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:210,&quot;width&quot;:1456,&quot;resizeWidth&quot;:558,&quot;bytes&quot;:60937,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182465670?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aR1f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aR1f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aR1f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aR1f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F673546bf-45ed-41e4-b615-72da93f44c24_2332x337.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>Don&#8217;t freeze deploys unless <em>your goal</em> is to test deploy freezes</h2><p>The second thing is a corollary. Don&#8217;t <em>actually</em> freeze deploys, unless your SREs and on call folks are bored and sitting around together, going &#8220;wouldn&#8217;t this be a great opportunity to test for memory leaks and other systemic issues that we don&#8217;t know about due to the frequency and regularity of our deploys?&#8221;</p><p>If that&#8217;s you, godspeed! Park that deploy engine and sit on the hood, let&#8217;s see what happens!</p><p>People always remember the outages and instability that we trigger with our actions. We tend to forget about the outages and instability we trigger with our <em>inaction</em>. But if you&#8217;re used to deploying every day, or many times a day: first, good for you. Second, I bet you a bottle of whiskey that something&#8217;s gonna break if you go for two weeks without deploying. </p><p>I bet you the good shit. Top shelf. &#129347;</p><p>This one is <em>so easy</em> to mitigate, too. Just run the deploy process every day or two, but <strong>don&#8217;t ship new code out</strong>.</p><p>Alright. Time for me to go fly to my sister&#8217;s house. Happy holidays everyone! May your pagers be silent and your bellies be full, and may no one in your family or friend group mention politics this year!</p><p>&#128156;&#128153;&#128154;&#128155;&#129505;&#10084;&#65039;&#128150;<br>charity</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cOpy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cOpy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cOpy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cOpy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cOpy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cOpy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg" width="439" height="329.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:439,&quot;bytes&quot;:992041,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182465670?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cOpy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cOpy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cOpy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cOpy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e52da0e-c92d-4735-8124-7ea5efdc7b5f_2048x1536.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Me and Bubba and Miss Pinky Persnickety</figcaption></figure></div><p>P.S. The title is hyperbole! I was frustrated! I felt like people were intentionally misrepresenting my point and my beliefs, so I leaned into it. Please remember that I grew up on a farm and we ended up eating most of our animals. Possibly I am still adjusting to civilized life. Also, I have two cats and I love them very much and have not eaten either of them yet.</p><p>A few other things I&#8217;ve written on the topic: </p><ul><li><p><a href="https://substack.com/home/post/p-181561589">Shipping Software Should Not Be Scary</a></p></li><li><p><a href="https://substack.com/home/post/p-181561541">Deploys: It&#8217;s Not Actually About Fridays</a></p></li><li><p><a href="https://substack.com/home/post/p-181561517">How Much Is Your Fear of Continuous Deployment Costing You?</a></p></li><li><p><a href="https://substack.com/home/post/p-181561522">Why Are My Tests So Slow? A List of Likely Suspects, Anti-Patterns, and Unresolved Personal Trauma</a></p></li></ul><p></p>]]></content:encoded></item><item><title><![CDATA[2025 was for AI what 2010 was for cloud]]></title><description><![CDATA[The satellite, experimental technology has become the mainstream, foundational tech. (At least in developer tools.)]]></description><link>https://charity.wtf/p/2025-was-for-ai-what-2010-was-for</link><guid isPermaLink="false">https://charity.wtf/p/2025-was-for-ai-what-2010-was-for</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Mon, 22 Dec 2025 20:11:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!b0yb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was at my very first job, Linden Lab, when EC2 and S3 came out in 2006. We were running Second Life out of three datacenters, where we racked and stacked all the servers ourselves. At the time, we were tangling with a slightly embarrassing data problem in that there was no real way for users to delete objects (the Trash folder was just another folder), and by the time we implemented a delete function, our ability to run garbage collection couldn&#8217;t keep up with the rate of asset creation. In desperation, we spun up an experimental project to try using S3 as our asset store. Maybe we could make this Amazon&#8217;s problem and buy ourselves some time?</p><p>Why yes, we could. Other &#8220;experimental&#8221; projects sprouted up like weeds: rebuilding server images in the cloud, running tests, storing backups, load testing, dev workstations. Everybody had shit they wanted to do that exceeded our supply of datacenter resources.</p><p>By 2010, the center of gravity had shifted. Instead of &#8220;mainstream engineering&#8221; (datacenters) and &#8220;experimental&#8221; (cloud), there was &#8220;mainstream engineering&#8221; (cloud) and &#8220;legacy, shut it all down&#8221; (datacenters).</p><p>Why am I talking about the good old days? Because I have a gray beard and I like to stroke it, child. (Rude.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QQ14!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QQ14!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QQ14!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QQ14!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QQ14!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QQ14!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg" width="388" height="271.27394957983194" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1190,&quot;resizeWidth&quot;:388,&quot;bytes&quot;:204599,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182350864?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QQ14!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QQ14!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QQ14!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QQ14!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b111-7719-4037-9aeb-cf04ac1f7314_1190x832.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And also: it was just eight months ago that <a href="http://ferd.ca">Fred Hebert</a> and I were delivering the closing keynote at SRECon. The title is &#8220;<a href="https://www.usenix.org/conference/srecon25americas/presentation/majors">AIOps: Prove It! An Open Letter to Vendors Selling AI for SREs</a>&#8221;, which makes it sound like we&#8217;re talking to vendors, but we&#8217;re not; we&#8217;re talking to our fellow SREs, begging them to engage with AI on the grounds that it&#8217;s not ALL hype. </p><div id="youtube2-twl_PdIpRA0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;twl_PdIpRA0&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/twl_PdIpRA0?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>We&#8217;re saying to a room of professional technological pessimists that AI <em>needs</em> them to engage. That their realism and attention to risk is more important than ever, but in order for their critique to be relevant and accurate and be <em>heard</em>, it has to be grounded in expertise and knowledge. Nobody cares about the person outside taking potshots. </p><p>This talk recently came up in conversation, and it made me realize&#8212;with a bit of a shock&#8212;how far my position has come since then. </p><p>That was just eight months ago, and AI still felt like it was somehow separable, or a satellite of tech mainstream. People would gripe about conferences stacking the lineup with AI sessions, and AI getting shoehorned into every keynote.</p><p>I get it. I too love to complain about technology, and this is certainly an industry that has seen its share of hype trains: dotcom, cloud, crypto, blockchain, IoT, web3, metaverse, and on and on. I understand why people are cynical&#8212;why some are even actively looking for reasons to believe it&#8217;s a mirage.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b0yb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b0yb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b0yb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b0yb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b0yb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b0yb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg" width="416" height="277.42857142857144" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:416,&quot;bytes&quot;:220837,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182350864?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!b0yb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b0yb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b0yb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b0yb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f8cfc9-7e48-4f16-af50-a3b97ff642e6_1536x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But for me, this year was for AI what 2010 was for the cloud: the year when AI stopped being satellite, experimental tech and started being the mainstream, foundational technology. At least in the world of developer tools.</p><p>It doesn&#8217;t mean there isn&#8217;t a bubble. Of COURSE there&#8217;s a fucking bubble. Cloud was a bubble. The internet was a bubble. Every massive new driver of innovation has come with its own frothy hype wave.</p><p>But the existence of froth doesn&#8217;t disprove the existence of value. </p><p>Maybe y&#8217;all have already gotten there, and I&#8217;m the laggard. &#128521; (Hey, it&#8217;s an SRE&#8217;s job to mind the rear guard.) But I&#8217;m here now, and I&#8217;m excited. It&#8217;s an exciting time to be a builder.</p><p></p>]]></content:encoded></item><item><title><![CDATA[Hello World]]></title><description><![CDATA[On platform choices, professional responsibilities, and picking your battles]]></description><link>https://charity.wtf/p/hello-world-7b0</link><guid isPermaLink="false">https://charity.wtf/p/hello-world-7b0</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Fri, 19 Dec 2025 00:28:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6033f9b7-f298-46e0-8fc2-410ae24b34cd_1442x734.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently posted <a href="https://charity.wtf/2025/12/14/moving-from-wordpress-to-substack/">a short note </a>about moving from Wordpress to Substack <a href="https://charity.wtf/2015/12/27/hello-world/">after ten years on WP</a>. A number of people replied, commented, or DM&#8217;d me to express their dismay, along the lines of &#8220;why are you supporting Nazis?&#8221;. A few begged me to reconsider.</p><p>So I did. I paused the work I was doing on migration and setup, and I paused the post I was drafting on Substack. I read the <a href="http://leavesubstack.com">LeaveSubstack</a> site, and talked with its author (thank you, Sean &#128156;). I had a number of conversations with people I consider experts in content creation, and people I consider stakeholders (my coworkers and customers), as well as my own personal Jiminy Cricket, Liz Fong-Jones. I also slept on it. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://charity.wtf/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 charity.wtf! 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><p>I&#8217;ve decided to stay. </p><p>I said I would share my thinking once I made a decision, and it comes down to this: I have a job to do, and I haven&#8217;t been doing 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_!P8j_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P8j_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png 424w, https://substackcdn.com/image/fetch/$s_!P8j_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png 848w, https://substackcdn.com/image/fetch/$s_!P8j_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png 1272w, https://substackcdn.com/image/fetch/$s_!P8j_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P8j_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png" width="302" height="302" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:800,&quot;resizeWidth&quot;:302,&quot;bytes&quot;:880119,&quot;alt&quot;:&quot;&quot;,&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://charitydotwtf.substack.com/i/182035056?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!P8j_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png 424w, https://substackcdn.com/image/fetch/$s_!P8j_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png 848w, https://substackcdn.com/image/fetch/$s_!P8j_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png 1272w, https://substackcdn.com/image/fetch/$s_!P8j_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2baccb-7a3e-46c5-a75f-c5db161df844_800x800.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>I have not been doing my job &#128148;</h2><p>I&#8217;ve gone increasingly dark on social media over the past few years, and while this has been delightful from a personal perspective, I have developed an uncomfortable conviction that I have also been abdicating a core function of my job in doing so.</p><p>The world of software is changing&#8212;<em>fast</em>. It&#8217;s exciting. But it is not enough to have interesting ideas and say them once, or write them down in a single book. You need to be out there mixing it up with the community every day, or at least every week. You need to be experimenting with what language works for people, what lands, what sparks a light in people&#8217;s eyes. </p><p>You (by which I mean me) also need to be <em>listening</em> more&#8212; reading and interacting with other people&#8217;s thoughts, volleying back and forth, polishing each other like diamonds. </p><p><em>How many times </em>did we define observability or high cardinality or the sins of aggregation? Cool. How many times have we talked about the ways that AI has made the honeycomb vision technologically realizable for the first time? Uh, less, by an order of thousands.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s9aw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s9aw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s9aw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s9aw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s9aw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s9aw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg" width="308" height="353.3682487725041" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1402,&quot;width&quot;:1222,&quot;resizeWidth&quot;:308,&quot;bytes&quot;:284450,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/182035056?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!s9aw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s9aw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s9aw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s9aw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c68c93-92f2-46fd-a585-e62956cda3b3_1222x1402.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Write more, engage with mainstream tech</h2><p>My primary goal is to get back into the mainstream of technical discussion and mix it up a lot more. Unfortunately, to the extent there is a tech mainstream, it still exists on X. I am not ruling out the possibility of returning, but I would strongly prefer not to. I&#8217;m going to see if I can do my job by being much more active on LinkedIn and Substack.</p><p>My secondary goal is to remove friction and barriers to posting. Wordpress just feels so heavyweight. Like I&#8217;m trying to craft a web page, not write a quick post. Substack feels more like writing an email. I&#8217;ve been trying to make myself post more all year on WP, and it hasn&#8217;t happened. I have a lot of shit backed up to talk about, and I think this will help grease the wheels.</p><p>There are platforms that are outside the pale, that exist solely to platform and support Nazis and violent extremists&#8212;your Gabs, your Parlers. Substack is <em>very</em> far from being one of those. All of these content platforms exist on some continuum of grey, and governance is hard, hard, hard in an era of mainstreaming right wing extremism. </p><p>Substack may not make all the decisions I would make, but I feel like it is a light dove grey, all things considered.</p><p>To be excessively clear: I do not believe that I am &#8220;supporting Nazis&#8221;. I feel a lot more ethically compromised by the $15.99 I spend on YouTube every month than the $0 I spend on (or receive from) Substack. You, of course, are welcome to disagree.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AQYt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AQYt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!AQYt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!AQYt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!AQYt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AQYt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png" width="304" height="304" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:304,&quot;bytes&quot;:1496638,&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://charitydotwtf.substack.com/i/182035056?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.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_!AQYt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!AQYt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!AQYt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!AQYt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc6a358e-9654-44a8-9f91-0e3dafddb0f4_1024x1024.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>Some mitigations</h2><p>I have received some tips and done some research on how to minimize the value of my writing to Substack. Here they are.</p><ul><li><p>Substack makes money from paid subscriptions, so I don&#8217;t accept money. Ever.</p></li><li><p>I am told that if you use email or RSS, it benefits Substack less than if you use the app. <a href="http://charitydotwtf.substack.com/feed">RSS feed here</a>.</p></li><li><p>I will set up an auto-poster from Substack to Wordpress (at some point&#8230; probably whenever I find the time to fix the url rewriter and change domain pointer)</p></li></ul><p>I hope these will allow conscientous objectors continue to read and engage with my work, but I also understand if not.</p><p>A vegan friend of mine once used an especially vivid metaphor to indignantly tell us why no, he could NOT just pick the meat and dairy off his plate and eat the vegetables and grains left behind (they were <em>not</em> cooked together). He said, &#8220;If somebody shit on your plate, would you just <em>pick the shit off</em> and keep eating?&#8221;</p><p>So. If Substack is the shit in your social media plate, and you feel morally obligated to reject anything that has ever so much as touched the domain, I can respect that.</p><p>Everyone has to decide which battles are theirs to fight. This one is not mine.</p><p>&#128156;&#128153;&#128154;&#128155;&#129505;&#10084;&#65039;&#128150;,<br>charity.</p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://charity.wtf/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 charity.wtf! 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[Moving from WordPress to Substack]]></title><description><![CDATA[After a decade on WordPress, it's time to try something new.]]></description><link>https://charity.wtf/p/moving-from-wordpress-to-substack</link><guid isPermaLink="false">https://charity.wtf/p/moving-from-wordpress-to-substack</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Sun, 14 Dec 2025 05:27:27 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ffe4b5d5-e7b2-4181-9bbc-828a382d5af4_960x1280.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Well, shit.</p><p>I wrote my first blog post in this space on December 27th, 2015 &#8212; almost exactly a decade ago.</p><p><a href="https://charity.wtf/2015/12/27/hello-world/">&#8220;Hello, world</a>.&#8221;</p><p>I had just left Facebook, hadn&#8217;t yet formally incorporated Honeycomb, and it just felt like it was time, <em>long past&nbsp;time</em> for me to put something up and start writing.</p><p>Ten years later, it feels <em>long past time</em> for me to do something else. I despise WP (who doesn&#8217;t?), and there&#8217;s so much friction in getting a post out that I just don&#8217;t do it. Plus, it&#8217;s clear that to the extent that there is a vibrant ecosystem of tech writers in longform, it&#8217;s on substack. I miss tech twitter, always will. Time to give substack a try.</p><p>I&#8217;ve been working on the second edition of &#8220;Observability Engineering&#8221; for much of this year, and I have learned SO MUCH in the writing process. As soon as these rough drafts have all been turned in, I will be streaming my thoughts out via substack. They are burning a hole in my brain the longer I hold them in.</p><p>Housekeeping notes:</p><ul><li><p>I&#8217;ve tried to export the email subscribers and import them into substack, but it&#8217;s held up for manual review. I don&#8217;t know what that means.</p></li><li><p>I won&#8217;t be able to export and bring along the comments you folks have left over the years. I&#8217;m sorry. &#128577;</p></li><li><p>I am going to leave charity.wtf pointed here for the foreseeable future, even tho I am working to port over the corpus of posts. I don&#8217;t want to break anyone&#8217;s bookmarks or article links, so I&#8217;ll leave it up here until / unless I find a solution.</p></li></ul><p>If you want to go subscribe, I&#8217;m at charitydotwtf.substack.com. Here&#8217;s the blurb:</p><p>Thank you all for a wonderful 10 years together. WordPress may be a piece of shit, but the community I&#8217;ve found here has been anything but. I hope to see you on the other side.</p><p>&#128156;&#128153;&#128154;&#128155;&#129505;&#10084;&#65039;&#128150;</p><p>charity</p>]]></content:encoded></item><item><title><![CDATA[From Cloudwashing to O11ywashing]]></title><description><![CDATA[I just watched a panel where tech execs nodded along as someone described the original definition of observability as an "unsolved problem" they had to build custom tooling for. My head exploded.]]></description><link>https://charity.wtf/p/from-cloudwashing-to-o11ywashing</link><guid isPermaLink="false">https://charity.wtf/p/from-cloudwashing-to-o11ywashing</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Mon, 24 Nov 2025 18:53:14 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8e6bc5e7-99bb-4ddf-ab41-7d9b9b53521e_1280x1076.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was just watching a panel on observability, with a handful of industry executives and experts who shall remain nameless and hopefully duly obscured&#8212;their identities are not the point, the point is that this is a mainstream view among engineering executives and my head is exploding.</p><p>Scene: the moderator asked a fairly banal moderator-esque question about how happy and/or disappointed each exec has been with their observability investments.</p><p>One executive said that as far as traditional observability tools are concerned (&#8220;are there faults in our systems?&#8221;), that stuff &#8220;generally works well.&#8221;</p><p>However, what they <em>really</em> care about is observing the quality of their product from the customer&#8217;s perspective. EACH customer&#8217;s perspective.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y_k8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y_k8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg 424w, https://substackcdn.com/image/fetch/$s_!y_k8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg 848w, https://substackcdn.com/image/fetch/$s_!y_k8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!y_k8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y_k8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg" width="231" height="307" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:307,&quot;width&quot;:231,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Nines don't matter if users aren't happy&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Nines don't matter if users aren't happy" title="Nines don't matter if users aren't happy" srcset="https://substackcdn.com/image/fetch/$s_!y_k8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg 424w, https://substackcdn.com/image/fetch/$s_!y_k8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg 848w, https://substackcdn.com/image/fetch/$s_!y_k8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!y_k8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64fa63c5-a407-482b-88e9-5a606eaf7761_225x299.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Nines don&#8217;t matter if users aren&#8217;t happy</figcaption></figure></div><p>&#8220;Did you know,&#8221; he mused, &#8220;that there are LOTS of things that can interrupt service or damage customer experience that won&#8217;t impact your nines of availability?&#8221;</p><p>(I begin screaming helplessly into my monitor.)</p><p>&#8220;You could have a dependency hiccup,&#8221; he continued, oblivious to my distress. &#8220;There could be an issue with rendering latency in your mobile app. All kinds of things.&#8221;</p><p>(I look down and realize that I am literally wearing <a href="https://www.bonfire.com/nines-dont-matter-stacked/">this shirt</a>.)</p><p>He finishes with,&#8220;And that is why we have invested in our own custom solution to measure key workflows through startup payment and success.&#8221;</p><p>(I have exploded. Pieces of my head now litter this office while my headless corpse types on and on.)</p><p>It&#8217;s twenty fucking twenty five. How have we come to this point?</p><h2>Observability is now a billion dollar market for a meaningless term</h2><p>My friends, I have failed you.</p><p>It is hard not to register this as a colossal fucking failure on a personal level when a group of modern, high performing tech execs and experts can all sit around a table nodding their heads at the idea that &#8220;traditional observability&#8221; is about whether your systems are UP&#128070; or DOWN&#128071;, and that the idea of <em>observing the quality of service from each customer&#8217;s perspective</em> remains unsolved! unexplored! a problem any modern company needs to write custom tooling from scratch to solve.&nbsp;</p><p>This guy is literally describing the original definition of observability, and he doesn&#8217;t even know it. He doesn&#8217;t know it <em>so hard</em> that he went and built his own thing.</p><p>You guys know this, right? When he says &#8220;traditional observability tools&#8221;, he means <em>monitoring tools</em>. He means the whole three fucking pillars model: metrics, logging, and tracing, all separate things. As he notes, these traditional tools are entirely capable of delivering on basic operational outcomes (are we up, down, happy, sad?). They can DO this. They are VERY GOOD tools if that is your goal.</p><p>But they are <em>not</em> capable of solving the problem he <em>wants</em> to solve, because <em>that</em> would require combining app, business, and system telemetry in a <em>unified way</em>. Data that is traceable, but not just tracing. With the ability to slice and dice by any customer ID, site location, device ID, blah blah. Whatever shall we call THAT technological innovation, when someone invents it? Schmobservability, perhaps?</p><p>So anyway, &#8220;traditional observability&#8221; is now part of the mainstream vernacular. Fuck. What are we going to do about it? What CAN be done about it?</p><h2>From cloudwashing to o11ywashing</h2><p>I learned a new term yesterday: <em>cloudwashing</em>. I learned this from <a href="https://www.linkedin.com/in/dendrobates/">Rick Clark</a>, who tells a hilarious story about the time IBM got so wound up in the enthusiasm for cloud computing that they reclassified their Z series mainframe as &#8220;cloud&#8221; back in 2008.&nbsp;</p><p>(Even more hilarious: asking Google about the precipitating event, and following the LLM down a decade-long wormhole of incredibly defensive posturing from the IBM marketing department and their paid foot soldiers in tech media about how this always gets held up as an example of peak cloudwashing but it was NOT AT ALL cloudwashing due to being an extension of the Z/Series Mainframe rather than a REPLACEMENT of the Z/Series Mainframe, and did you know that Mainframes are bigger business and more relevant today than ever before?)</p><p>(Sorry, but I lost a whole afternoon to this nonsense, I had to bring you along for the ride.)</p><p>Rick says the same thing is happening right now with observability. And <em>of course it is</em>. It&#8217;s too big of a problem, with too big a budget: an irresistible target. It&#8217;s not just the legacy behemoths anymore. Any vendor that does anything remotely connected to telemetry is busy painting on a fresh coat of o11ywashing. From a marketing perspective, It would be irresponsible not to.</p><h2>How to push back on *-washing</h2><p>Anyway, here are the key takeaways from my weekend research into cloudwashing.</p><ol><li><p>This o11ywashing problem isn&#8217;t going away. It is only going to get bigger, because the problem keeps getting bigger, because the traditional vendors aren&#8217;t solving it, because they <em>can&#8217;t</em> solve it.</p></li><li><p>The Gartners of the world will help users sort this out someday, maybe, but only after we win. We can&#8217;t expect them to alienate multibillion dollar companies in the pursuit of technical truth, justice and the American Way. If we ever want to see &#8220;Industry Experts&#8221; pitching in to help users spot o11ywashing, as they eventually did with cloudwashing (see exhibit A), we first need to win in the market.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NWDo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NWDo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png 424w, https://substackcdn.com/image/fetch/$s_!NWDo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png 848w, https://substackcdn.com/image/fetch/$s_!NWDo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png 1272w, https://substackcdn.com/image/fetch/$s_!NWDo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NWDo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png" width="434" height="81" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:81,&quot;width&quot;:434,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;How to Spot Cloudwashing&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to Spot Cloudwashing" title="How to Spot Cloudwashing" srcset="https://substackcdn.com/image/fetch/$s_!NWDo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png 424w, https://substackcdn.com/image/fetch/$s_!NWDo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png 848w, https://substackcdn.com/image/fetch/$s_!NWDo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png 1272w, https://substackcdn.com/image/fetch/$s_!NWDo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad707bb7-1d6c-4b14-841c-d4804d6e490c_300x56.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Exhibit A: &#8220;How to Spot Cloudwashing&#8221;</figcaption></figure></div></li><li><p>And (this is the only one that really matters.) we have to do a better job of <strong>telling this story to engineering executives</strong>, not just engineers. Results and outcomes, not data structures and algorithms.<br><br>(I don&#8217;t want to make this sound like an epiphany we JUST had&#8230;we&#8217;ve been working hard on this for a couple years now, and it&#8217;s starting to pay off. But it was a powerful confirmation.)</p></li></ol><h2>Talking to execs is different than talking to engineers</h2><p>When Christine and I started Honeycomb, nearly ten years ago, we were innocent, doe-eyed engineers who truly believed on some level that if we just explained the technical details of cardinality and dimensionality clearly and patiently enough to the world, enough times, the consequences to the business would become obvious to everyone involved.</p><p>It has now been ten years since I was a hands-on engineer every day (say it again, like pressing on a bruise makes it hurt less), and I would say I&#8217;ve been a decently functioning exec for about the last three or four of those years.&nbsp;</p><p>What I&#8217;ve learned in that time has actually given me a lot of empathy for the different stresses and pressures that execs are under.&nbsp;</p><p>I wouldn&#8217;t say it&#8217;s less or more than the stresses of being an SRE on call for some of the world&#8217;s biggest databases, but it is a deeply and utterly <em>different</em> kind of stress, the kind of stress less expiable via fine whiskey and poor life choices. (You just wake up in the morning with a hangover, and the existential awareness of your responsibilities looming larger than ever.)</p><h2>This is a systems problem, not an operational one</h2><p>There is a lot of noise in the field, and executives are trying to make good decisions that satisfy all parties and constraints amidst the unprecedented stress-panic-opportunity-terror of AI changing everything. That takes storytelling skills and sales discipline on our part, in addition to technical excellence.</p><p>Companies are dumping more and more and more money into their so-called observability tools, and not getting any closer to a solution. Nor will they, so long as they keep thinking about observability in terms of operational outcomes (and buying operational tools). <strong>Observability is a systems problem</strong>. It&#8217;s the most powerful lever in your arsenal when it comes to disrupting software doom spirals and turning them into positive feedback loops. Or it should be.</p><p>As <a href="http://ferd.ca">Fred Hebert</a> might say, it&#8217;s great you&#8217;re so good at firefighting, but maybe it&#8217;s time to go read the city fire codes.</p><p>Execs don&#8217;t know what they don&#8217;t know, because we haven&#8217;t been speaking to them. But we&#8217;re starting to.</p><h2>What will be the next term that gets invented and coopted in the search to solve this problem?</h2><p>Where to start, with a project so big? Google&#8217;s AI says that &#8220;experts suggest looking for specific features to identify true <s>cloud</s> observability solutions versus <s>cloudwashed</s> o11ywashed ones.&#8221;</p><p>I guess this is a good place to start as any: If your &#8220;observability&#8221; tooling doesn&#8217;t help you understand the quality of your product from the customer&#8217;s perspective, EACH customer&#8217;s perspective,<strong> it isn&#8217;t fucking observability.&nbsp;</strong></p><p>It&#8217;s just monitoring dressed up in marketing dollars.</p><p>Call it o11ywashing.</p>]]></content:encoded></item><item><title><![CDATA[How many pillars of observability can you fit on the head of a pin?]]></title><description><![CDATA[The "three pillars" are a lie that keep good engineers trapped inside a mental model from the 1980s, paying outrageous sums of money for tooling that can't keep up with the complexity of modern systems.]]></description><link>https://charity.wtf/p/the-pillar-is-a-lie</link><guid isPermaLink="false">https://charity.wtf/p/the-pillar-is-a-lie</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Thu, 30 Oct 2025 05:27:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/52a9c249-8bf8-4631-b049-18f99a3a0fb2_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My day started off with an innocent question, from an innocent soul.</p><p>&#8220;Hey Charity, is profiling a pillar?&#8221;</p><p>I hadn&#8217;t even had my coffee yet.</p><p>&#8220;Someone was just telling me that profiling is the fourth pillar of observability now. I said I think profiling is a great tool, but I don&#8217;t know if it quite rises to the level of <em>pillar</em>. What do you think?&#8221;</p><p><em>What&#8230;.do.. I think.</em></p><p>What I think is, <strong>there are no pillars</strong>. I think the pillars are a fucking lie, dude. I think the language of pillars does a lot of work to keep good engineers trapped inside a mental model from the 1980s, paying outrageous sums of money for tooling that can&#8217;t keep up with the chaos and complexity of modern systems.</p><p>Here is a list of things I have recently heard people refer to as the &#8220;fourth pillar of observability&#8221;:</p><ul><li><p>Profiling</p></li><li><p>Tokens (as in LLMs)</p></li><li><p>Errors, exceptions</p></li><li><p>Analytics</p></li><li><p>Cost</p></li></ul><p>Is it a pillar, is it not a pillar? Are they all pillars? How many pillars are there?? How many pillars CAN there be? Gaahhh!</p><p>This is not a new argument. Take this <a href="https://x.com/mipsytipsy/status/1044666259898593282?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1044666259898593282%7Ctwgr%5E9396190927fee8616723684a3fef9c05a8a1edb6%7Ctwcon%5Es1_&amp;ref_url=https%3A%2F%2Fcdn.embedly.com%2Fwidgets%2Fmedia.html%3Ftype%3Dtext2Fhtmlkey%3Da19fcc184b9711e1b4764040d3dc5c07schema%3Dtwitterurl%3Dhttps3A%2F%2Ftwitter.com%2Fmipsytipsy%2Fstatus%2F1044666259898593282image%3Dhttps3A%2F%2Fi.embed.ly%2F1%2Fimage3Furl3Dhttps253A252F252Fabs.twimg.com252Ferrors252Flogo46x38.png26key3Da19fcc184b9711e1b4764040d3dc5c07">ranty little tweet thread of mine from way back in 2018</a>, for starters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://x.com/mipsytipsy/status/1044666259898593282" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K93v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png 424w, https://substackcdn.com/image/fetch/$s_!K93v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png 848w, https://substackcdn.com/image/fetch/$s_!K93v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png 1272w, https://substackcdn.com/image/fetch/$s_!K93v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K93v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png" width="573" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:573,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:292192,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://x.com/mipsytipsy/status/1044666259898593282&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/181558264?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.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_!K93v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png 424w, https://substackcdn.com/image/fetch/$s_!K93v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png 848w, https://substackcdn.com/image/fetch/$s_!K93v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.png 1272w, https://substackcdn.com/image/fetch/$s_!K93v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dad1981-4aa2-46c9-a27e-7f0535b038ac_573x818.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></p><p>Or perhaps you have heard of TEMPLE: Traces, Events, Metrics, Profiles, Logs, and&nbsp;Exceptions?</p><p>Or the <a href="https://thenewstack.io/modern-observability-is-a-single-braid-of-data/">&#8220;braid&#8221; of observability data</a>, or &#8220;<a href="https://www.honeycomb.io/blog/they-arent-pillars-theyre-lenses">They Aren&#8217;t Pillars, They&#8217;re Lenses</a>&#8221;, or the Lightstep version: &#8220;<a href="https://medium.com/lightstephq/three-pillars-with-zero-answers-2a98b36358b8">Three Pillars, Zero Answers</a>&#8221; (that title is a personal favorite).</p><p>Alright, alright. Yes, this has been going on for a long time. I&#8217;m older now and I&#8217;m tireder now, so here&#8217;s how I&#8217;ll sum it up.</p><p><strong>Pillar</strong> is a marketing term.<br><strong>Signal</strong> is a technical term.</p><p>So &#8220;is profiling a pillar?&#8221; is a valid question, but it&#8217;s not a <em>technical</em> question. It&#8217;s a question about the marketing claims being made by a given company. Some companies are building a profiling product right now, so yes, to them, it is vitally important to establish profiling as a &#8220;pillar&#8221; of observability, because you can charge a <em>hell</em> of a lot more for a &#8220;pillar&#8221; than you can charge for a mere &#8220;feature&#8221;. And more power to them. But it doesn&#8217;t mean anything from a technical point of view.</p><p>On the other hand, &#8220;signal&#8221; is absolutely a technical term. <a href="https://opentelemetry.io/docs/concepts/signals/">The OpenTelemetry Signals documentation</a>, which I consider canon, says that OTel currently supports Traces, Metrics, Logs, and Baggage as signal types, with Events and Profiles at the proposal/development stage. So yes, profiling is a type of signal.</p><p>The OTel docs define a telemetry signal as &#8220;a type of data transmitted remotely for monitoring and analysis&#8221;, and they define a pillar as &#8230; oh, they don&#8217;t even mention pillars? like at all??</p><p>I guess there&#8217;s your answer.</p><p>And this is probably where I should end my piece. (Why am I still typing&#8230;. &#129300;)</p><h2>Pillars vs signals</h2><p>First of all, I want to stress that <em>it does not bother me</em> when engineers go around talking about pillars. Nobody needs to look at me guiltily and apologize for using the term &#8216;pillar&#8217; at</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ij43!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ij43!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ij43!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ij43!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ij43!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ij43!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg" width="272" height="354.2325581395349" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:224,&quot;width&quot;:172,&quot;resizeWidth&quot;:272,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Bunnies Addendum (For the Buffy Fans) - En Tequila Es Verdad&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bunnies Addendum (For the Buffy Fans) - En Tequila Es Verdad" title="Bunnies Addendum (For the Buffy Fans) - En Tequila Es Verdad" srcset="https://substackcdn.com/image/fetch/$s_!ij43!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ij43!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ij43!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ij43!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90db2339-357a-44cb-857e-eb787d91379c_500x652.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>&nbsp;the bar after a conference because they think I&#8217;m mad at them. I am not the language police, it is not my job to go around enforcing correct use of technical terms. (I used to, I know, and I&#8217;m sorry! &#128518;)</p><p>When engineers talk about pillars of observability, they&#8217;re just talking about signals and signal types, and &#8220;pillar&#8221; is a perfectly acceptable colloquialism for &#8220;signal&#8221;.</p><p>When a <em>vendor</em> starts talking about pillars, though &#8212; as in the example above! &#8212; it means they are gearing up to sell you something: another type of signal, siloed off from all the other signals you send them. Your <a href="https://www.honeycomb.io/blog/cost-crisis-observability-tooling">cost multiplier</a> is about to <a href="https://www.honeycomb.io/blog/how-much-should-i-spend-on-observability-pt1">increment again</a>, and then they&#8217;re going to start talking about how Important it is that you buy a product for each and every one of the Pillars they happen to have.</p><p>As a refresher: there are <a href="https://charity.wtf/2024/08/07/is-it-time-to-version-observability-signs-point-to-yes/">two basic architecture models</a> used by observability companies, the multiple pillars model and the unified storage model (aka o11y 2.0). The <a href="https://www.honeycomb.io/blog/one-key-difference-observability1dot0-2dot0">multiple pillars model</a> is to store every type of signal in a different siloed storage location &#8212; metrics, logs, traces, profiling, exceptions, etc, <em>everybody</em> gets a database! The <a href="https://charity.wtf/2024/12/20/on-versioning-observabilities-1-0-2-0-3-0-10-0/">unified storage model</a> is to store all signals together in ONE database, preserving context and relationships, so you can treat data like data: slice and dice, zoom in, zoom out, etc.</p><p>Most of the industry giants were built using the pillars model, but Honeycomb (and every other observability company founded post-2019) has built using the unified storage model, building <a href="https://www.honeycomb.io/blog/so-you-want-to-build-an-observability-tool">wide, structured log events on a columnar storage engine</a> with high cardinality support, and so on.</p><h2>Bunny-hopping from pillar to pillar</h2><p>When you use each signal type as a standalone pillar, this leads to an experience I think of as &#8220;bunny products&#8221; &#128007; where the user is always hopping from pillar to pillar. You see something on your metrics dashboard that looks scary? hop-hop to your logs and try to find it there, using grep and search and matching by timestamps. If you can find the right logs, then you need to trace it, so you hop-hop-hop to your traces and repeat your search there. With profiling as a pillar, maybe you can hop over to that dataset too.&#128007;&#128048;</p><p>The amount of data duplication involved in this model is <em>mind boggling</em>. You are literally storing the same information in your metrics TSDB as you are in your logs and your traces, just formatted</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xfzb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xfzb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xfzb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xfzb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xfzb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xfzb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg" width="338" height="327.4375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:186,&quot;width&quot;:192,&quot;resizeWidth&quot;:338,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The 30 Best Bunny Rabbit Memes - Hop to Pop&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The 30 Best Bunny Rabbit Memes - Hop to Pop" title="The 30 Best Bunny Rabbit Memes - Hop to Pop" srcset="https://substackcdn.com/image/fetch/$s_!xfzb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xfzb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xfzb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xfzb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8639af9-f86f-4190-b749-37ca5957a60a_228x221.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>&nbsp;differently. (I never miss an opportunity to link to <a href="https://jeremymorrell.dev/blog/a-practitioners-guide-to-wide-events/">Jeremy Morrell&#8217;s masterful doc on instrumenting your code for wide events</a>, which also happens to illustrate this nicely.) This is insanely expensive. Every request that enters your system gets stored <em>how many times, </em>in<em> how many signals</em>? Count it up; that&#8217;s your cost multiplier.</p><p>Worse, much of the data that connects each &#8220;pillar&#8221; exists only in the heads of the most senior engineers, so they can guess or intuit their way around the system, but anyone who relies on actual data is screwed. Some vendors have added an ability to construct little rickety bridges post hoc between pillars, e.g. &#8220;this metric is derived from this value in this log line or trace&#8221;, but now you&#8217;re paying for each of those little bridges in addition to each place you store the data (and it goes without saying, you can only do this for things you can predict or hook up in the first place).</p><p>The multiple pillars model (formerly known as observability 1.0) relies on you believing that each signal type must be stored separately and treated differently. That&#8217;s what the pillars language is there to reinforce. Is it a Pillar or not?? It doesn&#8217;t matter because pillars don&#8217;t exist. Just know that if your vendor is calling it a Pillar, you are definitely going to have to Pay for it. &#128521;</p><h2>Zooming in and out</h2><p>But all this data is just.. data. There is no good reason to silo signals off from each other, and lots of good reasons not to. You can derive metrics from rich, structured data blobs, or append your metrics to wide, structured log events. You can add span IDs and visualize them as a trace. The unified storage model (&#8220;o11y 2.0&#8221;) says you should store your data once, and do all the signal processing in the collection or analysis stages. Like civilized folks.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5S1t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5S1t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5S1t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5S1t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5S1t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5S1t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg" width="386" height="386" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:232,&quot;width&quot;:232,&quot;resizeWidth&quot;:386,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Anya Bunny Quote - Etsy&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Anya Bunny Quote - Etsy" title="Anya Bunny Quote - Etsy" srcset="https://substackcdn.com/image/fetch/$s_!5S1t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5S1t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5S1t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5S1t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520fdfcc-c8a0-4794-98ed-fc18915445a8_232x232.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">All along, Anya was right</figcaption></figure></div><p>From the perspective of the developer, not much changes. It just gets easier (a LOT easier), because nobody is harping on you about whether this nit of data should be a metric, a log, a trace, or all of the above, or if it&#8217;s low cardinality or high cardinality, or whether the cardinality of the data COULD someday blow up, or whether it&#8217;s a counter, a gauge, a heatmap, or some other type of metric, or when the counter is going to get reset, or whether your heatmap buckets are defined at useful intervals, or&#8230;or&#8230;</p><p>Instead, it&#8217;s just a blob of json. Structured data.. If you think it might be interesting to you someday, you dump it in, and if not, you don&#8217;t. That&#8217;s all. Cognitive load drops way down..</p><p>On the backend side, we store it once, retaining all the signal type information and connective tissue.</p><p>It&#8217;s the user interface where things change most dramatically. No more bunny hopping around from pillar to pillar, guessing and copy-pasting IDs and crossing your fingers. Instead, it works more like the zoom function on PDFs or Google maps.</p><p>You start with SLOs, maybe, or a familiar-looking metrics dashboard. But instead of hopping, you just.. zoom in. The SLOs and metrics are derived from the data you need to debug with, so you&#8217;re just like.. &#8220;Ah what&#8217;s my SLO violation about? Oh, it&#8217;s because of these events.&#8221; Want to trace one of them? Just click on it. No hopping, no guessing, no pasting IDs around, no lining up time stamps.</p><p>Zoom in, zoom out, it&#8217;s all connected. Same fucking data.</p><h2>&#8220;But OpenTelemetry FORCES you to use three pillars&#8221;</h2><p>There&#8217;s a misconception out there that OpenTelemetry is very pro-three pillars, and very anti o11y 2.0. This is a) not true and b) actually the opposite. Austin Parker has written a <a href="https://www.honeycomb.io/resources/whitepapers/opentelemetry-semantic-telemetry-reshape-observability">voluminous amount of material</a> explaining that actually, under the hood, OTel treats everything like one big wide structured event log.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!feVC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!feVC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png 424w, https://substackcdn.com/image/fetch/$s_!feVC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png 848w, https://substackcdn.com/image/fetch/$s_!feVC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png 1272w, https://substackcdn.com/image/fetch/$s_!feVC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!feVC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png" width="288" height="432" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:200,&quot;resizeWidth&quot;:288,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!feVC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png 424w, https://substackcdn.com/image/fetch/$s_!feVC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png 848w, https://substackcdn.com/image/fetch/$s_!feVC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.png 1272w, https://substackcdn.com/image/fetch/$s_!feVC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fc1ab55-aabf-4032-83fe-20203f66fc66_200x300.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><a href="https://www.honeycomb.io/blog/opentelemetry-is-not-three-pillars">As Austin puts it</a>, &#8220;OpenTelemetry, fundamentally, unifies telemetry signals through shared, distributed context.&#8221; However:</p><p>&#8220;The project doesn&#8217;t <em>require</em> you to do this. Each signal is usable more or less independently of the other. If you want to use OpenTelemetry data to feed a traditional &#8216;three pillars&#8217; system where your data is stored in different places, with different query semantics, you can. Heck, quite a few very successful observability tools let you do that today!&#8221;</p><p>&#8220;This isn&#8217;t just &#8216;three pillars but with some standards on top,&#8217; it&#8217;s a radical departure from the traditional &#8216;log everything and let god sort it out&#8217; approach that&#8217;s driven observability practices over the past couple of decades.&#8221;</p><p>You <em>can</em> use OTel to reinforce a three pillars mindset, but you don&#8217;t <em>have</em> to. Most vendors have <em>chosen</em> to implement three pillarsy crap on top of it, which you can&#8217;t really hold OTel responsible for. One[1] might even argue that OTel is doing as much as it can to influence you in the opposite direction, while still meeting Pillaristas where they&#8217;re at.</p><h2>A postscript on profiling</h2><p>What will profiling mean in a unified storage world? It just means you&#8217;ll be able to zoom in to even finer and lower-level resolution, down to syscalls and kernel operations instead of function calls. Like when Google Maps got good enough that you could read license plates instead of just rooftops.</p><p>Admittedly, we don&#8217;t have profiling yet at <a href="http://honeycomb.io">Honeycomb</a>. When we did some research into the profiling space, what we learned was that most of the people who think they&#8217;re in desperate need of a profiling tool are actually in need of a good <strong>tracing tool</strong>. Either they didn&#8217;t have distributed tracing or their tracing tools just weren&#8217;t cutting it, for reasons that are not germane in a Honeycomb tracing world.</p><p>We&#8217;ll get to profiling, hopefully in the near-ish future, but for the most part, if you don&#8217;t need syscall level data, you probably don&#8217;t need profiling data either. Just good traces.</p><p>Also&#8230; I did not make this site or have any say whatsoever in the building of it, but I did sign the manifesto[2] and every day that I remember it exists is a day I delight in the joy and fullness of being alive:&nbsp;<a href="http://kill3pill.com">kill3pill.com</a> &#128200;</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="http://kill3pill.com" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QiC_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png 424w, https://substackcdn.com/image/fetch/$s_!QiC_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png 848w, https://substackcdn.com/image/fetch/$s_!QiC_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png 1272w, https://substackcdn.com/image/fetch/$s_!QiC_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QiC_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png" width="493" height="115" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:115,&quot;width&quot;:493,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Kill Three Pillars&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;http://kill3pill.com&quot;,&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="Kill Three Pillars" title="Kill Three Pillars" srcset="https://substackcdn.com/image/fetch/$s_!QiC_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png 424w, https://substackcdn.com/image/fetch/$s_!QiC_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png 848w, https://substackcdn.com/image/fetch/$s_!QiC_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png 1272w, https://substackcdn.com/image/fetch/$s_!QiC_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21db151-b87a-42ea-903a-cbb30e404eb6_300x70.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Hop hop, little friends,<br>~charity</p><p>[1] <em>Austin</em> argues this. I&#8217;m talking about Austin, if not clear enough.<br>[2] Thank you, <a href="https://www.linkedin.com/in/synapticmishap/">John Gallagher</a>!!</p>]]></content:encoded></item><item><title><![CDATA[Got opinions on observability? I could use your help (once more, with feeling)]]></title><description><![CDATA[No, I haven't finished writing the book yet. Yes, I have more questions. Please? &#128591;&#127752;&#10024;]]></description><link>https://charity.wtf/p/got-opinions-on-observability-i-could-use-your-help-once-more-with-feeling</link><guid isPermaLink="false">https://charity.wtf/p/got-opinions-on-observability-i-could-use-your-help-once-more-with-feeling</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Mon, 13 Oct 2025 03:39:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e7625696-5d9f-4701-bc6a-b69a4ce2c210_978x1280.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last month I dropped a desperate little <a href="https://charity.wtf/2025/09/19/are-you-an-experienced-software-buyer-i-could-use-some-help/">plea for help</a> in this space, asking people to email me any good advice and/or strong opinions they happened to have on the topic of buying software.</p><p>I wasn&#8217;t really sure what to expect &#8212; desperate times, desperate measures &#8212; but holy crap, you guys delivered. To the many people who took the time to write up your experiences and expertise for me, and suffer through rounds of questions and drafts: &#10024;<strong>thank you</strong>&#10024;. And thank you, too, to those of you who forwarded my queries along to experts in your network and asked for help on my behalf.</p><p>I learned a LOT about buying software and managing vendor relationships in the process of writing this. Honestly, this chapter is shaping up to be one of the things I&#8217;m most excited about for the second edition of the book.</p><h2>Why I&#8217;m excited about the software buying chapter (&amp; you should be too)</h2><p>I&#8217;m imagining you reading this with a skeptical expression and an arched eyebrow. &#8220;<em>Really</em>, Charity&#8230;&#8216;how to buy software&#8217; doesn&#8217;t exactly suggest peak engineering prowess.&#8221;</p><p>Au contraire, my friends. I&#8217;ve come to believe that vendor engineering is one of the subtlest and most powerful practical applications of deep subject matter expertise, and some of the highest leverage work an engineer can do. How often do you get to make decisions that leverage the labor of hundreds or thousands of engineers per year, for fractions of pennies on the dollar? How many of the decisions you make will have an impact on every single engineer you work with and their ability to do their jobs well, as well as the experience of every single customer?</p><p>If you think I&#8217;m hyperventilating a bit, nah; this is entry level shit. In the book, I tell the story of the best engineer I ever worked with, and how I watched him alter the trajectory of multiple other companies, <em>none of which he was working for, buying from, or formally connected to in any way</em> &#8212; in the space of a few conversations. It upended my entire worldview about what it can look like for an engineer to wield great power.</p><p>Doing this stuff well takes both technical depth and technical breadth, in addition to systems thinking and knowledge of the business. It is one of the <em>only</em> ways a staff+ engineer can acquire and develop executive-level communication, strategy, and execution skills while remaining an individual contributor.</p><p>I&#8217;ve been wanting to write about this for YEARS. Anyway &#8212; ergh! &#8212; I&#8217;m rambling now. That was not what I came here to talk about, I&#8217;m just excited. Back to the point.</p><h2>My second (and final) round of questions</h2><p>I got <em>so much</em> out of your thoughtful responses that I thought I&#8217;d press my luck and put a few more questions out to the universe, before it&#8217;s too late.</p><p>These questions speak to areas where I worry that my writing may be a little weak or uninformed, or too far away from the world where people are using the &#8220;three pillars&#8221; model (<a href="https://charity.wtf/2025/03/24/another-observability-3-0-appears-on-the-horizon/">aka multiple pillars</a> or o11y 1.0) and <em>happy</em> about it. I don&#8217;t know many (any??) of those people, which suggests some pretty heavy selection bias.</p><p>I don&#8217;t expect anyone to answer <em>all</em>&nbsp;the questions; if one or two resonate with you, write about those and ignore the rest. If there&#8217;s something I didn&#8217;t ask that I should have asked, answer that. Something I&#8217;ve written in the past that bugged you that you hope I won&#8217;t say again? Tell me! We are almost out of time &#8987; so gimme what you got. &#128588;</p><h3>On migrations:</h3><p>&#128200; Have you ever migrated from one observability vendor to another? If so, what did you learn? What was the hardest part, what took you by surprise? What do you wish you could go back in time and tell your self at the start?</p><p>&#128200; If you ran (or were involved in) a large scale migration or tool change&#8230; how did you structure the process? Like, was it team by team, service by service, product by product? Did you have a playbook? What did you do to make it fun or push through organizational inertia? How long did it take?</p><h3>On managing costs for the traditional three pillars:</h3><p>&#128200; For orgs that are using Datadog, Grafana, Chronosphere, or another traditional three pillars architecture.. How would you describe your approach to cutting and controlling costs? Pro tips and/or comprehensive strategy.</p><p>&#128200; Alternately, if there are particular blog posts with advice you have followed and can personally vouch for, would you send me a link?</p><p>&#128200; How do you guide your software engineers on which data to send to which place &#8212; metrics, logs, traces, errors/exceptions, profiling, etc? How do you manage cardinality? How do you work to keep the pillars in sync, or are there any particular tips and tricks you have for linking / jumping between the data sources?</p><p>&#128200; How many ongoing engineering cycles does it take to manage and maintain costs, once you&#8217;ve gotten them to a sustainable place?</p><h3>On managing costs at massive scale:</h3><p>(Especially for people who work at a large enterprise, the kind with multiple business units, but others welcome too!):</p><ul><li><p>Do you use tiers of service for managing costs? How do you define those?</p></li><li><p>How do new tools get taken for a spin? (Like, sometimes there is an office of the CTO with carte blanche to try new things and evaluate them for the rest of the org)</p></li><li><p>How do you use telemetry pipelines?</p></li></ul><h3>Observability teams (quick poll):</h3><p>&#128200; If you have an observability team, how big is it? What part of the org does it report up into? Roughly how many engineers does that team support?</p><p>&#128200; If you don&#8217;t have an observability team &#8212; and you have more than, say, 300 engineers &#8212; who owns observability? Platform? SRE? Other?</p><h3>A grab bag:</h3><p>&#128200; <strong>Build vs Buy: </strong>If you built your own observability tool(s)&#8230;. What were the reasons? What does it do? Would you make the same decision today?</p><p>&#128200; <strong>OpenTelemetry: </strong>If your team has weighed the pros and cons of adopting OTel and ultimately decided not to, for technical or philosophical reasons (i.e. not just &#8220;we&#8217;re too busy&#8221;) &#8212; what are those reasons?</p><p>&#128200; <strong>Instrumentation:</strong>&nbsp;what do you do to try and remove cognitive overhead for engineers? How much have you been able to make automatic and magical, and where has the magic failed?</p><p>&#128200; <strong>Consolidation: </strong>I would love to hear any thoughts on tool consolidation vs tool proliferation. Is this primarily driven by execs, or do technical users care too? Is it driven by cost concerns, usability, or something else?</p><p>edited on 2025-10-15 to add&#8230; oh crap, one last question:</p><p>&#128200; <strong>Open source</strong>: Are you using open source observability tools, and if so, are these your primary tools or one piece of a comprehensive tooling strategy? If the latter, could you describe that strategy for me?</p><h2>Send it to me in an email</h2><p>Please send me your opinions or answers in an email, to my first name at honeycomb dot io, with the subject line &#8220;Observability questions&#8221;.</p><p>If I end up cribbing from your material, it okay for me to print your name? (As in, &#8220;thanks to the people who informed my thinking on this subject, abc xyz etc&#8221;). I will not mention your employer or where you work, don&#8217;t worry.</p><p>If you send it to me more than a week from now, I probably won&#8217;t be able to use it. Augh, I wish I had thought of this in JUNE!!! #ragrets</p><h2>&#10024;THANK YOU&#10024;</h2><p>I know this is an incredibly time consuming thing to ask of someone, and I can&#8217;t express how much I appreciate your help.</p><p>P.S. Yes, the title is absolutely a reference to the Buffy musical. Hey, I had to give you guys something fun to read along with my second bleg in less than a month (do people still say &#8220;bleg&#8221;??).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Duno!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Duno!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Duno!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Duno!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Duno!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Duno!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg" width="342" height="192" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:192,&quot;width&quot;:342,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;6 Musical Episodes of TV Shows That Deserve an Encore&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="6 Musical Episodes of TV Shows That Deserve an Encore" title="6 Musical Episodes of TV Shows That Deserve an Encore" srcset="https://substackcdn.com/image/fetch/$s_!Duno!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Duno!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Duno!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Duno!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7451ad7-4067-4c71-903d-4a1b7f1baead_342x192.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>P.P.S. <strong>Grammar quiz of the day</strong>: should my title read &#8220;opinions ABOUT observability&#8221; or &#8220;opinions ON observability&#8221; ??</p><p>GREAT QUESTION &#8212; and, as it turns out, the preposition you choose may reveal more than you realized.</p><p>&#8220;About&#8221; is used to introduce a topic or subject in a broad, vague, or approximate sense, while &#8220;on&#8221; is used to signal more detailed, specific, formal or serious subject matter (as well as physical objects). &#8220;Let&#8217;s talk about dinner&#8221; vs &#8220;she delivered a lecture on why AI is trying to kill babies.&#8221;</p><p>Or as Xander says, &#8220;To read makes our English speaking good.&#8221;</p><p>The earth is doomed,<br>~charity</p>]]></content:encoded></item><item><title><![CDATA[Are you an experienced software buyer? I could use some help.]]></title><description><![CDATA[Writing the second edition of "Observability Engineering" and I'm a bit out of my depth. Send me your stories?]]></description><link>https://charity.wtf/p/are-you-an-experienced-software-buyer-i-could-use-some-help</link><guid isPermaLink="false">https://charity.wtf/p/are-you-an-experienced-software-buyer-i-could-use-some-help</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Fri, 19 Sep 2025 18:12:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9c678d22-032c-484c-8664-b61bf7baeb73_960x1280.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If it seems like I&#8217;ve been relatively quiet lately on social media and my blog, that&#8217;s because I have. Liz, Austin, George and I have been busy toiling away on the second edition of &#8220;Observability Engineering&#8221; ever since April or May. I personally have been trying to spend 75-80% of my time on the book since May.</p><p>Have I been successful in that attempt? <em>No</em>. But I&#8217;m trying. Progress is being made. Hopefully just a few more weeks of drafting and we&#8217;ll be on to edits, and on to your grubby little paws by May-ish.</p><p>The world has changed A LOT since we wrote the first edition, in 2019-2022. Do you know, the phrase &#8220;observability engineering teams&#8221; doesn&#8217;t even occur in the first edition of the book? Try and search &#8212; it can&#8217;t be found! Even the phrase &#8220;observability teams&#8221; doesn&#8217;t pop up til near the end, and when it does, we are referring to those few teams that choose to build their own observability tools from scratch.</p><p>These days, observability engineering teams are&nbsp;<em>everywhere</em>. Which is why we are adding a whole new section, a sizable one, called &#8220;<strong>Observability Governance</strong>.&#8221; The governance section will have a bunch of chapters on topics like how to staff these teams, where they should fit in the org chart, how to buy good tools, how to integrate them, how to manage costs, how to make the business case up the chain to senior execs, how to manage schemas and semantic conventions at scale, and much much more.</p><h2>The problem</h2><p>The problem is, I&#8217;ve never really bought software. Not like this. I&#8217;ve never even worked at a&nbsp; truly large, software-buying enterprise tech company. So I am not well equipped to give good advice on questions like:</p><ul><li><p>How do you shop around for options?</p></li><li><p>What are some signs you may need to suck it up and change vendors?</p></li><li><p>What does a good POC (proof of concept) look like?</p></li><li><p>Who are your stakeholders? What are their concerns?</p></li><li><p>How do you drive consensus when millions of dollars (and the work experience of thousands of engineers) are on the line? What does &#8216;consensus&#8217; even mean in that context?</p></li><li><p>What are the primary considerations should you take into account when making a decision? What are secondary considerations?</p></li></ul><p>I&#8217;m looking for the kind of advice that a principal engineer who has done this many times might give a staff engineer who is doing it for the first time. Or that a VP who&#8217;s done this many times might give a director who is doing it for the first time.</p><h2>Can you help?</h2><p>This is me wearing Leia buns and projecting a unicorn-shaped rainbow bat signal out into the sky for help. Do you have any advice for me? What guidance would you give to the readers of the second edition of this book?</p><p><strong>Please send your advice to me in an email</strong>, addressed to my first name at honeycomb dot io, with the subject line: &#8220;Buying Software&#8221;. Include any relevant context about how large the company or engineering org is, and what your role in purchasing was.</p><p>I may respond with more questions, or reply and ask if you are able to talk synchronously. But I will not quote anything you send me without first asking your permission and getting a signed release. I will not mention ANY vendors by name, good or bad.</p><p>I am not fishing for honeycomb customers or buyers, I assume most of you haven&#8217;t tried honeycomb and don&#8217;t care about it and <em>that is</em> <em>fine.</em> <strong>This is not a Honeycomb project, this is an O&#8217;Reilly writing project</strong>. I just want to gather up some good advice on buying software and funnel it back out to good engineers.</p><p>Can you help? Your industry needs you! &lt;3</p>]]></content:encoded></item><item><title><![CDATA[How We Migrated the Parse API From Ruby to Golang (Resurrected)]]></title><description><![CDATA[I wrote a lot of blog posts over my time at Parse, but they all evaporated after Facebook killed the product. Most of them I didn&#8217;t care about, but I was mad about losing one of them: a retrospective of the grueling, murderous two-year rewrite of our entire API from Ruby on Rails to Golang..]]></description><link>https://charity.wtf/p/how-we-migrated-the-parse-api-from-ruby-to-golang-resurrected</link><guid isPermaLink="false">https://charity.wtf/p/how-we-migrated-the-parse-api-from-ruby-to-golang-resurrected</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Thu, 24 Jul 2025 02:14:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/38bfd995-54e1-4c52-bd1f-8440ac530cb2_194x194.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I wrote a lot of blog posts over my time at Parse, but they all evaporated after <a href="https://charity.wtf/2016/02/03/how-to-survive-an-acquisition/">Facebook killed the product</a>. Most of them I didn&#8217;t care about (there were, ahem, a lot of &#8220;service reliability updates&#8221;), but I was mad about losing one specific piece, a deceptively casual retrospective of the grueling, murderous two-year rewrite of our entire API from Ruby on Rails to Golang..</p><p>I could have sworn I&#8217;d looked for it before, but someone asked me a question about migrations this morning, which spurred me to pull up the Wayback Machine again and dig in harder, and &#8230; &#10024;I FOUND IT!!&#10024;</p><p>Honestly, it is entirely possible that if we had not done this rewrite, there might be no Honeycomb. In the early days of the rewrite, we would ship something in Go and the world would break, over and over and over. As I said,</p><blockquote><p>Rails HTTP processing is built on a philosophy of &#8220;be liberal in what you accept&#8221;. So developers end up inadvertently sending API requests that are undocumented or even non-RFC compliant &#8230; but Rails middleware cleans them up and handles it fine.</p></blockquote><p>Rails would accept any old trash, Go would not. Breakage ensues. Tests couldn&#8217;t catch what we didn&#8217;t know to look for. Eventually we lit upon a workflow where we would split incoming production traffic, run each request against a Go API server and a Ruby API server, each backed by its own set of MongoDB replicas, and diff the responses. This is when we first got turned on to how incredibly powerful Scuba was, in its ability to compare individual responses, field by field, line by line.</p><p>Once you&#8217;ve used a tool like that, you&#8217;re hooked.. you can&#8217;t possibly go back to metrics and aggregates. The rest, as they say, is history.</p><p>The whole thing is still pretty fun to read, even if I can still smell the blood and viscera a decade later. Enjoy.</p><div><hr></div><h1>&#8220;How We Moved Our API From Ruby to Go and Saved Our Sanity&#8221;</h1><p><em>Originally posted on blog.parse.com on June 10th, 2015.</em></p><p>The first lines of Parse code were written nearly four years ago. In 2011 Parse was a crazy little idea to solve the problem of building mobile apps.</p><p>Those first few lines were written in Ruby on Rails.</p><div><hr></div><h2>Ruby on Rails</h2><p>Ruby let us get the first versions of Parse out the door quickly. It let a small team of engineers iterate on it and add functionality very fast. There was a deep bench of library support, gems, deploy tooling, and best practices available, so we didn&#8217;t have to reinvent very many wheels.</p><p>We used Unicorn as our HTTP server, Capistrano to deploy code, RVM to manage the environment, and a zillion open source gems to handle things like YAML parsing, oauth, JSON parsing, MongoDB, and MySQL. We also used Chef which is Ruby-based to manage our infrastructure so everything played together nicely. For a while.</p><p>The first signs of trouble bubbled up in the deploy process. As our code base grew, it took longer and longer to deploy, and the &#8220;graceful&#8221; unicorn restarts really weren&#8217;t very graceful. So, we monkeypatched rolling deploy groups in to Capistrano.</p><p>&#8220;Monkeypatch&#8221; quickly became a key technical term that we learned to associate with our Ruby codebase.</p><p>A year and a half in, at the end of 2012, we had 200 API servers running on&nbsp;<a href="https://web.archive.org/web/20150611004347/http://ec2instances.info/">m1.xlarge</a>&nbsp;instance types with 24 unicorn workers per instance. This was to serve 3000 requests per second for 60,000 mobile apps. It took 20 minutes to do a full deploy or rollback, and we had to do a bunch of complicated load balancer shuffling and pre-warming to prevent the API from being impacted during a deploy.</p><p>Then, Parse really started to take off and experience hockey-stick growth.</p><div><hr></div><h2>Problems</h2><p>When our API traffic and number of apps started growing faster, we started having to rapidly spin up more database machines to handle the new request traffic. That is when the &#8220;one process per request&#8221; part of the Rails model started to fall apart.</p><p>With a typical Ruby on Rails setup, you have a fixed pool of worker processes, and each worker can handle only one request at a time. So any time you have a type of request that is particularly slow, your worker pool can rapidly fill up with that type of request. This happens too fast for things like auto-scaling groups to react. It&#8217;s also wasteful because the vast majority of these workers are just waiting on another service. In the beginning, this happened pretty rarely and we could manage the problem by paging a human and doing whatever was necessary to keep the API up. But as we started growing faster and adding more databases and workers, we added more points of failure and more ways for performance to get degraded.</p><p>We started looking ahead to when Parse would 10x its size, and realized that the one-process-per-request model just wouldn&#8217;t scale. We had to move to an async model that was fundamentally different from the Rails way. Yeah, rewrites are hard, and yeah they always take longer than anyone ever anticipates, but we just didn&#8217;t see how we could make the Rails codebase scale while it was tied to one process per request.</p><div><hr></div><h2>What next?</h2><p>We knew we needed asynchronous operations. We considered a bunch of options:</p><h3>EventMachine</h3><p>We already had some of our push notification service using EventMachine, but our experience was not great as it too was scaling. We had constant trouble with accidentally introducing synchronous behavior or parallelism bugs. The vast majority of Ruby gems are not asynchronous, and many are not threadsafe, so it was often hard to find a library that did some common task asynchronously.</p><h3>JRuby</h3><p>This might seem like the obvious solution &#8211; after all, Java has threads and can handle massive concurrency. Plus it&#8217;s Ruby already, right?&nbsp;<a href="https://web.archive.org/web/20150611004347/http://www.infoq.com/articles/twitter-java-use">This is the solution Twitter investigated before settling on Scala</a>. But since JRuby is still basically Ruby, it still has the problem of asynchronous library support. We were concerned about needing a second rewrite later, from JRuby to Java. And literally nobody at all on our backend or ops teams wanted to deal with deploying and tuning the JVM. The groans were audible from outer space.</p><h3>C++</h3><p>We had a lot of experienced C++ developers on our team. We also already had some C++ in our stack, in our Cloud Code servers that ran embedded V8. However, C++ didn&#8217;t seem like a great choice. Our C++ code was harder to debug and maintain. It seemed clear that C++ development was generally less productive than more modern alternatives. It was missing a lot of library support for things we knew were important to us, like HTTP request handling. Asynchronous operation was possible but often awkward. And nobody really&nbsp;<em>wanted</em>&nbsp;to write a lot of C++ code.</p><h3>C#</h3><p>C# was a strong contender. It arguably had the best concurrency model with Async and Await. The real problem was that C# development on Linux always felt like a second-class citizen. Libraries that interoperate with common open source tools are often unavailable on C#, and our toolchain would have to change a lot.</p><h3>Go</h3><p>Go and C# both have asynchronous operation built into the language at a low level, making it easy for large groups of people to write asynchronous code. The MongoDB Go driver is probably the best MongoDB driver in existence, and complex interaction with MongoDB is core to Parse. Goroutines were much more lightweight than threads. And frankly we were most excited about writing Go code. We thought it would be a lot easier to recruit great engineers to write Go code than any of the other solid async languages.</p><p>In the end, the choice boiled down to C# vs Go, and we chose Go.</p><div><hr></div><h2>Wherein we rewrite the world</h2><p>We started out rewriting our EventMachine push backend from Ruby to Go. We did some preliminary benchmarking with Go concurrency and found that each network connection ate up only 4kb of RAM. After rewriting the EventMachine push backend to Go we went from 250k connections per node to 1.5 million connections per node without even touching things like kernel tuning. Plus it seemed really fun. So, Go it was.</p><p>We rewrote some other minor services and starting building new services in Go. The main challenge, though, was to rewrite the core API server that handles requests to&nbsp;<a href="https://web.archive.org/web/20150611004347/http://api.parse.com/">api.parse.com</a>&nbsp;while seamlessly maintaining backward compatibility. We rewrote this endpoint by endpoint, using a live shadowing system to avoid impacting production, and monitored the differential metrics to make sure the behaviors matched.</p><p>During this time, Parse 10x&#8217;d the number of apps on our backend and more than 10x&#8217;d our request traffic. We also 10x&#8217;d the number of storage systems backed by Ruby. We were chasing a rapidly moving target.</p><p>The hardest part of the rewrite was dealing with all the undocumented behaviors and magical mystery bits that you get with Rails middleware. Parse exposes a REST API, and Rails HTTP processing is built on a philosophy of &#8220;be liberal in what you accept&#8221;. So developers end up inadvertently sending API requests that are undocumented or even non-RFC compliant &#8230; but Rails middleware cleans them up and handles it fine.</p><p>So we had to port a lot of delightful behavior from the Ruby API to the Go API, to make sure we kept handling the weird requests that Rails handled. Stuff like doubly encoded URLs, weird content-length requirements, bodies in HTTP requests that shouldn&#8217;t have bodies, horrible oauth misuse, horrible mis-encoded Unicode.</p><p>Our Go code is now peppered with fun, cranky comments like these:</p><pre><code>// Note: an unset cache version is treated by ruby as &#8220;&#8221;.
// Because of this, dirtying this isn&#8217;t as simple as deleting it &#8211; we need to
// actually set a new value.

// This byte sequence is what ruby expects.
// yes that&#8217;s a paren after the second 180, per ruby.

// Inserting and having an op is kinda weird: We already know
// state zero. But ruby supports it, so go does too.

// single geo query, don&#8217;t do anything. stupid and does not make sense
// but ruby does it. Changing this will break a lot of client tests.
// just be nice and fix it here.

// Ruby sets various defaults directly in the structure and expects them to appear in cache.
// For consistency, we&#8217;ll do the same thing.</code></pre><h3>Results</h3><p>Was the rewrite worth it? Hell yes it was.&nbsp;<strong>Our reliability improved by an order of magnitude</strong>. More importantly, our API is not getting more and more fragile as we spin up more databases and backing services. Our codebase got cleaned up and we got rid of a ton of magical gems and implicit assumptions. Co-tenancy issues improved for customers across the board. Our ops team stopped getting massively burned out from getting paged and trying to track down and manually remediate Ruby API outages multiple times a week. And needless to say, our customers were happier too.</p><p>We now almost never have reliability-impacting events that can be tracked back to the API layer &#8211; a massive shift from a year ago. Now when we have timeouts or errors, it&#8217;s usually constrained to a single app &#8211; because one app is issuing a very inefficient query that causes timeouts or full table scans for their app, or it&#8217;s a database-related co-tenancy problem that we can resolve by automatically rebalancing or filtering bad actors.</p><p>An asynchronous model had many other benefits. We were also able to instrument everything the API was doing with counters and metrics, because these were no longer blocking operations that interfered with communicating to other services. We could downsize our provisioned API server pool by about 90%. And we were also able to remove silos of isolated Rails API servers from our stack, drastically simplifying our architecture.</p><p>As if that weren&#8217;t enough, the time it takes to run our full integration test suite dropped from 25 minutes to 2 minutes, and the time to do a full API server deploy with rolling restarts dropped from 30 minutes to 3 minutes. The go API server&nbsp;<a href="https://web.archive.org/web/20150611004347/https://github.com/facebookgo/grace">restarts gracefully</a>&nbsp;so no load balancer juggling and prewarming is necessary.</p><p>We love Go. We&#8217;ve found it really fast to deploy, really easy to instrument, really lightweight and inexpensive in terms of resources. It&#8217;s taken a while to get here, but the journey was more than worth it.</p><h3>Credits/Blames</h3><p>Credits/Blames go to Shyam Jayaraman for driving the initial decision to use Go, Ittai Golde for shepherding the bulk of the API server rewrite from start to finish, Naitik Shah for writing and open sourcing a ton of&nbsp;<a href="https://web.archive.org/web/20150611004347/https://github.com/facebookgo">libraries and infrastructure</a>&nbsp;underpinning our Go code base, and the rest of the amazing Parse backend SWE team who performed the rewrite.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!prgK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!prgK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png 424w, https://substackcdn.com/image/fetch/$s_!prgK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png 848w, https://substackcdn.com/image/fetch/$s_!prgK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png 1272w, https://substackcdn.com/image/fetch/$s_!prgK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!prgK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png" width="300" height="161" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:161,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!prgK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png 424w, https://substackcdn.com/image/fetch/$s_!prgK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png 848w, https://substackcdn.com/image/fetch/$s_!prgK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png 1272w, https://substackcdn.com/image/fetch/$s_!prgK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bc9468c-5c22-44f3-92a6-1f40fca0c309_300x161.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Thoughts on Motivation and My 40-Year Career]]></title><description><![CDATA[The struggle is what brings your ideals to life, and other thoughts on what turns a rebellious little shit into a committed institutionalist.]]></description><link>https://charity.wtf/p/thoughts-on-motivation-and-my-40-year-career</link><guid isPermaLink="false">https://charity.wtf/p/thoughts-on-motivation-and-my-40-year-career</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Wed, 09 Jul 2025 21:20:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6ff89b9f-3708-4f98-b4ed-49252e3184b5_2316x3088.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve never published an essay quite like this. I&#8217;ve written about my life before, reams of stuff actually, because that&#8217;s how I process what I think, but never for public consumption.</p><p>I&#8217;ve been pushing myself to write more lately because my co-authors and I have a whole fucking book to write between now and October. After ten years, you&#8217;d think this would be getting easier, not harder.</p><p>There&#8217;s something about putting out such memoiristic material that feels uncomfortably feminine to me. (Wow, <em>ok</em>.) I want to be known for my work, not for having a dramatic personal life. I love my family and don&#8217;t want to put them on display for the world to judge. And I never want the people I care about to feel like I am mining their experiences for clicks and content, whether that&#8217;s my family or my coworkers.</p><p>Many of the writing exercises I&#8217;ve been doing lately have ended up pulling on threads from my backstory, and the reason I haven&#8217;t published them is because I find myself thinking, &#8220;this won&#8217;t make any sense to people unless they know where I&#8217;m coming from.&#8221;</p><p>So hey, fuck it, let&#8217;s do this.</p><h2>I went to college at the luckiest time</h2><p>I left home when I was 15 years old. I left like a bottle rocket taking off &#8211; messy, explosive, a trail of destruction in my wake, and with absolutely zero targeting mechanisms.</p><p>It tells you a lot about how sheltered I was that the only place I could think of to go was university. I had never watched TV or been to a sports game or listened to popular music. I had never been to a doctor, I was quite unvaccinated.</p><p>I grew up in the backwoods of Idaho, the oldest of six, all of us homeschooled. I would go for weeks without seeing anyone other than my family. The only way to pass the time was by reading books or playing piano, so I did quite a lot of both. I called up the University of Idaho, asked for an admissions packet, hand wrote myself a transcript and gave myself all As, drove up and auditioned for the music department, and was offered a partial ride scholarship for classical piano performance.</p><p>I told my parents I was leaving, with or without their blessing or financial support. I left with neither.</p><p>My timing turned out to be flawless. I arrived on the cusp of the Internet age &#8211; they were wiring dorms for ethernet the year I enrolled. Maybe even more important, I arrived in the final, fading glory years of affordable state universities.</p><p>I worked multiple minimum wage jobs to put myself through school; day care, front desk, laundry, night audit. It was grueling, round the clock labor, but it was possible, if you were stubborn enough. I didn&#8217;t have a Social Security number (long story), I wasn&#8217;t old enough to take out loans, I couldn&#8217;t get financial aid because my parents didn&#8217;t file income taxes (again, long story). There was no help coming, I sank or I swam.</p><p>I found computers and the Internet around the same time as it dawned on me that everybody who studied music seemed to end up poor as an adult. I grew up too poor to buy canned vegetables or new underwear; we were like an 1800s family, growing our food, making our clothes, hand-me-downs til they fell apart.</p><p>Fuck being poor. Fuck it so hard. I was out.</p><p>I lost my music scholarship, but I started building websites and running systems for the university, then for local businesses. I dropped out and took a job in San Francisco. I went back, abortively; I dropped out again.</p><p>By the time I was 20 I was back in SF for good, making a salary five times what my father had made.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c_Cb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c_Cb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!c_Cb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!c_Cb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!c_Cb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c_Cb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png" width="237" height="237" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:237,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!c_Cb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!c_Cb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!c_Cb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!c_Cb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21d61bfa-943b-4e22-b14b-28fcf0e19de4_300x300.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>I grew up with a very coherent belief system that did not work for me</h2><p>A lot of young people who flee their fundamentalist upbringing do so because they were abused and/or lost their faith, usually due to the hypocrisy of their leaders. Not me. I left home still believing the whole package &#8211; that evolution was a fraud, that the earth was created in seven days, that woman was created from Adam&#8217;s rib to be a submissive helpmate for their husband, that birth control was a sin, that anyone who believed differently was going to hell.</p><p>My parents loved us deeply and unshakably, and they were not hypocrites. In the places I grew up, the people who believed in God and went to church and lived a certain way were the ones who had their shit together, and the people who believed differently had broken lives. Reality seemed to confirm the truth of all we were taught, no matter how outlandish it sounds.</p><p>So I fully believed it was all true. I also knew it <em>did not work</em> <em>for me</em>. I did not want a small life. I did not want to be the support system behind some godly dude. I wanted power, money, status, fame, autonomy, success. I wanted to leave a crater in the world.</p><p>I was not a rebellious child, believe it or not. I loved my parents and wanted to make them proud. But as I entered my teens, I became severely depressed, and turned inward and hurt myself in all the ways young people do.</p><p>I left because staying there was killing me, and ultimately, I think my parents let me go because they saw it too.</p><h2>Running away from things worked until it didn&#8217;t</h2><p>I didn&#8217;t know what I wanted out of life other than <em>all of it; right now</em>, and my first decade out on my own was a hoot. It was in my mid twenties that everything started to fall apart.</p><p>I was an earnest kid who liked to study and think about the meaning of life, but when I bolted, I slammed the door to my conscience shut. I knew I was going to hell, but since I couldn&#8217;t live the other way, I made the very practical determination based on actuarial tables that I could to go my own way for a few decades, then repent and clean up my shit before I died. (Judgment Day was one variable that gave me heartburn, since it could come at any time.)</p><p>I was not living in accordance with my personal values and ethics, to put it lightly. I compartmentalized; it didn&#8217;t bother me, until it did. It started leaking into my dreams every night, and then it took over my waking life. I was hanging on by a thread; something had to give.</p><p>My way out, unexpectedly, started with politics. I started mainlining books about politics and economics during the Iraq War, which then expanded to history, biology, philosophy, other religious traditions, and everything else. (You can still find a remnant of <a href="http://www.hungry.com/~charity/books/2007/">my reading list here</a>.)</p><p>When I was 13, I had an ecstatic religious experience; I was sitting in church, stewing over going to hell, and was suddenly filled with a glowing sense of warmth and acceptance. It lasted for nearly two weeks, and that&#8217;s how I knew I was &#8220;saved&#8221;.</p><p>In my late 20s, after a few years of intense study and research, I had a similar ecstatic experience walking up the stairs from the laundry room. I paused, I thought &#8220;maybe there is no God; maybe there is nobody out there judging me; maybe it all makes sense&#8221;, and it all clicked into place, and I felt <em>high for days</em>, suffused with peace and joy.</p><p>My career didn&#8217;t really take off until after that. I always had a job, but I wasn&#8217;t thinking about tech after hours. At first I was desperately avoiding my problems and self-medicating, later I became obsessed with finding answers. What did I believe about taxation, public policy, voting systems, the gender binary, health care, the whole messy arc of American history? I was an angry, angry atheist for a while. I filled notebook after notebook with handwritten notes; if I wasn&#8217;t working, I was studying.</p><p>And then, gradually, I wound down. The intensity, the high, tapered off. I started dating, realized I was poly and queer, and slowly chilled the fuck out. And that&#8217;s when I started being able to dedicate the creative, curious parts of my brain to my job in tech.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W7Ol!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W7Ol!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!W7Ol!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!W7Ol!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!W7Ol!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W7Ol!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!W7Ol!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!W7Ol!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!W7Ol!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!W7Ol!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3def20d-0dd8-4a70-9233-b4cd20db45d0_300x300.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>Why am I telling you all this?</h2><p><a href="http://lethain.com">Will Larson</a> has talked a lot about how his underlying motivation is &#8220;<a href="https://lethain.com/advancing-the-industry/">advancing the industry</a>&#8221;. I love that for him. He is such a structured thinker and prolific writer, and the industry needs his help, very badly.</p><p>For a while I thought that was my motivation too. And for sure, that&#8217;s a big part of it, particularly when it comes to observability and my day job. (Y&#8217;all, it does not need to be <em>this hard</em>. Modern observability is the cornerstone and prerequisite for high performing engineering teams, etc etc.)</p><p>But when I think about what really gets me activated on a molecular level, it&#8217;s a little bit different. It&#8217;s about living a meaningful life, and acting with integrity, and building things of enduring value instead of tearing them down.</p><p>When I say it that way, it sounds like sitting around on the mountain meditating on the meaning of life, and that is not remotely what I mean. Let me try again.</p><h2>For me, work has been a source of liberation</h2><p>It&#8217;s very uncool these days to love your job or talk about hard work. But work has always been a source of liberation for me. My work has brought me so much growth and development and community and friendship. It brings meaning to my life, and the joy of creation. I want this for myself. I want this for anyone else who wants it too.</p><p>I understand why this particular tide has turned. So many people have had jobs where their employers demanded total commitment, but felt no responsibility to treat them well or fairly in return. So many people have never experienced work as anything but a depersonalizing grind, or an exercise in exploitation, and that is <em>heartbreaking</em>.</p><p>I don&#8217;t think there&#8217;s anything morally superior about people who want their work to be a vehicle for personal growth instead of just a paycheck. I don&#8217;t think there&#8217;s anything wrong with just wanting a paycheck, or wanting to work the bare minimum to get by. But it&#8217;s not what I want for myself, and I don&#8217;t think I&#8217;m alone in this.</p><p>I feel intense satisfaction and a sense of achievement when I look back on my career. On a practical level, I&#8217;ve been able to put family members through college, help with down payments, and support artists in my community. All of this would have been virtually unimaginable to me growing up.</p><p>I worked a lot harder on the farm than I ever have in front of a keyboard, and got a hell of a lot less for my efforts.</p><p>(People who glamorize things like farming, gardening, canning and freezing, taking care of animals, cooking and caretaking, and other forms of manual labor <em>really</em> get under my skin. All of these things make for lovely hobbies, but subsistence labor is neither fun nor meaningful. Trust me on this one.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wono!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wono!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!Wono!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Wono!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!Wono!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.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>My engineer/manager pendulum days</h2><p>I <em>loved</em> working as an engineer. I loved how fast the industry changes, and how hard you have to scramble to keep up. I loved the steady supply of problems to fix, systems to design, and endless novel catastrophes to debug. The whole Silicon Valley startup ecosystem felt like it could not have been more perfectly engineered to supply steady drips of dopamine to my brain.</p><p>I <em>liked</em> working as an engineering manager. Eh, that might be an overstatement. But I have strong opinions and I like being in charge, and I really wanted more access to information and influence over decisions, so I pushed my way into the role more than once.</p><p>If <a href="http://honeycomb.io">Honeycomb</a> hadn&#8217;t happened, I am sure I would have <a href="https://charity.wtf/2017/05/11/the-engineer-manager-pendulum/">bounced back and forth</a> between <a href="https://charity.wtf/2022/03/24/twin-anxieties-of-the-engineer-manager-pendulum/">engineer and manager</a> for the rest of my career. I never dreamed about climbing the ladder or starting a company. My attitude towards middle management could best be described as <a href="https://charity.wtf/2022/01/20/how-engineering-driven-leads-to-engineering-supremacy/">amiable contempt</a>, and my interest in the business side of things was nonexistent.</p><p>I have always despised people who think they&#8217;re too good to work for other people, and that describes far too many of the founders I&#8217;ve met.</p><h2>Operating a company draws on a different kind of meaning</h2><p>I got the chance to start a company in 2016, so I took it, almost on a whim. Since then I have done so many things I never expected to do. I&#8217;ve been a founder, CEO, CTO, I&#8217;ve raised money, hired and fired other execs, run organizations, crafted strategy, and come to better understand and respect the critical role played by sales, marketing, HR, and other departments. No one is more astonished than I am to find me still here, still doing this.</p><p>But there is joy to be found in solving systems problems, even the ones that are less purely technical. There is joy to be found in building a company, or competing in a marketplace.</p><p>To be honest, this is not a joy that came to me swiftly or easily. I&#8217;ve been doing this for the past 9.5 years, and I&#8217;ve been <em>happy</em> doing it for maybe the past 2-3 years. But it has always felt like work worth doing. And ultimately, I think I&#8217;m less interested in my own happiness (whatever that means) than I am interested in doing<em> work that feels worth doing</em>.</p><p>Work is one of the last remaining places where we are motivated to learn from people we don&#8217;t agree with and find common pursuit with people we are ideologically opposed to. I think that&#8217;s meaningful. I think it&#8217;s worth doing.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wono!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wono!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!Wono!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png" width="218" height="218" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:218,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Wono!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!Wono!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>Reality doesn&#8217;t give a shit about ideology</h2><p>I am a natural born extremist. But when you&#8217;re trying to operate a business and win in the marketplace, ideological certainty crashes hard into the rocks of reality. I actually find this deeply motivating.</p><p>I spent years hammering out my own personal ontological beliefs about what is right and just, what makes a life worth living, what responsibilities we have to each another. I didn&#8217;t really draw on those beliefs very often as an engineer/manager, at least not consciously.</p><p> That all changed dramatically after starting a company.</p><p>It&#8217;s one thing to stand off to the side and critique the way a company is structured and the decisions leaders make about compensation, structure, hiring/firing, etc. But <strong>creation is harder than critique</strong> (one of my favorite <a href="https://www.linkedin.com/in/jeffgray/">Jeff Gray</a> quotes) &#8212; so, so, so much harder. And reality resists easy answers.</p><p>Being an adult, to me, has meant making peace with a multiplicity of narratives. The world I was born into had a coherent story and a set of ideals that worked really well for a lot of people, but it was killing me. Not every system works for every person, and that&#8217;s okay. That&#8217;s life. Startups aren&#8217;t for everyone, either.</p><h2>The struggle is what brings your ideals to life</h2><p>Almost every decision you make running a company has some ethical dimension. Yet the foremost responsibility you have to your stakeholders, from investors to employees, is to make the business succeed, to win in the marketplace. Over-rotating on ethical repercussions of every move can easily cause you to get swamped in the details and fail at your prime directive.</p><p>Sometimes you may have a strongly held belief that some mainstream business practice is awful, so you take a different path, and then you learn the hard way why it is that people don&#8217;t take that path. (This has happened to me more times than I can count. &#128584;)</p><p>Ideals in a vacuum are just not that interesting. If I wrote an essay droning on and on about &#8220;leading with integrity&#8221;, no one would read it, and nor should they. That&#8217;s boring. What&#8217;s interesting is trying to win and do hard things, while honoring your ideals.</p><p>Shooting for the stars and falling short, innovating, building on the frontier of what&#8217;s possible, trying but failing, doing exciting things that exceed your hopes and dreams with a team just as ambitious and driven as you are, <em>while also</em> holding your ideals to heart &#8212; <em>that&#8217;s fucking exciting</em>. That&#8217;s what brings your ideals to life.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bBas!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bBas!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!bBas!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!bBas!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!bBas!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bBas!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5106f33-6289-4d71-9bb9-038441a0470c_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!bBas!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!bBas!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!bBas!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!bBas!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5106f33-6289-4d71-9bb9-038441a0470c_300x300.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>We have lived through the golden age of tech</h2><p>I recognize that I have been profoundly lucky to be employed through the golden age of tech. It&#8217;s getting tougher out there to enter the industry, change jobs, or lead with integrity.</p><p>It&#8217;s a tough time to be alive, in general. There are macro scale political issues that I have no idea how to solve or fix. Wages used to rise in line with productivity, and now they don&#8217;t, and haven&#8217;t since the mid 70s. Capital is slurping up all the revenue and workers get an ever decreasing share, and I don&#8217;t know how to fix that, either.</p><p>But I don&#8217;t buy the argument that just because something has been touched by capitalism or finance it is therefore irreversibly tainted, or that there is no point in making capitalist institutions better. The founding arguments of capitalism were profoundly moral ones, grounded in a keen understanding of human nature. (Adam Smith&#8217;s &#8220;<a href="https://www.goodreads.com/book/show/25698.An_Inquiry_into_the_Nature_and_Causes_of_the_Wealth_of_Nations">Wealth of Nations</a>&#8221; gets all the attention, but his other book, &#8220;<a href="https://www.goodreads.com/book/show/25700.The_Theory_of_Moral_Sentiments">Theory of Moral Sentiments</a>&#8221;, is even better, and you can&#8217;t read one without the other.)</p><p>As a species we are both individualistic and communal, selfish and cooperative, and the miracle of capitalism is how effectively it channels the self-interested side of our nature into the common good.</p><p>Late stage capitalism, however, along with regulatory capture, <a href="https://www.rawsignal.ca/newsletter-archive/the-enshittification-of-work/">enshittification</a>, and the rest of it, has made the modern world brutally unkind to most people. Tech was, for a shining moment in time, a path out of poverty for smart kids who were willing to work their asses off. It&#8217;s been the only reliable growth industry of my lifetime.</p><p>It remains, for my money, the best job in the world. <em>Or it can be</em>. It&#8217;s collaborative, creative, and fun; we get paid scads of money to sit in front of a computer and solve puzzles all day. So many people seem to be giving up on the idea that work can ever be a place of meaning and collaboration and joy. I think that sucks. It&#8217;s too soon to give up! If we prematurely abandon tech to its most exploitative elements, we guarantee its fate.</p><h2>If you want to change the world, go into business</h2><p>Once upon a time, if you had strongly held ideals and wanted to change the world, you went into government or nonprofit work.</p><p>For better or for worse (okay, <a href="https://www.theatlantic.com/magazine/archive/2025/07/government-privatization-feudalism/682888/">mostly worse</a>), we live in an age where corporate power dominates. If you want to change the world, go into business.</p><p>The world needs, desperately, people with ethics and ideals who can win at business. We can&#8217;t let all the people who care about people go into academia or medicine or low wage service jobs. We can&#8217;t leave the ranks of middle and upper management to be filled by sycophants and sociopaths.</p><p>There&#8217;s nothing sinister about wanting power; what matters is what you do with it. Power, like capitalism, is a tool, and can be bent to powerful ends both good and evil. If you care about people, you should be unashamed about wanting to amass power and climb the</p><p> ladder.</p><p>There are a lot of so-called best practices in this industry that are utterly ineffective (cough, whiteboarding B-trees in an interview setting), yet they got cargo culted and copied around for years. Why? Because the company that originated the practice made a lot of money. This is stupid, but it also presents an opportunity. All you need to do is be a better company, then make a lot of money. &#128521;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wono!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wono!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!Wono!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png" width="272" height="272" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:272,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Wono!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!Wono!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!Wono!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bb78d5-cf1a-4502-a6ce-67d21b0fa283_300x300.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>People need institutions</h2><p>I am a fundamentalist at heart, just like my father. I was born to be a bomb thrower and a contrarian, a thorn in the side of the smug moderate establishment. Unfortunately, I was born in an era where literally everyone is a fucking fundamentalist and the establishment is holding on by a thread.</p><p>I&#8217;ve come to believe that the most quietly radical, rebellious thing I can possibly do is to be an institutionalist, someone who builds instead of performatively tearing it all down.</p><p>People <em>need</em> institutions. We crave the feeling of belonging to something much larger than ourselves. It&#8217;s one of the most universal experiences of our species.</p><p>One of the reasons modern life feels so fragmented and hard is because so many of our institutions have broken down or betrayed the people they were supposed to serve. So many of the associations that used to frame our lives and identities &#8212; church, government, military, etc &#8212; have tolerated or covered up so much predatory behavior and corruption, it no longer surprises anyone.</p><p>We&#8217;ve spent the past few decades ripping down institutions and drifting away from them. But we haven&#8217;t stopped wanting them, or needing them.</p><p>I hope, perhaps naively, that we are entering into a new era of rebuilding, sadder but wiser. An era of building institutions with accountability and integrity, institutions with enduring value, that we can belong to and take pride in&#8230; not because we were coerced or deceived, not because they were the only option, but because they bring us joy and meaning. Because we freely choose them, because they are good for us.</p><h2>The second half of your career is about purpose</h2><p>It seems very normal to enter the second half of your <a href="https://lethain.com/forty-year-career/">40 year career</a> thinking a lot about meaning and purpose. You spend the first decade or so hoovering up skill sets, the second finding your place and what feeds you, and then, inevitably, you start to think about what it all means and what your legacy will be.</p><p>That&#8217;s definitely where I&#8217;m at, as I think about the second half of my career. I want to take risks. I want to play big and win bigger. I want to show that hard work isn&#8217;t just a scam inflicted on those who don&#8217;t know any better. If we win, I want the people I work with to earn lifechanging amounts of money, so they can buy homes and send their kids to college. I want to show that work can still be an avenue for liberation and community and personal growth, for those of us who still want that.</p><p>I care about this industry and the people in it <em>so much</em>, because it&#8217;s been such a gift to me. I want to do what I can to make it a better place for generations to come. I want to build institutions worth belonging to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PPBl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PPBl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PPBl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PPBl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PPBl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PPBl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg" width="440" height="586.565934065934" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:440,&quot;bytes&quot;:1724782,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/181561425?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PPBl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PPBl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PPBl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PPBl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaf336-80c5-43c6-80ed-52718a5c6e2e_2316x3088.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Charity and Bubba, communing.</figcaption></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[In Praise of “Normal” Engineers]]></title><description><![CDATA[The best engineering orgs in the world are not the ones with the most (self-pronounced) "10x engineers", they are the ones where normal engineers can show up every day, do good work, and move the business materially forward. Oh yeah -- this is also the best way to build world-class engineers.]]></description><link>https://charity.wtf/p/in-praise-of-normal-engineers</link><guid isPermaLink="false">https://charity.wtf/p/in-praise-of-normal-engineers</guid><dc:creator><![CDATA[Charity Majors]]></dc:creator><pubDate>Thu, 19 Jun 2025 17:11:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UvgI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This article was originally <a href="https://refactoring.fm/p/in-praise-of-normal-engineers">commissioned by Luca Rossi</a> (paywalled) for refactoring.fm, on February 11th, 2025. Luca edited a version of it that emphasized the importance of building &#8220;10x engineering teams&#8221; . It was later picked up by IEEE Spectrum (!!!), who scrapped most of the teams content and published a <a href="https://spectrum.ieee.org/10x-engineer">different, shorter piece</a> on March 13th.</em></p><p><em>This is my personal edit. It is not exactly identical to either of the versions that have been publicly released to date. It contains a lot of the source material for the talk I gave last week at #LDX3 in London, &#8220;<a href="https://speakerdeck.com/charity/in-praise-of-normal-engineers-ldx3">In Praise of &#8216;Normal&#8217; Engineers</a>&#8221; (slides), and a couple weeks ago at CraftConf.&nbsp;</em></p><h2>In Praise of &#8220;Normal&#8221; Engineers</h2><p>Most of us have encountered a few engineers who seem practically magician-like, a class apart from the rest of us in their ability to reason about complex mental models, leap to non-obvious yet elegant solutions, or emit waves of high quality code at unreal velocity.</p><p>I have run into any number of these incredible beings over the course of my career. I think this is what explains the curious durability of the &#8220;10x engineer&#8221; meme. It may be based on flimsy, shoddy research, and the claims people have made to defend it have often been&nbsp;risible (e.g. &#8220;10x engineers have dark backgrounds, are rarely seen doing UI work, are poor mentors and interviewers&#8221;), or blatantly double down on stereotypes (&#8220;we look for young dudes in hoodies that remind us of Mark Zuckerberg&#8221;). But damn if it doesn&#8217;t resonate with experience. It just feels true.</p><p>The problem is not the idea that there are engineers who are 10x as productive as other engineers. I don&#8217;t have a problem with this statement; in fact, that much seems self-evidently true. The problems I do have are twofold.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UvgI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UvgI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!UvgI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!UvgI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!UvgI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UvgI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png" width="266" height="266" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:266,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;In Praise of \&quot;Normal\&quot; Engineers&quot;,&quot;title&quot;:&quot;In Praise of \&quot;Normal\&quot; Engineers&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="In Praise of &quot;Normal&quot; Engineers" title="In Praise of &quot;Normal&quot; Engineers" srcset="https://substackcdn.com/image/fetch/$s_!UvgI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!UvgI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!UvgI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!UvgI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb151dca-c866-4456-82d2-948afa8d0ca3_300x300.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Measuring productivity is fraught and imperfect</h2><p>First: how are you measuring productivity? I have a problem with the implication that there is One True Metric of productivity that you can standardize and sort people by. Consider, for a moment, the sheer combinatorial magnitude of skills and experiences at play:</p><ul><li><p>Are you working on microprocessors, IoT, database internals, web services, user experience, mobile apps, consulting, embedded systems, cryptography, animation, training models for gen AI&#8230; what?</p></li><li><p>Are you using golang, python, COBOL, lisp, perl, React, or brainfuck? What version, which libraries, which frameworks, what data models? What other software and build dependencies must you have mastered?</p></li><li><p>What adjacent skills, market segments, or product subject matter expertise are you drawing upon&#8230;design, security, compliance, data visualization, marketing, finance, etc?</p></li><li><p>What stage of development? What scale of usage? What matters most &#8212; giving good advice in a consultative capacity, prototyping rapidly to find product-market fit, or writing code that is maintainable and performant over many years of amortized maintenance? Or are you writing for the Mars Rover, or shrinkwrapped software you can never change?</p></li></ul><p>Also: people and their skills and abilities are not static. At one point, I was a pretty good DBRE (I even co-wrote the book on it). Maybe I was even a 10x DB engineer then, but certainly not now. I haven&#8217;t debugged a query plan in years.</p><p>&#8220;10x engineer&#8221; makes it sound like 10x productivity is an immutable characteristic of a person. But someone who is a 10x engineer in a particular skill set is still going to have infinitely more areas where they are normal or average (or less). I know a lot of world class engineers, but I&#8217;ve never met anyone who is 10x better than everyone else across the board, in every situation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_fLT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_fLT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!_fLT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!_fLT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!_fLT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_fLT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!_fLT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!_fLT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!_fLT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!_fLT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01e3cb58-a039-475d-9c46-8418147a61c4_300x300.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>Engineers don&#8217;t own software, teams own software</h2><p>Second, and even more importantly: So what? It doesn&#8217;t matter. Individual engineers don&#8217;t own software, teams own software. <strong>The smallest unit of software ownership and delivery is the engineering team</strong>. It doesn&#8217;t matter how fast an individual engineer can write software, what matters is how fast the team can collectively write, test, review, ship, maintain, refactor, extend, architect, and revise the software that they own.</p><p>Everyone uses the same software delivery pipeline. If it takes the slowest engineer at your company five hours to ship a single line of code, it&#8217;s going to take the fastest engineer at your company five hours to ship a single line of code. The time spent writing code is typically dwarfed by the time spent on every other part of the software development lifecycle.</p><p>If you have services or software components that are owned by a single engineer, that person is a single point of failure.</p><p>I&#8217;m not saying this should never happen. It&#8217;s quite normal at startups to have individuals owning software, because the biggest existential risk that you face is not moving fast enough, not finding product market fit, and going out of business. But as you start to grow up as a company, as users start to demand more from you, and you start planning for the survival of the company to extend years into the future&#8230;ownership needs to get handed over to a team. Individual engineers get sick, go on vacation, and leave the company, and the business has got to be resilient to that.</p><p>If teams own software, then the key job of any engineering leader is to craft high-performing engineering teams. If you must 10x something, 10x this. <strong>Build 10x engineering teams.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Qcmx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qcmx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!Qcmx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!Qcmx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!Qcmx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qcmx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Qcmx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!Qcmx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!Qcmx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!Qcmx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c2ec01-3271-425b-b2a9-3b8a4866f1ef_300x300.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 best engineering orgs are the ones where normal engineers can do great work</h2><p>When people talk about world-class engineering orgs, they often have in mind teams that are top-heavy with staff and principal engineers, or recruiting heavily from the ranks of ex-FAANG employees or top universities.</p><p>But I would argue that a truly great engineering org is one where you don&#8217;t HAVE to be one of the &#8220;best&#8221; or most pedigreed engineers in the world to get shit done and have a lot of impact on the business.</p><p>I think it&#8217;s actually the other way around. A truly great engineering organization is one where perfectly normal, workaday software engineers, with decent software engineering skills and an ordinary amount of expertise, can consistently move fast, ship code, respond to users, understand the systems they&#8217;ve built, and move the business forward a little bit more, day by day, week by week.</p><p>Any asshole can build an org where the most experienced, brilliant engineers in the world can build product and make progress. That is not hard. And putting all the spotlight on individual ability has a way of letting your leaders off the hook for doing their jobs. It is a HUGE competitive advantage if you can build sociotechnical systems where less experienced engineers can convert their effort and energy into product and business momentum.</p><p>A truly great engineering org also happens to be one that mints world-class software engineers. But we&#8217;re getting ahead of ourselves, here.</p><h2>Let&#8217;s talk about &#8220;normal&#8221; for a moment</h2><p>A lot of technical people got really attached to our identities as smart kids. The software industry tends to reflect and reinforce this preoccupation at every turn, from Netflix&#8217;s &#8220;we look for the top 10% of global talent&#8221; to Amazon&#8217;s talk about &#8220;bar-raising&#8221; or Coinbase&#8217;s recent claim to &#8220;hire the top .1%&#8221;. (Seriously, guys? Ok, well, Honeycomb is going to hire only the top <em>.00001%</em>!)</p><p>In this essay, I would like to challenge us to set that baggage to the side and think about ourselves as <em>normal people</em>.</p><p>It can be humbling to think of ourselves as normal people, but most of us are in fact pretty normal people (albeit with many years of highly specialized practice and experience), and</p><p> there is <em>nothing wrong with that</em>. Even those of us who are certified geniuses on certain criteria are likely quite normal in other ways &#8212; kinesthetic, emotional, spatial, musical, linguistic, etc.</p><p>Software engineering both selects for and develops certain types of intelligence, particularly around abstract reasoning, but <em>nobody</em> is born a great software engineer. <strong>Great engineers are made, not born</strong>. I just don&#8217;t think there&#8217;s a lot more we can get out of thinking of ourselves as a special class of people, compared to the value we can derive from thinking of ourselves collectively as relatively normal people who have practiced a fairly niche craft for a very long time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T4CS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T4CS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!T4CS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!T4CS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!T4CS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T4CS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!T4CS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!T4CS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!T4CS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!T4CS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6eccc30-75ce-4eb8-bf06-8b7d0224011c_300x300.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>Build sociotechnical systems with &#8220;normal people&#8221; in mind</h2><p>When it comes to hiring talent and building teams, yes, absolutely, we should focus on identifying the ways people are exceptional and talented and strong. But when it comes to building sociotechnical systems for software delivery, we should focus on all the ways people are <em>normal</em>.</p><p>Normal people have cognitive biases &#8212; confirmation bias, recency bias, hindsight bias. We work hard, we care, and we do our best; but we also forget things, get impatient, and zone out. Our eyes are inexorably drawn to the color red (unless we are colorblind). We develop habits and ways of doing things, and resist changing them. When we see the same text block repeatedly, we stop reading it.</p><p>We are embodied beings who can get overwhelmed and fatigued. If an alert wakes us up at 3 am, we are much more likely to make mistakes while responding to that alert than if we tried to do the same thing at 3pm. Our emotional state can affect the quality of our work. Our relationships impact our ability to get shit done.</p><p>When your systems are designed to be used by normal engineers, all that excess brilliance they have can get poured into the product itself, instead of wasting it on navigating the system itself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z_he!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z_he!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!z_he!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!z_he!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!z_he!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z_he!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!z_he!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!z_he!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!z_he!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!z_he!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752d5df9-03ca-4888-99dc-127be30d06a2_300x300.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>How do you turn normal engineers into 10x engineering teams?</h2><p>None of this should be terribly surprising; it&#8217;s all well known wisdom. In order to build the kind of sociotechnical systems for software delivery that enable normal engineers to move fast, learn continuously, and deliver great results as a team, you should:</p><h4>Shrink the interval between when you write the code and when the code goes live.</h4><p>Make it as short as possible; the shorter the better. I&#8217;ve written and given talks about this many, many times. The shorter the interval, the lower the cognitive carrying costs. The faster you can iterate, the better. The more of your brain can go into the product instead of the process of building it.</p><p>One of the most powerful things you can do is have a short, fast enough deploy cycle that you can ship one commit per deploy. I&#8217;ve referred to this as the &#8220;software engineering death spiral&#8221; &#8230; when the deploy cycle takes so long that you end up batching together a bunch of engineers&#8217; diffs in every build. The slower it gets, the more you batch up, and the harder it becomes to figure out what happened or roll back. The longer it takes, the more people you need, the higher the coordination costs, and the more slowly everyone moves.</p><p>Deploy time is the feedback loop at the heart of the development process. It is almost impossible to overstate the centrality of keeping this short and tight.</p><h4>Make it easy and fast to roll back or recover from mistakes.</h4><p>Developers should be able to deploy their own code, figure out if it&#8217;s working as intended or not, and if not, roll forward or back swiftly and easily. No muss, no fuss, no thinking involved.</p><h4>Make it easy to do the right thing and hard to do the wrong thing.</h4><p>Wrap designers and design thinking into all the touch points your engineers have with production systems. Use your platform engineering team to think about how to empower people to swiftly make changes and self-serve, but also remember that a lot of times people will be engaging with production late at night or when they&#8217;re very stressed, tired, and&nbsp;possibly freaking out. Build guard rails. The fastest way to ship a single line of code should also be the easiest way to ship a single line of code.</p><h4>Invest in instrumentation and observability.</h4><p>You&#8217;ll never know &#8212; not really &#8212; what the code you wrote does just by reading it. The only way to be sure is by instrumenting your code and watching real users run it in production. Good, friendly sociotechnical systems invest <em>heavily</em> in tools for sense-making.</p><p>Being able to visualize your work is what makes engineering abstractions accessible to actual engineers. You shouldn&#8217;t have to be a world-class engineer just to debug your own damn code.</p><h4>Devote engineering cycles to internal tooling and enablement.</h4><p>If fast, safe deploys, with guard rails, instrumentation, and highly parallelized test suites are &#8220;everybody&#8217;s job&#8221;, they will end up nobody&#8217;s job. Engineering productivity isn&#8217;t something you can outsource. Managing the interfaces between your software vendors and your own teams is both a science and an art. Making it look easy and intuitive is really hard. It needs an owner.</p><h4>Build an inclusive culture.</h4><p>Growth is the norm, growth is the baseline. People do their best work when they feel a sense of belonging. An inclusive culture is one where everyone feels safe to ask questions, explore, and make mistakes; where everyone is held to the same high standard, and given the support and encouragement they need to achieve their goals.</p><h4>Diverse teams are resilient teams.</h4><p>Yeah, a team of super-senior engineers who all share a similar background can move incredibly fast, but a monoculture is fragile. Someone gets sick, someone gets pregnant, you start to grow and you need to integrate people from other backgrounds and the whole team can get derailed &#8212; fast.</p><p>When your teams are used to operating with a mix of genders, racial backgrounds, identities, age ranges, family statuses, geographical locations, skill sets, etc &#8212; when this is just table stakes, standard operating procedure &#8212; you&#8217;re better equipped to roll with it when life happens.</p><h4>Assemble engineering teams from a range of levels.</h4><p>The best engineering teams aren&#8217;t top-heavy with staff engineers and principal engineers. The best engineering teams are ones where nobody is running on autopilot, banging out a login page for the 300th time; everyone is working on something that challenges them and pushes their boundaries. Everyone is learning, everyone is teaching, everyone is pushing their own boundaries and growing. All the time.</p><p>By the way &#8212; all of that work you put into making your systems resilient, well-designed, and humane is the same work you would need to do to help onboard new engineers, develop junior talent, or let engineers move between teams.</p><p>It gets used and reused. Over and over and over again.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a0XR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a0XR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!a0XR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!a0XR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!a0XR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a0XR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!a0XR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!a0XR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!a0XR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!a0XR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fbd68c3-5008-4987-90a5-3b35e320f620_300x300.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 only meaningful measure of productivity is impact to the business</h2><p>The only thing that actually matters when it comes to engineering productivity is whether or not you are moving the business materially forward.</p><p>Which means&#8230;we can&#8217;t do this in a vacuum. The most important question is whether or not we are working on the right thing, which is a problem engineering can&#8217;t answer without help from product, design, and the rest of the business.</p><p>Software engineering isn&#8217;t about writing lots of lines of code, it&#8217;s about solving business problems using technology.</p><p>Senior and intermediate engineers are actually the workhorses of the industry. They move the business forward, step by step, day by day. They get to put their heads down and crank instead of constantly looking around the org and solving coordination problems. If you have to be a staff+ engineer to move the product forward, something is seriously wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ge3S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ge3S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!ge3S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!ge3S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!ge3S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ge3S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ge3S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!ge3S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!ge3S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!ge3S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f726a7-9984-4ef6-b72e-97978b991d79_300x300.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>Great engineering orgs mint world-class engineers</h2><p>A great engineering org is one where you don&#8217;t HAVE to be one of the best engineers in the world to have a lot of impact. But &#8212; rather ironically &#8212; great engineering orgs mint world class engineers like nobody&#8217;s business.</p><p>The best engineering orgs are not the ones with the smartest, most experienced people in the world, they&#8217;re the ones where normal software engineers can consistently make progress, deliver value to users, and move the business forward, day after day.</p><p>Places where engineers can get shit done and have a lot of impact are a magnet for top performers. Nothing makes engineers happier than building things, solving problems, making progress.</p><p>If you&#8217;re lucky enough to have world-class engineers in your org, good for you! Your role as a leader is to leverage their brilliance for the good of your customers and your other engineers, without coming to depend on their brilliance. After all, these people don&#8217;t belong to you. They may walk out the door at any moment, and that has to be okay.</p><p>These people can be phenomenal assets, assuming they can be team players and keep their egos in check. Which is probably why so many tech companies seem to obsess over identifying and hiring them, especially in Silicon Valley.</p><p>But companies categorically overindex on finding these people after they&#8217;ve already been minted, which ends up reinforcing and replicating all the prejudices and inequities of the world at large. Talent may be evenly distributed across populations, but opportunity is not.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FqrD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FqrD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!FqrD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!FqrD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!FqrD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FqrD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!FqrD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png 424w, https://substackcdn.com/image/fetch/$s_!FqrD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png 848w, https://substackcdn.com/image/fetch/$s_!FqrD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.png 1272w, https://substackcdn.com/image/fetch/$s_!FqrD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429a33cb-31b8-4afe-8447-efb605f8aa1b_300x300.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>Don&#8217;t hire the &#8220;best&#8221; people. Hire the right people.</h2><p>We (by which I mean the entire human race) place too much emphasis on individual agency and characteristics, and not enough on the systems that shape us and inform our behaviors.</p><p>I feel like a whole slew of issues (candidates self-selecting out of the interview process, diversity of applicants, etc) would be improved simply by shifting the focus on engineering hiring and interviewing away from this inordinate emphasis on hiring the BEST PEOPLE and realigning around the more reasonable and accurate RIGHT PEOPLE.</p><p>It&#8217;s a competitive advantage to build an environment where people can be hired for their unique strengths, not their lack of weaknesses; where the emphasis is on composing teams rather than hiring the BEST people; where inclusivity is a given both for ethical reasons and&nbsp;because it raises the bar for performance for everyone. Inclusive culture is what actual meritocracy depends on.</p><p>This is the kind of place that engineering talent (and good humans) are drawn to like a moth to a flame. <strong>It feels good to ship</strong>. It feels <em>good</em> to move the business forward. It feels <em>good</em> to sharpen your skills and improve your craft. It&#8217;s the kind of place that people go when they want to become world class engineers. And it&#8217;s the kind of place where world class engineers want to stick around, to train up the next generation.</p><p>&lt;3, charity</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ayin!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ayin!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ayin!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ayin!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ayin!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ayin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg" width="362" height="482.5837912087912" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:362,&quot;bytes&quot;:1818344,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://charitydotwtf.substack.com/i/181561426?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ayin!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ayin!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ayin!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ayin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4829a3a5-344c-4f57-9956-2001b536a0f8_2316x3088.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Princess Pinky Persnickety and Bubba, the Bolshevik Prince of Darkness. (And me.)</figcaption></figure></div><p></p>]]></content:encoded></item></channel></rss>