<?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: Sayantan Banerjee</title>
    <description>The latest articles on DEV Community by Sayantan Banerjee (@sayantan_banerjee_4464496).</description>
    <link>https://dev.to/sayantan_banerjee_4464496</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%2F2071663%2F2323778f-fd90-4ac2-9776-1c8e3a3252bc.jpg</url>
      <title>DEV Community: Sayantan Banerjee</title>
      <link>https://dev.to/sayantan_banerjee_4464496</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sayantan_banerjee_4464496"/>
    <language>en</language>
    <item>
      <title>How I Learned System Design in 5 Days | Roadmap for Interviews</title>
      <dc:creator>Sayantan Banerjee</dc:creator>
      <pubDate>Wed, 24 Dec 2025 10:04:58 +0000</pubDate>
      <link>https://dev.to/sayantan_banerjee_4464496/how-i-learned-system-design-in-5-days-roadmap-for-interviews-5fk4</link>
      <guid>https://dev.to/sayantan_banerjee_4464496/how-i-learned-system-design-in-5-days-roadmap-for-interviews-5fk4</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.amazonaws.com%2Fuploads%2Farticles%2Fehgaqh36jcfc23b1vvzj.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.amazonaws.com%2Fuploads%2Farticles%2Fehgaqh36jcfc23b1vvzj.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Good engineers write code.&lt;br&gt;
 Great engineers design systems.&lt;br&gt;
 Exceptional engineers understand why systems fail.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I didn’t fully understand this truth in 2023.&lt;br&gt;
But unknowingly, I was already walking toward it.&lt;/p&gt;

&lt;p&gt;I didn’t know what I was building, only that I had to start.&lt;/p&gt;

&lt;p&gt;So before every project, I’d pause, feel the paper under my fingers, hear the scratch of my pen, and draw boxes and arrows, like I was mapping a world I couldn’t yet see.&lt;/p&gt;

&lt;p&gt;No rules. No frameworks. Just a restless, immature mind chasing a feeling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At the time, I didn’t know :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;whether I was thinking frontend or backend,&lt;/li&gt;
&lt;li&gt;whether what I drew would scale or collapse,&lt;/li&gt;
&lt;li&gt;or whether I was doing anything right.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What I did know was simple and stubborn:&lt;/strong&gt; features without structure felt incomplete.&lt;/p&gt;

&lt;p&gt;Back then, it felt amateur.&lt;br&gt;
Today, I recognize it as instinct trying to find its language.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is not a miracle story.&lt;/em&gt;&lt;br&gt;
It’s a repeatable learning path from confusion to clarity, from scattered effort to structured thinking, and from &lt;strong&gt;“I don’t know what I’m building”&lt;/strong&gt; to &lt;strong&gt;“I can reason about systems with confidence.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Curiosity Without Structure Is Quietly Painful.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Like most developers, I could build features, follow tutorials, and ship small projects.&lt;/p&gt;

&lt;p&gt;But the moment I started observing real production systems, something broke.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I couldn’t explain:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why a particular architecture was chosen,&lt;/li&gt;
&lt;li&gt;what trade-offs were made,&lt;/li&gt;
&lt;li&gt;or how the system behaved under failure and scale.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Designing for latency, reliability, or security felt abstract.&lt;/p&gt;

&lt;p&gt;Yet while watching logs, outages, bottlenecks, and recoveries, one thing &lt;br&gt;
became clear: &lt;strong&gt;my direction of thinking was right but my way of learning was wrong&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;That realization changed everything.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Trap Most Developers Fall Into (Me Too)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I did what most motivated learners do: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Watched endless YouTube playlists,&lt;/li&gt;
&lt;li&gt;jumped between tutorials,&lt;/li&gt;
&lt;li&gt;saved GitHub repos “for later,”&lt;/li&gt;
&lt;li&gt;and collected PDFs, notes, and cheat sheets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The result was predictable:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fragmented knowledge,&lt;/li&gt;
&lt;li&gt;no mental model,&lt;/li&gt;
&lt;li&gt;growing frustration,&lt;/li&gt;
&lt;li&gt;and declining confidence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wasn’t lazy.&lt;br&gt;
I was overloaded without a map.&lt;/p&gt;

