<?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[Stories by Ade Mawan on Medium]]></title>
        <description><![CDATA[Stories by Ade Mawan on Medium]]></description>
        <link>https://medium.com/@ademawan?source=rss-174b8a6c9279------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*tSfe0d6PZs1jur9_iSXRjQ.jpeg</url>
            <title>Stories by Ade Mawan on Medium</title>
            <link>https://medium.com/@ademawan?source=rss-174b8a6c9279------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 05 Nov 2026 06:01:33 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@ademawan/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[The Cost of Abstraction: When to Break SOLID Rules in High-Performance Go]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ademawan.medium.com/the-cost-of-abstraction-when-to-break-solid-rules-in-high-performance-go-dbe35622b459?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*_wSU6rvNzJGTsJll" width="6000"></a></p><p class="medium-feed-snippet">We obsess over clean architecture &#x2014; and pay the price in latency. Here is when to choose raw speed instead.</p><p class="medium-feed-link"><a href="https://ademawan.medium.com/the-cost-of-abstraction-when-to-break-solid-rules-in-high-performance-go-dbe35622b459?source=rss-174b8a6c9279------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://ademawan.medium.com/the-cost-of-abstraction-when-to-break-solid-rules-in-high-performance-go-dbe35622b459?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/dbe35622b459</guid>
            <category><![CDATA[solid-principles]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[golang]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Sat, 31 Oct 2026 16:09:19 GMT</pubDate>
            <atom:updated>2026-10-31T16:09:19.172Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[The Developer’s Urgent Checklist for Recent PHP Vulnerabilities IN 2026]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ademawan.medium.com/the-developers-urgent-checklist-for-recent-php-vulnerabilities-in-2026-d15264796876?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*Ez7EaRmY8p6k_Djc" width="4896"></a></p><p class="medium-feed-snippet">Think your PHP stack is secure? These fresh 2026 exploits say otherwise &#x2014; here is your emergency security checklist.</p><p class="medium-feed-link"><a href="https://ademawan.medium.com/the-developers-urgent-checklist-for-recent-php-vulnerabilities-in-2026-d15264796876?source=rss-174b8a6c9279------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://ademawan.medium.com/the-developers-urgent-checklist-for-recent-php-vulnerabilities-in-2026-d15264796876?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/d15264796876</guid>
            <category><![CDATA[php]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[vulnerability]]></category>
            <category><![CDATA[information-security]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Mon, 26 Oct 2026 04:25:16 GMT</pubDate>
            <atom:updated>2026-10-26T04:25:16.354Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[When Clean Architecture Meets DDD: Where Do We Draw the Line?]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://levelup.gitconnected.com/when-clean-architecture-meets-ddd-where-do-we-draw-the-line-7ffd33a8b1f4?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*GCRruGw15amSCYja" width="4846"></a></p><p class="medium-feed-snippet">Clean Architecture and DDD explained together &#x2014; finally clear, practical, and with real code examples.</p><p class="medium-feed-link"><a href="https://levelup.gitconnected.com/when-clean-architecture-meets-ddd-where-do-we-draw-the-line-7ffd33a8b1f4?source=rss-174b8a6c9279------2">Continue reading on Level Up Coding »</a></p></div>]]></description>
            <link>https://levelup.gitconnected.com/when-clean-architecture-meets-ddd-where-do-we-draw-the-line-7ffd33a8b1f4?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/7ffd33a8b1f4</guid>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[clean-architecture]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[golang]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Fri, 28 Aug 2026 17:23:58 GMT</pubDate>
            <atom:updated>2026-08-28T17:23:58.384Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop Writing Code First: Why Great Engineers Start with a Failing Test]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ademawan.medium.com/stop-writing-code-first-why-great-engineers-start-with-a-failing-test-8187f8076fff?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*NntySIPrbHiPbsw1" width="4846"></a></p><p class="medium-feed-snippet">Think TDD is just about testing? Think again. Here is how writing a failing test first actually builds bulletproof software design.</p><p class="medium-feed-link"><a href="https://ademawan.medium.com/stop-writing-code-first-why-great-engineers-start-with-a-failing-test-8187f8076fff?source=rss-174b8a6c9279------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://ademawan.medium.com/stop-writing-code-first-why-great-engineers-start-with-a-failing-test-8187f8076fff?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/8187f8076fff</guid>
            <category><![CDATA[best-practices]]></category>
            <category><![CDATA[tdd]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Thu, 27 Aug 2026 07:27:26 GMT</pubDate>
            <atom:updated>2026-08-27T07:27:26.033Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[I Tried 3 API Client Designs for Handling External API Calls in Go with Clean Architecture]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://levelup.gitconnected.com/i-tried-3-api-client-designs-for-handling-external-api-calls-in-go-with-clean-architecture-68246a2e5992?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*nc9CZFR3v1QYMi4J" width="4846"></a></p><p class="medium-feed-snippet">I tried 3 ways to structure external API calls in Go &#x2014; only one of them survives Clean Architecture.</p><p class="medium-feed-link"><a href="https://levelup.gitconnected.com/i-tried-3-api-client-designs-for-handling-external-api-calls-in-go-with-clean-architecture-68246a2e5992?source=rss-174b8a6c9279------2">Continue reading on Level Up Coding »</a></p></div>]]></description>
            <link>https://levelup.gitconnected.com/i-tried-3-api-client-designs-for-handling-external-api-calls-in-go-with-clean-architecture-68246a2e5992?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/68246a2e5992</guid>
            <category><![CDATA[best-practices]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[golang]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Fri, 14 Aug 2026 14:29:34 GMT</pubDate>
            <atom:updated>2026-08-14T14:29:34.388Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[I Tried Repository Pattern in Clean Architecture with Go — Here’s What I’d Do Differently]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ademawan.medium.com/i-tried-repository-pattern-in-clean-architecture-with-go-heres-what-i-d-do-differently-534dae0a9518?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*r7k5wYdXpmoIWiXz" width="4048"></a></p><p class="medium-feed-snippet">I implemented Repository Pattern in Go the wrong way first &#x2014; here&#x2019;s exactly what I&#x2019;d change and why it matters.</p><p class="medium-feed-link"><a href="https://ademawan.medium.com/i-tried-repository-pattern-in-clean-architecture-with-go-heres-what-i-d-do-differently-534dae0a9518?source=rss-174b8a6c9279------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://ademawan.medium.com/i-tried-repository-pattern-in-clean-architecture-with-go-heres-what-i-d-do-differently-534dae0a9518?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/534dae0a9518</guid>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[clean-architecture]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Sat, 08 Aug 2026 11:33:09 GMT</pubDate>
            <atom:updated>2026-08-09T23:38:04.095Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[I Tried 3 ORMs in Go (and No ORM) — Here’s the Only One I’d Recommend]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ademawan.medium.com/i-tried-3-orms-in-go-and-no-orm-heres-the-only-one-i-d-recommend-bfef0e09d7fe?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*Hozn-zEkYEg5y0Aa" width="4846"></a></p><p class="medium-feed-snippet">I benchmarked GORM, ent, sqlx, and raw SQL in Go &#x2014; here&#x2019;s the ORM that actually earned my trust, and why.</p><p class="medium-feed-link"><a href="https://ademawan.medium.com/i-tried-3-orms-in-go-and-no-orm-heres-the-only-one-i-d-recommend-bfef0e09d7fe?source=rss-174b8a6c9279------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://ademawan.medium.com/i-tried-3-orms-in-go-and-no-orm-heres-the-only-one-i-d-recommend-bfef0e09d7fe?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/bfef0e09d7fe</guid>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[sql]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Tue, 04 Aug 2026 03:39:28 GMT</pubDate>
            <atom:updated>2026-08-04T03:39:28.901Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[I Stopped Writing db: Tags in Go — Here’s What I Use Instead]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ademawan.medium.com/i-stopped-writing-db-tags-in-go-heres-what-i-use-instead-31b164c19768?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*5m9rlEEGN0h6h7RG" width="4048"></a></p><p class="medium-feed-snippet">sqlc generates type-safe Go code from your SQL queries &#x2014; no struct tags, no manual scanning, no runtime mismatches.</p><p class="medium-feed-link"><a href="https://ademawan.medium.com/i-stopped-writing-db-tags-in-go-heres-what-i-use-instead-31b164c19768?source=rss-174b8a6c9279------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://ademawan.medium.com/i-stopped-writing-db-tags-in-go-heres-what-i-use-instead-31b164c19768?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/31b164c19768</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[best-practices]]></category>
            <category><![CDATA[golang]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Mon, 03 Aug 2026 09:12:42 GMT</pubDate>
            <atom:updated>2026-08-03T09:12:42.440Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Interfaces Everywhere vs Interfaces Where Needed: A Go Architecture Experiment]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ademawan.medium.com/interfaces-everywhere-vs-interfaces-where-needed-a-go-architecture-experiment-5410270d5c96?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*3eGHImKzS8nN4Knx" width="4846"></a></p><p class="medium-feed-snippet">A hands-on Go experiment comparing interfaces-everywhere against interfaces-where-needed &#x2014; the results might change how you code.</p><p class="medium-feed-link"><a href="https://ademawan.medium.com/interfaces-everywhere-vs-interfaces-where-needed-a-go-architecture-experiment-5410270d5c96?source=rss-174b8a6c9279------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://ademawan.medium.com/interfaces-everywhere-vs-interfaces-where-needed-a-go-architecture-experiment-5410270d5c96?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/5410270d5c96</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[coding]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Thu, 30 Jul 2026 12:41:23 GMT</pubDate>
            <atom:updated>2026-07-30T12:41:23.415Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[10 Mistakes I Stopped Making in My Go External Service Layer]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ademawan.medium.com/10-mistakes-i-stopped-making-in-my-go-external-service-layer-0ae61f13afa5?source=rss-174b8a6c9279------2"><img src="https://cdn-images-1.medium.com/max/2600/0*ch5XwR1wED_z7j-A" width="5184"></a></p><p class="medium-feed-snippet">I made every mistake in Go&#x2019;s external service layer so you do not have to &#x2014; here is what I learned.</p><p class="medium-feed-link"><a href="https://ademawan.medium.com/10-mistakes-i-stopped-making-in-my-go-external-service-layer-0ae61f13afa5?source=rss-174b8a6c9279------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://ademawan.medium.com/10-mistakes-i-stopped-making-in-my-go-external-service-layer-0ae61f13afa5?source=rss-174b8a6c9279------2</link>
            <guid isPermaLink="false">https://medium.com/p/0ae61f13afa5</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[best-practices]]></category>
            <dc:creator><![CDATA[Ade Mawan]]></dc:creator>
            <pubDate>Fri, 24 Jul 2026 11:22:15 GMT</pubDate>
            <atom:updated>2026-07-24T11:22:15.115Z</atom:updated>
        </item>
    </channel>
</rss>