Resources

Included here are some resources to help you along the way from software developer to software architect.

Architecture Characteristics Worksheet

This worksheet will help you identify what driving architecture characteristics (“-ilities”) are critical for your system. See this video for a short tutirial on how to use the worksheet. Included in it are definitions of some of the more common architecture characteristics.
Download PDF Format (.pdf)
Download Keynote Format (.key)
Download Powerpoint Format (.pptx)
Download Word Format (.docx)


Architecture Styles Worksheet

This star-rating chart Neal Ford and I put together for our book Fundamentals of Software Architecture is useful for determining if you have the right architecture in place for your system, and also which one might be a good candidate to migrate to based on your driving architectural characteristics. 
Download PDF Format (.pdf)
Download Keynote Format (.key)
Download Powerpoint Format (.pptx)


O’Reilly Architecture Kata Repos
This is a list created by Jacqui Read of the winners and semi-finalists for the O’Reilly Architecture Katas. These repos provide you with excellent examples of how to construct and present an architectural solution.

https://github.com/TheKataLog


Keep Up With Trends

These are resources I use for keeping up with current trends in the industry—check them out, and use the 20 minute rule to expand your technical breadth. Just click on either of these images to get started on keeping up with the trends in our industry.

               

            


The Architect’s Bookshelf

Aside from the books I have written, here are ones that might help you in your journey to becomming an effective software architect. If you want to learn more about why these books are on this list and why they have been influential in my career as an architect, check out this lesson from Software Architecture Monday.

My Shepard List
https://shepherd.com/best-books/to-better-understand-software-architecture


Software Architecture Books I’ve Written
https://www.developertoarchitect.com/books.html


Book Recommendations

Communication Patterns
by Jacqui Read
O’Reilly Media, November 2023
ISBN 978-1098140540


Residues: Time, Change, and Uncertainty in Software Architecture
by Barry O’Reilly
Leanpub, April 2024



The Software Architect Elevator
by Gregor Hohpe
O’Reilly Media, April 2020
ISBN 978-1492077541



Design It!
by Michael Keeling
Pragmatic Bookshelf, October 2017
ISBN 978-1680502091


Sustainable Software Architecture
by Carola Lilienthal
Rocky Nook, October 2019
ISBN 978-1681985695


Just Enough Software Architecture
by George H. Fairbanks
Marshall & Brainerd, April 2010
ISBN 978-0984618101



Presentation Patterns
by Neal Ford, Matthew McCullough, Nate Schutta
Addison-Wesley Professional, August 2012
ISBN 978-0321820808



Release It! 2nd Edition
by Michael Nygard
Pragmatic Bookshelf, January 2018
ISBN 978-1680502398


Building Evolutionary Architectures
by Neal Ford, Rebecca Parsons, and Patrick Kua
O’Reilly Media, October 2017
ISBN 978-1491986363


Software Architecture for Developers Volume 1
by Simon Brown
LeanPub Publishing, August 2017
 


Software Architecture for Developers Volume 2
by Simon Brown
LeanPub Publishing, July 2017



Enterprise Integration Patterns
by Gregor Hohpe and Bobby Woolf
Addison-Wesley Professional, October 2003
ISBN 978-0321200686


Streaming Architecture
by Ted Dunning and Ellen Friedman
O’Reilly Media, May 2016
ISBN 978-1491953926



Building Microservices: Designing Fine-Grained Systems
by Sam Newman
O’Reilly Media, February 2015
ISBN 978-1491950357


97 Things Every Software Architect Should Know
edited by Richard Monson-Heafel
O’Reilly Media, February 2009
ISBN 978-0596522698


Your Code as a Crime Scene
by Adam Tornhill
Pragmatic Bookshelf, April 2015
ISBN 978-1680500387

A Practical Guide to Enterprise Architecture
by James McGovern, Scott Ambler, et al
Prentice Hall, November 2003
ISBN 978-0131412750


The Real Business of IT
by Richard Hunter and George Westerman
Harvard Business Press, October 2009
ISBN 978-1422147610



Interesting Articles and Podcasts

These are some of the articles and podcasts that I’ve found very useful in my journey as a software architect.

Interview: Key Software Architecture Recommendations 
Apiumhub, January 2021
Interview with Mark Richards about some key software architecture recommendations.


A Promising New Metric To Track Maintainability
by Alexander von Zitzewitz
Hello2morrow, December 2018
In this article Alexander  introduces an interesting new metric for how to measure the overall maintainability of a system.


Architects: Communicate like your job depends on it
by Fred Churchville
TechTarget.com, July 2020
Fred Churchville talks to Mark Richards and Neal Ford about software architecture and the skills an architect needs to survive. 



Saga Pattern
by Chris Richardson
Microservices.io, August 2018
Chris Richardson describes this useful pattern when having to deal with transactionality in a highly distributed architecture like Microservices. 



Pattern: Backends for Frontends
by Sam Newman
SamNewman.io, November 2015

I’ve been referring a lot to the BFF pattern lately (Backends for Frontends), and this article by Sam Newman is a great reference for this common pattern, particularly when designing API layers in a microservices ecosystem.


Sacrificial Architecture
by Martin Fowler
MartinFowler.com, October 2014

This short must-read article by Martin Fowler talks about what it means to essentially “throw away” portions of the code, and places a focus on architectural modularity, one of my favorite topics.



On Orchestrated Microservices
by Matt Stine
Build To Adapt, July 2016

This article really caught my attention because of the tweet Matt starts the article with: "if your microservices must be deployed as a complete set in a specific order, please put them back in a monolith and save yourself some pain”. How true this is. This article is a worth-while read as it might save you lots of pain and lessons-learned regarding the dangers of inter-service communication and orchestration within a complex microservices ecosystem.



©2018-2024 DeveloperToArchitect