Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certifications Network & Security Hardware Operating Systems & Servers Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Paid Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement & Gardening Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition & Diet Yoga Mental Health Martial Arts & Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React Angular CSS Node.Js PHP HTML5 Vue JS
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA Microsoft AZ-900 CompTIA Security+
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Business Intelligence MySQL Qlik Sense Data Analysis
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Blender
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin Mobile App Development SwiftUI
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting Canva InDesign Character Design Procreate Digital Illustration App
Life Coach Training Personal Development Neuro-Linguistic Programming Personal Transformation Life Purpose Mindfulness Sound Therapy Meditation CBT Cognitive Behavioral Therapy
Business Fundamentals Entrepreneurship Fundamentals Freelancing Business Strategy Startup Business Plan Online Business Blogging Leadership
Digital Marketing Social Media Marketing Marketing Strategy Google Analytics Internet Marketing Email Marketing Copywriting YouTube Marketing Startup
2022-05-11T04:31:56Z

DevelopmentSoftware EngineeringSoftware Architecture

System Design - Creating a functional design

Functional Design - the first step to being a software architect/principal engineer
Hot & new
Rating: 4.7 out of 54.7 (10 ratings)
38 students
Created by Akshat Verma
Last updated 5/2022
English
English [Auto]

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

Instructor

Akshat Verma
CTO and Principal Architect
Akshat Verma
  • 4.5 Instructor Rating
  • 19 Reviews
  • 42 Students
  • 2 Courses

I can broadly categorize my career into two phases. I spent the first 14 years of my career at IBM Research solving important research problems on the intersection of distributed systems, cloud and analytics and applying them to IBM products and services. My work led to numerous papers and patents, led to major features in multiple IBM products, and created new service engagements. I received IBM’s Outstanding Innovation Award and ACM Middleware’s 10 year best paper award for my work on Power management and virtual machine consolidation.

I spent the next 7.5 years in industry applying the same computer science principles to solve real world problems. I was responsible for all engineering related to hotels for Makemytrip and its subsidiaries, and built the core pricing and supply platforms at Makemytrip. I received Makemytrip’s highest honor for this work. I built the digital engineering team at Airtel from 30 to 170+ talented engineers and engineering leaders. I led some of the most significant and highest impact projects at Airtel during this time and received Airtel’s highest recognition, the Chairman Award, for all three years at Airtel.

I enjoy setting engineering practices for large teams to drive efficiency as well as working in a hands-on fashion with small (<20) member teams building systems from scratch. I am currently Portfolio CTO at Trilogy responsible for the technical roadmap, architecture and strategy of multiple products in the Trilogy portfolio.


Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.