We may earn an affiliate commission when you visit our partners.
Course image
Mark Farragher

Last updated on November Would you like to learn how to become an outstanding solution architect? The solution architect is the person who creates the high-level abstract technical design of the entire solution, and this design is then handed over to the the development team for implementation. The architect is responsible for all technology decisions in the project. This is an extremely important role. 

Read more

Last updated on November Would you like to learn how to become an outstanding solution architect? The solution architect is the person who creates the high-level abstract technical design of the entire solution, and this design is then handed over to the the development team for implementation. The architect is responsible for all technology decisions in the project. This is an extremely important role. 

The job also has a really nice pay, it comes with a lot of responsibility, and you get to talk to pretty much everybody in the organization, including the executives and the CEO. This is an extremely high-level and important function to be in. 

Would you like to learn how to become an outstanding architect? 

Let me help you.

I will teach you all the skills you need to become an outstanding solution architect. I will not only teach you how to create an awesome architecture design, but I will also teach you all the soft skills you will need to really shine in this role and make an impression on your peers.

This course contains a lot of material to get you on your way. We'll cover how the architect operates in an IT team, which soft skills are required to become an outstanding architect, and which extra responsibilities you can take on to really make an impression on your peers.

I will teach you how to create great architectures, we will discuss all common architecture design patterns, and I will also show you how to design these patterns in UML. And we're going to look at all important quality attributes and architecture concerns. Finally, we'll take a closer look at caching, exception management, and deployment scenarios.  

Why should you take this course?

Are you preparing for a job interview? Or are you in a large IT project right now? Are you the lead developer and do you wish to become a solution architect? Or are you already an architect and want to take your skills to the next level? Then this is the course for you.  

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • What is a solution architect?
  • Soft skills that will make you a great architect
  • Common pitfalls in large it projects
  • Master architectural patterns
  • A hands-on case study to hone your skills
  • Learn unified modeling language
  • Design for quality attributes
  • Design for deployment and testing
  • ... and much more!

Syllabus

Introduction

In this lecture I explain how this course is organized and I describe each of the upcoming sections in detail.

The Architect And The Team
Read more

Welcome to the Architect And The Team section. I will give a quick introduction on how the section is organized before we get started.

In every software development team there's always a need to understand business problem, create technical and non-technical requirements, write the code, manage the dev team, and test- and deploy the solution. In this lecture we'll briefly summarize each role. 

The functional analyst draws up the non-technical requirements in a software development project. In this lecture we will look at this role in detail. 

The lead developer manages and coaches the development team. In this lecture we will look at this role in detail. 

The solution architect draws up the technical design specification in a software development project. In this lecture we will look at this role in detail. 

Congratulations on finishing this section. This is a recap of what we have learned.

Test Your Skills

In this hands-on assignment you are going to assess your current project team. Are all software development roles present and accounted for? Is everybody aware of his or her responsibilities? 

I did this homework assignment too, and in this lecture I'll share my results.

Claim your new learning badges here.

Review the skills you have learned in this section, and check your progress on becoming an outstanding solution architect. 

What Makes A Great Architect?

Welcome to the What Makes A Great Architect section. I will give a quick introduction on how the section is organized before we get started.

What are organizations looking for when they hire a new architect? In this lecture we're going to take a close look at a typical architect job vacancy, to discover the skills and responsibilities employers want to see in this role. 

Great architects differentiate themselves from their peers by taking on many responsibilities. In this lecture we're going to take a detailed look at those responsibilities. 

Great architects have personality traits that make them very well suited for the job. In this lecture we're going to take a detailed look at those traits. 

As an architect you are ultimately responsible for the technical success of the project. But there are many ways in which a project can go off the rails. In this lecture we're going to take a look at 4 common pitfalls for architects, and how you can resolve them. 

In this hands-on assignment you are going to evaluate your own personality, communication style, and team power print, to discover if anything is holding you back from becoming a great architect.  

I did this homework assignment too, and in this lecture I'll share my results.

Claim your new learning badges here.

Designing A Software Architecture

Welcome to the Designing A Software Architecture section. I will give a quick introduction on how the section is organized before we get started.

We've talked a lot about the responsibilities of the solution architect, but what exactly is a solution architecture? In this lecture you'll find out. 

In this lecture we'll discuss the key principles of a great solution architecture. 

In this lecture we'll discuss some simple guidelines for creating great solution architectures. 

The Unified Modeling Language, or UML, is an indispensable tool for creating and sharing architectures. In this lecture you'll learn the basic principles of UML models, views, and diagrams.

UML has many useful diagram types for documenting architectures. In this lecture we're going to take a closer look at the 7 most popular diagram types. 

UML can be used to sketch designs, create detailed blueprints, generate new code, and reverse-engineer existing code. In this lecture we'll look at strategies for using UML in software development, and how Visual Studio can help you integrate UML designs in the development process. 

In this lecture I will show you a simple 5-step process for designing and refining solution architectures.

In this hands-on assignment I will introduce you to our case study, and you'll start working on your first baseline architecture design.

