Skip to main content

The Software Architect Mindset (COMPLETE)

12h 6m 39s
English
Paid

Course description

The The Software Architect Mindset course teaches the fundamentals of software architecture and provides practical advice on creating software products that are ready for scaling and stable performance under high loads.

You are a beginner or mid-level developer who already has programming skills but lacks a clear step-by-step plan to turn a prototype into a working scalable system accessible to users.

Creating a complex system requires not only writing clean and maintainable code but also understanding the following aspects:

  • Which APIs and services to use for interaction,
  • How to organize the system components at the architectural level,
  • How to securely store and manage data access,
  • Where to host the application and what cloud resources are needed for this.

Most resources on the internet offer only part of the solution, leaving the rest of the puzzle to you. Either they are too specific and not suitable for your case. Cloud technologies are constantly evolving, and you might not notice that the solution has become outdated until you encounter problems while implementing it.

As a result, you dive into endless browsing of Wikipedia and discussions on StackOverflow. Even ChatGPT might not help, as the advice is often generalized, and you don't know what questions to ask.

Wrong architectural decisions at the beginning often lead to disastrous consequences. The software does not run smoothly, the user experience worsens, scaling becomes complicated, and support turns into a real nightmare. Moreover, you are likely overpaying for unnecessary cloud resources, quickly becoming expensive. Fixing these problems later requires a lot of time.

It truly saddens me to hear such stories because software architecture doesn't necessarily have to be complicated. If you know how to lay a solid foundation and follow essential best practices, you will make much more successful decisions and avoid most pitfalls. Once you have this understanding and know what to look for when creating an application, it will save you and your colleagues a lot of time and money.

I have created many software products from scratch, and every time it was a huge learning process. Now I have a standard approach to creating software products that helps reduce development time, focuses on simplifying processes, uses a minimal amount of cloud resources, and scales only when it makes sense and is cost-effective.

Read more about the course

Most courses are theoretical and consider concepts at a high level, without providing a practical path to actually launch your software. I'm not saying that architecture courses shouldn't cover theory. However, in my opinion, the ideal software architecture course should:

  • Show the process from start to finish.
  • Provide code examples and settings for use in your projects.
  • Promote best practices in software design and architecture.
  • Help easily make optimal architectural decisions.

INTRODUCING THE SOFTWARE ARCHITECT MINDSET

This course includes pre-recorded, compact videos that will teach you everything you need to know about software architecture design. The course also contains exercises, quizzes, challenges, and downloadable materials. The videos are created to the high standards of the ArjanCodes YouTube channel.

The course is practical and capable of changing your approach. At its core is a fully ready-to-use SaaS platform that is examined as an example throughout the course.

You get access to:

  • Complete source code for the backend in Python and the frontend in TypeScript
  • DevOps scripts and settings
  • Full implementations of various authentication and role-based access management mechanisms
  • Examples of connecting to common services like an email service and databases
  • A step-by-step overview of how we built the product and why we chose this approach.

This platform can be used as the basis for your projects, saving you weeks or even months of development.

Developing such a platform presents many architectural challenges:

  • Since the platform is web-oriented, you need both frontend and backend services. This means choosing technologies for each service and defining how they will interact, whether they will be monoliths or microservices, etc.
  • The backend must integrate with other services, such as a database and an email service, while retaining ease of testing.
  • The platform needs an authentication and access management mechanism so that users can interact with it securely.
  • The cloud architecture must be easily manageable as the platform scales, while remaining cost-effective.

My team not only handled these challenges but went further:

  • We used a combination of Python/FastAPI for the backend and Typescript/React for the frontend to demonstrate the capabilities of each technology. The platform is examined in several course videos as an example, and we added videos dedicated to explaining the design decisions of this platform.
  • We made components and services, such as the email service and database, easily replaceable using abstraction, dependency injection, and other best software design practices.
  • We implemented not just one, but three authentication mechanisms that can be easily switched to see how each works.
  • We carefully thought out the cloud architecture to make it both scalable and cost-efficient, considering various options such as serverless functions, managed containers, and a full-fledged Kubernetes cluster. The course includes an in-depth discussion of all these options, their pros, and cons.

