Image by Oli Gotting from Pixabay

IN THIS SECTION, YOU WILL: Get an overview of the background work to probe further, linking several external resources inspiring my work.

KEY POINTS:

  • I provide an overview of the background work to probe further, linking several external resources inspiring my work.
  • I grouped the resources in the following sections: Introductions, Soft Skills, Business & Strategy, and Hard Skills.


Introductions

The Software Architect Elevator: Redefining the Architect's Role by Gregor Hohpe defines architects as people that can fill a void in large enterprises: they work and communicate closely with technical staff on projects but are also able to convey technical topics to upper management without losing the essence of the message. Conversely, they understand the company's business strategy and can translate it into technical decisions that support it.
SE Radio: On Architecture: for those interested in IT Architecture, I've created a curated Spotify playlist of Software Engineering Radio Episodes focusing on Architecture.
Software Architecture for Developers by Simon Brown is a practical, pragmatic, and lightweight software architecture guide specifically aimed at software developers.
website
Software Architecture: The Hard Parts is structured as a narrative about a team breaking down a faulty, outdated monolithic application into a modern microservices-based architecture. The authors compare different aspects of how a monolithic architecture might have been written to do something in the past, then how modern microservice architecture could do the same thing today, offering advice and approaches for practical trade-off analysis when refactoring a large monolith app.
Just Enough Software Architecture by George Fairbanks is an approachable and comprehensive book.
Software Systems Architecture by Nick and Eóin is a practitioner-oriented guide to designing and implementing effective architectures for information systems.

Career Development

The Staff Engineer's Path by Tanya Reilly. Similar to my view of architects, the staff engineer's path allows engineers to contribute at a high level as role models, driving big projects, determining technical strategy, and raising everyone's skills.
website
Staff Engineer by Will Larson defined technical leadership beyond the management track. I share many of the views presented in this book regarding the development and skills of architects.
reading notes

Hard Skills

This section is heavily influenced by Gregor Hohpe’s article The Architect’s Path (Part 2 - Bookshelf)

Clean Code by Bob Martin. Good software starts with good code, and good code is clean. The basics of naming, functions that do one thing well, and formatting.
summary
Refactoring: Improving the Design of Existing Code by Martin Fowler. Good software evolves, gains entropy, and is then restructured. Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.
website
Design Patterns by Gamma, Helm, Johnson, and Vlissides. Design patterns help us make balanced decisions on the design of our code.
summary
Building Microservices (2nd Edition) by Sam Newman is a book about architectural trade-offs and considerations in distributed system design.
Fundamentals of Software Architecture by Neal and Mark covers soft skills, modularity, component-based thinking, and architectural styles.
website
Enterprise Integration Patterns for anyone trying to connect systems without coupling them too tightly.
website
Pattern-Oriented Software Architecture: one of the most comprehensive references for distributed system design.
Building Evolutionary Architectures describes how fitness functions can guide architectural change over time..
Domain-Driven Design by Eric Evans promotes the idea that to develop software for a complex domain, we need to build Ubiquitous Language that embeds domain terminology into the software systems that we build. DDD stresses defining models in software and evolving them during the software product's life.
Release It! (2nd Edition) by Mike Nygard’s is about architecture stability decisions and how to build "cynical" software. Besides the well-known stability patterns like circuit breakers and bulkheads, the book introduces foundational knowledge about running systems in production, from processes to network to security, also covering more process-oriented questions like deployments or handling security.
Designing Data Intensive Systems by Martin Kleppmann is a mini-encyclopedia of modern data engineering. It covers replication, partitioning, linearizability, locking, write skew, phantoms, transactions, event logs, and much more.
Thinking in Systems by Donella Meadows describes a system is more than the sum of its parts. It may exhibit adaptive, dynamic, goal-seeking, self-preserving, and sometimes evolutionary behavior.
reading notes
Don't make me think, revisited: a common sense approach to Web usability by Steve Krug provides a practical guide for understanding web usability and user experience.
review
System Design Interview (Volume 1 & 2) by Alex Xu. A "real-world" systems design book is not just for preparing for the systems design interview but also for strengthening your systems design muscle for the day-to-day architectural work.
summary

