<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.leonpennings.com</loc>
    <lastmod>2026-04-07T12:16:17.940Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/when-distribution-becomes-a-substitute-for-design-and-fails</loc>
    <lastmod>2026-04-07T08:40:03.895Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/rich-domain-models-start-with-what-is-not-what-happens</loc>
    <lastmod>2026-04-04T10:15:52.717Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/your-software-development-approach-is-too-expensive-and-too-brittle</loc>
    <lastmod>2026-04-02T08:12:24.849Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/when-ci-cd-becomes-the-goal-the-quiet-erosion-of-engineering-ownership</loc>
    <lastmod>2026-03-30T06:01:30.217Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/software-testing-you-re-probably-doing-it-wrong</loc>
    <lastmod>2026-03-26T08:23:36.023Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-mirror-and-the-machine-reclaiming-scrum-refinement-in-the-age-of-ai</loc>
    <lastmod>2026-03-24T07:49:33.066Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/less-code-lost-meaning-why-boilerplate-reduction-misses-the-point</loc>
    <lastmod>2026-03-20T07:43:56.623Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-illusion-of-progress-why-tooling-can-t-replace-engineering</loc>
    <lastmod>2026-03-18T14:07:59.371Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-ghostwriter-the-house-builder-and-the-missing-domain-model-walk-into-a-bar</loc>
    <lastmod>2026-03-16T06:54:39.342Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-two-levels-of-software-development-and-why-most-enterprise-applications-fail-over-time</loc>
    <lastmod>2026-03-10T07:38:14.796Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/how-to-recognize-an-effective-software-engineer</loc>
    <lastmod>2026-03-05T08:53:23.656Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-do-you-need-a-rich-domain-model-that-s-old-school-and-not-modern</loc>
    <lastmod>2026-03-02T09:23:55.887Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/a-practical-guide-to-ai-code-generation</loc>
    <lastmod>2026-02-26T07:15:05.335Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-risk-of-ivory-tower-software-development-and-why-ai-amplifies-it</loc>
    <lastmod>2026-02-23T07:51:27.641Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/preventing-conflicting-business-logic-in-growing-software-systems</loc>
    <lastmod>2026-02-21T09:02:00.369Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/using-acid-properties-as-a-simplicity-litmus-test</loc>
    <lastmod>2026-02-15T19:01:50.254Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-singleton-reality-why-it-works-is-not-evidence-of-good-engineering</loc>
    <lastmod>2026-02-02T13:21:38.787Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-integration-tax-why-distributed-systems-hide-the-truth-until-its-too-late</loc>
    <lastmod>2026-01-27T13:33:02.747Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-silent-profit-killer-why-high-cognitive-load-is-harming-your-software-development</loc>
    <lastmod>2026-01-22T07:23:47.425Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/cve-2026-0603-hibernate-security-issue-should-you-be-worried</loc>
    <lastmod>2026-01-20T06:32:48.512Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/modern-software-architectures-made-simple-when-to-use-what</loc>
    <lastmod>2026-01-18T10:30:34.159Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/from-values-to-meaning-getting-more-from-java-enums-with-rich-domain-modeling</loc>
    <lastmod>2026-01-13T07:44:13.302Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/clean-architecture-and-clean-code-what-does-that-really-mean</loc>
    <lastmod>2026-01-09T09:55:53.177Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/architecture-in-it-its-a-verb-not-a-job-title</loc>
    <lastmod>2026-01-05T11:33:36.540Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-blind-dependency-updates-are-costing-java-teams-more-than-they-save</loc>
    <lastmod>2026-01-04T10:43:27.836Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/when-architecture-inverts-complexity-how-cqrs-and-event-driven-architectures-undermine-scalable-domain-models</loc>
    <lastmod>2025-12-31T15:19:22.264Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/engineering-from-first-principles-why-software-architecture-must-start-with-the-domain</loc>
    <lastmod>2025-12-29T07:52:29.460Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-rich-domain-models-are-key-to-sustainable-enterprise-architecture</loc>
    <lastmod>2025-12-26T09:15:07.749Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/it-should-stop-cork-sniffing-tools-and-get-back-to-engineering-basics</loc>
    <lastmod>2025-12-22T08:28:35.493Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/scheduling-is-a-domain-problem-not-a-framework-problem</loc>
    <lastmod>2025-12-19T08:53:36.894Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-we-measure-everything-in-software-except-the-one-thing-that-matters-most</loc>
    <lastmod>2025-12-16T19:33:48.007Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/how-to-build-long-living-software-systems</loc>
    <lastmod>2025-12-14T17:52:28.837Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/java-records-a-liability-in-disguise-not-the-asset-they-promise</loc>
    <lastmod>2025-12-12T09:10:06.895Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/smarter-software-architecture-builds-smarter-teams</loc>
    <lastmod>2025-12-09T18:55:36.253Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/dependency-injection-the-anti-pattern-that-killed-object-oriented-design-and-won</loc>
    <lastmod>2025-12-08T08:43:05.418Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/merge-requests-are-a-cargo-cult</loc>
    <lastmod>2025-12-04T09:32:41.929Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-it-is-an-expensive-mess-and-why-nobody-inside-it-notices</loc>
    <lastmod>2025-12-01T07:16:02.396Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-lombok-isnt-saving-you-code-its-costing-you-a-design</loc>
    <lastmod>2025-11-28T13:03:51.638Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/still-reaching-for-spring</loc>
    <lastmod>2025-11-26T12:23:51.578Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-tdd-trap-how-test-first-becomes-bad-design-forever-in-most-teams</loc>
    <lastmod>2025-11-26T07:55:33.888Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/rich-domain-model-monoliths-vs-modern-architectures-are-you-rich-enough-to-go-modern</loc>
    <lastmod>2025-11-24T13:43:14.804Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/software-engineering-forgot-about-kiss</loc>
    <lastmod>2025-11-20T08:34:51.412Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/adaptability-as-the-core-of-software-design</loc>
    <lastmod>2025-11-14T06:57:43.405Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-core-principle-behind-every-article-here-understanding-before-building</loc>
    <lastmod>2025-11-14T06:56:05.945Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-real-cost-of-modern-software-development-and-why-we-keep-paying-it</loc>
    <lastmod>2025-11-12T09:23:32.221Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/improve-your-application-quality-and-stability-heres-how-we-lost-focus-and-how-to-get-it-back</loc>
    <lastmod>2025-11-10T07:36:35.622Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-software-development-is-not-assembly-line-work</loc>
    <lastmod>2025-11-06T08:18:52.668Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/tell-me-why-my-design-will-fail</loc>
    <lastmod>2025-11-05T07:57:02.760Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-hidden-economics-of-development-approaches-framework-driven-vs-domain-driven</loc>
    <lastmod>2025-11-04T17:37:27.174Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-duplication-paradox-how-to-master-maintenance-and-expedite-knowledge-transfer</loc>
    <lastmod>2025-11-04T17:35:34.202Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/how-to-apply-object-orientation-to-non-entities-implementing-the-interaction-in-your-business-model</loc>
    <lastmod>2025-11-04T17:32:40.239Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/steve-jobs-lesson-for-software-architecture-experience-first-technology-second</loc>
    <lastmod>2025-11-04T17:30:12.825Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/from-continuous-inspection-back-to-continuous-integration-amplify-your-development-teams</loc>
    <lastmod>2025-11-04T17:28:05.727Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-hidden-costs-of-treating-software-development-as-assembly-line-work</loc>
    <lastmod>2025-11-04T17:25:58.865Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-enterprises-should-rethink-javascript-frameworks-and-look-at-gwt-again</loc>
    <lastmod>2025-11-04T17:24:06.751Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-gwt-remains-the-most-coherent-ui-framework-for-a-java-backend</loc>
    <lastmod>2025-11-04T17:22:00.867Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-difficulty-of-designing-it-architecture-lessons-from-the-boat-joke</loc>
    <lastmod>2025-11-04T17:19:31.889Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/keep-tech-debt-below-10-is-easy-heres-how</loc>
    <lastmod>2025-11-04T17:17:21.409Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/from-low-code-to-full-code-task-oriented-vs-thought-oriented-teams-in-software-development</loc>
    <lastmod>2025-11-04T17:14:25.418Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/object-oriented-development-in-practice-modeling-system-responsibilities</loc>
    <lastmod>2025-11-04T14:56:25.919Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-toyota-way-and-software-development</loc>
    <lastmod>2025-11-04T14:31:55.731Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/quality-in-software-engineering-its-not-what-you-think-part-8-ignoring-the-boat</loc>
    <lastmod>2025-11-04T13:21:14.421Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/seeing-the-boat-part-7-unlocking-the-hidden-power-of-domain-knowledge</loc>
    <lastmod>2025-11-04T13:17:59.544Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/when-functional-pipelines-meet-domain-objects-part-6-an-example</loc>
    <lastmod>2025-11-04T13:04:42.872Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/enterprise-frameworks-vs-enterprise-software-part-5-the-semantic-shift-and-its-impact</loc>
    <lastmod>2025-11-04T13:01:43.922Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/overcoming-resistance-part-4-recognizing-the-japanese-boat-in-a-dutch-world</loc>
    <lastmod>2025-11-04T12:58:18.770Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/coping-vs-improving-in-software-engineering-part-3-the-path-to-the-japanese-boat</loc>
    <lastmod>2025-11-04T12:52:59.382Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/the-intertwinement-of-science-and-engineering-in-software-development-part-2-discovering-the-japanese-boat</loc>
    <lastmod>2025-11-04T11:34:03.892Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/why-development-speed-defines-software-quality-part-1-lessons-from-a-rowing-team</loc>
    <lastmod>2025-11-04T10:59:29.973Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/archive</loc>
    <lastmod>2026-04-07T12:16:17.940Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.leonpennings.com/recommendations</loc>
    <lastmod>2026-04-07T12:16:17.940Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>