Software Architecture Fundamentals: Beyond the Basics
"Software Architect" places in the top ten of most annual surveys of best jobs, yet no clear path exists from Developer to Architect. Why aren’t there more books and training materials to fill this demand? This video series by Neal Ford and Mark Richards starts filling the information gap.
Software architecture is a massive multidisciplinary subject, covering many roles and responsibilities, making it challenging to teach because so much context is required for the interesting subjects. It’s also a fast moving discipline, where entire suites of best practices become obsolete overnight.
In two videos—Understanding the Basics and A Deeper Dive—this series covers a vast array of subjects, all grounded with the common theme of architecture, emphasizing techniques to allow architecture for change. Each installment covers topics in application, integration, and enterprise architecture.
A Deeper Dive advances the discussion from Developer to Architect by covering application, integration, and enterprise architecture. We discuss evaluating architectures (including making formal processes like ATAM more agile and effective), and various architectural frameworks:
- Application Architecture: Understand the impact that modern engineering practices like Continuous Delivery have on architectural decisions. You’ll learn about different abstractions, their pros and cons, and how to effectively choose between them.
- Integration Architecture: Examine the pros and cons of SOAP vs REST, as well as integration hubs like ESBs as an architectural pattern, and some common integration patterns.
- Enterprise Architecture:Delve into centralized and decentralized approaches, 4 types of strategies for decision making, and evolutionary architecture and emergent design.
Discussion augments the material throughout, providing differing opinions and contexts on many subjects.
Table of Contents
- Architecture Tradeoffs (31 minutes)
- Continuous Delivery Part 1 (51 minutes)
- Applying Abstraction (22 minutes)
- Choosing and Comparing Architectures (25 minutes)
- Web Services and Messaging (31 minutes)
- SOA Fundamentals (28 minutes)
- Integration Hubs (22 minutes)
- Continuous Delivery Part 2 (49 minutes)
- Enterprise Architecture Approaches (36 minutes)
- Enterprise Architecture Strategies (28 minutes)
- Evolutionary Architecture and Emergent Design (31 minutes)