System Design - Creating a functional design

Published 2022-04-30
Platform Udemy
Rating 4.71
Number of Reviews 9
Number of Students 33
Price $39.99
Instructors
Akshat Verma
Subjects

Go to Udemy

Functional Design - the first step to being a software architect/principal engineer

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.

Go to Udemy