<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Angular Engineering - Medium]]></title>
        <description><![CDATA[Real-world Angular architecture, performance optimization, scalable frontend systems, and engineering practices for modern developers. - Medium]]></description>
        <link>https://medium.com/angular-engineering?source=rss----e6e0fb72833d---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Angular Engineering - Medium</title>
            <link>https://medium.com/angular-engineering?source=rss----e6e0fb72833d---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 07 Oct 2026 07:06:52 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/angular-engineering" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Stop Turning Angular App Startup Into a Feature Initialization Pipeline]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-turning-angular-app-startup-into-a-feature-initialization-pipeline-958b7c966ebc?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*gk7oTpFHZtdPzIO5J-io-w.png" width="1672"></a></p><p class="medium-feed-snippet">Your application should bootstrap the platform essentials &#x2014; not preload every feature, permission, lookup, and business workflow before&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-turning-angular-app-startup-into-a-feature-initialization-pipeline-958b7c966ebc?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-turning-angular-app-startup-into-a-feature-initialization-pipeline-958b7c966ebc?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/958b7c966ebc</guid>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[frontend-architecture]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[performance]]></category>
            <category><![CDATA[angular]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Tue, 06 Oct 2026 17:09:11 GMT</pubDate>
            <atom:updated>2026-10-06T17:09:10.033Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Building One Giant computed() View Model for Your Entire Angular Page]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-building-one-giant-computed-view-model-for-your-entire-angular-page-c7ff41b726a4?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*r6cw7vI1uelYOQUEw772-w.png" width="1672"></a></p><p class="medium-feed-snippet">computed() is powerful, but one massive page-level view model can make unrelated UI regions depend on the same reactive graph.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-building-one-giant-computed-view-model-for-your-entire-angular-page-c7ff41b726a4?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-building-one-giant-computed-view-model-for-your-entire-angular-page-c7ff41b726a4?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/c7ff41b726a4</guid>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[software-architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Sat, 03 Oct 2026 15:56:11 GMT</pubDate>
            <atom:updated>2026-10-06T17:30:05.262Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Turning Every Angular Service Into a BehaviorSubject Store]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-turning-every-angular-service-into-a-behaviorsubject-store-3ea1e6ac7638?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*CKPyX9nWraquvgtghe4Ayg.png" width="1672"></a></p><p class="medium-feed-snippet">BehaviorSubject is a great RxJS primitive. It should not automatically become your feature state architecture.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-turning-every-angular-service-into-a-behaviorsubject-store-3ea1e6ac7638?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-turning-every-angular-service-into-a-behaviorsubject-store-3ea1e6ac7638?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/3ea1e6ac7638</guid>
            <category><![CDATA[rxjs]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[state-management]]></category>
            <category><![CDATA[angular-signals]]></category>
            <category><![CDATA[angular]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Thu, 01 Oct 2026 15:30:24 GMT</pubDate>
            <atom:updated>2026-10-02T04:45:18.760Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Passing Entire Domain Models Into Reusable Angular Components]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-passing-entire-domain-models-into-reusable-angular-components-5fe5fc957303?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*UxQhi6bHzCcf8p49uerSEQ.png" width="1672"></a></p><p class="medium-feed-snippet">A reusable component should depend on the smallest UI contract it needs &#x2014; not inherit your entire business domain.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-passing-entire-domain-models-into-reusable-angular-components-5fe5fc957303?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-passing-entire-domain-models-into-reusable-angular-components-5fe5fc957303?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/5fe5fc957303</guid>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[angular-architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Sat, 26 Sep 2026 17:06:58 GMT</pubDate>
            <atom:updated>2026-09-28T16:04:49.913Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Putting Every Piece of Angular State Into NgRx]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-putting-every-piece-of-angular-state-into-ngrx-55e8a47c34bc?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*gJ592zIZJLLzdTZ6iFVlsA.png" width="1672"></a></p><p class="medium-feed-snippet">Global state is useful when the state is truly global. Most application state is not.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-putting-every-piece-of-angular-state-into-ngrx-55e8a47c34bc?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-putting-every-piece-of-angular-state-into-ngrx-55e8a47c34bc?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/55e8a47c34bc</guid>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[ngrx]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[software-architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Fri, 25 Sep 2026 07:31:08 GMT</pubDate>
            <atom:updated>2026-09-26T17:24:59.084Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Hiding HttpClient Behind a Generic Angular ApiService]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-hiding-httpclient-behind-a-generic-angular-apiservice-0d680c7eb80f?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*x5E5j9jVxBCoUVbFLZPrZQ.png" width="1672"></a></p><p class="medium-feed-snippet">A wrapper that only renames get(), post(), and put() does not create architecture. It often hides it.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-hiding-httpclient-behind-a-generic-angular-apiservice-0d680c7eb80f?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-hiding-httpclient-behind-a-generic-angular-apiservice-0d680c7eb80f?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/0d680c7eb80f</guid>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Thu, 17 Sep 2026 13:34:51 GMT</pubDate>
            <atom:updated>2026-09-19T15:26:12.700Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Letting Angular Components Orchestrate Business Workflows]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-letting-angular-components-orchestrate-business-workflows-68d2a54300be?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*6vj_YjRUsIf7L4EOM3NfRA.png" width="1672"></a></p><p class="medium-feed-snippet">Your component should start a workflow and render its state &#x2014; not coordinate five services in the correct business order.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-letting-angular-components-orchestrate-business-workflows-68d2a54300be?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-letting-angular-components-orchestrate-business-workflows-68d2a54300be?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/68d2a54300be</guid>
            <category><![CDATA[rxjs]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[angular-architecture]]></category>
            <category><![CDATA[architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Fri, 11 Sep 2026 15:37:20 GMT</pubDate>
            <atom:updated>2026-09-16T16:28:12.873Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Using shareReplay(1) as Your Angular Cache]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-using-sharereplay-1-as-your-angular-cache-4994fd52f68b?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*nQgUgrtOr8Tf2SGXLRZGQw.png" width="1672"></a></p><p class="medium-feed-snippet">Sharing one HTTP request is useful. Pretending that makes your Observable a complete caching strategy is where the trouble starts.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-using-sharereplay-1-as-your-angular-cache-4994fd52f68b?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-using-sharereplay-1-as-your-angular-cache-4994fd52f68b?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/4994fd52f68b</guid>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[state-management]]></category>
            <category><![CDATA[rxjs]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[angular-architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Tue, 08 Sep 2026 16:20:48 GMT</pubDate>
            <atom:updated>2026-09-10T16:30:55.702Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Treating Lazy Loading as Your Angular Feature Architecture]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-treating-lazy-loading-as-your-angular-feature-architecture-9725186aa088?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*FAn2-iueDboxPxxZsmy8qw.png" width="1672"></a></p><p class="medium-feed-snippet">A lazy-loaded route controls when code is downloaded. It does not automatically create a clean feature boundary.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-treating-lazy-loading-as-your-angular-feature-architecture-9725186aa088?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-treating-lazy-loading-as-your-angular-feature-architecture-9725186aa088?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/9725186aa088</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Mon, 07 Sep 2026 15:54:31 GMT</pubDate>
            <atom:updated>2026-09-09T14:14:49.143Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Keeping Shareable Angular State Trapped Inside Your Components]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-keeping-shareable-angular-state-trapped-inside-your-components-dae4b54e5ebe?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*WZRWhr_jUns1U9WguLqpxA.png" width="1672"></a></p><p class="medium-feed-snippet">If users expect refresh, back/forward, bookmarks, or shared links to preserve state, that state may belong in the URL &#x2014; not only in a&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-keeping-shareable-angular-state-trapped-inside-your-components-dae4b54e5ebe?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-keeping-shareable-angular-state-trapped-inside-your-components-dae4b54e5ebe?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/dae4b54e5ebe</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Sun, 06 Sep 2026 05:13:00 GMT</pubDate>
            <atom:updated>2026-09-07T15:56:50.041Z</atom:updated>
        </item>
    </channel>
</rss>