#AsliEngineering

The System Design Masterclass


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


August 2022 enrollments are closed and waitlist is open for October 2022 cohort.

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.


October 2022 Cohort

8 weeks course 75 seats

Starts 1st October, 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.


Join the waitlist

₹34,999 $549

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

August 2022 admissions are closed.

August 2022 cohort is full with 75 amazing folks and the next cohort commences on . To get notified when the admissions open, join the waitlist using your email.



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

₹32,999 $525

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 17000+ 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.


Satvik June 2022

While the content is top-notch, something which many of my fellow participants talked about, I shall discuss some other invaluable takeaways from Arpit and the System Design masterclass:

  1. Communication - It’s a bidirectional communication. It’s not Arpit simply giving a out a lecture, it is us the participants chiming with our approaches with Arpit orchestrating the discussion, probing us and questioning us on even the smallest of our design decisions. After this he collates all the points to converge on the approach. After a few sessions, I was accustomed to asking myself - “why I am choosing this database or this communication mechanism over the other, and, can this be done better or more cost-efficiently”?

  2. Intuition - Probably the MOST IMPORANT TAKEAWAY from the masterclass - We do not merely learn how to construct popular systems and use-cases like scaling Instagram notifications, designing Dropbox multi-client sync or designing S3. We learn the way we should approach each use-case considering the storage, network and cost, to name a few. In other words, his teaching helps us build the intuition to tackle the diversity of use cases in system design.

  3. Lego style architecture - Arpit rarely builds a entire system in one go. Rather he dissects them in components and teaches them one at a time, constructing it from the ground up. I was surprised to find that how the components we built in previous weeks could be conveniently plugged in and used as black boxes into complex systems we designed in the later weeks.

  4. Structure - Each session has a discipline - problem statements, followed by discussion and them formal coverage by Arpit. No nuisance or surprise which helps us focus solely on the content and make the best out of the discussion. To add to this Arpil laid out the requirements clearly which made the focus razor sharp E.g. If we are designing Dropbox, today we shall focus on resumable sync, not the entire Dropbox. The communication between client and server could use the Kafka pipeline we built in a previous week.

  5. Pragmatism: Real systems are simple, scalable and cost-efficient - one of the most important takeaways from the masterclass. Theoritically, we can assign huge number of redis clusters or Dynamo DB nodes, but coming to real life scenarios - we could be left bankrupt real soon as these resources don’t come cheap. Arpit helps us ponder over these important nuances and guides us how to build optimizations over these.

  6. Start small, add complexity with time and metrics - Another key takeway. Start with the day 1 architecture and add shards/nodes/clusters/load balancers and what not - depending on how the scale grows - is something I learnt from the sessions.

  7. Break it down to the root - Each system we covered, we designed it from the ground up - taking into mind the storage, communication and cost - to name a few. Nothing was taken from granted - I was very amused when we actually discussed how to build a load balancer or design S3 - things i never cared to ponder on.

  8. Diversity of Participants - The June cohort had participants having experience ranging from 2 years to 11 years (approximately), each bringing forth their knowledge and expertise into the discussions.

  9. Continuous feedback - Arpit made available a Google form which could be filled anonymously after sessions, if one had concerns about anything regarding the delivery or content of the session. Arpit read it out and made sure to address this concerns in the upcoming sessions.

  10. Professional growth - Something that took me off guard. Many-a-times, Arpit gave up tips on what design decisions would not optimize and add value to the system we were creating, but could also help differentiate us from our fellow engineers and assist us in climbing the corporate ladder.

Finally, Arpit’s love and passion for architecturing systems and appreciating engineering excellence is contagious, to say the least.

Sign up to experience #AsliEngineering at it’s truest sense!

Umang June 2022

Arpit’s System Design class starts from first principles and builds up in every session.

This is not focused on clearing interviews but understanding the system design fundamentals and how to use what you learn to come up with simple and elegant systems. His approach is to build the smallest setup first and then keep iterating on it as we dive deeper.

