<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Systems-Thinking on Panditha</title>
    <link>https://panditha.com/tags/systems-thinking/</link>
    <description>Recent content in Systems-Thinking on Panditha</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sun, 10 May 2026 11:17:41 +1000</lastBuildDate>
    <atom:link href="https://panditha.com/tags/systems-thinking/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Solve for Failure</title>
      <link>https://panditha.com/posts/solve-for-failure/</link>
      <pubDate>Sun, 10 May 2026 11:17:41 +1000</pubDate>
      <guid>https://panditha.com/posts/solve-for-failure/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s a pattern I keep seeing when mentoring engineers, and it comes down to a single question: what are you solving for?&lt;/p&gt;&#xA;&lt;p&gt;An enthusiastic engineer picks up a complex problem and dives straight into a solution. They&amp;rsquo;re energised, they&amp;rsquo;re building, they&amp;rsquo;re making progress. Or at least it looks like progress. But the solution has gaps they can&amp;rsquo;t see yet. It won&amp;rsquo;t handle failure gracefully. It hasn&amp;rsquo;t accounted for what production will actually do to it. They can&amp;rsquo;t smell what&amp;rsquo;s off because they haven&amp;rsquo;t been burned by those smells before. Then there&amp;rsquo;s the engineer who pauses. They ask uncomfortable questions. They poke at edges. They&amp;rsquo;ve seen enough things break in production to know that the interesting part of engineering isn&amp;rsquo;t making something work. It&amp;rsquo;s understanding how it will fail. The difference between these two engineers isn&amp;rsquo;t talent or enthusiasm. It&amp;rsquo;s their default assumption.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When Flexibility Becomes a Platform Problem</title>
      <link>https://panditha.com/posts/when-flexibility-is-a-problem/</link>
      <pubDate>Sat, 14 Mar 2026 11:43:26 +1100</pubDate>
      <guid>https://panditha.com/posts/when-flexibility-is-a-problem/</guid>
      <description>&lt;p&gt;Recently I reviewed a piece of infrastructure code written by another engineer on our platform team. The implementation itself was good. It was clean, structured, and clearly thought through. The engineer had designed the system in a way that allowed a high degree of flexibility so that different configurations could be defined through variables. From a software engineering perspective, this was a solid approach. Flexible systems are often considered good design because they can adapt to many situations and avoid making assumptions too early. However, as I looked at the design more closely, something about it felt wrong. The issue was not with the code itself, but with the interface it created for the platform. That moment highlighted an important distinction that is easy to miss: the difference between building libraries and building platforms.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
