System Design for Beginners


An in-depth, self-paced, and on-demand course that for early engineers to become great at designing scalable, available, and extensible systems at scale.


If you are SDE-2, SDE-3, and above and already know system design, but want to take your skills to the next level, do check out my live cohort-based System Design Masterclass course.

Enroll Now


₹19,999

inclusive of all the taxes


YOU'LL GET


Watch and learn at your own pace

35 videos covering the curriculum

200+ doubts answered through text and videos

Lifetime access to all course videos and doubts

Language of communication will be strictly english

Lifetime access to recordings of all doubt resolutions

3 days no-questions-asked refund policy

Bi-weekly doubt solving - Wednesday 7:30 pm to 8:30 pm IST

Enroll Now

You will be able to access the course material through courses.arpitbhayani.me.


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 arpit.masterclass@gmail.com.



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

The Course

This is a beginner-friendly self-paced course on system design aimed at providing an exclusive and crisp introduction to building systems. The program will cover most of the topics under System Design and Software Architecture from scratch assuming no prior knowledge.

Course curriculum


Introduction

Introduction to System Design

  • What is system design? 9 mins
  • How to approach System Design? 17 mins
  • How to understand that you have built a good system? 9 mins

Databases

All Things Databases

  • Relational databases 20 mins
  • Database Isolation Levels 19 mins
  • Scaling Databases 18 mins
  • Sharding and Partitioning 16 mins
  • Non-relational Databases 15 mins
  • Picking the right database 13 mins

Caching

All Things Caching

  • Understanding Caching 12 mins
  • Populating and Scaling Caches 11 mins
  • Caching at different levels of architecture 19 mins

Asynchronous Systems

Asynchronous Processing

  • Message Queues 16 mins
  • Message Streams and Kafka Essentials 23 mins
  • Real-time PubSub 6 mins

Resiliency

Designing for Resiliency

  • Load Balancers 16 mins
  • Circuit Breakers 13 mins
  • Data Redundancy and Recovery 9 mins
  • Leader Election for auto-recovery 8 mins

Essentials

Essentials at Scale

  • Bloom Filters 21 mins
  • Consistent Hashing 27 mins
  • Client-server and Communication Protocols 22 mins
  • Blob Storage and S3 16 mins
  • Introduction to Big Data 17 mins

Consumer Facing

Designing Consumer Systems

  • Designing e-Commerce Product Listing 20 mins
  • Designing Tinder Feed 32 mins
  • Designing and Scaling Notifications 38 mins
  • Designing Twitter Trends 30 mins

Common Utilities

Designing Utilities

  • Designing URL Shortners 48 mins
  • Designing API Rate Limiter 26 mins
  • Designing Realtime Abuse Masker 22 mins
  • Designing Web Crawler 54 mins

Critical Systems

Designing systems that matter

  • Designing GitHub Gists 28 mins
  • Desinging Fraud Detection 25 mins
  • Designing Recommendation Engine 37 mins

Program pre-requisites

The course operates at a beginner-level and hence does not assume any prior knowledge of system design. We would start with absolute basics and then scale up to build real-world systems in a very structured way. By the way, following are the pre-requisite for this course

  • a basic understanding of CS fundamentals
  • a Google account because I only support Sign-in with Google :)

Wall of Love

Some formal/informal messages I received about this course.


Why should you join?

The primary objective of this program is to make you comfortable at building scalable, fault-tolerant, and reliable systems. 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.

Upskill and level-up

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

The world is learning

People from all over the world have mastered System Design through my other System Design course meant for experienced engineers.


System Desgin Masterclass Demographic
400+
ENGINEERS

28
COUNTRIES

220+
DOUBTS

Who took my courses?

Folks belonging to some of the best companies and high thriving startups have taken my intermediate system design course, the list includes the likes of


Teaching style

Here are some of the videos that will give you a peek into my teaching style how I teach and the depth I go into




Arpit Bhayani

Hey, I am Arpit

tinkerer, educator, and entrepreneur

I am a software engineer and an engineering leader passionate about System Architecture, Databases Internals, Language Internals, and Advanced Algorithms. I am the creator and maintainer of DiceDB - a redis-compliant, in-memory, real-time, and reactive database optimized for modern hardware.

In 2024, I took the leap of faith and co-founded Profile.fyi, where I took care of all things tech and product. Before this, I was a Staff Engineer at Google leading the Dataproc India team in providing a managed big data ecosystem to GCP customers. I was also part of Amazon's Fast Data Team and took care of cold tiering of hot data and providing a seamless query interface across all tiers.

I held engineering leadership positions (both IC and management) at Unacademy, where I built, grew, and led Search, Site Reliability Engineering (SRE) teams, and Data Engineering teams. I hold a total of 10+ years of experience in scaling backend services, taking products and teams from 0 to 1, and beyond.

I keep diving deep into engineering details and share my learnings by across my socials and videos on YouTube.

Arpit Bhayani

What people say about my courses?

Some testimonials from the people who recently took my courses.


Nityananda Gohain

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

Tejas Agrawal

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

Rohan Chougule

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

Sai Subramanyam Chittilla

Arpit is a passionate individual who teaches one of best system design course, his explanation comes from real implementation and exposure to the problem. He makes sure that individuals develop critical thinking when approaching system design.

I would highly recommend his course for any one who tries to build systems to scale.

Frequently asked questions

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


What will be the language of communication and teaching?

The entire course is taught in english and all doubt solving sessions will be conducted in english.

Is this a cohort based course?

No. This is a recorded self-paced course with bi-weekly doubt solving sessions with me.

How is this course different than your system design masterclass?

Masterclass and Beginner course are mutually exclusive. Beginner course is for absolute beginners and starts things from scratch. Masterclass assumes you have some understanding of systems and we take it forward from there. There will be very minimal overlaps in the topics I cover in the two courses. In general, if you have some understanding of systems and have watched existing system design videos, go for the masterclass. If you want to start from absolute scratch then opt for beginner one.

Is this course right for me?

This course is for any engineer who wants to get started with System Design. If you are a college student or a working professional wanting to start with System Design, this course is for you.

Is there a limit to number of doubt solving sessions I can attend?

No. But the discussion will be strictly related to topics discussed and covered in the course.

Will you be giving teaching for the entire duration?

Yes. I will be teaching the entire course.

Will the course cover LLD?

No. The course is focussed on High Level Design only.

Will we also implement and see the systems in action?

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?

Yes. You will have lifetime access to the recordings of the course.

Is there a refund policy?

3 days no-questions-asked refund window from the date of course purchase (11:59:59 pm on the 3rd day from the date of purchase).

Can I share my learnings, resources on social media?

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.

Will you be the only one teaching this course?

The entire course 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?

There are no programming pre-requisites, but having a basic idea is always better.

How is this course different from your other system design course?

My System Design Masterclass is an intermediate-level course and hence assumes you know basic system design. This course assumes nothing and will ramp you up on everything you should know about it.

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.

Can I share the account with multiple people?

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 100,000 engineers

Weekly essays on real-world system design, distributed systems, or a deep dive into some super-clever algorithm.