Our team spent several months of full-time work developing this platform, and you get all of it by purchasing the course.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 31 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online The Software Architect Mindset (COMPLETE)

0:00
/
#1: Course Introduction

All Course Lessons (31)

#Lesson TitleDurationAccess
1
Course Introduction Demo
06:38
2
COSI: A framework for understanding Software Architecture
36:56
3
Case Study: Leadspotr
07:56
4
Architectural Design Considerations
40:20
5
Hexagonal Architecture (Port & Adapters)
18:36
6
Event-Driven Architecture
18:41
7
Pipeline Architecture
19:46
8
Multi-Tier Architectures and GUIs
25:08
9
Storage Architectures
25:42
10
Solution: LinkedIn COSI Analysis
07:58
11
Cloud Basics
23:46
12
Architectural Patterns and the Cloud
12:44
13
Leadspotr Cloud Setup
11:48
14
Leadspotr Code Walkthrough
21:50
15
DevOps and the Twelve-Factor App
35:40
16
Containerization
16:43
17
Continuous Integration and Continuous Deployment (CI/CD)
19:54
18
Authentication
30:03
19
Authorization
15:59
20
Data Protection and Privacy
15:42
21
Wrapping Things Up
02:25
22
Monitoring and Observability
20:42
23
Cloud Performance Optimization
13:52
24
Cloud Cost Optimization
11:50
25
Case Study: Learning Platform
27:35
26
Case Study: ArjanCodes
09:47
27
BONUS Case Study: Learntail
06:56
28
BONUS: Learn From My Mistakes - Trading App and Website Builder
22:14
29
Q&A #1
01:26:40
30
Q&A #2
01:26:56
31
Q&A #3
25:52

Unlock unlimited learning

Get instant access to all 30 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Books

Read Book The Software Architect Mindset (COMPLETE)

#Title
11. Reading Material. COSI A framework for understanding Software Architecture
21.4. COSI_Worksheet Exercise Leadspotr Architectural Design
31.4.1. COSI Worksheet. COSI A framework for understanding Software Architecture
402_01_Architectural_Design
502_02_Hexagonal_Architecture
602_03_Event-Driven_Architecture
702_04_Pipeline_Architecture
802_05_Multi-Tier_Architectures_and_GUIs
902_06_Storage_Architectures
1003_01_Cloud_Basics
1103_02_Cloud_Patterns
1204_01_DevOps_and_12-Factor_App
1304_02_Containerization
1404_03_CICD
1505_01_Authentication
1605_02_Authorization
1705_03_Data_Protection_and_Privacy
1807_01_Monitoring_and_Observability
1907_02_Performance_Optimization
2007_03_Cost_Optimization

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Digital Project Management

Digital Project Management

Sources: superhi.com
Smooth processes and happy human relationships are key to managing effectively. Learn better ways to work with complexity so you can run projects like a pro.
17 hours 53 minutes 30 seconds
The Complete Foundation Stock Trading Course

The Complete Foundation Stock Trading Course

Sources: udemy
This is the Number One ranked Stock Trading course on Udemy. In this course, you will learn how to trade the Stock Market. It's a course designed for Complete B
9 hours 29 minutes 35 seconds
Data Analysis with Pandas and Python

Data Analysis with Pandas and Python

Sources: udemy
Welcome to the most comprehensive Pandas course available on Udemy! An excellent choice for both beginners and experts looking to expand their knowledge on one of the most popul...
19 hours 5 minutes 40 seconds
Complete Python Developer in 2023: Zero to Mastery

Complete Python Developer in 2023: Zero to Mastery

Sources: udemy, zerotomastery.io
Become a complete Python developer! Join a live online community of over 200,000+ developers and a course taught by an industry expert that has actually worked both in Silicon V...
30 hours 23 minutes 56 seconds
The Software Designer Mindset (COMPLETE)

The Software Designer Mindset (COMPLETE)

Sources: ArjanCodes
"The Software Designer Mindset" is a course that teaches all aspects of software architecture and offers practical advice on creating scalable software...
14 hours 32 minutes 58 seconds