<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Tejas Vilas Medade</title>
    <description>The latest articles on Forem by Tejas Vilas Medade (@tejasmedade).</description>
    <link>https://forem.com/tejasmedade</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2819081%2Feb1b21bb-3f0f-48ce-b6bb-34b5e4e9b255.jpg</url>
      <title>Forem: Tejas Vilas Medade</title>
      <link>https://forem.com/tejasmedade</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tejasmedade"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Tejas Vilas Medade</dc:creator>
      <pubDate>Tue, 11 Feb 2025 06:30:40 +0000</pubDate>
      <link>https://forem.com/tejasmedade/-5g70</link>
      <guid>https://forem.com/tejasmedade/-5g70</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/tejasmedade" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2819081%2Feb1b21bb-3f0f-48ce-b6bb-34b5e4e9b255.jpg" alt="tejasmedade"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/tejasmedade/bridging-the-gap-what-architecture-taught-me-about-software-design-55bo" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Bridging the Gap: What Architecture Taught Me About Software Design&lt;/h2&gt;
      &lt;h3&gt;Tejas Vilas Medade ・ Feb 5&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#architecture&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devrel&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#design&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>architecture</category>
      <category>devrel</category>
      <category>design</category>
    </item>
    <item>
      <title>Bridging the Gap: What Architecture Taught Me About Software Design</title>
      <dc:creator>Tejas Vilas Medade</dc:creator>
      <pubDate>Wed, 05 Feb 2025 11:21:35 +0000</pubDate>
      <link>https://forem.com/tejasmedade/bridging-the-gap-what-architecture-taught-me-about-software-design-55bo</link>
      <guid>https://forem.com/tejasmedade/bridging-the-gap-what-architecture-taught-me-about-software-design-55bo</guid>
      <description>&lt;h2&gt;
  
  
  The Architect's Approach to Software Design
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Design is not just what it looks like and feels like. Design is how it works."&lt;/em&gt; — Steve Jobs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When I embarked on my journey as an architecture student, I never imagined that one day I would transition into the world of software development. The two fields seemed worlds apart—one dealing with physical spaces and structures, the other with digital products and applications. However, as I immersed myself in software engineering, I realized something profound: the principles of great architecture are strikingly similar to those of great software design.&lt;/p&gt;

&lt;p&gt;Both disciplines revolve around &lt;strong&gt;problem-solving, efficiency, scalability, and aesthetics&lt;/strong&gt;—whether you’re designing a building or crafting software solutions. In this article, I want to share how my background in architecture has shaped my approach to software design and how these principles can help developers create more robust and scalable systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The Foundation Matters: Solid Design Principles
&lt;/h2&gt;

&lt;p&gt;In architecture, the strength of a building relies on a &lt;strong&gt;well-planned foundation&lt;/strong&gt;. Similarly, in software development, foundational principles like &lt;strong&gt;SOLID, DRY (Don’t Repeat Yourself), and KISS (Keep It Simple, Stupid)&lt;/strong&gt; determine the long-term success of a system.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"The secret of good architecture is having more than meets the eye."&lt;/em&gt; — Christian de Portzamparc&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Actionable Insight:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Spend time on &lt;strong&gt;architectural planning&lt;/strong&gt; before coding.&lt;/li&gt;
&lt;li&gt;Apply &lt;strong&gt;design patterns&lt;/strong&gt; (e.g., Factory Pattern, Singleton, Microservices) to avoid technical debt.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. Scalability &amp;amp; Flexibility: Designing for Growth
&lt;/h2&gt;

&lt;p&gt;In physical architecture, buildings must be &lt;strong&gt;scalable&lt;/strong&gt;—they should accommodate future expansions without requiring a complete teardown. Similarly, &lt;strong&gt;scalability in software&lt;/strong&gt; means building systems that can handle growth without significant rework.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real-World Example:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monolithic vs. Microservices:&lt;/strong&gt; Companies like Netflix and Amazon transitioned to &lt;strong&gt;microservices&lt;/strong&gt; to scale effectively.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Actionable Insight:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;modular, decoupled designs&lt;/strong&gt; and implement &lt;strong&gt;horizontal scaling&lt;/strong&gt; techniques.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. User Experience: Function Meets Aesthetic
&lt;/h2&gt;

&lt;p&gt;A well-designed building is not just structurally sound—it must also be &lt;strong&gt;aesthetically pleasing and user-friendly&lt;/strong&gt;. The same applies to software. &lt;strong&gt;UI/UX principles&lt;/strong&gt; ensure applications are intuitive and visually engaging.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"A user interface is like a joke. If you have to explain it, it’s not that good."&lt;/em&gt; — Martin LeBlanc&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Actionable Insight:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Focus on &lt;strong&gt;responsive and accessible designs&lt;/strong&gt; in web applications.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  4. Balancing Constraints: Working Within Limitations
&lt;/h2&gt;

&lt;p&gt;In architecture, designs are constrained by &lt;strong&gt;budget, materials, regulations, and physics&lt;/strong&gt;. Similarly, software developers face &lt;strong&gt;time limitations, system constraints, and performance trade-offs&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real-World Example:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Computing vs. On-Premise:&lt;/strong&gt; Find solutions that balance &lt;strong&gt;performance, cost, and security&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Actionable Insight:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Identify &lt;strong&gt;performance bottlenecks&lt;/strong&gt; and optimize them.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5. Maintenance &amp;amp; Sustainability: Long-Term Thinking
&lt;/h2&gt;

&lt;p&gt;Buildings require &lt;strong&gt;regular maintenance&lt;/strong&gt;—the same goes for software. Without continuous &lt;strong&gt;refactoring&lt;/strong&gt; and &lt;strong&gt;updating&lt;/strong&gt;, systems can become outdated and inefficient.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real-World Example:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Refactoring &amp;amp; Code Debt:&lt;/strong&gt; Regularly refactor your code to keep it &lt;strong&gt;scalable and maintainable&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Actionable Insight:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Follow &lt;strong&gt;clean coding principles&lt;/strong&gt; and automate &lt;strong&gt;testing and deployment&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Software is a great combination of artistry and engineering."&lt;/em&gt; — Bill Gates&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Conclusion: The Art &amp;amp; Science of Software Design
&lt;/h2&gt;

&lt;p&gt;My journey from architecture to software development has taught me that &lt;strong&gt;good design transcends disciplines&lt;/strong&gt;. Whether designing a building or a software system, &lt;strong&gt;planning, scalability, user experience, constraint management, and maintenance&lt;/strong&gt; are fundamental.&lt;/p&gt;

&lt;p&gt;Let’s build better systems, one &lt;strong&gt;well-designed structure at a time&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tejas Vilas Medade&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  What lessons have you learned from different fields that apply to software development? Let’s discuss in the comments!
&lt;/h3&gt;




</description>
      <category>webdev</category>
      <category>architecture</category>
      <category>devrel</category>
      <category>design</category>
    </item>
  </channel>
</rss>
