My Top Software Architecture Resources
Tags: architecture, career, design, microservices
Published: 2019-08-05 21:02:24

Here are my top books and resources on software architecture. All of these are really great sources of knowledge for anyone who's dealing with software architecture. And that should be anyone who develops software. Since software architecture is a team responsibility and should be a team effort.

## Software Architecture for Developers
"Software Architecture for Developers" by Simon Brown is a great introduction for agile software architecture.

[Volume 1](https://leanpub.com/software-architecture-for-developers) is a guide to lightweight software architecture and technical leadership

[Volume 2](https://leanpub.com/visualising-software-architecture) focusses on visualizing software architecture using the [C4 model](https://c4model.com/).

## Clean Architecture
"Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin imparts basic knowledge about different programming paradigms (functional, object oriented) and design principles.

## Enterprise Integration Patterns
Integration is no fun but important nonetheless. So no way around the [Enterprise Integration Patters](https://www.enterpriseintegrationpatterns.com) by Gregor Hohpe.

## 37 Things One Architect Knows About IT Transformation
[37 Things One Architect Knows About IT Transformation](https://leanpub.com/37things) by Gregor Hohpe is about the role of software architects and the "architect elevator" they are riding in. I like it especially because it contains lots of knowledge about communication, organization and transformation.

## Implementing Domain-Driven Design
"Implementing Domain-Driven Design" by Vaughn Vernon is a great practical guide on how to adopt and implement domain driven design in your application.

## arc42 Template
[arc42](https://arc42.org/) is the well known template for documenting and communicating software and system architectures.

## Martin Fowlers Software Architecture Guide
Martin Fowlers [Software Architecture Guide](https://martinfowler.com/architecture/?_lrsc=775ed511-2fab-4043-aaa6-b571286f04bd) contains lots of articles and infos on software architecture by Martin Fowler and others.

## Path to a Software Architect
Justin Miller outlines the [Path to a Software Architect](https://github.com/justinamiller/SoftwareArchitect). This includes activities, skills and a technology roadmap for architects.

## Independent Systems Architecture
The [Independent Systems Architecture](https://isa-principles.org) describes principles for microservices and self contained systems based on best practices and experiences.

## Self Contained Systems
[Self Contained System Architecture](https://scs-architecture.org) is an architecture approach that splits functionality in many independent web applications. This approach is related to microservices but differs in some points.

## OWASP Architecture and Design Principles
[OWASP Architecture and Design Principles](https://www.owasp.org/index.php/Architecture_and_design_principles) for secure software. Secure software design and architecture right from the first day of your project.

## Patterns for API Design
A collection of [API Patterns](https://api-patterns.org/) to design REST APIs that developers love.

## Big Ball of Mud
A classic in software architecture. The most common software architecture since 20 years, the [Big Ball of Mud](http://www.laputan.org/mud/) by  Brian Foote and Joseph Yoder.

## JAM Stack
If you deal with web content, dynamic apps and websites check out the [JAM Stack](https://jamstack.org). The JAM Stack is about prerendered markup, APIs, JavaScript and no web servers.

## Micro Frontends
If you're in a microservice architecture be careful not to build a big frontend monolith on top. Here [Micro Frontends](https://micro-frontends.org) come to the rescue and help you build and integrate frontends for microservices.

## OAuth 2.0 Playground
The [OAuth 2.0 Playground](https://www.oauth.com/playground/) is the best place to get to know the different OAuth 2.0 flows and how they work in detail.

## Serverless Land
[Serverless Land](https://serverlessland.com/) is great to get into event driven applications powered by Serverless functions. Focused on AWS but can be applied to any serverless environment.

## Mind the gap
This list is by far not complete and no replacement for proper training and practice. I'm sure there are lots of valuable books and resources out there which I don't know of. Please share them since I'm curious to get to know them.