&lt;p&gt;Late nights turned into restless sleep.&lt;br&gt;
Learning became pressure instead of curiosity.&lt;/p&gt;

&lt;p&gt;That’s when I asked an uncomfortable question:&lt;br&gt;
&lt;em&gt;What if the problem isn’t my capability, but my learning strategy?&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;From Consuming Content to Thinking Like an Interviewer&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I didn’t stop watching videos because they were bad.&lt;br&gt;
I stopped because they lacked context.&lt;/p&gt;

&lt;p&gt;Instead, &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I began observing real systems:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how they behave under load,&lt;/li&gt;
&lt;li&gt;where latency hides,&lt;/li&gt;
&lt;li&gt;and how failures are anticipated, not avoided.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s when a core truth &lt;em&gt;clicked for me&lt;/em&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;System design isn’t about memorizing architectures.&lt;br&gt;
It’s about reasoning under constraints.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;My struggle was never complexity.&lt;br&gt;
It was mixing levels of abstraction.&lt;/p&gt;

&lt;p&gt;Senior engineers don’t simplify systems by ignoring details.&lt;br&gt;
They simplify them by &lt;strong&gt;layering their thinking.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;HLD vs LLD | The Mental Separation That Brings Order&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once I split these two mentally, the noise faded.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;High-Level Design (HLD)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The bird’s-eye view of the system.&lt;/p&gt;

&lt;p&gt;It focuses on identifying core components and how they interact, with attention to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;scalability under growing traffic&lt;/li&gt;
&lt;li&gt;reliability during failures&lt;/li&gt;
&lt;li&gt;availability across regions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;operational simplicity for long-term maintenance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In interviews, HLD answers:&lt;/strong&gt;&lt;br&gt;
 “Can this system survive real-world scale?”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Low-Level Design (LLD)&lt;/strong&gt;&lt;br&gt;
The micro-level view of the system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It deals with APIs, classes, schemas, and data models, focusing on:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;performance and latency&lt;/li&gt;
&lt;li&gt;maintainability and clean abstractions&lt;/li&gt;
&lt;li&gt;correctness and edge-case handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In interviews, LLD answers:&lt;br&gt;
&lt;strong&gt;“Can this system be built and evolved safely?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once I stopped trying to design everything at once, interviews stopped feeling chaotic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My question changed&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;From:&lt;/strong&gt; “How do I design the whole system perfectly?”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To:&lt;/strong&gt; “At this level of abstraction, what decision matters most right now?”&lt;/p&gt;

&lt;p&gt;That single shift turned system design from theory into conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Beginning Is Always the Hardest
&lt;/h2&gt;

&lt;p&gt;Let’s be honest : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I still struggled at the start.&lt;/li&gt;
&lt;li&gt;I watched.&lt;/li&gt;
&lt;li&gt;I took notes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Yet I couldn’t confidently design even a simple system.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Curiosity slowly turned into frustration.&lt;br&gt;
Passive scrolling replaced active thinking.&lt;/p&gt;

&lt;p&gt;That’s when I accepted a truth many avoid:&lt;br&gt;
&lt;strong&gt;Random learning kills motivation. Structured learning restores it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I paused everything and built my own &lt;a href="https://github.com/banerjeesayantan/System-Design" rel="noopener noreferrer"&gt;System Design Syllabus&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Day 1 &amp;amp; Day 2 | Cover the Entire Syllabus&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The goal wasn’t mastery.&lt;br&gt;
And that distinction matters.&lt;/p&gt;

&lt;p&gt;The goal was exposure, alignment, and building a mental map of what system design interviews actually expect.&lt;/p&gt;

&lt;p&gt;Instead of deep-diving into implementations, I focused on understanding the purpose and trade-offs behind each concept.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For every topic, I asked four simple questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What problem does this solve?&lt;/li&gt;
&lt;li&gt;How does it work at a high level?&lt;/li&gt;
&lt;li&gt;Where is it used in real-world systems?&lt;/li&gt;
&lt;li&gt;What breaks if it’s misused or scaled incorrectly?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This helped me build a complete mental model without drowning in details.&lt;/p&gt;

