<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software Architecture on Coderrob</title><link>https://coderrob.com/tags/software-architecture/</link><description>Recent content in Software Architecture on Coderrob</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 20 Jul 2026 16:00:00 -0500</lastBuildDate><atom:link href="https://coderrob.com/tags/software-architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>Aspect-Oriented Programming in TypeScript: Where It Fits and Where It Doesn't</title><link>https://coderrob.com/posts/aspect-oriented-programming-in-typescript/</link><pubDate>Mon, 20 Jul 2026 16:00:00 -0500</pubDate><guid>https://coderrob.com/posts/aspect-oriented-programming-in-typescript/</guid><description>&lt;p&gt;Some concerns are &lt;strong&gt;cross-cutting&lt;/strong&gt; by nature.&lt;/p&gt;
&lt;p&gt;Logging, authorization, transaction boundaries, retries, caching, and tracing can apply across dozens of otherwise unrelated operations. Copying each concern into every method creates repetition. Hiding them behind enough machinery can make the application feel haunted.&lt;/p&gt;
&lt;p&gt;That tension is where &lt;strong&gt;Aspect-Oriented Programming&lt;/strong&gt;, or AOP, enters the conversation. But TypeScript is not AspectJ, and putting an &lt;code&gt;@&lt;/code&gt; above a method does not automatically turn the code into AOP.&lt;/p&gt;</description></item><item><title>Breaking Up the Big Bottom Library: Streamlining Your Code for Long-Term Health</title><link>https://coderrob.com/posts/breaking-up-the-big-bottom-library-streamlining-your-code-for-long-term-health/</link><pubDate>Wed, 11 Sep 2024 21:58:05 -0500</pubDate><guid>https://coderrob.com/posts/breaking-up-the-big-bottom-library-streamlining-your-code-for-long-term-health/</guid><description>&lt;p&gt;Over time, code libraries have a habit of expanding like that one “utility” drawer in your kitchen. At first, it’s helpful—everything in its right place, ready for use. But before long, that drawer becomes a catch-all for every stray function, random helper, and one-off module you couldn’t quite categorize. Eventually, it’s too bloated to find anything efficiently.&lt;/p&gt;
&lt;p&gt;When that happens, it’s time to consider not just a cleanup, but a deeper restructuring. Because left unchecked, your code library could evolve into something far more dangerous—a monolith.&lt;/p&gt;</description></item><item><title>Technology Choice Matters</title><link>https://coderrob.com/posts/technology-choice-matters/</link><pubDate>Thu, 25 Aug 2022 11:34:00 -0500</pubDate><guid>https://coderrob.com/posts/technology-choice-matters/</guid><description>&lt;p&gt;Developers need consistency in the tools they use, as well as a clear understanding of what is expected of them to be productive and successful in their roles. These tools not only impact productivity but also play a pivotal role in shaping the professional and personal well-being of developers.&lt;/p&gt;
&lt;p&gt;As team sizes grow, restructures occur, or new team members are added, it becomes crucial to have a consistent set of tools and technologies that everyone is expected to use.&lt;/p&gt;</description></item></channel></rss>