The Complete Guide to Becoming 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.
More
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 do my students have to say about the course?
"well done - The course was very practical" - Sam
"Good explanation on the topics covered, "Soft Skills" section is a great addition of topics" - Sergio
"[The course] given me the confidence to go out to the market and advertise myself as such [an Architect]" - Mathew
And lots more...
Who is this course for?
Actually, any person who is involved in software development, even system analyst, can profit from this course.
However, the best candidate for this course is a developer with some experience, preferably 2 years. This experience will help mainly in understanding the terminology used in this course.
If you're not sure if this course is for you - drop me a note!
About Me
I've been a Software Architect for more than 17 years, working with a variety of clients - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.
I'm an avid speaker and trainer, having trained thousands of students in various courses in the past.
I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients.
- Some development knowledge is required, although there won't be actual coding
- Developers who want to go to the next level
- System Analysts who want to achieve technical knowledge
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
Watch Online The Complete Guide to Becoming a Software Architect
# | Title | Duration |
---|---|---|
1 | Introduction | 03:02 |
2 | Who Is This Course For? | 01:10 |
3 | Why You Should Become a Software Architect | 02:28 |
4 | What We Will Talk About in This Course | 05:46 |
5 | Types of Architects | 03:05 |
6 | Responsibility of the Architect | 02:39 |
7 | The Architect in the Organizational Chart | 02:26 |
8 | Architects & Code | 02:57 |
9 | Architects and Academic Degrees | 00:42 |
10 | Career Path to Architect | 02:52 |
11 | Introduction to the Architect's Mindset | 00:43 |
12 | Understand the Business | 02:10 |
13 | Define the System's Goals | 02:34 |
14 | Work for Your Client's Clients | 02:40 |
15 | Talk to the Right People with the Right Language | 02:40 |
16 | Introduction | 00:57 |
17 | Understand the System Requirements | 00:50 |
18 | Understand the Non-Functional Requirements | 00:52 |
19 | Map the Components | 00:39 |
20 | Select Technology Stack | 00:59 |
21 | Design the Architecture | 00:38 |
22 | Write the Architecture Document | 00:34 |
23 | Support the Team | 00:39 |
24 | Conclusion | 01:36 |
25 | Introduction to Requirements | 00:52 |
26 | The Two Types of Requirements | 02:52 |
27 | Architects & Functional Requirements | 00:46 |
28 | Non-Functional Requirements | 09:19 |
29 | Who Defines Non-Functional Requirements? | 01:31 |
30 | Conclusion | 00:54 |
31 | Introduction to Application Types | 00:55 |
32 | Web Apps | 01:31 |
33 | Web API | 02:36 |
34 | Mobile | 00:48 |
35 | Console | 01:22 |
36 | Service | 00:44 |
37 | Desktop | 01:24 |
38 | Summary | 01:07 |
39 | Introduction to Technology Stack | 01:41 |
40 | Considerations for Technology Stack | 03:29 |
41 | Back End Technology | 06:13 |
42 | Front End Technology | 10:07 |
43 | Data Store Technology | 07:48 |
44 | Summary | 01:13 |
45 | Introduction to the *-ilities | 02:15 |
46 | Scalability | 02:37 |
47 | Manageability | 01:28 |
48 | Modularity | 01:41 |
49 | Extensibility | 02:12 |
50 | Testability | 02:45 |
51 | Summary | 00:49 |
52 | Introduction to Components | 02:38 |
53 | Layers | 07:54 |
54 | Interfaces | 03:27 |
55 | DI | 05:04 |
56 | SOLID | 07:21 |
57 | Naming Conventions | 04:08 |
58 | Exception Handling | 02:20 |
59 | Logging | 02:36 |
60 | Summary | 00:32 |
61 | Introduction to Design Patterns | 03:32 |
62 | The Factory Pattern | 05:05 |
63 | The Repository Pattern | 05:13 |
64 | The Façade Pattern | 02:05 |
65 | The Command Pattern | 04:08 |
66 | Summary | 00:52 |
67 | Introduction to System Architecture | 02:45 |
68 | Loose Coupling | 06:05 |
69 | Stateless | 07:13 |
70 | Caching | 08:55 |
71 | Messaging | 15:14 |
72 | Logging & Monitoring | 04:54 |
73 | Summary | 00:58 |
74 | Introduction to External Considerations | 00:29 |
75 | Deadline | 01:13 |
76 | Existing Dev Team Skills | 01:40 |
77 | IT Support | 01:43 |
78 | Cost | 01:22 |
79 | Introduction to Architecture Document | 01:12 |
80 | Goal of the Document | 01:29 |
81 | Audience | 02:58 |
82 | Contents of the Document | 02:14 |
83 | Document's Structure | 01:22 |
84 | Background & Overview Section | 01:54 |
85 | Requirements Section | 04:02 |
86 | Executive Summary Section | 03:29 |
87 | Architecture Overview Section | 04:50 |
88 | Components' Drill Down Section | 05:56 |
89 | Introduction to Case Study | 01:37 |
90 | Presenting IOToo | 02:05 |
91 | Defining the Requirements | 10:05 |
92 | Mapping the Components | 06:44 |
93 | Choosing Messaging Methods | 05:31 |
94 | Designing the Logging Service | 08:08 |
95 | Designing the Receiver | 05:24 |
96 | Designing the Handler | 03:19 |
97 | Designing the Info Service | 06:49 |
98 | Writing the Architecture Document | 01:11 |
99 | Get the Architecture Document! | 02:02 |
100 | Introduction to Advanced Architectures | 01:07 |
101 | Micro Services | 06:47 |
102 | Event Sourcing | 03:33 |
103 | CQRS | 03:02 |
104 | Summary | 00:36 |
105 | Introduction to Soft Skills | 01:42 |
106 | Listening | 01:13 |
107 | Dealing with Criticism | 02:26 |
108 | Be Smart Not Right | 03:26 |
109 | Organizational Politics | 02:16 |
110 | Public Speaking | 02:59 |
111 | Learning | 02:09 |
112 | Summary | 00:37 |
113 | What Have We Learned? | 04:15 |