#AsliEngineering

The System Design Masterclass


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


Admissions for the August 2022 Cohort are now open.

Lifetime access to every system we ever discuss

By purchasing this course, you will get lifetime access to any and every system we ever discussed in the past cohorts or will ever discuss in the future cohorts.


August 2022 Cohort

8 weeks course 68 seats remaining

Starts 6th August, 2022

9:00 to 11:30 am IST on Saturdays and Sundays


During the live sessions, you will learn the intuition behind building scalable systems from Arpit. You will also be interacting with the entire cohort and learning from their experiences.


Enroll Now

₹29,999 $475

inclusive of all the taxes


YOU'LL GET


40+ hours of Live Classes on Weekends IST

Three 1:1 Mentorship Sessions

Lifetime access to all the cohort recordings

Access to all the systems we ever discuss

Lifetime access to the Network and Community

Open forums and interaction with the cohort

Doubt resolution during and post live sessions

International learners

please drop an email at arpit.masterclass@gmail.com and I will share the PayPal and the Bank Details for the wire transfer.


Indian learners

can directly make the purchase through their Credit Cards, Debit Cards, EMI, UPI, and Netbanking.



If you have questions or need any clarifications before enrolling, please reach out to me at arpit.masterclass@gmail.com.

Learn at your own pace

40+ hours

16 session recordings

~28 questions covered


You will get access to the recordings of the completed sessions from the April 2022 cohort; so that you binge watch quickly and prepare yourself for the task at hand.


Buy Now

₹27,999 $450

inclusive of all the taxes


YOU'LL GET


All the recordings from April 2022 cohort

Three 30-mins 1:1s (within 60 days from purchase)

Lifetime access to all the cohort recordings

Access to all the systems we ever discuss

Lifetime access to the Network and Community

International learners

please drop an email at arpit.masterclass@gmail.com and I will share the PayPal and the Bank Details for the wire transfer.


Indian learners

can directly make the purchase through their Credit Cards, Debit Cards, EMI, UPI, and Netbanking.



If you have questions or need any clarifications before enrolling, please reach out to me at arpit.masterclass@gmail.com.

The Program

This is a prime and intermediate-level 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, 1:1 Mentorship sessions, and self-assignments. The program is designed to be intense and crisp to accelerate learning.

Program pre-requisites

The course operates at an intermediate-level and you would get 100x value out of it if

  • You have at least 6 months of work experience
  • You are interested in learning how real systems are built
  • Have watched at least a few System Design videos on YouTube
  • You have a basic knowledge of cloud offerings like S3 and SQS
  • Have couple of months of time over weekends that you can dedicate towards upskilling

I have created this playlist of videos that would give you a good headstart for this course. Feel free to go down the rabbit hole and explore in detail the tech mentioned in the playlist.

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 ~70 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

Learn some of the most interesting concepts, super-clever algorithms, and sophisticated architectures. You are bound to have mind-blown moments.

1:1 Mentorship

When in a dilemma about an architectural decision, engineering challenges, career advice, or general mentorship, get your doubts cleared during your 1:1s with Arpit.

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.


System Desgin Masterclass Demographic
700+
ENGINEERS


10
COHORTS


11
COUNTRIES


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


Program outline

You can find detailed problem statements in this Github repository.



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 Online/Offline indicator
  • Designing a Blogging Platform
  • Scaling and Caching strategy for Blog
  • Delegation and Async Processing
  • Supporting million concurrent users
  • Designing communication paradigm
Checkout detailed problem statements

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
  • Designing Airline Check-in System
  • Designing SQL backed KV Store
  • Scaling relational databases
  • NoSQL databases: when, where and why?
  • Designing: Slack's Realtime Communication New
Checkout detailed problem statements

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
Checkout detailed problem statements

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 Message Indicators, and 4 more
Checkout detailed problem statements

Building Storages

Week 5

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


Topics and agenda
  • Designing Distributed Caches
  • Designing Multi-Tiered Storage New
  • Designing a Word Dictionary
  • Designing Log-Structured KV Store
Checkout detailed problem statements

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 Cost Efficient Orders Service New
  • Designing LSM Trees
  • Designing Video Processing Pipeline
Checkout detailed problem statements

IR Systems and Adhoc Designs

Week 7

This week is about understanding Information Retrieval Systems and discuss some interesting adhoc systems.