I did this homework assignment too, and in this lecture I'll share my results.


Architecture Design Patterns

Welcome to the Architecture Design Patterns section. I will give a quick introduction on how the section is organized before we get started.

Layered architectures organize architecture elements into discrete stacked layers. In this lecture we're going to take a look at several popular layered architecture patterns.

Structural architectures describe how architecture elements are structured into discrete configurations. In this lecture we're going to take a look at several popular structural architecture patterns.

Presentation architectures are optimized for creating user interfaces. In this lecture we're going to take a look at several popular presentation architecture patterns.

Service architectures are optimized for creating API's and loosely-coupled services. In this lecture we're going to take a look at several popular service architecture patterns.

Architecture patterns can be freely embedded inside each other. In this lecture we're going to take a look at several popular hybrid architecture patterns. 

In this hands-on assignment you are going to finalize the baseline architecture design for our case study.

Designing Layers, Components, And Services

Welcome to the Designing Layers, Components And Services section. I will give a quick introduction on how the section is organized before we get started.

Choosing the right pattern for an area of concern can be a daunting task. In this lecture I'll show you some simple rules of thumb to quickly find the right pattern for the job.

In this lecture we'll take a deep dive into layered architectures and look at different ways to stack and organize architectural layers. 

In this lecture we're going to take a deep dive into component architectures and discuss all the different component types you can use in each architecture layer. 

In this lecture we're going to take a deep dive into service-oriented architectures and learn about the challenges of exposing a business layer with loosely-coupled services.

In this hands-on assignment you are going to apply what you have learned in this section to refine the design into a candidate architecture for our case study. 

Architecture Considerations

Welcome to the Architecture Considerations section. I will give a quick introduction on how the section is organized before we get started.

In this lecture we're going to look at quality attributes that affect the design of your architecture.

In this lecture we're going to look at quality attributes that affect the runtime behaviour of your architecture.

In this lecture we're going to learn how to plan for caching commonly-used data in an architecture.

In this lecture we're going to learn how to plan for robust exception management in an architecture.

In this lecture we're going to learn how to plan for several common deployment scenarios in an architecture.

In this hands-on assignment you are going to apply what you have learned in this section to refine the design into a final candidate architecture for our case study. 

In Conclusion

In this lecture I would like to thank you for finishing the course and offer some final words.

In this lecture we'll summarize everything you've learned, and review the skills you have learned in this course.

Bonus Offer

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores architect responsibilities and pitfalls, which are common topics in solution architect job vacancies
Examines technical design principles, which are fundamental to solution architect roles
Develops technical skills for solution architects, which are in high demand in the industry
Emphasizes soft skills that enhance architect effectiveness, which are often sought after by employers
Taught by Mark Farragher, an experienced solution architect who shares industry best practices
Includes hands-on assignments and case studies to reinforce learning, which is valuable for practical application

Save this course

Save How To Become An Outstanding Solution Architect to your list so you can find it easily later:
Save

Reviews summary

Solution architect certification

Students say that Solution Architect covers many topics necessary to succeed in the role. They report the content is comprehensive and includes design, how and why questions
This course covers all areas of solution architecture.
"Zero to Hero cover almost all area for solution architect role, including design with how and why questions."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in How To Become An Outstanding Solution Architect with these activities:
Review UML modeling
Review the Unified Modeling Language to solidify your understanding before taking this course.
Browse courses on Unified Modeling Language
Show steps
  • Read a book on UML.
  • Create a UML diagram for a simple system.
Review object-oriented design principles
Review object-oriented design principles to refresh your knowledge before taking this course.
Browse courses on Object-oriented Design
Show steps
  • Read a book on object-oriented design.
  • Create a design document for a simple system.
Practice writing software architecture design documents
Practice writing software architecture design documents to improve your skills and gain hands-on experience before taking this course.
Browse courses on Software Architecture
Show steps
  • Choose a small software system to design.
  • Create a design document for the system.
  • Get feedback on your design from a mentor or peer.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow a tutorial on how to use a software architecture modeling tool
Follow a tutorial on how to use a software architecture modeling tool to gain hands-on experience before taking this course.
Show steps
  • Choose a software architecture modeling tool.
  • Find a tutorial on how to use the tool.
  • Complete the tutorial.
Attend a workshop on software architecture design
Attend a workshop on software architecture design to learn from experts and network with peers before taking this course.
Show steps
  • Find a workshop on software architecture design.
  • Register for the workshop.
  • Attend the workshop.
Join a study group or discussion forum for software architecture
Join a study group or discussion forum for software architecture to connect with peers and learn from each other before taking this course.
Browse courses on Software Architecture
Show steps
  • Find a study group or discussion forum for software architecture.
  • Join the group or forum.
  • Participate in discussions and ask questions.
Start a project to design a software architecture for a small system
Start a project to design a software architecture for a small system to gain hands-on experience before taking this course.
Show steps
  • Choose a small software system to design.
  • Create a design document for the system.
  • Implement the system.
  • Test the system.
