- 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
A masterclass that helps experienced engineers become great at designing scalable, fault-tolerant, and highly available systems.
June 2023 enrollments are closed and waitlist is open for August 2023 cohort.
If you are a beginner in System Design then check out my System Design for Beginner course.
8 weeks course • 75 seats
Starts 5th August, 2023
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
inclusive of all the taxes
✔ 40+ hours of Live Classes on Weekends IST
✔ Three 1:1 Mentorship Sessions
✔ Lifetime access to the cohort recordings
✔ Lifetime access to the Network and Community
✔ Open forums and interaction with the cohort
✔ Doubt resolution during and post live sessions
✔ Language of communication will be strictly english
June 2023 admissions are closed.
June 2023 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 email@example.com.
16 session recordings
~28 systems covered
You will get access to the recordings of one of my past but best cohorts happened to date; so that you binge watch quickly and prepare yourself for the task at hand.
inclusive of all the taxes
✔ Recordings of one of my past but best cohorts
✔ Three 30-mins 1:1s (within 60 days from purchase)
✔ Lifetime access to the cohort recordings
✔ Lifetime access to the Network and Community
International folks can also pay in USD or pay in EUR. In case you want to pay in any other currency, just drop me an email at firstname.lastname@example.org.
Note: there is no discount on the course pricing; I feel discounts are unfair to the folks who paid the full; the price of the course is subject to a yearly hike.
If you have questions or need any clarifications before enrolling, please reach out to me at email@example.com.
This is a flagship, 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. In the course, we will
The course operates at an intermediate-level and you would get 100x value out of it if
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. You can also choose to enroll in my System Design for Beginners course that is meant to cover system design from absolute scratch.
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 ~70 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.
Learn some of the most interesting concepts, super-clever algorithms, and sophisticated architectures. You are bound to have mind-blown moments.
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.
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.
People from all over the world have mastered System Design through this course.
Folks belonging to some of the best companies and high thriving startups have taken this course, the list includes the likes of
You can find detailed problem statements in this Github repository.
The first week is about learning the macro and micro components of System Design.
This week, we learn everything about databases, from SQL to NoSQL to Embedded, learn how to scale them.
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.
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.
IR Systems and Adhoc Designs
This week is about understanding Information Retrieval Systems and discuss some interesting adhoc systems.
Building Algorithmic Systems
The final week will be about exploring systems that are driven by a super-clever algorithm.
I am a CS engineer passionate about Databases, Language Internals, Distributed Datastores, and Advanced Algorithms. I am currently working with Google as a Staff Software Engineer with the Dataproc team in making Apache Spark faster. Throughout my career, I have worked across a variety of domains and have built systems, services, and platforms that scale to billions; and have worked at companies like Unacademy, Amazon, Practo, and D. E. Shaw.
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 internal 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 Data Lake, Search, Notification, Logging, Deployment Engine, and many more. I then transitioned into the leadership role and operated as a Director of Engineering and led the Site Reliability and Data Engineering verticals.
Every week, I put out at least one YouTube video on an Engineering Topic and publish a newsletter. I always keep building things on the side, and a few of my hobby projects include
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
minute implementation-details covered
open ended discussion
much more than blogs we find
working through problems as a group
Some testimonials from the people who recently took this course.
If you're looking for a transformational 8-week experience that will boost your ability to understand and build real-world systems, then this is the best course for you! Over the course of this cohort, I feel I've grown significantly as an engineer in many domains - knowledge and understanding of engineering systems, ability to understand and approach system design problems, brainstorming and decision-making.
The amount of technical depth covered (both theoretical and practical) in this course is unparalleled and would set up a great foundation for any engineer to understand and build almost any real-life system. We didn't just discuss theoretical aspects of systems (which are pretty important btw) but also touched upon how real-world production systems use these concepts
Arpit has an amazing approach to make you tackle engineering problems - by taking you along on a thought journey from the fundamentals to practical real-world applications.
I joined the course looking to sharpen my engineering brainstorming and decision-making and the course did help me achieve that. There are a lot of opportunities to tackle fresh, open-ended design questions while being scrutinised by Arpit - these helped grow my with brainstorming and decision-making skills significantly.
If you're considering this course to grow as an engineer, I would highly recommend this course. It might just turn out to be the best 8-weeks you've spent learning engineering.
As a mid level engineer, inching towards senior level, I always wondered about the process that sets one apart from the rest, in terms of technical expertise. To be brutally honest, we all know that in IT where majority of the work we perform on a daily basis, can be performed by any mid level engineer. Then, how do you create that difference in knowledge as you add more years to your experience?
This COHORT has showed me the path forward to create that difference. We deep dived about 30 systems in 8 weeks and it’s not these 30, but the comprehensive approach, minute implementation details and its application to seemingly very different systems, that created all the difference. And these sessions are not monologues, rather proper brainstorming session where we literally covered low level design decisions (storage/schema, communication protocols, concurrency controls, type of locking, etc) to micro optimisations (batching, connection pooling, indexing, etc) to high level architectures. Also, the focus is always towards designing for real systems which are cost efficient (one of the most important requirement for any company) and not some jazz which look complex.
Prototyping these systems (which Arpit will encourage you for, every hour of this cohort), will actually make you realise that it’s not that hard as we think. Personally, it also helped me understand the resources one needs to consume at different levels of experience/knowledge and THIS sets me on a path where I can keep growing my technical horizon. I literally had a time of my life attending this cohort. And I highly recommend this to anybody who is inclined towards understanding and designing complex distributed systems.
ProTip: Participate in brainstorming sessions. Prototype systems you are building. Utilise 1:1 sessions.
This is one of the best courses out there on system design. Arpit covers a wide range of system design topics and concepts in a very interactive manner. All these concepts are in turn also explained through design discussions on real time use cases.
It is not a usual course where someone is speaking and you are just listening, I loved the format of the course where you get to dive deep into all the concepts through interactive discussions. This course is highly recommended to working professionals who want an extra edge in growing their career as engineers/architects, it would definitely improve your approach on designing and implementing software solutions. Like Arpit said in his very first session - "approach is more important than the solution". So if you want to become "Asli Engineer" this course is a must :).
I have been tired of the entire tech ecosystem online (especially in India) where so much focus is on interview prep and so little on improving one's engineering skills. It is as if once you get a job, you will somehow automatically become better engineers and there is no effort and training required for that. Aprit's course was a breath of fresh air. It sold the promise of becoming a better engineer instead of the boring goal of getting a job at a big fancy tech company. And boy, did it live up to its promise!
The course covers a large and diverse range of systems. Each system solves some real world problem that as software engineers, we will encounter in some form sooner or later. This implies that by the end of the course, you will be confident to tackle any engineering problem and design any arbitrary system. However, what makes the course truly special is its structure where its not like we have a preacher preaching us from the pulpit and we are passive recipients of knowledge. Rather, we are active participants in the discussion. As a part of the cohort, you will be actively thinking as Arpit throws a problem at you. You will be trying to come up with a design. You will evaluate the suggestions of your peers, forcing you to think critically. In this process of thinking and trying and failing, you will deepen your understanding. You will know exactly what will work and what will not and why. Compare this to watching system design videos on YouTube where you are just consuming information without thinking critically and applying yourself.
Since the course is well designed and structured, the amount of learning per unit of time spent in this course is extremely high. Arpit is the senior engineer that all of us want in our teams but few of us are lucky to have. His passion and love for engineering will rub off on you and your desire to become a better engineer will get stronger. You will pick up mental models that he uses to design systems.
As a co-incidence, in this course I also found an old friend with whom I had no contact for around eight years. Essentially, good things will start happening to you once you take this course :)
I thoroughly enjoyed the entire cohort and got to learn a ton in this journey. Best thing I want to appreciate Arpit for is the discipline in which the classes are carried out. The class starts right in time, it gives equal opportunity for everyone to contribute and he makes sure that all your questions are answered as well. He gives references to read more on what he speaks in the class.
One thing I noticed is for a given problem statement, you get the similar high level articles online but in most of the lectures, I saw a completely different and very simple twist to solve the same problem. And this is just using basic computer fundamentals.
I would just say, THANK YOU to Arpit for bringing this course to life. It takes a lot to learn things yourself and then spread the knowledge to others. Once again, Thank you. it is the best cohort out there on system design.
When I joined this course, I only had 1.5 years of industry experience and I was initially uncertain whether I would be able to comprehend the concepts. However, now I believe that choosing to take the course was the right decision. If you take the pre-reads for the class seriously and go through them beforehand, you will be able to gain a deep understanding of the concepts. The instructor, Arpit, takes questions after explaining the topics, and we always had stimulating brainstorming sessions, which made the topics more engaging.
If you enjoy discussing real-world problems and are eager to learn about the concepts behind the most commonly used applications, I would strongly recommend enrolling in this course.
Undoubtedly, my best investment till date. The way Arpit has designed this course is truly amazing. It’s not about designing some ad hoc systems but it’s about drafting a thought process that goes behind taking a critical design decisions backed with valid data points.
It’s amazing how he breaks down complex problem statements & eventually leads to scaling of the systems withholding simplicity with a correct rationale behind it. Every session in the cohort gets you to some newer concepts & eventually helping you become a good software engineer.
I would recommend the dedicated course is worth the investment. To deepen my understanding of HLD I opted for the course. I still remember my first call with Arpit, I have never met such a curious engineer in my complete career and was damn impressed when I saw his GitHub.
Arpit helped me in thinking of a bigger picture on an engineering scale. Core concepts with amazing discussion in a very lucid way. It literally has everything that I wanted to learn. The best thing about the course is that he digs deeper into those topics which we hardly find anywhere and the push he gives to each one of us in session motivates us to think beyond. I do miss Saturday and Sunday discussions with you :(
Thank you Arpit for the Amazing sessions. I have become a great fan of you due to your simplicity, depth of design knowledge, and teaching skills.
I had 7+ years of experience but never got the opportunity to build/work on systems myself. I joined Arpit's class to learn Systems Design in general. It turned out to be whole new different experience.
It's not just your regular system design definitions and interview cracking crash course. He focuses on cognitive thinking and the basics of building a system on your own.
He focuses on trying things out and talks about design in those terms only. It is how you would actually build a system from scratch which clears your fundamentals and let's you question each decision to build an efficient system.
#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!!
Being in the industry for six years, I had mostly worked in the data domain and had only surface knowledge of the system design components - especially from the application side. Though I am a reader and have read many blogs on system design, application designing and internals but never grasped the concepts so clearly until I joined this masterclass!
I was so grateful to be part of Arpit's cohort and learned from him in many ways than one, his attention to details while designing systems, focusing on real systems and examples, scalability and also making sure all questions are answered before closing for the day.
Summarizing, I would say, it is a MUST DO COURSE FOR EVERY ENGINEER!!
Thanks Arpit for sharing your knowledge and inspiring so many people :)
Cohort sessions by Arpit are great. I especially like his ability of explaining things. He has the ability to make systems as simple as possible. I would be happy to attend such cohort sessions more(good way to spend weekends). I have already started implementing his learnings in my work. When you start understanding the systems to such granular level, you start enjoying the system design
Joining this cohort was the best thing I did. And believe me this is going to be very good investment for your learnings, you will not at all regret after enrolling this course. The sessions are designed in such a way that it inculcates a habit of thinking Why and How about everything in technology, which eventually widespread the thinking process and motivates to learn and explore more. Thanks a lot Arpit for sharing your learnings in such a nice way!!!
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:
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.
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)
The course structure is very well designed from Fundamentals to designing highly scalable systems.
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. :)
The lectures by Arpit, are explained thoroughly and reinforced through practical usecases. It's best suited for developers that already know SQL and have some industry experience - Junior/Mid-level Backend engineers looking to move to Senior levels or experienced engineers looking to refresh knowledge. The lectures helped me to understand the DB internals. In-depth discussion of LSM-trees and how one can use the adhoc components built on LSM-trees & other databases is just mind blowing. Lectures are a guide on "How to optimize the application as well as DB performance in conjunction". Emphasis on core concepts by Arpit will make entire system design like a game of 'LEGO Building block'.
This course will make you love engineering again if you're put-off by boring 9 to 5 job. I would describe the whole vibe of the course as a discussion with experienced engineer rather than a traditional structured academic course. The course is worth every penny you will ever invested.
"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.
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!
I have been a part of Arpit's system design masterclass and I must say, it has been a fantastic learning experience. The course content had great depth and covered topics that are often not talked about in other online resources. Arpit not only focused on the theoretical aspects of system design but also the practical nitty-gritty details of implementing such systems in real life. He also discusses often overlooked components like load balancers, in-memory KV stores, different kinds of databases, etc. in tremendous detail.
The course covers fantastic real-life case studies that help better understand how systems are implemented in the real world. The live interaction and discussions with Arpit and other students were one of the most valuable parts of the course. These discussions encouraged you to dig deep into concepts and also provided interesting ideas and perspectives from other students.
Arpit has been an amazing instructor and mentor who’s always extremely patient in listening to everyone's opinions and questions. He took the time to ensure that everyone's doubts were cleared and always pointed to further readings and things we could explore. The course also includes great career advice sprinkled throughout each session.
Overall, I highly recommend Arpit's system design course. I now feel a lot more confident and have a much clearer view of things I want to explore more as I move forward.
Arpit's initiative is unique in nature, which helped me in many ways
Streamlined my design concepts, and developed an intuition for different design problems.
Design brainstorming helped me to learn, sometimes instead of jumping into a solution of a presented problem, taking a step back and probing about why to even solve that problem, and finding an alternative non-intuitive route , could simply design and life.
The insights for the design problems , also is helping me question the design discussion at work, helped me grow my stakes.
Helped me increase my focus, because every design decision is a base of next one, and you cannot loose focus.
Arpit makes you believe to implement the system locally, this helped me to wire those solutions in brain, and helping me to evaluate and dig into those solutions when facing real life scale/non-scale production problems.
Lastly , its fun being a asli engineer.
Kudos to you Aprit.
You can always drop me an email at firstname.lastname@example.org for other questions.
I will be teaching the entire course in english and all the brainstorming with participants will be conducted in english.
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.
Yes. I will be teaching the entire course online and live over Zoom and will be providing feedback and 1:1 mentorship.
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.
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.
1:1 mentorship calls will happen on-demand, just drop me a message a day prior, and I will get our call scheduled.
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.
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.
No. But it is advisable that you complete them to get a better understanding of the system, algorithm, and business logic.
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.
Every single Live Class will be recorded, and you will be given lifetime access to it.
14 days refund window from the course commencement date (11:59:59 pm on the 13th day from the course commencement date) on cohort based course, no questions asked. No refund for 'Learn at your own place' or any other offering.
No. I hold complete right to cut-off the access to any course material if I find you sharing course material, learning, videos, and notes on social platforms or the internet.
No. You will get lifetime access to the cohort you are part of and its recordings, or the recordings that you purchased.
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.
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.
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.
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.
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.
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.
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.
Yes. You will be getting access to all the unique questions we ever covered during any cohort - past or future.
I track the browsers and devices from which the course is being accessed and if I fnd anything suspicious, I hold the complete right to revoke the access of the course and not offer any refund.
Arpit's Newsletter read by 38000+ engineers
Weekly essays on real-world system design, distributed systems, or a deep dive into some super-clever algorithm.