Topics and agenda
  • Designing Search Engines
  • Designing Recent Searches System
  • Distributed Task Scheduler
  • Designing Message Brokers like SQS
  • Designing Flash Sale
  • Designing Cricbuzz's Text Commentary
Checkout detailed problem statements

Building Algorithmic Systems

Week 8

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


Topics and agenda
  • Algorithm behind File Sync
  • Algorithm behind Tinder
  • Designing User Affinity Service
Checkout detailed problem statements
This is how we designed notifications for Instagram 👇

A video snippet straight out of one of the live session



Arpit Bhayani

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 and Data Engineering verticals.

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 15000+ readers.

Recently, I have started building Revine - a programming langauge for kids helping them develop logic through animations and spark their creativity through artwork.

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 recently took this course.


Yashas P April 2022

So glad that I signed up for this course. Arpit has a very well curated topics which he covers in depth. From small nuances to big design decisions. This course has helped me move away from a developer mindset and look at systems at a holistic picture. I can now relate to the designs of so many systems I helped in developing.

Sulekha Maheshwari April 2022

This is the best cohort course when you want to understand how systems are actually designed and built. The course is designed in such a way that you will never feel this is beyond your grasp.

Every system starts with a naive architecture and you will be amazed to see the end system after discussing all tradeoffs. If you can’t relate to this course now, You will definitely find this course helpful somewhere in your career.

On a personal note, I was being introduced to several jargons and components which play a key role in Designing the systems. You are doing a Fab Job Arpit! Thanks a ton :)

Asutosh April 2022

“Your enthusiasm is contagious” - a fellow student said to Arpit on our last day of the cohort, and I couldn’t agree more.

  • It goes beyond what’s just needed for interviews and tries to address difficult design choice questions

  • The classes are well organised: They aren’t just a unidirectional flow of information. The students get to participate in brainstorming the problem statement, building them from scratch, and Arpit ensures to nudge us just enough to keep us on track, and more often than not, the students themselves only are able to come up with quite similar approach as Arpit later discusses. This is a really good quality of a teacher: not giving away the answer, but at the same time, making the students capable enough to arrive at the answers by themselves.

  • No class ends with a student having some doubt: At the end of each class, there is an open discussion, where all doubts related to the topics discussed are clarified, and then only the class is concluded.

  • What makes Arpit stand out from other instructors out there is that most of the content discussed in the classes, Arpit had first hand experience building similar systems in production. So, he is teaching from his practical experience.

  • Recently, he announced system design video library: All the best discussions for each problem statement would be updated here and all the new problem statements covered in the future batches will also be made available to all the students who had enrolled in any cohort. Life-long learning, what else can one ask for

  • One major learning was: We always think too ahead and complicate things. Repeatedly throughout the course, just how starting simple and iterating over it with common sense leads to good robust designs instills a lot of confidence in students, making them realise designing system is no rocket science, its just taking one step at a time, and being aware of the already available solutions out there and building on top of them.

  • And finally, like I mentioned in the beginning, apart from just the content of the course, there’s a lot more to it: I’ll highly recommend another fellow engineer just to be part of the discussions: the enthusiasm with which Arpit discusses in all the classes is something to witness. It takes you back to the point of thinking why all of us got started with software engineering in the first place: to get the sheer joy of building things. Down the line, its very normal to lose motivation or not feel as enthusiastic as we were when we were fresh out of college. Its really one of an experience to witness Arpit’s enthusiasm in all these classes, how he has sustained it for so long over these years, and if you look closer, it’ll tell you the BTS of making of a great engineer, what sets a great engineer apart from others: because of their ability to find pleasure and being hungry for more always.

Shivam April 2022

I can only say that taking this course has been a really great decision. It has far exceeded my expectations. I’ve never seen anything on system designs that goes this deep into talking the ‘what’ ‘why’ & ‘how’. What makes this cohort even better is that it’s not your classical ‘watch your instructor’ instead it’s more inclusive you’ll have all your doubts answered.

Roopam S April 2022

Great learning experience. Absolutely worth it.. Loved the content and brainstorming sessions.. I would definitely recommend it.

Vishal Dhawan April 2022

I almost envy Arpit. Not because of his financial success, (there are many financial successes out there for one to get envious) but because he is so in joy when he talks, teaches and brainstorms system design. Kind of like the Ikigai. Anyways thanks a tonne for explaining system design so beautifully 🙏