Read a book on software architecture design
Read a book on software architecture design to gain a deeper understanding of the concepts and principles before taking this course.
Show steps
  • Choose a book on software architecture design.
  • Read the book.

Career center

Learners who complete How To Become An Outstanding Solution Architect will develop knowledge and skills that may be useful to these careers:
Enterprise Architect
The Enterprise Architect is responsible for the design and implementation of software solutions across an entire enterprise. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Systems Architect
The Systems Architect is responsible for the design and implementation of complex software systems. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Technical Architect
The Technical Architect is responsible for the technical design and implementation of software systems. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Security Architect
The Security Architect is responsible for the design and implementation of security measures in software systems. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Software Architect
The Solution Architect is the technical leader responsible for designing, developing, and implementing software solutions. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Data Architect
The Data Architect is responsible for the design and implementation of data management systems. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Cloud Architect
The Cloud Architect is responsible for the design and implementation of software solutions in the cloud. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Business Analyst
The Business Analyst is responsible for understanding the business needs of an organization and translating those needs into technical requirements. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Software Engineer
The Software Engineer is responsible for the design, development, and implementation of software systems. This course will help you build a strong foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. You will also learn how to use Unified Modeling Language (UML) to document and communicate your designs.
Quality Assurance Engineer
The Quality Assurance Engineer is responsible for testing and evaluating software systems to ensure that they meet the required quality standards. This course may help you build a foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. Learning these topics may be helpful for understanding the design of the software systems you will be testing.
IT Project Manager
The IT Project Manager is responsible for planning, executing, and controlling IT projects. This course may help you build a foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. Learning these topics may be helpful for understanding the technical aspects of the IT projects you will be managing.
Technical Writer
The Technical Writer is responsible for creating and maintaining technical documentation, such as user manuals, white papers, and training materials. This course may help you build a foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. Learning these topics may be helpful for understanding the technical content you will be writing about.
Computer Scientist
The Computer Scientist is responsible for researching and developing new computer technologies. This course may help you build a foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. Learning these topics may be helpful for understanding the theoretical foundations of computer science.
Data Scientist
The Data Scientist is responsible for extracting insights from data using statistical and machine learning techniques. This course may help you build a foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. Learning these topics may be helpful for understanding the data processing and storage systems you will be using.
Systems Analyst
The Systems Analyst is responsible for analyzing and designing computer systems. This course may help you build a foundation in the principles of software architecture, including design patterns, quality attributes, and deployment strategies. Learning these topics may be helpful for understanding the technical requirements of the systems you will be analyzing and designing.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in How To Become An Outstanding Solution Architect.
Is about designing data-intensive applications. It starts with a discussion of common data architectures and goes on to cover data integration, data storage, and data processing. The book is written for software engineers who are interested in building scalable, reliable, and performant data-intensive applications.
Provides a detailed overview of software architecture patterns. It covers both classic patterns as well as newer patterns that have emerged in recent years. The book also discusses how to apply these patterns in practice.
Provides a comprehensive overview of enterprise architecture patterns. It covers both business patterns as well as technical patterns. The book is written for architects who are interested in designing and implementing scalable, reliable, and secure enterprise architectures.
Provides a detailed overview of cloud architecture patterns. It covers both classic patterns as well as newer patterns that have emerged in recent years. The book also discusses how to apply these patterns in practice.
Provides a detailed overview of computer architecture. It valuable resource for anyone who wants to understand how computers work.
Provides a clear and concise overview of operating systems. It valuable resource for anyone who wants to understand how operating systems work.
Provides a detailed overview of distributed systems. It valuable resource for anyone who wants to understand how distributed systems work.
Provides a comprehensive overview of software testing. It valuable resource for anyone who wants to learn how to test software.
Provides a detailed overview of agile software development. It valuable resource for anyone who wants to learn about different agile methodologies. The book includes some useful case studies that illustrate how to apply these methodologies in practice.
Provides a clear and concise overview of domain-driven design. It valuable resource for anyone who wants to learn about how to design software that is tightly aligned with the business domain.
Provides a fun and engaging overview of design patterns. It valuable resource for anyone who wants to learn about design patterns in a simple and easy-to-understand way.
Classic work on design patterns. It valuable resource for anyone who wants to learn about design patterns from the original source.
Provides a unique look inside Google's software engineering practices. It valuable resource for anyone who wants to learn about how Google designs and builds software.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to How To Become An Outstanding Solution Architect.
Software Architecture & Design of Modern Large Scale...
Microsoft Azure Solutions Architect: Design a Network...
Documenting Detailed Solution Design for Microsoft Azure
Microsoft Azure Solutions Architect: Design Authentication
Authoritative GCP
Microsoft Azure Solutions Architect: Design Authorization
Microsoft Azure Solutions Architect: Design a Logging and...
Oracle Cloud Infrastructure Architect Professional
Exam Prep: AWS Certified Solutions Architect - Associate
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser