The System Design Masterclass


A masterclass that helps you become great at designing systems that are scalable, fault-tolerant, and highly available.


Registrations for the September 2021 Cohort are now open.

13 out of 35 seats already confirmed for this cohort, confirm your's today


The course commences on 4th of September, 2021.



The Program

This is a prime cohort-based course aimed at providing an exclusive and crisp learning experience. The program will cover most of the topics under System Design and Software Architecture including but not limited to - Architecting Social Networks, Building Storage Engines and, Designing High Throughput Systems.

The program will have a blend of Live Classes happening on Weekends 4 to 6 pm IST, 1:1 Mentorship sessions happening on weekdays, and assignments. The program is designed to be intense and crisp to accelerate learning.


Why a cohort based course?



cohort

/ˈkəʊhɔːt/

noun

A cohort is a small group of students who work through a curriculum together to achieve the same learning objective.



Small and Focussed Group

Each cohort will have close to ~25 people ensuring you have a richer learning experience.

Thrive Together

Unlike MOOCs where the information flow is unidirectional, the cohort here will thrive on interactions and collaborations.

Discuss and Learn

Learning happens when we discuss, and hence everyone is encouraged to speak, put forth opinions, and discuss.


Why should you join?

The primary objective of this program is to make you comfortable at building systems that are scalable, fault-tolerant, and reliable. But here is what you could reap out of it.



Design systems like a pro

The course will make you comfortable at designing any system, no matter how stringent the requirements are.

Know the unknowns

Buckle up to learn some interesting concepts, super-clever algorithms, and sophisticated architectures. You are bound to have mind-blown moments.

Crack the interview

Be it FAANG or your dream startup, you would be at ease while designing systems in the interview round.

Upskill and level-up

Learn the designing paradigms and upskill yourself to accelerate your career growth and stand out.

Network and Community

Perhaps the most interesting takeaway will be your new network, friends, and a lot of memories.


The world is learning

People from all over the world have mastered System Design through this course.


100+
ENGINEERS


3
COHORTS


5
COUNTRIES



Program outline


Foundation

Week 1

The first week is about learning the macro and micro components of System Design.


Topics and agenda
  • How to approach System Design
  • Designing a Blog
  • Scaling and Caching strategy for Blog
  • Delegation and Async Processing
  • Supporting million concurrent users
  • Designing communication paradigm

Databases

Week 2

This week, we learn everything about databases, from SQL to NoSQL to Embedded, learn how to scale them.


Topics and agenda
  • SQL Transactions
  • Database Indexes and Locking
  • Scaling relational databases
  • Designing SQL backed KV Store
  • NoSQL databases: when, where and why?
  • Designing Google Firestore

Going Distributed

Week 3

The third week will be about understanding Distributed Systems and the challenges that come while building them.


Topics and agenda
  • Key to a good distributed system
  • Designing Load Balancers
  • Remote and distributed locks
  • Designing ID Generators
  • Open QnA and Doubt Resolution

Building Social Networks

Week 4

This is when we start modeling and building real-world systems, and we start with Social Networks.


Topics and agenda
  • Day 0 Tech Stack
  • Designing Image uploader service
  • Designing HashTag extractor service
  • Designing User Affinity service
  • Designing Message Indicators, and 4 more

Building Storages

Week 5

This week will be about building ephemeral, persistent, reliable and durable storage engines.


Topics and agenda
  • Designing Distributed Caches
  • Consistent Hashing: Application and Implementation
  • Designing a Word Dictionary
  • Designing Log-Structured KV Store

Building High Throughput Systems

Week 6

This week, we level-up and build systems that are heavily concurrent and required to deliver very high throughput.


Topics and agenda
  • Designing S3
  • Designing LSM Trees
  • Designing Video Processing Pipeline
  • Designing Flash Sale

Information Retrieval Systems

Week 7

This week is about understanding the internals of Information Retrieval Systems.


Topics and agenda
  • Designing Search Engines
  • Designing Recent and Related Searches
  • Designing Query Correction
  • Designing Realtime Recommendation System
  • Open QnA and Doubt Resolution

Building Algorithmic Systems

Week 8

The final week will be about exploring systems that are driven by a super-clever algorithm.


Topics and agenda
  • API Rate Limiter
  • Algorithm behind File Sync
  • Algorithm behind Tinder
  • Approximation Algorithms
  • Algorithm for place locator
👇 This is how we designed and scaled notifications for Instagram 👇

A video snippet straight out of one of the live session






Hi, I'm Arpit Bhayani 👋


In my last ~9 years of experience, I have worked at D. E. Shaw, Practo, Amazon, and Unacademy; and have built systems, services, and platforms that scaled to billions.

