System Design - Creating a functional design

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

Ratings 4.24 / 5.00
System Design - Creating a functional design

What You Will Learn!

  • Create a functional architecture for large products or platforms
  • Define components and services using single responsibility principle
  • Component Design
  • Minimize service sprawl

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 Should Attend!

  • Developers who want to learn system design and up-level to principal engineer/architect

TAKE THIS COURSE

Tags

  • Software Architecture

Subscribers

211

Lectures

8

TAKE THIS COURSE



Related Courses