Staging environment

Architecting Real-World Distributed Systems - Mid to Senior Levels

4.8 (6)

·

4 Weeks

·

Cohort-based Course

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

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.

This course includes

Interactive live sessions

Lifetime access to course materials

20 in-depth lessons

Direct access to instructor

4 projects to apply learnings

Guided feedback & reflection

Private community of peers

Course certificate upon completion

Maven Satisfaction Guarantee

This course is backed by Maven’s guarantee. You can receive a full refund within 14 days after the course ends, provided you meet the completion criteria in our refund policy.

Course syllabus

Week 1

Oct 5—Oct 6

    Distributed Systems Fundamentals and Decoding NFR's

    3 items

    Decoding Non Functional Requirements

    2 items

    Pre-reads for Week 2

    1 item

Week 2

Oct 7—Oct 13

    Designing Ticket Booking System

    2 items

    Designing Social Media Platform

    1 item

    Pre-reads for Week 3

    1 item

Week 3

Oct 14—Oct 20

    Designing Photo Upload Service

    1 item

    Designing Messaging Service

    2 items

    Pre-reads for Week 4

    1 item

Week 4

Oct 21—Oct 27

    Designing Notifications System

    1 item

    Designing Distributed File System

    1 item

    Pre-reads for Week 5

    1 item

Post-course

    Designing Job Scheduler Service

    2 items

    Design Code Build and Deployment System

    1 item

    Pre-reads for Week 6

    1 item

    Building Resilience & Observability

    2 items

    Architect's Soft Skills

    1 item

4.8 (6 ratings)

What students are saying

A pattern of wavy dots

Be the first to know about upcoming cohorts

Architecting Real-World Distributed Systems - Mid to Senior Levels

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

A pattern of wavy dots

Be the first to know about upcoming cohorts

Architecting Real-World Distributed Systems - Mid to Senior Levels