Soft Skills

Team Topologies by Manuel Pais and Matthew Skelton describes four fundamental topologies (stream-aligned teams, enabling teams, complicated subsystem teams, and platform teams) and three fundamental interaction modes (collaboration, X-as-a-Service, and facilitation).
reading notes
The Culture Map: Decoding How People Think, Lead, and Get Things Done Across Cultures: provides a framework for handling intercultural differences in business and illustrates how different cultures perceive the world. Awareness of intercultural differences is crucial for the success of an architect in an international setting. It helps us understand these differences and, in doing so, improves our ability to react to specific behaviors that might have once seemed strange.
Turn the Ship Around! by L. David Marquet: Around reveals how one United States Navy captain managed to turn a dissatisfied submarine crew into a formidable and respected team. By changing how we think about leadership, this story will show you that we all have the power to be leaders inside.
Leadership is Language by L. David Marquet is a playbook for successful team management. It teaches leaders to change their language and mindsets to improve decision-making, empower workers, and achieve better results.
Nudge by Richard Thaler draws on psychology and behavioral economics research to define libertarian paternalism as an active engineering of choice architecture. The book also popularised the concept of a nudge, a choice architecture that predictably alters people's behavior without restricting options or significantly changing their economic incentives.
reading notes
No Rules Rules by Erin Meyer and Reed Hastings provides insights into Netflix culture. When you give low-level employees access to information generally reserved for high-level executives, they get more done independently. They work faster without stopping to ask for information and approval. They make better decisions without needing input from the top.
reading notes
Dare To Lead by Brené Brown defines a leader as anyone who takes responsibility for finding the potential in people and processes and dares to develop that potential.
website
reading notes
The So What Strategy by Davina Stanley and Gerard Castles. Any architect has been caught at the end of a presentation when their audience, perhaps a leadership team or a Steering Committee, looks at them blankly and asks this most uncomfortable question: ‘So what?' How does that help? The book provides a pragmatic approach to answering that question in one powerful sentence. Or how to set yourself up so nobody asks it.
website
tool
Never Split the Difference by Chris Voss. Negotiations occur in many fields, such as business, and in some critical situations, like hostage situations. The book is a guide on how to behave best when certain things happen, regardless of whether that includes the need for negotiation techniques in hostage situations or in business (and architecture).
summary

Organization and Processes

Accelerate—acceleration is the second derivative of position (speed being the first), so if you want to move faster, you need to accelerate. Sometimes, you need to jerk the system a bit, which is the proper term for the third derivative.
The Phoenix Project and The Unicorn Project by Gene Kim The Phoenix Project is a best-selling novel about DevOps. The book's characters reveal through their actions why it's so important for organizations to put security first and tear down the silos that have traditionally existed between development and operations teams.
Continuous Delivery— through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours-sometimes even minutes-no matter what the size of a project or the complexity of its code base.

Business, Product, Strategy

Six Simple Rules: How to Manage Complexity without Getting Complicated by Yves Morieux and Peter Tollman: the book emphasizes that in today’s complicated business environment, you must set up organizational structures based on cooperation. To deal with complexity, organizations should depend on the judgment of their people, which requires giving them more autonomy to act. It also depends on these people cooperating to utilize the organization's capabilities to cope with complex problems.
The Personal MBA 10th Anniversary Edition by Josh Kaufman provides an overview of the essentials of every major business topic: entrepreneurship, product development, marketing, sales, negotiation, accounting, finance, productivity, communication, psychology, leadership, systems design, analysis, and operations management.
Technology Strategy Patterns by Eben Hewitt provides a shared language—in the form of repeatable, practical patterns and templates—to produce great technology strategies.
Escaping the Build Trap by Melissa Perri is a practical guide to product management, product strategy, and ensuring product success.
Summary
← Cheat Sheet
To Probe Further
Tools →