<?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>Lessons-Learned on Joshua Antony | Tech Blog</title><link>https://blogs.joshuaantony.com/tags/lessons-learned/</link><description>Recent content in Lessons-Learned on Joshua Antony | Tech Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 06 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blogs.joshuaantony.com/tags/lessons-learned/index.xml" rel="self" type="application/rss+xml"/><item><title>What Oracle ATG Got Right (And Wrong): Lessons from a Legacy Commerce Platform</title><link>https://blogs.joshuaantony.com/posts/atg-lessons-learned/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><guid>https://blogs.joshuaantony.com/posts/atg-lessons-learned/</guid><description>Oracle ATG Commerce is legacy now, but its Nucleus component model, immutable repository items, and config layering were ahead of their time. Its distributed locking, custom messaging, and datasource switching were not. A reflection on what held up and what didn&amp;rsquo;t.</description></item></channel></rss>