Post my masters in CSE from IIIT Hyderabad I joined D. E. Shaw for a short stint of 2 months, before moving to Practo and working there as a Platform Engineer, building and owning close to 8 different microservices. Post Practo I worked at Amazon on their primary mission-critical E-Commerce Database and built Data Pipelines that cold tiered the stale data.

After quitting Amazon in 2018, I joined Unacademy as their first Technical Architect and there I designed, built, managed, and scaled services like Search, Notification, Logging, Deployment Engine, and many more. I have now transitioned into the role of a Sr. Engineering Manager, leading the Site Reliability vertical.

In January 2020, I started my newsletter where I write and share an essay about programming languages internals, deep dives on some super-clever algorithms, and few tips on building scalable distributed systems. The newsletter currently has close to 1400+ subscribers.


Enroll Now

₹24,999 $399

plus 18% GST, a total of ₹29,999 or $475


YOU'LL GET


40 hours of Live Classes on Weekends, 4-6 pm IST

1:1 Personalized Mentorship on Weekdays

Multiple assignments and projects

Lifetime access to all the Curriculum Resources

Lifetime access to the Network and Community

We accept credit cards, debit cards, UPI, and EMIs.

Please re-confirm the amount before completing the payment. The EMIs we offer have an additional interest charge associates with them, and it varies with the bank as offered by Razorpay.



If you are an international student, please drop an email at arpit.masterclass@gmail.com and I will send you the bank details for the transfer.


If you have questions or need any clarifications before enrolling, please reach out to me at arpit.masterclass@gmail.com, or let's chat over a zoom call.


What worked the best?

From the reviews and feedbacks I gathered, here are a few key things that worked for folks who took this course.


structured and well organised

quality and non-repetitive content

could ask question any time

open ended discussion

learning community

much more than blogs we find

lego blocks

notes

working through problems as a group


What people say about this course?

Some testimonials from the people who took this course.


Ganesh Iyer March 2021

Course is awesome! Lots of incredible stuff packed in 8 weeks. Helped me crack Principal Engineer interview at Microsoft.

Aman Agarwal March 2021

A true masterclass with flavors of evolving solutions, interesting peer discussions. A great learning experience not just for interviews but for real. The openness to speak our minds out is the best part. #PaisaWasoolExperience

Tejas Agrawal March 2021

Had a super fun in learning how to learn and think system design. I am already using Arpit's teachings at my work, and I don't think anything more needs to be said.

Rohan Chougule March 2021

It's easy to throw jargons and assume that a system can be built. But then keeping things simple and starting from the basics, the approach to be taken, taking baby steps, and then heading towards a direction is indeed best taught by Arpit. Plus, his enthusiasm!

Vineet Mago March 2021

Arpit has done a wonderful job wading through complex design issues faced for designing systems at scale. Personally, for me, I loved interacting with the members of the cohort, understanding how each one of us approached the problem at hand. And then, in the end , Arpit would explain the right trade-offs to make and finalize a solution. I loved it, highly recommend it for folks who are looking at expanding their horizons on system design.

Nubra Jarial May 2021

The course was very enriching and made me think about software design in unexpected ways. There are so many systems that we take for granted and don't look into - load balancers , cloud storages, database engines etc. even though they're often the ones doing the heavy lifting in enterprise applications. Arpit provides great insight into why things are the way they are and also introduces some neat spinoffs! Completely worth both the time and money!

Akanksha Singh May 2021

The course was like a roller coaster ride. At start Arpit will be explaining basics, and at the very next moment you'll realize he is making you answer high level concepts. Arpit is delivering his years of experience and research in this course. At start of course, even after reading/watching so many resources , I wasn't sure of system design. By the end of this course I have already started implementing system design's lego blocks and have so many ideas which i want to implement and test myself.

Ujjwal May 2021

Wish this cohort never ended. The enthusiasm with which Arpit teaches, his engineering adventures with large scale systems and his patience to handle even the most fundamental doubts makes this cohort special !

Abhijit Jain May 2021

I appreciate not only the depth and breadth of topics covered but also Arpit's friendly teaching style and patience. The topics covered in class were non-trivial but were introduced perfectly like they were lego blocks - smaller components adding up to bigger and better systems. What sets this masterclass apart is the focus on designing systems the way a real company would do (think companies you admire, eg FANG). This is a course that'll improve your design thinking, empower you to ask the right questions and help you make the right tradeoffs for your system. Highly recommend!

Saurav Daruka May 2021

System Design Masterclass was a very immersive, interesting and a completely unique asset to learn System Design. The course structure was clear, logical and effective. Arpit is an expert Technologist and has obviously put a lot of thought and expertise into designing the course. But it wasn’t just about the knowledge. Additional benefits came from doing assignments, receiving individual feedback and interacting with Arpit and other participants. My perspective has been changed in the way I look at Systems now. I didn’t just learn "how" to design systems – "what" and "why" also became much clearer. Investment of time, effort and money on this course is a value add to my skills and it made me a better Software Engineer!

