<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Jonathan Dean</title>
    <link>https://jondean.com/posts/</link>
    <description>Recent content in Posts on Jonathan Dean</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jondean.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Engineering with Agent Teams</title>
      <link>https://jondean.com/posts/engineering-with-agent-teams/</link>
      <pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://jondean.com/posts/engineering-with-agent-teams/</guid>
      <description>&lt;p&gt;Working with a single agent produces something that looks finished. But knowing whether it is correct is harder. Over the past few weeks I have been designing a multi-agent workflow in Claude Code, building on the ideas in &lt;a href=&#34;https://jondean.com/posts/ai-in-engineering/&#34; &gt;my previous post on how the team I led uses AI&lt;/a&gt;. An engineer&amp;rsquo;s most valuable contribution shifts: away from writing code, toward directing agents, reviewing their output, and deciding what their disagreements mean.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Eight Months with unFix</title>
      <link>https://jondean.com/posts/eight-months-with-unfix/</link>
      <pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate>
      <guid>https://jondean.com/posts/eight-months-with-unfix/</guid>
      <description>&lt;p&gt;I &lt;a href=&#34;https://jondean.com/posts/adopting-unfix/&#34; &gt;wrote last September&lt;/a&gt; about adopting the unFix model and how I set up the structure. Eight months in, it feels like the right moment to be honest about what has worked, what has not, and where the genuine tensions are.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-working&#34;&gt;&#xA;  What is working&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#what-is-working&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ownership is clearer.&lt;/strong&gt; The Crew model does what it is supposed to do. In a function-organised structure, &amp;ldquo;who is accountable for this?&amp;rdquo; is a question that regularly requires escalation. Under the Crew model it mostly has a structural answer. Crews know what they own, and that changes how conversations happen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI and the Cost of Doing Things Properly</title>
      <link>https://jondean.com/posts/ai-and-the-cost-of-doing-things-properly/</link>
      <pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://jondean.com/posts/ai-and-the-cost-of-doing-things-properly/</guid>
      <description>&lt;p&gt;I recently built a home network configuration system I had been deferring for years. The reason was not complexity. It was overhead. Debian packaging has a lot of well-specified, repetitive mechanical work: the kind where you know exactly what the output should look like but do not want to produce it by hand. With an AI assistant, I described what each package needed to do and got a correct skeleton back in seconds. The overhead that previously made a dozen small packages feel like a large project collapsed to almost nothing. I built it the right way, and it took a weekend rather than a month of accumulated evenings. &lt;a href=&#34;https://jondean.com/notes/home-infra-as-debian-packages/&#34; &gt;The technical details are in a separate note.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI in Engineering: How My Team Works</title>
      <link>https://jondean.com/posts/ai-in-engineering/</link>
      <pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://jondean.com/posts/ai-in-engineering/</guid>
      <description>&lt;p&gt;This post covers how the engineering team I lead is using AI tools in our day-to-day work: what we use, how it works, and what it has changed.&lt;/p&gt;&#xA;&lt;p&gt;The pressure is real: we are building something genuinely new while simultaneously maintaining several existing products. Speed and quality both matter. We cannot sacrifice one for the other. AI tools are not a pilot or an experiment in that environment. They are how we make it workable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beyond Lines of Code</title>
      <link>https://jondean.com/posts/beyond-lines-of-code/</link>
      <pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://jondean.com/posts/beyond-lines-of-code/</guid>
      <description>&lt;p&gt;There is a gap between &amp;ldquo;the team has AI tools&amp;rdquo; and &amp;ldquo;the team uses AI tools well&amp;rdquo;. Filling that gap requires data. Most organisations reach for one metric in particular: lines of code written or committed by AI. It is not the right metric.&lt;/p&gt;&#xA;&lt;p&gt;I previously &lt;a href=&#34;https://jondean.com/notes/combining-cursor-and-copilot-apis/&#34; &gt;built a dashboard&lt;/a&gt; pulling usage data from the Cursor admin API and the GitHub Copilot API into a single view. I also &lt;a href=&#34;https://jondean.com/notes/cursor-ai-metrics-by-product/&#34; &gt;built a tool&lt;/a&gt; to extract AI commit lines broken down by Bitbucket project. It answers the question that usually gets asked. It does not answer the question I actually care about. What both tools showed, and what they could not show, is what shaped how I think about measuring AI adoption now.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adopting the unFix Model</title>
      <link>https://jondean.com/posts/adopting-unfix/</link>
      <pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://jondean.com/posts/adopting-unfix/</guid>
      <description>&lt;p&gt;Like many engineering organisations, the ones I have led have generally started out organised by function rather than outcome: engineering, product, and QA as separate groups, with hand-offs between them to ship a feature. That shape makes ownership hard to place, and it leaves teams without a shared operating model to work from. I wanted to change it, and I wanted the change to be structural rather than cosmetic.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-the-unfix-model&#34;&gt;&#xA;  What is the unFix model?&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#what-is-the-unfix-model&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://unfix.com&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;unFix model&lt;/a&gt; was created by Jurgen Appelo as a crew-based organisational framework. Its premise is that organisations should maximise team autonomy and minimise hand-offs, within clear strategic direction from leadership.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy Continuously, Release Deliberately</title>
      <link>https://jondean.com/posts/deploy-continuously-release-deliberately/</link>
      <pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://jondean.com/posts/deploy-continuously-release-deliberately/</guid>
      <description>&lt;p&gt;There is a distinction I find myself returning to constantly as an engineering leader: the difference between &lt;em&gt;deploying&lt;/em&gt; code and &lt;em&gt;releasing&lt;/em&gt; a feature. Treating them as the same thing is one of the most common sources of avoidable risk in software delivery.&lt;/p&gt;&#xA;&lt;h2 id=&#34;deployment-and-release-are-separate-concerns&#34;&gt;&#xA;  Deployment and release are separate concerns&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#deployment-and-release-are-separate-concerns&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Code deployment is a technical operation. Feature release is a business decision. When you conflate the two, you end up in one of two bad places: either you hold back deployments waiting for the business to be ready, which causes integration pain and large risky merges, or you push features live the moment the code lands, removing the business&amp;rsquo;s ability to control timing and exposure.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
