<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>ethics &amp;mdash; Nat Knight</title>
    <link>http://natknight.xyz/tag:ethics</link>
    <description>Reflections, diversions, and opinions from a progressive ex-physicist programmer dad with a sore back.</description>
    <pubDate>Tue, 02 Jun 2026 11:55:53 -0700</pubDate>
    <item>
      <title>Software Development as a Caretaking Profession</title>
      <link>http://natknight.xyz/software-development-as-a-caretaking-profession</link>
      <description>&lt;![CDATA[ethics&#xA;&#xA;Inspired by Ed Yong&#39;s talk where he proposes the ways in which journalism can be viewed as a caretaking profession, I&#39;ve been thinking about the way that software development can be a caretaking profession.&#xA;&#xA;!--more--&#xA;&#xA;Some software, like medical device firmware or public services delivery, has a pretty clear caretaking dimension. There&#39;s software that&#39;s clearly in the opposite pole as well, like addictive gambling games or surveillance tools.&#xA;&#xA;But there&#39;s lots of software in the middle: enterprise apps, networking and communication infrastructure, games, online stores for essential or niche goods. How can we look at that from a caretaking standpoint?&#xA;&#xA;When you&#39;re building software, someone is going to be spending time and attention on it. These things should be precious. I think this is the most important caretaking angle.&#xA;&#xA;Someone will also probably have to make changes to the software in the future, and it will consume power, compute, storage, and networking. I think these aren&#39;t quite as important as being gentle on the human users, but they also matter.&#xA;&#xA;So when you&#39;re making software, care is:&#xA;&#xA;Being mindful of the user&#39;s time, attention, and frustration tolerance&#xA;&#xA;Never losing a user&#39;s work; letting them go back to previous states&#xA;&#xA;Avoiding long waits, intrusive notifications, loading spinners, etc.&#xA;&#xA;Making things easy to navigate or search&#xA;&#xA;Being mindful of the resources that you&#39;re consuming&#xA;&#xA;Admitting that you don&#39;t know what to build, what to store, what to log, and figuring out how to do a good job anyways&#xA;&#xA;Learning a little more than you need to, writing more than the bare minimum operational docs, and putting in a little extra polish to make development easier in the future&#xA;&#xA;Telling the boss &#34;no&#34; (as scary as that is) when you&#39;re told to build something haphazard or sketchy&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://natknight.xyz/tag:ethics" class="hashtag"><span>#</span><span class="p-category">ethics</span></a></p>

<p>Inspired by <a href="https://xoxofest.com/2024/videos/ed-yong/">Ed Yong&#39;s talk</a> where he proposes the ways in which journalism can be viewed as a caretaking profession, I&#39;ve been thinking about the way that software development can be a caretaking profession.</p>



<p>Some software, like medical device firmware or public services delivery, has a pretty clear caretaking dimension. There&#39;s software that&#39;s clearly in the opposite pole as well, like addictive gambling games or surveillance tools.</p>

<p>But there&#39;s lots of software in the middle: enterprise apps, networking and communication infrastructure, games, online stores for essential or niche goods. How can we look at that from a caretaking standpoint?</p>

<p>When you&#39;re building software, <em>someone</em> is going to be spending time and attention on it. These things should be precious. I think this is the most important caretaking angle.</p>

<p>Someone will also probably have to make changes to the software in the future, and it will consume power, compute, storage, and networking. I think these aren&#39;t quite as important as being gentle on the human users, but they also matter.</p>

<p>So when you&#39;re making software, care is:</p>
<ul><li><p>Being mindful of the user&#39;s time, attention, and frustration tolerance</p></li>

<li><p>Never losing a user&#39;s work; letting them go back to previous states</p></li>

<li><p>Avoiding long waits, intrusive notifications, loading spinners, etc.</p></li>

<li><p>Making things easy to navigate or search</p></li>

<li><p>Being mindful of the resources that you&#39;re consuming</p></li>

<li><p>Admitting that you don&#39;t know what to build, what to store, what to log, and figuring out how to do a good job anyways</p></li>

<li><p>Learning a little more than you need to, writing more than the bare minimum operational docs, and putting in a little extra polish to make development easier in the future</p></li>

<li><p>Telling the boss “no” (as scary as that is) when you&#39;re told to build something haphazard or sketchy</p></li></ul>
]]></content:encoded>
      <guid>http://natknight.xyz/software-development-as-a-caretaking-profession</guid>
      <pubDate>Mon, 01 Jun 2026 18:21:36 +0000</pubDate>
    </item>
  </channel>
</rss>