Staging environment
Hero image

Architecting Real-World Distributed Systems - Mid to Senior Levels

Design and architect distributed systems, evolve from Day-0 architecture, identify trade-offs and explore different approaches.

This course is no longer available.

Explore other courses

Built Distributed Systems At

Booking.com
Arcesium
S&P Global

Course overview

Elevate System Design Skills: Uncover NFRs, Trade-offs, Soft-Skills and More!

This course is ideal for engineers with 2+ years of experience who want to learn how to architect systems and move to Senior/Staff roles.


In this 6-week cohort, we'll learn how to approach architecting solutions to different problems.


Structure Of Session:

Our sessions will start around a problem statement, in which you'll design and evolve the Day-0 architecture to the final architecture that satisfies all the problem's constraints and requirements. The cohort will be an interactive one, where we'll discuss different approaches to the same problem and the trade-offs associated with the different approaches.


Systems Covered:

We will be covering different systems, and discussing how we would design them. Each of the systems present a different challenge and will expand your thought process while approaching these problems. Some of the systems we will cover are -

1) Ticket Booking System(TicketMaster/BookMyShow/Airbnb)

2) Photo Upload System(Instagram/LinkedIn)

3) Social Media System(LinkedIn/Twitter)

4) Messaging System(LinkedIn/Discord)

5) Notifications System(LinkedIn/Instagram/Airbnb)

6) Build System(Gitlab/Github)

7) Distributed File System(S3/GFS)


Concepts/Internals Covered:

Listing a few concepts/internals that we'll dive into, during the 6 week cohort. These concepts will be covered as part of discussing the different problem statements so that it's more interactive and engaging.


1) Relational Database

2) NoSQL

3) NewSQL

4) CDN

5) Consensus

6) Resilience

7) Web Sockets

8) Serverless

9) Event Driven Architecture



In addition to the above, we'll be covering the soft skills needed by architects to succeed. I'll share my experiences, where I've made mistakes and what are the changes I've made in my journey. I'll provide a guide on the skills/qualities that you should focus on building to grow into a Staff/Architect role.


For details around the curriculum, check out the Course Syllabus section!

Who is this course for

01

Mid-level to Senior Engineers looking to grow their knowledge in architecting large scale systems.

02

Interested in architecting real-world systems optimised for cost & adapted to real-world limitations.

03

Interested in learning architectural patterns for designing Serverless or Cloud-Native architectures.

What you’ll get out of this course

Architect Real-World Systems

Architect systems from the scratch in an interactive manner during the cohort. You'll learn how to design while thinking about functional requirements, constraints, scale and performance of the systems you're building.

Deconstruct how NFR's can impact your architectural decisions

We will simulate scenarios to test if our architecture adapts to changes in Non-Functional Requirements (NFRs) and identify needed adjustments. You'll learn how the same systems can have different architectures depending on the NFR's.

Deep dive into components in your Architecture

Delve into the inner workings of the singular component depicted in your architectural diagrams to grasp its functionality. This deeper understanding is crucial to determine its suitability and performance for your specific use case and load requirements.

Building Soft-Skills as an Architect

Soft skills play a major role in the real-world role of an architect. We'll simulate different use cases to provide insights into the challenges faced and how you can use your soft skills to influence decisions in your favour.

What’s included

Pratik Pandey

Live sessions

Learn directly from Pratik Pandey in a real-time, interactive format.

Lifetime access

Go back to course content and recordings whenever you need to.

Community of peers

Stay accountable and share insights with like-minded professionals.

Certificate of completion

Share your new skills with your employer or on LinkedIn.

Maven Guarantee

This course is backed by the Maven Guarantee. Students are eligible for a full refund up until the halfway point of the course.

Course syllabus

14 lessons • 3 projects

Week 1

