The most comprehensive guide that will make you a Software Architect, the most desired role in the software industry.
Congratulations! You’re going to be a Software Architect!
Becoming a Software Architect is the holy grail for almost all developers.
Great salary, working with management, dealing with the up-to-date technologies and patterns, working with variety of projects and teams – all these make the Software Architect one of the most desired positions in the software industry.
But becoming a Software Architect is not easy. There is no academic course for that, and no formal training.
You might assume that being a great developer is enough to become a great Software Architect – but that’s not the case.
A great Software Architect employs a mix of great technical skills, the ability to take a high-level look, and great interpersonal skills.
You may find other courses that will teach you programming skills, project management skills and even software design skills. But no course covers all the bases as this one.
Here is what we will discuss in this comprehensive, 115 lectures length, course:
– What is a Software Architect and why you want to become one
– What are the steps you should take in the Architecture Process
– What are System Requirements and why they are so important for the architecture
– A proven, tested way of selecting the technology stack
– How to design the system’s components architecture
– What are design patterns and why does it matter
– How to design the overall system architecture
– What is architecture document and why it’s so important
– Super important soft skills every architect should possess
– Some advanced architecture patterns you should keep in mind
– And lots more…
But wait, that’s not all!
One of the cornerstones of the architect’s work is the architecture document. This document contains all the information regarding the architecture designed by the architect, including requirements, technology stack. component’s architecture, system architecture and lots more.
Creating the architecture document is a daunting task, that can take months of hard work.
But if you take this course – your life will be much easier!
Towards the end of this course, we’ll work together on a real-world case study, one that stems from other projects I’ve worked on. After discussing the case study, and designing its architecture, you’ll have an opportunity to download a real-world, full blown architecture document, complete with all the information related to the case study. In fact, this is an industry-grade document, which I used in dozens of systems I’ve worked on.
And the best part? It’s yours to use! Feel free to take this document, modify the parts that are relevant to your project, and submit it to your client!
Again – you’re going to give your client a professional looking, modern, methodical document that covers all the bases, and makes a great impression.
No other course provides such a document, and that’s because I’m fully confident in the document’s contribution to your work and reputation, as I used it extensively in the past years.
What you’ll learn
- Practical, proven techniques to becoming a great Software Architect.
- The exact role of the Software Architect
- Adopting Software Architect’s mindset
- Architectural Patterns used in almost any software system
- Design Patterns to make the code more readable and easy to maintain
- Crucial Soft Skills that will make your work much easier
- Role and structure of the Architecture Document
- Advanced architectural patterns for extreme cases
Table of Contents
Join The Software Architects Discussions Facebook Group
Who Is This Course For
Why You Should Become a Software Architect
An Update for Udemy Students
What We Will Talk About in This Course
What Is a Software Architect
Types of Architects
Responsibility of the Architect
The Architect in the Organizational Chart
Architects & Code
Architects and Academic Degrees
Career Path to Architect
Test your knowledge on the definition of Software Architect
The Architect’s Mindset
Introduction to the Architect’s Mindset
Understand the Business
Define the System’s Goals
Work for Your Client’s Clients
Talk to the Right People with the Right Language
Test your mindset!
The Architecture Process
Understand the System Requirements
Understand the Non-Functional Requirements
Map the Components
Select Technology Stack
Design the Architecture
Write the Architecture Document
Support the Team
Test your knowledge The Architecture Process
Working with System Requirements
Introduction to Requirements
The Two Types of Requirements
Architects & Functional Requirements
Who Defines Non-Functional Requirements
Test your knowledge System Requirements
Types of Applications
Introduction to Application Types
Test your knowledge Application Types
Selecting Technology Stack
Introduction to Technology Stack
Considerations for Technology Stack
Back End Technology
An Update on .NET Core State
Front End Technology
Data Store Technology
Test your knowledge Technology Stack
Meet the -ilities
Introduction to the -ilities
Test your knowledge The -ilities
Introduction to Components
Test your knowledge Components
Design Patterns 101
Introduction to Design Patterns
The Factory Pattern
The Repository Pattern
The Façade Pattern
The Command Pattern
Test your knowledge Design Patterns
Introduction to System Architecture
Logging & Monitoring
Test your knowledge System Architecture
Introduction to External Considerations
Existing Dev Team Skills
Introduction to Architecture Document
Goal of the Document
Contents of the Document
Background & Overview Section
Executive Summary Section
Architecture Overview Section
Components’ Drill Down Section
Test your knowledge Architecture Document
Introduction to Case Study
Defining the Requirements
Mapping the Components
Choosing Messaging Methods
Designing the Logging Service
Designing the Receiver
Designing the Handler
Designing the Info Service
Writing the Architecture Document
Get the Architecture Document!
Advanced Architecture Topics
Introduction to Advanced Architectures
Introduction to Soft Skills
Dealing with Criticism
Be Smart Not Right
What Have We Learned
BONUS Next Steps