My input on the audiobook Fundamentals of Software Architecture

Fundamentals of Software Architecture: An Engineering Approach is a book written by Mark Richards and Neal Ford. Both authors have a longtime track and history in software development and architecture. The paper version of the book contains 419 pages and audiobook one, about 13 hours. The audiobook has been crafted to cover all the topics without the need of having visuals and photos. 

You can find the table of contents of the book here. Here is the list of chapters:

Chapter 1: Introduction

Chapter 2: Architectural Thinking

Chapter 3: Modularity

Chapter 4: Architecture Characteristics Defined

Chapter 5: Identifying Architecture Characteristics

Chapter 6: Measuring and Governing Architecture Characteristics

Chapter 7: Scope of Architecture Characteristics

Chapter 8: Component-Based Thinking

Chapter 9: Architecture Styles

Chapter 10: Layered Architecture Style

Chapter 11: Pipeline Architecture

Chapter 12: Microkernel Architecture

Chapter 13: Service-Based Architecture

Chapter 14: Event-Driven Architecture Style

Chapter 15: Space-Based Architecture

Chapter 16: Orchestration-Driven Service-Oriented Architecture

Chapter 17: Microservices Architecture

Chapter 18: Choosing the Appropriate Architecture Style

Chapter 19: Architecture Decisions

Chapter 20: Analyzing Architecture Risk

Chapter 21: Diagramming and Presenting Architecture

Chapter 22: Making Teams Effective

Chapter 23: Negotiation and Leadership Skills

Chapter 24: Developing a Career Path

The authors have listed different Architecture Styles from the very old ones to the new ones which have emerged in the past few years. Specific characteristics of each architectural style have been listed and pros, cons, strengths and weaknesses of each have been discussed too. At the end of each chapter, they rate each aspect of architectural style in terms of deplorability, testability, scalability, reliability and so on, and then reason about their rating. That’s of course opinionated but still so valuable to know and compare different ideas. I found listening to this part of the book so valuable because after being in software development industry for over two decades, I am no longer dealing with all those architectures that I have done in the past. It was so valuable to have an abstract and compact of important characteristics of each architecture to freshen the mind.

The book touches on other topics as well, like diagramming tools like C4 and ArchiMate, Architecture Decision Records (ADR), Negotiation Skills, Time Management, Fallacies of distributed computing etc.

Narration is quite good. The contents of the audiobook are mostly quite straight forward but I have to state that, I wonder if it will be quite helpful for new learners and beginners. If you are one on them, please leave me a comment and talk about your experience.

No Comments

Add a Comment

As it will appear on the website

Not displayed

Your website