The Week-by-Week Syllabus
This curriculum is sequenced to build your understanding progressively, ensuring each week solidifies your knowledge for the next step.
Week 1: Understanding System Design Fundamentals
What to learn: Core concepts of system design including Scalability, Availability, and Reliability.
Why this comes before the next step: A solid grasp of these foundational concepts is critical for informed design decisions in subsequent weeks.
Mini-project/Exercise: Create a simple system design document outlining the requirements for a URL shortener.
Week 2: Diving into Microservices
What to learn: Microservices architecture, its advantages, challenges, and implementation strategies.
Why this comes before the next step: Understanding Microservices prepares you to address complex system interactions and scaling challenges later.
Mini-project/Exercise: Design a microservices-based architecture for an e-commerce platform.
Week 3: Database Decisions
What to learn: Comparison of SQL vs NoSQL databases, CAP theorem, and database partitioning.
Why this comes before the next step: Your choice of database can significantly impact the system’s performance and scalability, making this understanding crucial.
Mini-project/Exercise: Model a simple database schema using both an SQL and a NoSQL approach for your e-commerce platform.
Week 4: Caching Strategies
What to learn: Caching principles, methods, and tools such as Redis or Memcached.
Why this comes before the next step: Efficient caching is essential for optimizing performance in scalable systems.
Mini-project/Exercise: Implement caching in your e-commerce platform to enhance performance under load.
Week 5: Async Processing with Message Queues
What to learn: Message queue systems like RabbitMQ, and the concepts of asynchronous processing.
Why this comes before the next step: Asynchronous processing is a key element in designing responsive systems that handle high traffic.
Mini-project/Exercise: Integrate a message queue for processing orders in your e-commerce platform.
Week 6: API Design and Presentation Skills
What to learn: RESTful API design principles and methods to present your system designs effectively.
Why this comes before the next step: Understanding API design is critical for enabling communication between microservices, and presentation skills are essential for interviews.
Mini-project/Exercise: Create and document RESTful APIs for your e-commerce platform and prepare a presentation of your design choices.