A masterclass that helps you become great at designing systems that are scalable, fault-tolerant, and highly available
March 2021 cohort is closed with 27 amazing folks.
If you want to be part of future cohorts, check out program details and join the waitlist 👇
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, 1:1 Mentorship sessions happening on weekdays, assignments and, group projects. The program is designed to be intense and crisp so as to accelerate the overall learning.
/ˈkəʊhɔːt/
noun
A cohort is a small group of students who work through a curriculum together to achieve the same learning objective.
Each cohort will have close to ~25 people ensuring you have a richer learning experience.
Unlike MOOCs where the information flow is unidirectional, the cohort here will thrive on interactions and collaborations.
Learning happens when we discuss, and hence everyone is encouraged to speak, put forth opinions, and discuss.
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.
The course will make you comfortable at designing any system, no matter how stringent the requirements are.
Buckle up to learn some interesting concepts, super-clever algorithms, and sophisticated architectures. You are bound to have mind-blown moments.
Be it FAANG or your dream startup, you would be at ease while designing systems in the interview round.
Learn the designing paradigms and upskill yourself to accelerate your career growth and stand out.
Perhaps the most interesting takeaway will be your new network, friends, and a lot of memories.
Foundation
The first week is about learning the macro and micro components of System Design.
Databases
This week we will focus on learning everything about databases, right from SQL to NoSQL to Embedded, going through the internals, and understanding how they scale.
Going Distributed
The third week will be about understanding Distributed Systems and the challenges that come while building them.
Building Social Networks
This is when we start modeling and building real-world systems and we start with Social Networks.
Building Storages
This week will be about building ephemeral, persistent, reliable and durable storage engines.
Building High Throughput Systems
This week we level-up and build systems that are heavily concurrent and required to deliver very high throughput.
Building Search Engines
This week is about understanding the internals of Information Retrieval Systems.
Building Algorithmic Systems
The final week will be about exploring systems that are driven by a super-clever algorithm.
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 1000+ subscribers.
Join the waitlist
YOU'LL GET
40 hours of Live Interactive Classes on Weekends
1:1 Personalized Mentorship on Weekdays
4 Individual Assignments, 1 Group Project
Lifetime access to all the Curriculum Resources
Lifetime access to the Network and Community
Exclusive Freebies and Swags
Group discounts are available. Drop an email at mcx.masterclass@gmail.com for a quote.
You can always drop me an email at mcx.masterclass@gmail.com for other questions.
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.
Yes. I will be teaching the entire course live over Zoom and will be providing timely feedbacks and 1:1 mentorship.
The Live Classess will happen on Saturdays and Sundays 4-6pm IST with a possible extension of 30 mins.
Apart from Live Classess on weekends there will be 4 assignments and 1 group project ensuring you apply what you learn.
Every single Live Class will be recorded and you will be given lifetime access to it.
14 days (from the course commencement) is the window within which you can claim a full refund. No Questions Asked.
All Live Classes will be online, over Zoom, and all you need is an internet connection to attend the live sessions.
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.
You need to have a working knowledge of one language - either Python, Java, Golang or NodeJS - and a will to learn the basics of others. Most of the exercises and assignments will be language agnostic but depending on the problem statement you may have to pick one over other.
This cohort-based course aims to be live, intense, and interactive. Traditional MooCs (existing videos on the internet) cannot offer these benefits as they primarily are unidirectional and one-to-many. With this course, you will get 1:1 mentorship which means an instant resolution to your doubts. The existing content is mostly abstract and they never go in-depth, for example, Consistent Hashing, everyone explains it by stating it as a ring and putting nodes post hashing and all; but none of them dives into its low-level implementation which becomes a major miss either during the interviews or while using it at your current job. The discussion, collaboration, and networking will have a major impact on your overall learning as there will be cross-pollination of information.