<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[No Degree Engineer]]></title><description><![CDATA[Expect a blend of personal experiences, deep-dive articles, case studies, and perhaps a few thoughts on where the tech world is headed]]></description><link>https://www.nodegree.engineer</link><image><url>https://substackcdn.com/image/fetch/$s_!49xv!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc91c869c-066a-420f-8b1a-ed5faa1212fd_1024x1024.png</url><title>No Degree Engineer</title><link>https://www.nodegree.engineer</link></image><generator>Substack</generator><lastBuildDate>Wed, 13 May 2026 20:04:08 GMT</lastBuildDate><atom:link href="https://www.nodegree.engineer/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Italo Santos]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[italux@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[italux@substack.com]]></itunes:email><itunes:name><![CDATA[Italux]]></itunes:name></itunes:owner><itunes:author><![CDATA[Italux]]></itunes:author><googleplay:owner><![CDATA[italux@substack.com]]></googleplay:owner><googleplay:email><![CDATA[italux@substack.com]]></googleplay:email><googleplay:author><![CDATA[Italux]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Good Architecture]]></title><description><![CDATA[Make it simple, boring, and flexible]]></description><link>https://www.nodegree.engineer/p/the-good-architecture</link><guid isPermaLink="false">https://www.nodegree.engineer/p/the-good-architecture</guid><dc:creator><![CDATA[Italux]]></dc:creator><pubDate>Sun, 12 May 2024 16:28:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JN76!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Good architecture it's a set of decisions over time</em></p></blockquote><p>No matter how good it is (<em>today</em>), it will change over time, based on several variables we can&#8217;t fully control, like leadership change, the experience gathered, technology evolution, problems to be solved, growth, performance, cost, etc&#8230;</p><p>Over the past years, I realized that good architecture needs to be flexible and adaptable. To achieve this it should be simple enough to be boring. Concepts are important, but don&#8217;t tighten too much to then, mainly because they will make the architecture unflexible, pay attention to the <strong>core of concepts</strong> and the <strong>problem to be solved</strong>, not to the system design or technologies.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.nodegree.engineer/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">No Degree Engineer is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Here are some aspects that can change how good an architecture is over time&#8230;</p><h1>The Conway's Law</h1><blockquote><p><em>&#8220;Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure&#8221; &#8212;  <a href="https://www.melconway.com/Home/Conways_Law.html">Melvin Conway</a></em></p></blockquote><p>Conway's Law implies that as an organization evolves through leadership changes, team restructuring, or shifts in communication strategies, the same happens with the architecture of its systems, which will reflect the changing communication patterns and decision-making processes within the organization.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JN76!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JN76!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JN76!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JN76!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JN76!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JN76!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg" width="464" height="408.32" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:704,&quot;width&quot;:800,&quot;resizeWidth&quot;:464,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Dr Milan Milanovi&#263; on LinkedIn: #programming #softwareengineering #meme&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Dr Milan Milanovi&#263; on LinkedIn: #programming #softwareengineering #meme" title="Dr Milan Milanovi&#263; on LinkedIn: #programming #softwareengineering #meme" srcset="https://substackcdn.com/image/fetch/$s_!JN76!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JN76!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JN76!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JN76!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e5a5654-26f0-4f0a-8544-42e155410c0a_800x704.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Consequently, what is considered a 'good' architecture today might not align with tomorrow's &#8220;new&#8221; organizational structure since this is influenced by how we communicate with each other.</p><p>As teams grow, new skills, perspectives, and capacities come together with the new hire individuals and change how some problems are approached and solved, raising new opportunities or efficiencies that weren't clear before. So, an architecture that was working before may need to be re-evaluated to accommodate the new capabilities of a larger team.</p><h2>Standards &amp; Patterns</h2><p>An effective architectural strategy must balance these specific goals overarching goals of the project or organization. Standards and patterns aim to reduce the risk of introducing unnecessary complexity, as these standards often encapsulate the collective wisdom and experiences of the broader community.</p><p>The reality is that, nowadays, there are <strong>at least 46 different patterns</strong> &#8212; <em>don't forget <a href="https://en.wikipedia.org/wiki/Anti-pattern">Anti-patterns</a> &#8212; </em>that aim to offer a way to build reusable solutions to common problems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!feTL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!feTL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png 424w, https://substackcdn.com/image/fetch/$s_!feTL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png 848w, https://substackcdn.com/image/fetch/$s_!feTL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png 1272w, https://substackcdn.com/image/fetch/$s_!feTL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!feTL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png" width="554" height="314.118" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1000,&quot;resizeWidth&quot;:554,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;xkcd: Standards&quot;,&quot;title&quot;:&quot;xkcd: Standards&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="xkcd: Standards" title="xkcd: Standards" srcset="https://substackcdn.com/image/fetch/$s_!feTL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png 424w, https://substackcdn.com/image/fetch/$s_!feTL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png 848w, https://substackcdn.com/image/fetch/$s_!feTL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png 1272w, https://substackcdn.com/image/fetch/$s_!feTL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463e970d-b69c-4480-99fa-6415ca340c78_1000x567.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It's almost impossible to remember all these patterns, so we tend to talk more about the most recent and popular, and it&#8217;s <strong>common to try to fit a pattern into a problem not the other way around</strong>.</p><p>Microservice<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> is a good example, over the years it has become the default answer to almost all architecture scalability issues, but microservices try to solve an organizational problem<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, reducing teams&#8217; dependency and improving velocity by the cost of introducing a significant amount of complexity to manage multiple services, their deployment, testing, monitoring, and managing dependencies between services.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E_Gb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E_Gb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E_Gb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E_Gb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E_Gb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E_Gb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg" width="580" height="451.3324175824176" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1133,&quot;width&quot;:1456,&quot;resizeWidth&quot;:580,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!E_Gb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E_Gb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E_Gb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E_Gb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f18e12-f0cf-4340-9b40-2f49dba5c49b_1643x1278.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://microservices.io/patterns/index.html">A pattern language for microservices</a></figcaption></figure></div><h2>Accidental Complety</h2><blockquote><p><em>The Accidental Complexity anti-pattern happens when we introduce non-essential complexity into a problem. - Mark Richards</em><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DoiJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DoiJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png 424w, https://substackcdn.com/image/fetch/$s_!DoiJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png 848w, https://substackcdn.com/image/fetch/$s_!DoiJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png 1272w, https://substackcdn.com/image/fetch/$s_!DoiJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DoiJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png" width="640" height="346" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:346,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Complexity : r/ProgrammerHumor&quot;,&quot;title&quot;:&quot;Complexity : r/ProgrammerHumor&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Complexity : r/ProgrammerHumor" title="Complexity : r/ProgrammerHumor" srcset="https://substackcdn.com/image/fetch/$s_!DoiJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png 424w, https://substackcdn.com/image/fetch/$s_!DoiJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png 848w, https://substackcdn.com/image/fetch/$s_!DoiJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png 1272w, https://substackcdn.com/image/fetch/$s_!DoiJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4234f2fc-b881-4276-a8f5-9aa64d61754c_640x346.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This often happens due to a lack of understanding of the problem, poor communication, or misalignment between the system design and business needs, an architecture should minimize non-essential complexity by focusing on the problem that needs to be solved and aligning the system design with the business objectives.</p><p>Relying on a one-size-fits-all architecture can lead to inefficiencies and inadequacies in addressing specific challenges. An architecture tailored to a specific problem needs to be flexible, allowing components to be added, removed, or modified as the understanding of the problem evolves or as new requirements surge.</p><h1>Conclusion</h1><blockquote><p><em>Legacy is just a decision made in the past with or without your participation</em></p></blockquote><p>Problems evolve, influenced by changes in technology, market demands, organizational structure, and other external factors. This means designing systems that are modular, flexible, and capable of integrating new technologies or methodologies as they emerge is hard.</p><p>Everybody has some good or bad experience with some (even the same) architecture or technology, every time you build a new shiny design, a new legacy is also built. So every time you face this scenario try to answer the following questions:</p><ul><li><p>What's problem(s) will be solved?</p></li><li><p>What's the ROI of the proposal?</p></li><li><p>Who owns the actual (legacy) architecture?</p></li><li><p>How can the actual architecture be changed? How easy is it to do?</p></li><li><p>What can be done with the time and people if the new architecture isn&#8217;t implemented?</p></li></ul><p>With the above questions answered start building.</p><h2>References</h2><ul><li><p><a href="https://domk.website/blog/2021-01-31-cult-of-best-practise.html">The Cult of Best Practice</a></p></li><li><p><a href="https://thefrugalarchitect.com/">THE FRUGAL ARCHITECT</a></p></li><li><p><a href="https://martinfowler.com/bliki/DomainDrivenDesign.html">Domain Driven Design</a></p></li><li><p><a href="https://martinfowler.com/bliki/ConwaysLaw.html">Conway's Law</a></p></li></ul><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://microservices.io/">https://microservices.io/</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://microservices.io/patterns/microservices.html">Pattern: Microservice Architecture</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p><a href="https://www.developertoarchitect.com/lessons/lesson117.html">Lesson 117 - Accidental Complexity AntiPattern</a></p></div></div>]]></content:encoded></item><item><title><![CDATA[Welcome to No Degree Engineer on Substack!]]></title><description><![CDATA[No Degree Engineer is a dedicated space where I aim to share the insights and lessons I've gathered over the years in the tech industry]]></description><link>https://www.nodegree.engineer/p/welcome-to-no-degree-engineer</link><guid isPermaLink="false">https://www.nodegree.engineer/p/welcome-to-no-degree-engineer</guid><dc:creator><![CDATA[Italux]]></dc:creator><pubDate>Wed, 24 Jan 2024 13:30:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/32f7b26b-32f2-4b78-b854-f7f3437d018b_500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the spirit of making my content more accessible, I decided to move to Substack driven by a desire to ensure that my content is available and unrestricted to everyone without the limitations faced by non-members on my <a href="https://italux.medium.com/">Medium</a>.</p><p><a href="https://open.substack.com/pub/italux">No Degree Engineer</a> is a dedicated space where I'll share my personal experiences, where I aim to share the insights and lessons I've gathered over the years about creating and managing large-scale, resilient, and efficient tech infrastructures and, what I learned building, organizing, and leading tech teams.</p><p>On Substack, I aim to write more frequently (<em>I'll try monthly</em>), using a newsletter format to bring these experiences.</p><h1>Why No Degree Engineer?</h1><p>My career path has been unconventional. Rising to a senior leadership position in the tech industry, I've navigated the complexities and challenges without a bachelor's degree and this inspired the name of this page.</p><p>I spent two and half years on my Bachelor's degree in Information Systems, which I didn't graduate, mainly because of personal life circumstances. A few years later, my <strong>job application was declined because I didn't have a Bachelor's degree</strong>, even after going through the entire interview process.</p><p>As a result, I decided to become a student again. This time, I enrolled in a Bachelor of Technology in Analysis and Systems Development mainly because this course was shorter, lasting only two years, and allowed me to skip several classes. During this period, I was already an experienced professional, which made the classes feel very boring. Coupled with some life circumstances, I once again didn't graduate.</p><blockquote><p><strong>Disclaimer</strong>: <em>I'm not advocating against formal education, unlike that, this is my personal history.</em></p></blockquote><p>Despite not graduate I gathered a lot of knowledge about the foundation of computer science that helped me to leverage my career which proves the importance of formal education.</p><h2>Learn to learn</h2><div class="pullquote"><p>Generally, <strong>autodidacts</strong> are individuals who choose the subject they will study, their studying material, and the studying rhythm and time. Autodidacts may or may not have formal education, and their study may be either a complement or an alternative to formal education. - <a href="https://en.wikipedia.org/wiki/Autodidacticism">Wikipedia</a></p></div><p>There are several other <a href="https://en.wikipedia.org/wiki/List_of_autodidacts">notable autodidacts</a> over history, but Leonardo da Vinci characterizes these characteristics he was an Italian polymath: painter, sculptor, architect, musician, scientist, mathematician, engineer, inventor, anatomist, geologist, botanist, and writer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bUbm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bUbm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bUbm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bUbm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bUbm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bUbm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg" width="232" height="315.52" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1088,&quot;width&quot;:800,&quot;resizeWidth&quot;:232,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;undefined&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="undefined" title="undefined" srcset="https://substackcdn.com/image/fetch/$s_!bUbm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bUbm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bUbm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bUbm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3369c8-149e-484c-a35b-bf5a871efdd2_800x1088.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Vitruvian Man Drawing by Leonardo da Vinci</figcaption></figure></div><p>The tech industry is dynamic, where things are changing every day, and experience and how you&#8217;ve done something before aren&#8217;t as important as the <strong>ability to think and learn new things</strong>.</p><p>My daddy tells me that when I was a kid I asked a lot of &#8220;why&#8221;, and named me &#8220;<em>why-boy</em>&#8221;. My <a href="https://medium.com/swlh/how-to-become-more-curious-67d58c842e8c">curiosity</a> drove me to the path to becoming an autodidact capable of learning almost everything I needed during my career to deliver projects.</p><p>The journey shaped my perspective, proving that it's possible to succeed in a professional career not going through the traditional academic paths but also with determination, skill, and <strong>continuous learning</strong>.</p><p>Your presence here is not just about reading content; it's about sharing a journey where every step challenges expectations and redefines possibilities. Whether you're carving your unique path or seeking diverse perspectives, I hope my stories resonate and encourage you in your endeavors.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.nodegree.engineer/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">No Degree Engineer is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>