<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Software-Engineering on CS Theorems</title><link>https://cs.lozic.me/areas/software-engineering/</link><description>Recent content in Software-Engineering on CS Theorems</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 23 Oct 2026 12:00:00 +0200</lastBuildDate><atom:link href="https://cs.lozic.me/areas/software-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Conway's Law</title><link>https://cs.lozic.me/posts/t089-conways-law/</link><pubDate>Fri, 23 Oct 2026 12:00:00 +0200</pubDate><guid>https://cs.lozic.me/posts/t089-conways-law/</guid><description>&lt;h2 id="symptom"&gt;Symptom&lt;/h2&gt;
&lt;p&gt;The service has four layers. Nobody designed four layers. There were four teams.&lt;/p&gt;
&lt;p&gt;Or the version that arrives in a postmortem: the outage happened at the boundary
between two services, in the retry logic, because each side assumed the other
owned the deduplication. Both teams were right about their own component and
neither had ever been in a room with the other.&lt;/p&gt;</description></item><item><title>Hyrum's Law and Postel's Principle</title><link>https://cs.lozic.me/posts/t091-hyrums-law-and-postels-principle/</link><pubDate>Fri, 11 Sep 2026 12:00:00 +0200</pubDate><guid>https://cs.lozic.me/posts/t091-hyrums-law-and-postels-principle/</guid><description>&lt;h2 id="symptom"&gt;Symptom&lt;/h2&gt;
&lt;p&gt;You fix a typo in an error message. Four days later a customer escalates:
their alerting pipeline greps for the old string and has gone quiet.&lt;/p&gt;
&lt;p&gt;Or you make a function faster, and a test suite that had been green for two years
starts failing intermittently — not because the function is wrong, but because
it used to be slow enough to hide a race.&lt;/p&gt;</description></item></channel></rss>