He is extremely focused on the why and keeping things simple. The class pre-reads are great resources and he covers a variety of systems every week.

He enjoys teaching the class and it is very evident the amount of thought, research and effort he has put into this offering. Highly Recommended!!

Sagar Kanojia June 2022

Taking Arpit’s masterclass is one the best investment I have done in my learning. In every session you will learn something new. The course is exactly as it is described. #AsliEngineering

Everybody says dig deeper, Finally someone who carved out a clear path on how to dig deeper.

  • How to keep things simple and elegant.

  • How to think like a principal engineer.

  • When not to over engineer.

  • Reading research paper.

  • Also how to relate system design with real life process and take inspiration from that and much more.

I feel more confident and empowered. It had made me more clear about which path I need to follow in my career and how to excel in it.

Also, I got lucky to be a part of the first meet-up and meet my amazing peers across all cohorts. Now I feel more obliged to work harder to be an Asli Engineer and live upto the name of this course.

Thank you so much Sensei for making me love Engineering more.

Vinay Kumar Agarwal June 2022

Beautifully designed and thought out course for mid-senior level engineers looking to get closer to high level systems and understanding the nuances involved.

Apart from getting the thorough understanding of high level system components like load balancers, API Gateway, etc, this course will help you to learn the way of solving system design problems in general. This is the best part about this cohort based course. Focus on designing traditional as well as non-traditional systems is something that makes this course one of the best choice out there.

Pre-reads, papers, videos and all the other content that is provided throughout the course helps in building and solidifying the understanding of the course content. Kudos to Arpit for putting his heart and soul into not just this course but engineering in general.

Loved all of it!

Chain Singh June 2022

I have gone through various youtube videos and books, but everywhere they will just say use Redis, use MongoDB, use this tech stack etc, but the motive behind using that tech was not mentioned any where. Even if it is mentioned, there was no detailed explanation from basic concept. Also everywhere I saw they designed architecture which is not at day 0. When we get requirement initially in real world, first we think day 0 then we scale and optimize. I learnt a lot from Arpit.

  1. How to start system design problem not even in interview but in real world when we get from product

  2. How to think day 0 architecture and optimize incrementally

  3. How to choose best fit tech from lot of available options

  4. How to choose cost effective tech

  5. Trade off of choosing the tech

Since he built the system, so he has practical knowledge not just randomly throwing some idea. This course helps us to be better software engineer, and software architect etc.

Prateek June 2022

It is a great course to understand and refresh the building blocks and work on a lot of design problems from the ground up. It helps us to identify the basic concepts that case be used on a range of concepts and use them to build the popular systems we interact with daily.

Adeesh Holla June 2022

I found this course very useful for my day-to-day activities. this course made me to think in different directions for every problem we face. Appreciate Arpit for coming out and explaining in detail. I would recommend everyone to take this course and enhance your system design and distributed system knowledge.

Manoj June 2022

A great course which ignites the thinking process behind a system.

The thing that amazed me most in this course is Arpit exactly knew what kind of question we ask and he has proper answers to all our questions, doubts and suggestions in brainstorming sessions.

Kaushal Sharma June 2022

Best system design course out there. Far beyond my expections.

Prakash Upadhyay June 2022

This course triggers your creativity while you brainstorm in group to design a system, and you feel like sharing your ideas that are well received by the instructor and the discord community of #AsliEngineering. What I like most is how we discover a complex edge case even in a moderate use case and solve it together.

Pratiush June 2022

Your Cohort are desinged Spot on! With the right flow,Pace and Control. What concept should come in where and in which sequence and what depth. Very Well done!! I have already told 8 of my friends working at very senior levels about this cohort! My deep Gratitude to you!! A lot to learn from apart from the tech knoweledge. I will keep on looking at your new concepts always!

Jigar June 2022

Course helped to improve my system design skills. It also helped me to connect the dots at current organization. I was able to apply 2-3 concepts immediately at my current organization and improve the performance. This course is must if you want be better engineer.