Pratik Pandey April 2022

Arpit’s cohort is the answer for everyone who want to genuinely learn(or grow their knowledge of) how to design highly scalable & resilient systems, not just how to crack system design interviews.

Arpits’s approach of problem solving, starting from the ground up, asking “WHY” for every design choice, big or small. Arpit makes you think of that one remote performance improvement scenario and it’s this attention to detail, that makes Arpit’s cohort truly unique and informative.

Couple the above with the cohort’s diverse thought processes and experiences, and you get yourself a fabulous learning environment. I cannot remember one session post which I didn’t have any new takeaways/learnings.

The cohort has been the best part about my weekends, and I definitely recommend it to everyone!

What you get - Amazing Mentor, Great discussions/Brainstorming sessions & #AsliEngineering concepts!

Deepak Mathuria March 2022

This course is certainly the best for anyone who wants to go in-depth on the High-level design of multiple scalable architectures in different domains.

I had done one-on-one with Arpit and come to know that this guy is really passionate about learning new stuff in the depth and finds real joy in teaching other people this amazing stuff. His funda is “Ek hi zindigi hai, seekh lo jitna seekh sakte ho”. He regularly reads research papers to go in-depth just so that he can understand and make others understand.

Coming back to the course, since a lot of iterations have already happened over the past 1 year and I have also attended the March-April cohort, I can ensure you that you won’t go empty-handed no matter how much experience you have. You will definitely get to know the behind the scene working of some of the amazing systems. For me certainly, this is one of the best investments on myself in the past 2-3 years.

Saivivek Valluru March 2022

Undoubtedly one of the best educational content! Arpit’s love towards system design is infectious. One will definitely fall in love with system design after his cohort. He makes complex concepts look very easy with his good analogies which will make core concepts stick to mind for long time.

Thanks Arpit for doing such great job! Definitely blockbuster movie for system design must attend 😊😊😊

Ajith M V March 2022

Thanks for the amazing course. The amount of depth and breadth you are going into for each problem statement is just mind-blowing. You are a real inspiration and a true gem. Thankyou very much for spreading the knowledge. The cohort-based structure of the course really helps.

It was amazing to see how each and every time you align the thoughts of all the participants into the most ideal solution. Learned many new concepts during the last 2 months. Wishing you and your family all the very best!!!

Abhishek Jain March 2022

I would recommend this course to everyone who are still looking out for mentors who can teach how amazing engineering is. I joined this course not from an interview perspective but i wanted to know the bigger picture on how different systems are scaled to a million users, and definitely i got to learn a lot.

I can confidently say Arpit’s approach to teach system design is exceptional, you cannot find this kind of content on any youtube video or MOOCS. Personally, this has been an inspirational 2 months for me where I got to know exactly how we can approach engineering problems and what resources to go through to brush our skills. His passion for engineering is contagious and if you want to know Asli engineering inside out then this is a must join cohort.

Abhishek March 2022

This course was the highlight of my weekends for the past two months. I’ve been exploring system design content for quite some time and after going through a lot of content, I must say Arpit does full justice to the time people invest in his course. Arpit does not shy about going to a detailed analysis of any system, he makes sure that every possible doubt that comes into your mind is resolved during the session and later in the open forum session. I found this very useful as Arpit’s extensive background in industry and academia gives him the ability to go as in-depth as you want when answering your questions. Be it databases’ internal implementation, operating system quirks or hardcore computer architecture question, Arpit knows his stuff really well.

Small cohort size and interactive brainstorming sessions helped me to get quick feedback on my design decisions. This made sure that the session was not just a one-sided lecture but an exchange of ideas amongst the peers. The cohort had people form different domains and varying experience - I used to search for the technologies and jargons people floated in the discussion which gave me an amazing exposure.

Initially, I joined this course to become comfortable in system design interviews but later I realised that the main intention of the course is core engineering and detailed analysis of systems, which you might miss if you’re simply studying system design for interview purposes. Cracking interviews is a favourable byproduct of this course and not the sole intention. Thanks Arpit, I thoroughly enjoyed this course.

Hardik Somani March 2022

The course lives upto the hashtag #AsliEngineering, and not just cracking interviews. The depth and nuances that Arpit covers in each system that we design is worth the time spent on the course. The add-on benefits of a great community and networking is also great.