Oct 5—Oct 6

    Distributed Systems Fundamentals and Decoding NFR's

    We'll go over some fundamental concepts like Concurrency and would start with understanding about the characteristics of distributed systems, correlation with concurrency and the challenges encountered while working with Distributed Systems.

    • 🧵

      Concurrency

    • 🧱

      Fundamentals of Distributed Systems

    • ✍️

      Designing a Concurrent Task Scheduler

      Submit by Oct 9

    Decoding Non Functional Requirements

    Non-Functional Requirements are hidden hints on how your system should be architected and we'll break them down to understand how they impact the architecture of our systems. We'll also dive into trade-offs and look deeper into "It Depends" and try to answer "It Depends on XYZ" for a stronger understanding.

    • 🔬

      Breaking down NFR

    • ⚖️

      Understanding Trade-offs

    Pre-reads for Week 2

    • 📄

      Pre-Reads

Week 2

Oct 7—Oct 13

    Designing Ticket Booking System

    Applicable Services: TicketMaster/Airbnb/BookMyShow

    We'll look into how we can design a ticket booking system from scratch in this session.

    • 🎫

      Design Ticket Booking System

    • ✍️

      Implement Concurrent Ticket Booking System

      Submit by Oct 16

    Designing Social Media Platform

    Applicable Services: LinkedIn/Instagram/Twitter

    We'll look into how we can design our own Social Media Platform, specifically focusing on the ability to post content and follow/unfollow people in this session.

    • 🐥

      Designing Social Media Platform

    Pre-reads for Week 3

    • 📄

      Pre-Reads

Week 3

Oct 14—Oct 20

    Designing Photo Upload Service

    Applicable Services: Instagram/LinkedIn/Twitter

    We'll look into how we can design a large scale Image Upload Service in this session.

    • 📷

      Designing Photo Upload Service

    Designing Messaging Service

    Applicable Services: LinkedIn/Instagram/Whatsapp/Discord

    We'll look into how we can design our own Messaging System in this session and handle the challenges at scale.

    • 🎮

      Designing Messaging Service

    • ✍️

      Implement Chat-Application

      Submit by Oct 30

    Pre-reads for Week 4

    • 📄

      Pre-Reads

Week 4

Oct 21—Oct 27

    Designing Notifications System

    Applicable Systems: LinkedIn/Instagram/Airbnb

    We'll look into how Notification Systems work at scale and we'll try to design our own Notification System in this session.

    • 🛢️

      Designing Notifications System

    Designing Distributed File System

    Applicable Services: S3/Google File System

    We'll look into how we can design our own Distributed File System in this session.

    • 💾

      Designing Distributed File System

    Pre-reads for Week 5

    • 📄

      Pre-Reads

What students are saying

Course schedule

6-8 hours per week

  • Live Sessions

    Saturday & Sunday - 1:00PM - 2:30PM CET


  • Doubt Solving (Optional)

    Saturday & Sunday - 2:45PM - 3:15PM CET

    Even though this session says 30 minutes, this will be more flexible and can be extended if we're having interesting discussions or have more doubts.

Meet your instructor

Pratik Pandey

Pratik Pandey

Senior Software Engineer

Senior Software Engineer @ Booking.com. Building the Messaging Platform for Booking.com to handle over a billion notifications a month.


Previously a Principal Engineer at Arcesium where I was responsible for building data ingestion and processing systems using Apache Flink and Kafka. Processing layer handled TB's of data and needed near-real time processing.


Before that, I was Senior Manager at S&P Global, where I was leading the feed products in India. I grew and managed a team of 35 individuals and worked on large scale financial feeds system.


I love to blog and share my knowledge. You can find my blogs here.

You can follow me on LinkedIn.

Learning is better with cohorts

Learning is better with cohorts

Active hands-on learning

This course builds on live workshops and hands-on projects

Interactive and project-based

You’ll be interacting with other learners through breakout rooms and project teams

Learn with a cohort of peers

Join a community of like-minded people who want to learn and grow alongside you

Frequently Asked Questions