Shitiz Bhutani May 2021

I found this course useful as it provided me with a lot of breadth in System Design with appropriate depth. I really liked Arpit’s way of explaining complex problems in a neat and simple way. The course structure is organized in such a way that you can easily connect the dots. I highly recommend it.

Nityananda Gohain May 2021

One thing I can guarantee that after this course you can read any kind of system design book/blog with confidence and you will be able to relate to Arpits classes in someway or the other, also Arpit designed the course in such a way that you will be able to relate to previous classes and bring out patters in solving problems. My best investment ever :)

NY May 2021

The kind of concepts which Arpit taught were really impressive and it helped me to understand the building blocks for different kinds of systems, making trade offs while choosing one component over the others. Arpit also encourages everyone to participate in the discussions. Arpit possesses incredible knowledge, energy and enthusiasm. He explains the concepts in simple yet effective manner.


Who took this course?

Folks belonging to some of the best companies and high thriving startups have taken this course, the list includes the likes of



Frequently asked questions

You can always drop me an email at arpit.masterclass@gmail.com for other questions.


Is this course right for me?

This course is for any engineer who wants to learn System Design. The program is most suited to someone who has some industry experience, about 1-5 years.

Will you be giving teaching for the entire duration?

Yes. I will be teaching the entire course online and live over Zoom and will be providing feedback and 1:1 mentorship.

Will there be a class every day?

The Live Classes will happen on Saturdays and Sundays 4-6 pm IST with a possible extension of 30/45 mins.

Can I get this course reimbursed from my company?

Talk to your manager and check if they can sponsor this course. The invoice that will be issued is a legally valid and sound invoice that can be used for any kind of reimbursement.

Will there be reserved slots for 1:1 mentorship?

1:1 mentorship calls will happen on-demand, just drop me a message a day prior, and I will get our call scheduled.

Will there be assignments and hands-on projects?

Apart from Live Classes on weekends, there will be multiple assignments and projects ensuring you apply what you learn. Unfortunately, due to time constraints, the evaluations of assignments are not possible, but I highly encourage you to implement all the assignments and seek help during 1:1 sessions.

Will the course cover LLD?

The course will cover some aspects of Database Design and its internals, but it will not cover writing and designing classes, and low-level design patterns. The course is typically aimed at covering the massive spectrum of System Design and Software Architecture.

Are assignments and projects mandatory?

No. But it is advisable that you complete them to get a better understanding of the system, algorithm, and business logic.

Will we also implement and see the systems in action?

Due to time constraints, it is not possible to implement every system; it is recommended that you self-implement the system and understand the low-level details. The course will definitely cover systems from every aspect.

Will there be a recording available for future reference?

Every single Live Class will be recorded, and you will be given lifetime access to it.

Is there a refund policy?

14 days (from the course commencement) is the window within which you can claim a full refund. No Questions Asked. All refunds will be processed on the 14th day from the course commencement date.

Where are the classes conducted?

All Live Classes will be online, over Zoom, and all you need is an internet connection to attend the live sessions.

Who you be the only one teaching this course?

The entire course including Live Classes will be conducted by me, Arpit Bhayani, no external TAs, mentors, etc. You will get to learn everything from the horse's mouth.

What are the programming pre-requisites?

It would help if you had to have work experience of 6 months, plus a basic understanding of one of the cloud providers like AWS, GCP, plus some basic understanding of high-level system design by watching already available YouTube videos.

How is this course different from free videos on YouTube?

This cohort-based course aims to be live, intense, and interactive. Traditional MOOCs (existing videos on the internet) cannot offer these benefits as they are unidirectional and optimizes for one-to-many. With this course being taught live, you can get instant resolution to your doubts. The discussion, collaboration, and networking will have a major impact on your overall learning as there will be cross-pollination of information.

If I have already watched System Design videos on YouTube, is this course still helpful?

Yes. The kind of depth which is touched in this System Design is unmatched. Even if you have watched all the System Design videos out there, you will still have moments that will blow your mind.

Will I be getting an invoice of Payment?

Yes. An invoice will be issued to you with all the legal and necessary details. This means your employer can choose to process this invoice and provide reimbursement.

Can I use my Credit Card or avail EMI to make the payment?

Yes, we support Credit Card, Debit Card, UPI, and Credit Card based EMIs having a duration of 3 months, 6 months, 12 months, and 24 months as offered by Razorpay.

Will I get access to videos and resources of past cohort?

No. You will get access to all the live sessions happened in your enrolled cohort only.