System Design - Creating a functional design
Duration: 2h 8m | .MP4 1280x720, 30 fps(r) | AAC, 44100 Hz, 2ch | 1.19 GB
Genre: eLearning | Language: English
Duration: 2h 8m | .MP4 1280x720, 30 fps(r) | AAC, 44100 Hz, 2ch | 1.19 GB
Genre: eLearning | Language: English
Functional Design
What you'll learn:
Create a functional architecture for large products or platforms
Define components and services using single responsibility principle
Component Design
Minimize service sprawl
Requirements:
Some programming experience
Description:
The ability to create an end-to-end system design differentiates a developer from principal engineers and architects. One of the most important aspects of system design is the ability to create a functional design outlining all the components and how they work together. This course provides a step-by-step approach to create a functional design for a system using single responsibility principle and architectural patterns.
In this course, you will learn how to
1) Define the users of a platform you want to build
2) Understand the most important problems for the users the platform is meant to solve and define the core functions that solve this problem.
3) A depth-first based approach to design the core functions one-by-one.
4) Define the components and their integration framework using the single responsibility principle.
5) Understand the difference between frontend and backend design and the need for a BEFE layer like GraphQL.
6) Detailed design of each component
7) Creating an end-to-end system view from the component design.
We will use a running example throughout this course to apply the approach described in this course. There are a set of assignments that every student should complete as part of this course. Finally, it is important for you to apply the learnings in your day-to-day work and improve your system design skills with time.
Who this course is for:
Developers who want to learn system design and up-level to principal engineer/architect
More Info