Amulya Holla March 2022

This course definitely lived up to its name - VERY LEGIT - “#AsliEngineering”. These classes became the highlights of my weekends.

Arpit has designed the course in such a way that you will be able to relate the content of every class to its next one. He wouldn’t straight up give you a solution with random jargon nor would he recommend using one technology over other without proper reasoning. He rather conducts brainstorming sessions where he nudges us to come up with solution. While doing so, he discusses the tradeoffs, he encourages to see the patterns and reuse the solutions discussed/built in the previous classes.

I highly recommend taking this course. It is a course worth investing your money and time on.

Ankit Sanghvi March 2022

This course challenged my fundamental understanding of systems designing & made me appreciate the beauty, intricacy & logic of software at scale. Arpit is a natural teacher & passionate tech evangelist who will start from the ground-up & then refine your concepts with this hands-on-engineering journey.

Vaibhav Jain March 2022

To start with, this has been one of my best decisions in life to join Arpit’s cohort. Despite there being “too many sources for system design on the Internet” as people say, I haven’t seen a single course or educator talk about an in-depth dissection of a given system and questioning different alternatives for even small micro-decisions, which are very critical and which Arpit covers in great depth for all the problem statements.

The aim throughout the course is to build intuition and a strong foundation. With a cohort-based model, learning increases multiple folds and it feels like a day-to-day technical discussion that you have with senior folks at work, which makes it the most fun part of all.

There are people with varied experiences here, and you get to learn from their experiences as well as get to connect with them, which is an added advantage. The “cost - driven development” mantra, as Arpit says in every design discussion, is an aspect that I have seen no one touch upon, and it is something that leads to very exciting discussions and approaches.

Arpit’s energy and passion for computer science are infectious and something that rubs off on everyone in the cohort, leading to great brainstorming sessions. I would personally recommend this course to anyone who loves backend engineering and computer science in general to be a part of great technical discussions, not just for the sake of interview preparation, but to learn and have fun while building systems!

At least I did for the same reason :)

Rakshith Shetty March 2022

Arpit has the knack of breaking down a very complex problem into simpler and smaller understandable components. The problem statement followed by the solution is communicated very clearly and in a structured way. The live sessions unfold so beautifully that you don’t realize that you have been listening to someone for 2.5 hours straight.

One of the nicest attributes about Arpit other than being brilliant at his field is that he shares the knowledge without being condescending. My approach to work has certainly changed after the cohort. Thanks for the knowledge, keep up the great work.

Shrey Batra March 2022

Honestly, this is one of the best courses I have been in till date. I thought I would probably know like 60% of the topics, but as and when we are completing this, I can be sure that I knew no more than 30% of topics discussed.

Some topics, systems, designs are so fabulous, using the same things we use everyday, and seeing them work and make our systems fault tolerant were mind blowing.

The delivery of the lectures, making it interactive, the efforts in building the notes, discussing all the points and also teach us more than engineering - How to be a “better” engineer and ask the right questions, think on the right lines is what motivated me the most and I got from this cohort.

This I feel would make me go a long way in my personal career space, just because of the “mode” of content delivery. Seeing youtube videos / reading articles or theory doesn’t make sense till the time you actually solve a problem. Even if these were on calls, they looked like actual Product Development calls we have in office where we design something from scratch, thinking about everything.

Thanks for the efforts you put in and helped me and the community. :)

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, at least 6 months.

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 as per the time mentioned on the webite 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?

No. I would recommend you implement the core of every single system we discuss ensuring you apply what you learn. I highly encourage you to implement 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 refund window from the course commencement date on cohort based course, no questions asked. No refund for 'Learn at your own place'.

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.

Will 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. You can also find a few videos on this ppage that I would recommend you through.

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.

Will you issue a course completion certificate?

I do not generate the certificate for every candidate, but if you need it, just drop me a message, and I will issue one right away.

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?

Yes. You will be getting access to all the unique questions we ever covered during any cohort - past or future.


Arpit's Newsletter read by 15000+ engineers

🔥 Thrice a week, in your inbox, an essay about system design, distributed systems, microservices, programming languages internals, or a deep dive on some super-clever algorithm, or just a few tips on building highly scalable distributed systems.



  • v11.0.1
  • © Arpit Bhayani, 2022