As you may already know, Apiumhub team is software architecture-oriented and reads books for software architects on a weekly basis to stay updated and constantly learn new things and improve. This year Apiumhub organizes Global Software Architecture Summit 1st and 2nd of October, which will take place in Barcelona. Leading software architects from all around the world will come to share their experiences and discuss work habits, best practices, patterns, painful issues that are encountered related to bad decisions in Software Architecture as well as possible solutions.  But before attending this powerful event, we highly recommend you to read these fascinating books for software architects, written by the GSAS speakers. We believe it will help you to prepare for the discussions and get to know the speakers better.  

 

10 books for software architects that we recommend you to read before attending Global Software Architecture Summit 

 

1.“Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives” by Nick Rozanski, Eóin Woods 

Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices.

With this book you will learn how to design and communicate an architecture that reflects and balances the different needs of its stakeholders, focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location,

and use scenarios and patterns to drive the creation and validation of your architecture, document your architecture as a set of related views. 

 

2. “Building Evolutionary Architectures: Support Constant Change” by Neal Ford, Rebecca Parsons, Patrick Kua

The software development ecosystem is constantly changing, providing a constant stream of new tools, frameworks, techniques, and paradigms. Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it evolves. This practical guide ties those parts together with a new way to think about architecture and time.

 

3. “Fundamentals of Software Architecture: An Engineering Approach” by Mark Richards, Neal Ford 

Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real guide exists to help developers become architects. Until now. This book provides the first comprehensive overview of software architecture’s many aspects. Aspiring and existing architects alike will examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics. Mark Richards and Neal Ford—hands-on practitioners who have taught software architecture classes professionally for years—focus on architecture principles that apply across all technology stacks. You’ll explore software architecture in a modern light, taking into account all the innovations of the past decade. This book examines:

  • Architecture patterns: The technical basis for many architectural decisions
  • Components: Identification, coupling, cohesion, partitioning, and granularity
  • Soft skills: Effective team management, meetings, negotiation, presentations, and more
  • Modernity: Engineering practices and operational approaches that have changed radically in the past few years
  • Architecture as an engineering discipline: Repeatable results, metrics, and concrete valuations that add rigor to software architecture

 

4. “Sustainable Software Architecture” by Carola Lilienthal

Today’s programmers don’t develop software systems from scratch. instead, they spend their time fixing, extending, modifying, and enhancing existing software. Legacy systems often turn into an unwieldy mess that becomes increasingly difficult to modify, and with architecture that continually accumulates technical debt. Carola Lilienthal has analyzed more than 300 software systems written in Java, C#, C++, PHP, ABAP, and TypeScript and, together with her teams, has successfully refactored them. This book condenses her experience with monolithic systems, architectural and design patterns, layered architectures, domain-driven design, and microservices. With more than 200 color images from real-world systems, good and sub-optimal sample solutions are presented in a comprehensible and thorough way, while recommendations and suggestions based on practical projects allow the reader to directly apply the author’s knowledge to their daily work.

 

5. “Thinking Architecturally” by Nathaniel Schutta

New software technology appears every year. Like clockwork, another language, library, pattern, or approach will arrive on the scene with plenty of hype and developer enthusiasm. As someone whose job requires making architectural decisions, you need to evaluate these new technologies with an eye toward the inevitable tradeoffs before deciding if a new framework or language is right for your project.

 

6. “Designing Object-Oriented Software” by Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener 

Practical and down-to-earth in approach, this bestseller explores the art of designing object-oriented software. It offers basic design principles and a specific design process that can be applied to any software programming effort – even those not using object-oriented programming languages or environments. Covers the concepts of object-oriented technology, presents a process to apply those concepts, the tools to use throughout the process, and examples to put it all together. For developers of object-oriented software.

 

7. “Holub on Patterns: Learning Design Patterns by Looking at Code” by Allen Holub

This is a book about programming in an object -oriented way and about how to use design patterns to solve commonplace problems in object-oriented systems. Allen based this book on the philosophy that the best way to learn and understand the design patterns is to see them in action, all jumbled up, just as they occur in the real world. 

 

8. “Front-End Reactive Architectures: Explore the Future of the Front-End using Reactive JavaScript Frameworks and Libraries” by Luca Mezzalira

Learn how to use reactive architectures on the front-end. There are many technologies using a reactive approach on the back end, but this book teaches you how the reactive manifesto can be used to benefit your front-end programming as well. You will discover what reactive programming is, what the current front-end ecosystem looks like, and how to use a range of frameworks and libraries. You will also apply specific reactive architectures in your own projects. Each concept is taught with a mix of technical explanations and real-world code implementations.

 

9. “The Coding Dojo Handbook” by Emily Bache 

Do you work on a team where not everyone is enthusiastic about good design and writing automated tests? How can you promote good practices? This handbook is a collection of concrete ideas for how you can get started with a Coding Dojo, where a group of programmers can focus on improving their practical coding skills. When you step into the Coding Dojo, you leave your daily programming environment, with all the associated complexities and problems, and enter a safe environment where you can try stuff out, make mistakes and learn with others. 

 

10. “Java in a Nutshell” by Benjamin J. Evans, David Flanagan 

This updated edition of Java in a Nutshell not only helps experienced Java programmers get the most out of Java versions 9 through 11, it’s also a learning path for new developers. Chock full of examples that demonstrate how to take complete advantage of modern Java APIs and development best practices, this thoroughly revised book includes new material on Java Concurrency Utilities.

 

I really hope that these books for software architects will help you with your professional career and will help you to get ready for the Global Software Architecture Summit! Btw, if you still haven’t got your ticket, click here to get one! 

 

If you are interested in this topic and would like to stay updated with latest books for software architects, we highly recommend you to subscribe to our monthly newsletter