System Design Crash Course #5

System Design Crash Course
Online
Event is over
System Design Crash Course #5
System Design Crash Course #5
Event is over
Event is over
Event is over

What should you do if you got asked to design a system like YouTube with its petabytes of storage and millions of users? Or Twitter with hundreds of thousands of people who write down millions of thoughts almost as quickly as they appear in their heads? What a Clubhouse or TikTok system design could look like?

Projects for hundreds of thousands of person-hours asked to be designed in 30-40 minutes timeslot. What should a system design look like? What kind of result do they expect to get from you? What should you worry about, and what's irrelevant? How do you avoid getting stunned and come up with at least something? How do you attack ambiguity?

Based on the conference talk "How to design a Facebook in 30-minutes or Acing System Design Interview".

From the speaker:

I'm getting numerous questions regarding various aspects of the system design and questions about the interview process and its phases after my talk. People want more lifehacks, system design cases reviewed, etc. It was impossible to cover all of this in just 50 minutes of a talk.

And that's why I offer a 2 days dive into the deep of system design with me.

Target Audience:

This crash course is designed for Middle/Senior Developers, Team Leads, Tech Leads, Architects.

Format:

  • Number of participants: up to 40 participants
  • Duration: 2 days. Starts on July 8 at 10:00 (GMT+3).
  • The event will be held in Ukrainian online on the Zoom platform.
  • The course is divided into two parts: Distributed System Design Fundamentals and System Design in Practice, approximately 8 hours each.

Trainer Oleksii Petrov

— Solution Architect at Jain Irrigation Inc.;

— AWS Certified Solution Architect;

— Docker/Kubernetes apologist;

— MongoDB Certified Developer;

— TOP speaker at Fwdays conferences;

Twitter

Course Syllabus:

Distributed System Design Fundamentals

In this section of the course, we'll review major components and principles of distributed systems, such as:

  • Deep dive у Networking
  • GeoDNS, Load Balancers, Cache, Proxy, Reverse Proxy, Rate Limiters, CDN
  • High Availability systems. How to.
  • Deep dive to Storage. How to select right Database
  • Indexes, LSM-trees, and B-Trees.
  • Replication and Sharding. How to.
  • Cover all the major patterns applied in distributed systems design.
And lots more!

System Design in Practice:

This section is dedicated to System Design interview process. I love this format of practice in System Design because of multiple reasons:

  • Its a super useful skill that you can use in interviews
  • It keeps you focused. With 40-minute timebox to design a solution, you don't have a time to chill.

Procrastination is our great enemy. If you got a system design task, you can get stunned and keep thinking about where to start. Spending a precious time and staying where you were hours ago.

Perfection Is The Enemy Of Done. And our task is to get a good system design done fast. That's why we'll cover all the stages of the interview and create our own "battle" plan. Then we'll move according to the plan and will design two different systems. Finally, we'll go step by step through the phases of the system design process and put the theory into practice.

Feedback:

The course is being held again, we are sharing real reviews from the last time (with the permission of the participants)

Part of the "Networking" course
"Complex information is presented in an accessible and understandable manner. Some things are explained in detail, which allows you to fill certain gaps in your own knowledge."

"What I couldn't understand and systematize myself for a long time was explained quite clearly, systematically and comprehensibly." For the first time I heard these stages of development of networks. It was interesting to see examples of using different types of bases for different needs.

"1. A very detailed explanation of networks and database work. I had very big gaps before this webinar, I knew about some things only superficially
2. It's cool that you walked through some AWS services. In general, he knew something, learned something new
3. Like the course in Ukrainian!
4. Saturated) Upon completion, I just went outside, just walked for an hour and aggregated all the information)"
Part of the "Storage" course
"Good generalization and classification of different types of Storage"

"All information is systematized, with examples, selection criteria, advantages and disadvantages. Great."

"Succinctness and a useful summary of terms and descriptions with examples. Analysis of practical cases."

"I liked the structuredness and the explanation of "why this is so". I liked the part about the operation of disks. I liked the part about algorithms. I liked that at the end there was aggregating information in which tables and which algorithms are used. In general, there is a feeling that you have a sufficiently high level of information to explain your choice of one or another database during the System Interview. But how it will be - only time will tell)"
Part of the "Patterns" course
"Focus only on important system design patterns."

"Subject part, it was useful."

"Learned new and useful things for myself :)"

"Good and structured presentation of the material! Exactly what everyone writes in the reviews and exactly what I managed to check in person."
Part of the course "Interview Insights"
"It was interesting to hear about how, after all, at such a high technical level, attention is being paid again to soft skills, I liked the plan, how to extract the description of the product that needs to be modeled."

"A cool topic with a summary and approximate estimates, because really, when you try to do everything exactly, you can get very bogged down."

"Actually, it is very valuable that Oleksiy gave his own vision about certain things in architectural design, about the different weights of Quality Attributes, about how it is better to ask questions on FR/NFR, which were examples from his own experience. This is exactly what you come to author's conferences courses, because a dry checklist from books or the Internet will never provide this knowledge."
Part of the course "System Design Cases"
"A very realistic example that allowed me to understand my mistakes."

"I liked highlighting the fact that there is functionality that should be divided by load, such as video downloads, meta information and statistics."

"It's always nice to get another person's view of the bottlenecks of a system."

"The case is analyzed in great detail, each choice is discussed, and the motivation for why it is important"
About the course in general
"In general, the format seems quite optimal. You get tired, of course, from the amount of new information, but it is unlikely that you could do anything with it. The fact that the video recording will be available is cool, you can then go through the structure already built in your head with a fresh head ."

"It feels that the author understands what he is talking about and that is the most important thing. The relation of certain topics to the course is also as transparent as possible, everything is cool."

"I consider it the right decision to participate in this course. I gained broader knowledge and perspective on the things that were discussed today and will be tomorrow. Thank you for the fruitful work!"
Sign in
Or by mail
Sign in
Or by mail
Register with email
Register with email
Forgot password?