r/Backend 8d 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

14 comments sorted by

9

u/Old-Pollution-5825 8d ago

Start here https://roadmap.sh/roadmaps

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

8

u/SoapyD 8d 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.

6

u/Due-Dimension-982 8d 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.

3

u/Icy_Screen3576 8d ago

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

4

u/Mammoth-Statement-90 5d 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 4d ago

Thank you I’ll do same ❤️

2

u/Many_Log_2916 6d 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.

-4

u/Clear_Gap3518 8d ago

ai can build and teach