&lt;p&gt;To stay structured, I created my own syllabus covering scalability, databases, caching, networking, reliability, and security.&lt;/p&gt;

&lt;p&gt;If you’re starting out, you can use the same approach as your Day &lt;a href="https://github.com/banerjeesayantan/System-Design" rel="noopener noreferrer"&gt;1–2 roadmap&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Day 3 | When Logic Meets Art&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Day 3 was intentionally quiet.&lt;br&gt;
No videos. No notes. No code.&lt;/p&gt;

&lt;p&gt;I slowed down.&lt;br&gt;
I visualized systems.&lt;/p&gt;

&lt;p&gt;I traced a single request moving through:&lt;br&gt;
&lt;strong&gt;DNS → CDN → Load Balancer → Service&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I watched:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cache hits vs. cache misses.&lt;/li&gt;
&lt;li&gt;traffic spikes absorbed by queues.&lt;/li&gt;
&lt;li&gt;failures triggering fallbacks, not panic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There was no abstraction anymore only cause and effect.&lt;/p&gt;

&lt;p&gt;That day taught me something critical:&lt;br&gt;
&lt;em&gt;you cannot design what you cannot visualize.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is where engineering stops being mechanical and becomes intentional.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Day 4 &amp;amp; Day 5 | Designing a Real System&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;With eager,&lt;/p&gt;

&lt;p&gt;I chose one problem:&lt;br&gt;
design an &lt;strong&gt;X (Twitter)&lt;/strong&gt;-like system.&lt;/p&gt;

&lt;p&gt;Not to build it but to reason about it like in a real interview.&lt;br&gt;
I assumed 1 million active users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Everything flowed from that:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS + CDN for latency&lt;/li&gt;
&lt;li&gt;API gateway for control&lt;/li&gt;
&lt;li&gt;rate limiting, auth, caching&lt;/li&gt;
&lt;li&gt;queues for traffic spikes&lt;/li&gt;
&lt;li&gt;Redis + replicated databases for scale&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Every component had:&lt;/strong&gt;&lt;br&gt;
a purpose,&lt;br&gt;
a failure mode,&lt;br&gt;
a scaling strategy,&lt;br&gt;
and a clear trade-off.&lt;/p&gt;

&lt;p&gt;It wasn’t perfect.&lt;br&gt;
It wasn’t enterprise-grade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But&lt;/strong&gt; it was thoughtful.&lt;br&gt;
And that’s what interviewers listen for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changed After Those 5 Days
&lt;/h2&gt;

&lt;p&gt;I started following one rule:&lt;br&gt;
&lt;em&gt;2 hours a day. Every day.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I practiced:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;designing systems end-to-end&lt;/li&gt;
&lt;li&gt;explaining trade-offs&lt;/li&gt;
&lt;li&gt;analyzing failures&lt;/li&gt;
&lt;li&gt;simulating interview discussions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Interviews stopped feeling like exams.&lt;br&gt;
They became engineering conversations.&lt;/p&gt;

&lt;p&gt;I don’t claim to know everything.&lt;br&gt;
But I know how to reason when I don’t.&lt;br&gt;
And that’s what &lt;a href="https://github.com/topics/system-design-primer" rel="noopener noreferrer"&gt;system design interviews&lt;/a&gt; actually evaluate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;If you learn system design only to get a job, you’ll burn out.&lt;br&gt;
If you learn how systems really work, opportunities follow naturally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Master the process, not the outcome.&lt;br&gt;
The results will take care of themselves.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If this resonated with you or challenged your thinking, I’d genuinely love to hear your perspective.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Comment with your thoughts or questions.&lt;br&gt;
👉 Share this with someone preparing for system design interviews.&lt;br&gt;
👉 Connect with me.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>systemdesign</category>
      <category>programming</category>
      <category>career</category>
    </item>
  </channel>
</rss>