Sumit Roy April 2022

“There is no single answer to any design problem.” This is something which everyone will agree upon, still I have only seen courses where the tutor explaining that one perfect design for a particular problem. This is not the style of this course. The most important thing I learned was the basics and how to “think” like an engineer. This boosted my confidence and now I am not afraid of any new problem which I might face in interview or real life.

Shekar May 2022

When I joined my conpany right after college, I have learnt many things which were not taught in college and I thought these are supposed to be learnt through experience and no one teaches you. And most of the architectural decisions were taken by senior developers and I used to have no clue on why they did that. But I have came across your youtube videos and immediately got hooked. This course is something which is designed to help you understand what are the key factors to consider to design a system. Believe me, from being clueless -> I have understood our company’s architechture much better and was able to suggest improvements in no time. I strongly recommend this course to anyone who is planning to get better at design systems. Arpit really has a jovial way of teaching. Can’t recommend this course enough. And the people in the cohort share great resources, thankyou everyone for participating, it was a great learning experience.

Thanh May 2022

Highly recommend. Don’t think you can find a real course teaching System Design at this level of depth in the wild. Best investment I’ve ever made in my career. It helped me to triple my current salary recently. It’s very practical, well-structured, every design decision has been made out of concise and thoughtful thinking. This course is heavy to me personally, and definitely will watch the recordings over and over again as I believe there’s tons yet to be learned. This is a long-term investment for sure.

Vishesh Pahuja May 2022

I got to know about Arpit and his course in late 2021 though one of my friend who already took his course but I signed up for May 2022 cohort, now after completing this course I wish I could have signed up early but its “Better late than never”.

To support my above statement, my opinion about this course:

  1. It boosts your curiosity, which is very much needed if you are working in IT. For me it has not just added to my curiosity but multiplied.

  2. You become very much aware and see things very differently which you have already read from your school, college time and using it daily. (*Mindset shift)

  3. The course structure is very well designed from Fundamentals to designing highly scalable systems.

  4. The brainstorming session throughout the course which is very much needed.

I would highly recommend this course to all the engineers out there if you really wanna ignite the #AsliEngineer in you. (Discord community, Cracking interviews, …, etc all are the bonus). Worth investing.

Thanks a ton Arpit for putting your great efforts to this course. :)

Kanika Choudhry May 2022

It was a great course.I was afraid of system design earlier , but your insights and approach to solve a problem made it appear simple!!!

Sammyak Sangai May 2022

#Asli Engineering!! Definitely lived up to the hashtag!! When I came across this course, I really liked the syllabus and the way it focused on real life systems. Most of the material related to system design I found online was quite theoretical and left me wondering whether I would ever need it. However this course was different. It wasn’t a one way traffic. To me, it was almost like a fast-forward version of how that particular system must have been designed when it came into existence and what must have been the thought process of the engineers who built it. It was more of a discussion with Arpit doing the handholding if someone misses something and sharing terrific insights about real life systems. Not just the design discussions, but regular question-answering sessions also provided different perspectives about why that particular system should be designed in that fashion and also how things actually work in different companies. There were so many new platforms and systems that I hadn’t even heard of before I took this course.

Arpit has structured this course in a very optimal way, so that you always have something to take away from a session. Every week’s sessions left me wondering. How does this guy manage all this ?? and that too with such passion and energy!!

I highly recommend taking this course, especially for those who are at the start of their careers like me as you would also get to learn a lot from the senior folks as well who take this course. Also the learning curve would be extremely high.

PS: This course was the most productive thing I did in the last 7-8 weeks. My main take away from the course was most the systems that are extremely successful are quite simple and intuitive. It’s just that we as engineers should know how to approach a problem and ask the right questions. Arpit’s course focuses on that a lot!!

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 17000+ 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.



  • v12.4.4
  • © Arpit Bhayani, 2022

Powered by this tech stack.