Software Architecture Videos

All of the videos listed here are available for viewing on The O’Reilly Learning Platform

Software Architecture Fundamentals: 2nd Edition
by Mark Richards, Neal Ford
O’Reilly Media, November 2017
9 hours 37 minutes

Being a successful software architect is more than just possessing technical knowledge. It’s about thinking like an architect, being a leader, and understanding the architectural elements, patterns, and styles necessary to create effective software architectures. In this full update to their "Software Architecture Fundamentals 2015" (O'Reilly Media) video course, Neal Ford and Mark Richards empower you with the essential skills you need to be effective in this role. You’ll be introduced to previously unmentioned architecture patterns, such as command query responsibility segregation (CQRS) and LMAX, along with the most effective tools and strategies for analyzing architecture. This video is designed for senior-level developers who want to become software architects and for junior architects who want to bump up their skill sets.


Microservices AntiPatterns and Pitfalls
by Mark Richards
O’Reilly Media, June 2016
4 hours 9 minutes

Microservices is an increasingly popular architecture style that promotes scalability and ease of testing and deployment through small, highly distributed service components. It may sound like the correct architecture for your situation, but if you’re new to microservices, how do you really know? Understanding microservices’ pitfalls (practices that are never a good idea) and anti-patterns (practices that seem like a good idea, but aren’t) is a good place to start. In this video, software architecture veteran Mark Richards doesn’t just identify the pitfalls and anti-patterns of microservices, he shows you how to avoid them. You’ll learn about service granularity estimation, database migration, microservices reporting, distributed transaction management, remote access latency, contract versioning, distributed logging, and much more. 


Enterprise Messaging: JMS 1.1 and JMS 2.0 Fundamentals
by Mark Richards
O’Reilly Media, October 2014
5 hours 29 minutes

Learn the basics of messaging, a powerful paradigm that makes it easier to decouple and integrate enterprise applications. In this video course, messaging expert Mark Richards takes you through messaging fundamentals with the Java Message Service (JMS) API. You’ll learn the basics of how to use the JMS 1.1 and 2.0 API to send and receive messages, how to do request/reply processing, how to use message selectors, and how to use publish and subscribe messaging—all through live, interactive coding with ActiveMQ and OpenMQ. This video begins with some fundamental messaging concepts, then takes you on a live coding journey through the JMS 1.1 API, the new JMS 2.0 simplified API, then a variety of messaging fundamentals topics that will enable you to understand and effectively use messaging for enterprise-wide applications.


Enterprise Messaging With JMS: Advanced Topics
by Mark Richards
O’Reilly Media, October 2014
3 hours 52 minutes

Dive into advanced topics for using Java Message Service (JMS) in the enterprise with this comprehensive video course. Through live, interactive coding in both JMS 1.1 and JMS 2.0, messaging expert Mark Richards take you deep into several advanced JMS features and techniques, including JMS transaction management, embedded messaging, RESTful JMS, Spring JMS, and message streaming. If you’re a Java developer who understands JMS basics, particularly though Mark Richards’ introductory video—Enterprise Messaging Using JMS: Fundamentals—this advanced course is the ideal way to continue your journey through enterprise messaging.


Software Architecture Fundamentals: Soft Skills
by Mark Richards, Neal Ford
O’Reilly Media, March 2015
3 hours 26 minutes

In the third video of this acclaimed series on software architecture fundamentals, Neal Ford and Mark Richards focus exclusively on the often-neglected area of soft skills. Knowing the ins and outs of programming and technology is only one side of a software architect’s skillset. Aside from being an excellent developer, you also have to be a leader. Soft skills help you work well within a larger corporate structure, manage teams, and ensure that technology is a first-level concern at your company.


Software Architecture Fundamentals: People Skills
by Mark Richards, Neal Ford
O’Reilly Media, March 2015
3 hours 27 minutes

Dive deeper into people skills in the fourth video of this acclaimed series on software architecture fundamentals from Neal Ford and Mark Richards. Programming and technology is only one side of a software architect’s skillset. Along with being an excellent developer, you also have to be a communicator and a leader. People skills help you work well within a larger corporate structure, manage teams, and ensure that technology is a first-level concern at your company.


Software Architecture Fundamentals: Service-Based Architectures
by Mark Richards, Neal Ford
O’Reilly Media, July 2015
6 hours 4 minutes

Explore a variety of service-based architectures—including immensely popular microservices—in this video course from Neal Ford and Mark Richards. Through a series of instructive visuals, you’ll be able to compare and contrast these architectures in several ways, including their structure, engineering practices, and deployment. You’ll also examine the challenges of migrating from monolithic service-oriented architectures (SOA) to smaller service-based models, and the effects this change can have on team building and company culture in general.


Learning Path: Architectural Thinking
by Mark Richards, Neal Ford
O’Reilly Media, January 2020 
2 hours 16 minutes

In this learning path, the first in a series of six on software architecture fundamentals, we introduce the essential skills that you need to possess to be an effective architect. In the broad scope, you’ll learn how to “think like an architect.” But you also take a closer look at specific concepts such as architectural quantum as well as understanding the core characteristics (the "-ilities") of software architecture and how to analyze trade-offs. Finally, you will learn how to identify and create components, the building blocks, and the foundation of any system. Throughout this series, you’ll use actual real-world problems, called “katas” (exercises), to assess your progress as you work through each learning path. They give you a quick insight into how you're doing and take the guesswork out of learning.


Learning Path: Architecture Styles
by Mark Richards, Neal Ford
O’Reilly Media, January 2020
3 hours 39 minutes

In this learning path, the second in a series of six on software architecture fundamentals, we delve deeper into the specific skills and knowledge you’ll need to become an effective, successful software architect. You’ll examine common architectural styles that you’ll need to fully understand in order to properly apply them in your designs. This learning path builds upon Architectural Thinking, the first in this series, with a detailed look at several widely used models that you’ll encounter across a broad range of industries, platforms, and frameworks.


Learning Path: Diagramming and Documenting Architecture
by Mark Richards, Neal Ford
O’Reilly Media, January 2020
1 hour 59 minutes

In this learning path, the third in a series of six on software architecture fundamentals, we show you effective techniques for diagramming and documenting software architecture. You will also learn how to craft and write successful proposals, business cases, evaluations, and other documentation to support your vision. And, you’ll explore how to document architecture decisions using architecture decision records and effectively justify and communicate an architecture to various stakeholders with clarity and confidence.


Learning Path: Architecture Techniques
by Mark Richards, Neal Ford
O’Reilly Media, January 2020
3 hours 33 minutes

Software architecture encompasses a broad range of concepts and requires a true multidiscipline approach to planning and implementation. But there are essential basic practices that you need to know and apply to your designs. In this fourth in a series of six learning paths focused on software architecture fundamentals, we help you to explore the core techniques of being a software architect. You begin by looking at methods for architecture refactoring—making internal changes to your design without affecting its functionality. You then look at how to use checklists to make your teams more effective, how to interact with your project’s stakeholders and other architects, certification programs (and their pros and cons), and what Continuous Delivery (CD) means to you as an architect. Along the way, you'll learn important techniques for developing your career as an architect. As with every learning path in this series, you’ll use a real-world problem (called “katas,” or exercises) to assess your progress.


Learning Path: Architecture Soft Skills
by Mark Richards, Neal Ford
O’Reilly Media, January 2020
2 hours 21 minutes

As with any field of discipline—in any profession or industry—knowing how to do your job, no matter how good you are or how much training and experience you have, is only a part of the skillset that you need to possess to be successful as a software architect. To be truly effective requires a good balance between technical skills and “soft skills.” In this learning path, the fifth in a series of six on software architecture fundamentals, we teach you some of the core techniques and practices for managing teams, negotiating with stakeholders and developers, and how to become an effective leader as an architect. Neal and Mark show you methods and best practices for working with your architecture team, including how to recognize “boundaries” that can develop and the personalities that generally form them. You’ll also examine how to better handle the seemingly endless meetings that you must attend as well as those that you must make others attend. You also look at Conway’s Law with respect to how you design systems in your organization. And, finally, you’ll see how to develop your negotiating skills to help gain consensus among stakeholders, technologists, and team members.


Learning Path: Evolutionary Architecture
by Neal Ford
O’Reilly Media, January 2020
3 hours 2 minutes

In this learning path, the sixth and final in our series on software architecture fundamentals, the authors introduce the principles of evolutionary architecture—an architectural paradigm that supports constant change. Designed for the intermediate-level software architect or developer tasked with migrating to or implementing a new cloud-based or distributed-system architecture, this learning path equips you with the knowledge and tools you'll need to put evolutionary architecture into practice. You’ll explore some common antipatterns that you need to avoid. You’ll even look at methods to help you better explain the benefits of evolutionary architecture that can make it easier for you to interact with nontechnical team members and stakeholders.

©2021 DeveloperToArchitect