<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Software-Design on dplabs — Software Engineering &amp; Technology Consultancy</title>
		<link>https://dplabs.tech/tags/software-design/</link>
		<description>Recent content in Software-Design on dplabs — Software Engineering &amp; Technology Consultancy</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Mon, 13 Jul 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://dplabs.tech/tags/software-design/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>The Cost of Clever Code</title>
				<link>https://dplabs.tech/blog/cost-of-clever-code/</link>
				<pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://dplabs.tech/blog/cost-of-clever-code/</guid>
				<description>&lt;p&gt;Every programming language has features that allow you to write dense, sophisticated-looking code. Java has streams, lambdas, method references, and generic type hierarchies. These are useful tools. They&amp;rsquo;re also regularly used to write code that is harder to understand than the straightforward version with no corresponding benefit.&lt;/p&gt;&#xA;&lt;p&gt;Clever code has a cost. The cost is paid by every engineer who reads it, modifies it, or debugs it. In a living codebase, that cost is paid repeatedly.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Secure by Default: APIs That Are Hard to Misuse</title>
				<link>https://dplabs.tech/blog/secure-by-default-apis/</link>
				<pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate>
				<guid>https://dplabs.tech/blog/secure-by-default-apis/</guid>
				<description>&lt;p&gt;Security by default is a design principle, not a feature list. An API is secure by default when using it correctly produces secure behavior automatically, and producing insecure behavior requires deliberate effort.&lt;/p&gt;&#xA;&lt;p&gt;Most security failures are not the result of sophisticated attacks on well-designed systems. They&amp;rsquo;re the result of developers using APIs incorrectly, making incorrect assumptions about what defaults are safe, or forgetting to add security checks that should have been built in.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Designing Code for Change</title>
				<link>https://dplabs.tech/blog/designing-code-for-change/</link>
				<pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate>
				<guid>https://dplabs.tech/blog/designing-code-for-change/</guid>
				<description>&lt;p&gt;Software changes. This is not a contingency — it&amp;rsquo;s the nature of software development. Requirements evolve. Systems scale. Technologies improve. Teams change. The useful question is not &amp;ldquo;will this change?&amp;rdquo; but &amp;ldquo;when it changes, how expensive will the change be?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Code that&amp;rsquo;s designed for change is not over-engineered. It&amp;rsquo;s code where the natural boundaries of the design align with the natural boundaries of change. When a change is required, it affects a small, predictable, well-bounded area. When it&amp;rsquo;s not, the design hasn&amp;rsquo;t added unnecessary complexity &amp;ldquo;just in case.&amp;rdquo;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Code Reviews: Reviewing Design, Not Formatting</title>
				<link>https://dplabs.tech/blog/code-reviews-design-not-formatting/</link>
				<pubDate>Mon, 07 Jul 2025 00:00:00 +0000</pubDate>
				<guid>https://dplabs.tech/blog/code-reviews-design-not-formatting/</guid>
				<description>&lt;p&gt;Code review is one of the highest-leverage practices in software engineering. Done well, it catches defects before they reach production, distributes knowledge, and improves the overall quality of the codebase. Done poorly, it&amp;rsquo;s a bureaucratic checkpoint that blocks delivery while catching only superficial issues.&lt;/p&gt;&#xA;&lt;p&gt;The difference is usually what the reviewer focuses on.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-automated-tools-should-catch&#34;&gt;What Automated Tools Should Catch&lt;/h2&gt;&#xA;&lt;p&gt;The first principle of effective code review: &lt;strong&gt;don&amp;rsquo;t spend human review time on things that tools can detect&lt;/strong&gt;.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
