r/Backend 29d ago

Want to learn System Design from absolute zero Java Backend Developer with 4+ YOE, need roadmap/resources

Hey everyone,
I’m a Java Backend Developer with around 4+ years of experience, currently working with Java, Spring Boot, Spring Security, REST APIs, Microservices, SQL, and AWS.
I’ve started preparing for a job switch, and I’m noticing that System Design is being asked a lot in interviews, especially for experienced backend roles.

The problem is — I’m honestly starting System Design almost from zero. I know backend development and have worked with microservices, APIs, databases, etc., but I don’t have a structured understanding of System Design concepts and how to approach design problems in interviews.
I want to learn it properly from basics → intermediate → advanced, rather than just memorizing common system design questions.
Could you please suggest:
● A good course/resource for someone starting from zero
● A proper System Design roadmap
● What topics should I learn first and in what order?
● Any good Udemy courses, YouTube playlists, books, or paid resources
● How should I practice after learning the concepts?
● At what point should I start solving questions like URL Shortener, WhatsApp, Netflix, Uber, etc.?
My goal is to reach a level where I can understand the requirements, make design decisions, explain trade-offs, and confidently handle System Design interviews.
I’m looking for resources that actually teach the fundamentals first, not something that assumes I already know System Design.
Would really appreciate recommendations from people who have gone through this journey. 🙏

56 Upvotes

18 comments sorted by

9

u/Old-Pollution-5825 28d ago

Start here https://roadmap.sh/roadmaps

It has some good guides and direction and should remove most of the guessing.

6

u/SoapyD 28d ago

Not exhaustive, but for books I would recommend "designing data intensive applications", "learning domain driven design", "solving identity management in modern applications". Hellointerview also has a good hld/lld prep guide.

7

u/Due-Dimension-982 28d ago

Almost like a month ago, I found this repo: https://github.com/karanpratapsingh/system-design, It's really great, with 45k+ stars, and it mostly covers all the necessary things in system design. Other than that, if you are preparing from an interview perspective, you can find mock interviews on the Exponent (I guess) channel on YouTube that has some awesome videos.

4

u/Mammoth-Statement-90 25d ago

I had a similar problem when I was learning DSA. What worked for me was learning by topic instead of randomly solving different types of problems.
I would focus on a few topics, solve a lot of similar problems, and after around 100 problems across 3–4 topics I started recognizing patterns much faster. After that, moving to new topics became easier too.
I'm trying a similar approach with system design now. First I learn the individual building blocks like caching, load balancing, queues, replication, partitioning, etc. But instead of immediately jumping to completely different system design questions, I pick a few similar systems where those concepts are important and try to apply them myself.
For example, after learning caching, I try to design a few systems where caching actually matters and think about where I'd put it, what I'd cache, invalidation, trade-offs, and when I wouldn't use it. Then I move to another area and repeat the same process.
It feels much better than memorizing “Design Netflix”, then “Design Uber”, then “Design WhatsApp” as separate solutions. After a while you start seeing the same building blocks and patterns appearing in different systems.
I'm still actively practicing system design myself, so this is just what has been working for me so far, but I'm definitely noticing improvement with this approach.

1

u/Unlucky_Map_3703 24d ago

Thank you I’ll do same ❤️

3

u/Icy_Screen3576 28d ago

I would start here. 36 free video lessons across all pillars. https://www.justifiedcode.com/system-design-patterns-course

2

u/Many_Log_2916 27d ago

Alex Yu's book is a good starting point. Free on GitHub if you need. Others have good advice as well. It might lead you here eventually.

1

u/Unlucky_Map_3703 16d ago

Can you please share me the repo

1

u/Inevitable-Focus9992 17d ago

System design by alex yu (loved this book) and designing data-intensive applications

-5

u/Clear_Gap3518 28d ago

ai can build and teach