<?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>DEV Community: lackorol</title>
    <description>The latest articles on DEV Community by lackorol (@lackorol).</description>
    <link>https://dev.to/lackorol</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F473985%2F69f49629-e0d9-4914-880c-2b3f0afaa385.jpeg</url>
      <title>DEV Community: lackorol</title>
      <link>https://dev.to/lackorol</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lackorol"/>
    <language>en</language>
    <item>
      <title>You probably don't need sharding yet</title>
      <dc:creator>lackorol</dc:creator>
      <pubDate>Fri, 23 Oct 2026 12:30:00 +0000</pubDate>
      <link>https://dev.to/lackorol/you-probably-dont-need-sharding-yet-109c</link>
      <guid>https://dev.to/lackorol/you-probably-dont-need-sharding-yet-109c</guid>
      <description>&lt;p&gt;You probably don't need sharding yet.&lt;/p&gt;

&lt;p&gt;Every time I see a team reach for it, the real problem is further down the stack. Read replicas for read-heavy load. A missing index on the query that's actually slow. Connection pooling so you stop melting the database with 2,000 idle connections. Partitioning to keep hot tables manageable. And honestly, a bigger box, which goes further than most people believe.&lt;/p&gt;

&lt;p&gt;Sharding earns its place only when single-primary write throughput is the hard ceiling and nothing else moves it. That is a real wall, but it is much farther out than the roadmap slide suggests.&lt;/p&gt;

&lt;p&gt;The trap is growth projections. They are routinely off by 5 to 10x in both directions. If you shard for traffic you don't have, you pay the operational tax now and might never collect the benefit.&lt;/p&gt;

&lt;p&gt;So before the rewrite: what specific number are you hitting, and have you proven it's writes and not everything else?&lt;/p&gt;

&lt;h1&gt;
  
  
  systemdesign #databases #scalability
&lt;/h1&gt;

</description>
      <category>systemdesign</category>
      <category>database</category>
      <category>scalability</category>
    </item>
    <item>
      <title>Here is the question I try to ask before I commit to a design: if I'm still on call for this in</title>
      <dc:creator>lackorol</dc:creator>
      <pubDate>Thu, 22 Oct 2026 12:30:00 +0000</pubDate>
      <link>https://dev.to/lackorol/here-is-the-question-i-try-to-ask-before-i-commit-to-a-design-if-im-still-on-call-for-this-in-52a1</link>
      <guid>https://dev.to/lackorol/here-is-the-question-i-try-to-ask-before-i-commit-to-a-design-if-im-still-on-call-for-this-in-52a1</guid>
      <description>&lt;p&gt;Here is the question I try to ask before I commit to a design: if I'm still on call for this in three years, and I have to explain it to a new hire on their first week, is this still the right choice?&lt;/p&gt;

&lt;p&gt;It's a surprisingly strict filter. Clever tricks tend to fail it. The thing that looked elegant on a whiteboard becomes the thing you dread paging through at 2am, and the thing a newcomer can't follow without a ten-minute story about why it's "temporary."&lt;/p&gt;

&lt;p&gt;Designs that pass tend to be boring in the best way. Fewer moving parts. Names that say what they mean. Behavior you can predict without reading every line. The kind of system where the explanation to the new hire is short, because there isn't much to explain.&lt;/p&gt;

&lt;p&gt;Most architecture debates are really about the next sprint. This question stretches the timeline until the short-term cleverness stops looking clever and the long-term cost becomes obvious.&lt;/p&gt;

&lt;p&gt;Would the design you shipped this week survive that conversation?&lt;/p&gt;

&lt;h1&gt;
  
  
  softwareengineering #systemdesign #oncall
&lt;/h1&gt;

</description>
      <category>softwareengineering</category>
      <category>systemdesign</category>
      <category>devops</category>
    </item>
    <item>
      <title>Adding infrastructure feels like progress</title>
      <dc:creator>lackorol</dc:creator>
      <pubDate>Wed, 21 Oct 2026 12:30:00 +0000</pubDate>
      <link>https://dev.to/lackorol/adding-infrastructure-feels-like-progress-2mo3</link>
      <guid>https://dev.to/lackorol/adding-infrastructure-feels-like-progress-2mo3</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7pl59gmnbfb9fif9nkin.png" class="article-body-image-wrapper"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7pl59gmnbfb9fif9nkin.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adding infrastructure feels like progress. You open a PR, something new exists, the diagram gets another box. Removing infrastructure feels like admitting a mistake. The box disappears, and someone might ask why it was there in the first place.&lt;/p&gt;

&lt;p&gt;That asymmetry quietly shapes a lot of engineering decisions. Caches get added and almost never questioned again. Queues, feature flags, extra services, a replica here, a sidecar there. Every one made sense the day it shipped. Together they become the thing nobody wants to touch.&lt;/p&gt;

&lt;p&gt;The most useful question I hear from strong engineers is the opposite of adding. It sounds like: "What if we just didn't cache this?" Or: "What breaks if we delete this service entirely?" Most of the time the honest answer is "less than you'd think."&lt;/p&gt;

&lt;p&gt;Deletion is undervalued work. It rarely gets a demo. It doesn't show up as a shiny new capability. But removing a thing you no longer need lowers the number of ways the system can fail, and that compounds for years.&lt;/p&gt;

&lt;p&gt;What's the last piece of infrastructure your team removed on purpose?&lt;/p&gt;

&lt;h1&gt;
  
  
  softwareengineering #systemdesign #platformengineering
&lt;/h1&gt;

</description>
      <category>softwareengineering</category>
      <category>systemdesign</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
