Pragmatic System Design – Learn Pragmatic System

From preparing for system design interviews to architecting real world systems

What you’ll learn

  • How to solve most common FANG interview questions
  • Most important scalability concepts
  • Communication protocols
  • Concurrency
  • Database design
  • Sharding strategies


  • Computer hardware basics
  • Basic SQL for some of the examples


This course aims to prepare you for system design interviews, as well as discusses how you could apply this knowledge in your day-to-day job.
In the real-world, most engineers don’t get to design new systems often. Some don’t get to design them at all. In many companies, architecture is something a few individuals do regularly. But when it comes to interviewing, we suddenly expect everyone to be a master in system design. So, this course tries to cover some of the basic topics, as well as provide you with my approach to some of the most common system design interview questions.
The second purpose of this course is to provide senior engineers with an alternative view to system design. What I see in the industry is that we don’t discuss design among ourselves much. It becomes a sensitive topic, because no real world design is perfect. And that’s something I hope to change.
So, there are also two ways I may suggest to consume the course. If you have plenty of time, just watch it from start to finish. I tried to construct it in a logical order, so you will accumulate more and more confidence as you go. 
Alternatively, if you are short on time, or if you aren’t preparing actively for interviews at the moment, you can start with the design videos, and if you aren’t familiar with one of the topics I discuss, there should be either a video for that or a link to a relevant article.
Finally, I will repeat myself and say that no design is perfect. There are always tradeoffs, there are always compromises that you must make. And each design is personal. It depends on what are your areas of expertise. So, when you watch my videos, please don’t treat them as the ultimate way I would design a system, but more as a collection of ideas of how to approach the topic.
If there are more system design interview questions you’d like me to solve or additional topics you’d like me to cover, let me know!

Who this course is for:

  • Software engineers of all levels preparing for System Design interviews
  • Senior engineers that are looking to take the next step in their career
  • Software architects that are looking to broaden their knowledge

Last updated: 3/2021 | Size: 502 MB
Click to get:

The Coding Interview Bootcamp: Algorithms + Data Structures
The Coding Interview Bootcamp: Algorithms + Data Structures
Learning Data Structures in JavaScript from Scratch
Learning Data Structures in JavaScript from Scratch
The Java Design Patterns Course
The Java Design Patterns Course
Dynamic Programming – I
Dynamic Programming – I

No comments.

Add Commenent
reload, if the code cannot be seen