DEV Community

Cover image for My Top Software Architecture Resources
Jan Stamer
Jan Stamer

Posted on • Updated on

My Top Software Architecture Resources

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 is a guide to lightweight software architecture and technical leadership

Volume 2 focusses on visualizing software architecture using the C4 model.

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 by Gregor Hohpe.

37 Things One Architect Knows About IT Transformation

37 Things One Architect Knows About IT Transformation 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 is the well known template for documenting and communicating software and system architectures.

Martin Fowlers Software Architecture Guide

Martin Fowlers Software Architecture Guide 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. This includes activities, skills and a technology roadmap for architects.

Independent Systems Architecture

The Independent Systems Architecture describes principles for microservices and self contained systems based on best practices and experiences.

Self Contained Systems

Self Contained System Architecture 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 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 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 by Brian Foote and Joseph Yoder.

JAM Stack

If you deal with web content, dynamic apps and websites check out the JAM Stack. 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 come to the rescue and help you build and integrate frontends for microservices.

OAuth 2.0 Playground

The OAuth 2.0 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 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.

Top comments (2)

Collapse
 
andrevst profile image
André Tonelli

Great post.

Collapse
 
imsergiobernal profile image
Sergio

Very interesting! Thanks