Course Introduction

Hi, and welcome to the course!

In this course I'm going to teach you how to become an outstanding solution architect. We're going to look at all the soft- and hard skills you will need to really make an impression and take your architect skills to the next level.

Course Outline

We will start by examining the interactions of The Architect And the Team. What are the various roles in a typical software development team, and how does the architect fit in there? You'll learn about the functional analyst and lead developer roles, and how they interact with the architect.

Then we'll move on and look at What Makes A Great Architect. We will discuss a typical architect job posting, and see what skills and responsibilities companies are expecting. Then we'll create a list of key responsibilities and personality traits that will help you deliver a stellar performance as an architect. We will wrap up with some common dysfunctional patterns in project teams, and discuss what you can do as the architect to fix them.

Next up is a deep dive into Designing A Software Architecture. We'll look at key guidelines and principles of an architecture and discuss how you can use UML diagrams to create and document your designs.

We'll continue with a discussion of Architecture Design Patterns. You will learn all about layered patterns, structural patterns, presentation patterns, service-oriented patterns, and hybrid patterns.

Then we'll get into the nitty gritty details of Designing Layers, Components, And Services. The information in this section will help you design solid and robust architecture designs using layers, components, and services.

We will wrap up with a discussion on Architecture Considerations. We'll take a look at how to optimize design- and runtime quality attributes, and how to plan for systemwide concerns like caching, exception management, and deployment scenarios.

Each section is structured the same, with an introduction, several video lectures, a recap, and a quiz to test your knowledge. I conclude each section with a Skill Map - a graphical representation that depicts your newfound skills, and highlights how far along you are on the path to becoming an outstanding architect.

Scattered throughout the section are homework assignments to help you practice your newfound skills. Over the length of the course we are going to create and progressively improve an architectural design for a software product.

The Skill Map

In this course I use a Skill Map to track your newfound skills and highlight how far along you are on the path to becoming an outstanding architect. The Skill Map looks like this:

The Skill Map depicts a layered pyramid of architect skills that build on each other. The first skill you will learn is at the very bottom of the pyramid. It represents an understanding of Software Team Roles in a development project, and how the architect fits into the team. The final skill you'll learn is an understanding of Systemwide Concerns to improve the quality of your architecture designs. This skill is depicted at the very top of the pyramid.

As you progress through the course, each level in the pyramid will change colour to indicate that you've mastered that particular skill. At the conclusion of the course the entire pyramid will be coloured, and you will have learned how to become an outstanding architect.

Right now the pyramid is entirely without colour, because we haven't started with the course yet. So let's get right to it and start learning our first skill.

Alright, are you ready? Let's get started with the course!