Become An Awesome Software Architect

Anatoly Volkhover
2019

Despite its title, this is not a book about becoming a software architect. Or even about software architecture, really. Still, it does have some redeeming qualities. And given its title and its useful advice, it feels unfair to exclude it from the library. So here it is.

The twenty brief chapters of this self-published volume each offer a hit of real-world software engineering insight. The author clearly has extensive experience developing web applications. Even better, he has the self-awareness to draw some broader lessons from that experience. The results is a checklist of key considerations that anyone designing a web application will do well to consider.

Architecture, though, is about more than creating a design. Architecture is about the fundamental organization of a system. Architecture is about the evolution of design over time. Volkhover does not veer into this territory.

For example, chapter five discusses layering. Layering can be an excellent technique for organizing a system. A book on architecture might address the technique. When should layering be used? How does one determine the "right" number of layers for a system? How does layering guide evolution of a system over time? And so on.

Volkhover, on the other hand, bypasses these issues. He illustrates a three-layer architecture: application, domain, and infrastructure. He then digresses into a discussion of domain-specific languages and logging. A reader might reasonably conclude that systems should always have these three layers.

That’s reasonable guidance for building a specific kind of system. An architect, though, should know when to apply layering, how to determine the right layers for the system at hand, and so on. The ability to apply organization techniques such as layering is an architectural skill. That web applications should be structured with three specific layers is just advice.

Again, the advice is generally good and I’m quibbling with the title, not the content. In an unexpected content bonus, this book is a rich source of George Carlin quotations. Many authors include epigraphs for each chapter. But in how many software books is the opening quotation for every single chapter from the same standup comic?



© 2024 by Oliver Goldman