<?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>Fri, 13 Nov 2026 20:16:11 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 Converting Every Angular Observable Into a Signal]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-converting-every-angular-observable-into-a-signal-f560cf7c8f4c?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1200/1*GRhlb4A_Ov4HD3fcXRdXpA.jpeg" width="1200"></a></p><p class="medium-feed-snippet">toSignal() is a bridge between RxJS and Signals &#x2014; not a migration strategy for turning every asynchronous stream into application state.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-converting-every-angular-observable-into-a-signal-f560cf7c8f4c?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-converting-every-angular-observable-into-a-signal-f560cf7c8f4c?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/f560cf7c8f4c</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[frontend-architecture]]></category>
            <category><![CDATA[angular-signals]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[rxjs]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Fri, 13 Nov 2026 17:43:35 GMT</pubDate>
            <atom:updated>2026-11-13T17:43:33.841Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Importing Angular environment Directly Into Every Feature]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-importing-angular-environment-directly-into-every-feature-935eb7b25905?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*ffZGiZXIL9gu011Zj_ZYwg.png" width="1672"></a></p><p class="medium-feed-snippet">Environment configuration is infrastructure. Your Orders, Payments, and Customer features should not know how deployment configuration is&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-importing-angular-environment-directly-into-every-feature-935eb7b25905?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-importing-angular-environment-directly-into-every-feature-935eb7b25905?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/935eb7b25905</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[dependency-injection]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[frontend-architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Mon, 09 Nov 2026 06:50:17 GMT</pubDate>
            <atom:updated>2026-11-09T06:50:14.537Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Turning One Angular Feature Store Into the State Owner for Every Screen]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-turning-one-angular-feature-store-into-the-state-owner-for-every-screen-631c92fabaaa?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*vDMIoqTAVXbyZthoB6kqvQ.png" width="1672"></a></p><p class="medium-feed-snippet">A feature store should own cohesive state &#x2014; not become a permanent container for every page, dialog, filter, workflow, and temporary&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-turning-one-angular-feature-store-into-the-state-owner-for-every-screen-631c92fabaaa?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-turning-one-angular-feature-store-into-the-state-owner-for-every-screen-631c92fabaaa?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/631c92fabaaa</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[angular-architecture]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[software-architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Sat, 07 Nov 2026 17:28:44 GMT</pubDate>
            <atom:updated>2026-11-07T17:28:41.565Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Hiding Shareable Angular State Inside Components and Stores]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-hiding-shareable-angular-state-inside-components-and-stores-3ab3c9a04f28?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*HtFeJs8KguE8ECAXv8Wo2w.png" width="1672"></a></p><p class="medium-feed-snippet">If refreshing the browser, pressing Back, or sharing the URL should preserve a state, your Angular component may not be the right owner.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-hiding-shareable-angular-state-inside-components-and-stores-3ab3c9a04f28?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-hiding-shareable-angular-state-inside-components-and-stores-3ab3c9a04f28?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/3ab3c9a04f28</guid>
            <category><![CDATA[angular-router]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[state-management]]></category>
            <category><![CDATA[frontend-architecture]]></category>
            <category><![CDATA[angular-architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Sat, 07 Nov 2026 03:18:47 GMT</pubDate>
            <atom:updated>2026-11-07T03:18:45.983Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Refreshing Everything After Every Angular Mutation]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-refreshing-everything-after-every-angular-mutation-2d2b6d68d8db?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*YKyPzdzb0fbT0c4DOSKGqw.png" width="1672"></a></p><p class="medium-feed-snippet">If every save, approve, delete, or update triggers a full feature reload, you do not have a cache strategy &#x2014; you have a reset button.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-refreshing-everything-after-every-angular-mutation-2d2b6d68d8db?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-refreshing-everything-after-every-angular-mutation-2d2b6d68d8db?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/2d2b6d68d8db</guid>
            <category><![CDATA[angular-architecture]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[frontend-architecture]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[caching]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Sun, 01 Nov 2026 16:10:42 GMT</pubDate>
            <atom:updated>2026-11-09T08:37:45.408Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Storing Backend DTOs Directly in Your Angular Feature State]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-storing-backend-dtos-directly-in-your-angular-feature-state-233a9ad9c28e?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*_yt6aqaIulqsjuiHCLghtQ.png" width="1672"></a></p><p class="medium-feed-snippet">Your backend response shape is a transport contract. It should not automatically become your Angular domain model, store state, and UI&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-storing-backend-dtos-directly-in-your-angular-feature-state-233a9ad9c28e?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-storing-backend-dtos-directly-in-your-angular-feature-state-233a9ad9c28e?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/233a9ad9c28e</guid>
            <category><![CDATA[typescript]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[angular-architecture]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[angular]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Thu, 29 Oct 2026 15:37:28 GMT</pubDate>
            <atom:updated>2026-11-02T16:06:56.264Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Turning Your Angular Shared Library Into a Dumping Ground]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-turning-your-angular-shared-library-into-a-dumping-ground-53ec49b8fd09?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*A9WE80RnrkFXSIATT3JQqw.png" width="1672"></a></p><p class="medium-feed-snippet">shared/ should contain truly reusable building blocks &#x2014; not become the place where code goes when nobody knows who owns it.</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-turning-your-angular-shared-library-into-a-dumping-ground-53ec49b8fd09?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-turning-your-angular-shared-library-into-a-dumping-ground-53ec49b8fd09?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/53ec49b8fd09</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[angular-architecture]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Tue, 27 Oct 2026 16:36:21 GMT</pubDate>
            <atom:updated>2026-10-30T17:29:38.484Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Using a Global Event Bus to Make Angular Features Talk to Each Other]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-using-a-global-event-bus-to-make-angular-features-talk-to-each-other-8e728df25770?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*vYgL0ujwGRBR_NW5s41WUg.png" width="1672"></a></p><p class="medium-feed-snippet">An application-wide Subject feels loosely coupled &#x2014; until nobody knows who emits an event, who reacts to it, or what else will break when&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-using-a-global-event-bus-to-make-angular-features-talk-to-each-other-8e728df25770?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-using-a-global-event-bus-to-make-angular-features-talk-to-each-other-8e728df25770?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/8e728df25770</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[frontend-architecture]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Mon, 26 Oct 2026 17:22:57 GMT</pubDate>
            <atom:updated>2026-10-29T16:56:22.736Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Letting Every Angular Feature Invent Its Own Error Handling]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-letting-every-angular-feature-invent-its-own-error-handling-1603d74d4ece?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*4TZkPpoPsUf9emAUVhPJAA.png" width="1672"></a></p><p class="medium-feed-snippet">When every component, store, interceptor, and service handles failures differently, your application does not have error handling &#x2014; it has&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-letting-every-angular-feature-invent-its-own-error-handling-1603d74d4ece?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-letting-every-angular-feature-invent-its-own-error-handling-1603d74d4ece?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/1603d74d4ece</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[error-handling]]></category>
            <category><![CDATA[front-end-development]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Sun, 25 Oct 2026 09:25:25 GMT</pubDate>
            <atom:updated>2026-10-28T15:08:56.030Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Using One loading Boolean for Your Entire Angular Feature]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/angular-engineering/stop-using-one-loading-boolean-for-your-entire-angular-feature-e9b5ed657dfe?source=rss----e6e0fb72833d---4"><img src="https://cdn-images-1.medium.com/max/1672/1*z8qCk0ktfxWSCvEodk7CWw.png" width="1672"></a></p><p class="medium-feed-snippet">A single loading flag looks simple &#x2014; until one screen has initial load, refresh, save, delete, export, and background requests happening&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/angular-engineering/stop-using-one-loading-boolean-for-your-entire-angular-feature-e9b5ed657dfe?source=rss----e6e0fb72833d---4">Continue reading on Angular Engineering »</a></p></div>]]></description>
            <link>https://medium.com/angular-engineering/stop-using-one-loading-boolean-for-your-entire-angular-feature-e9b5ed657dfe?source=rss----e6e0fb72833d---4</link>
            <guid isPermaLink="false">https://medium.com/p/e9b5ed657dfe</guid>
            <category><![CDATA[angular-architecture]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[frontend-architecture]]></category>
            <category><![CDATA[state-management]]></category>
            <category><![CDATA[software-architecture]]></category>
            <dc:creator><![CDATA[Dipak Ahirav]]></dc:creator>
            <pubDate>Wed, 21 Oct 2026 14:51:12 GMT</pubDate>
            <atom:updated>2026-10-24T03:20:20.924Z</atom:updated>
        </item>
    </channel>
</rss>