Picture of author.

Neal Ford

Author of The Productive Programmer

15 Works 864 Members 13 Reviews

About the Author

Neal Ford is a director, architect, and meme wrangler at Thought Works, a global IT consultancy. Proficient in a variety of languages, his primary consulting focus is the design, construction, and engineering practices of large-scale enterprise applications.

Includes the name: Ed. by Neal Ford.

Image credit: Neal Ford

Series

Works by Neal Ford

Tagged

Common Knowledge

Birthdate
1966-01-13
Gender
male

Members

Reviews

14 reviews
Software architects guide development teams during projects from design to completion. It’s a notoriously nebulous field where the only goal is to build successful software… whatever that means and whatever that takes. Like any ill-defined field, getting from point A to point B requires skill and wisdom. That skill and wisdom evolves over time as the field evolves. Mark Richards and Neal Ford attempt to provide a guide to being a software architect without tying their approach too show more closely to any one technology.

The authors succeed in their goal of writing for the general audience of software designers, regardless of programing language; however, they fail to meet their audience at the same time because they are highly wedded to the design of microservices, their expertise. A lot of complex software development today doesn’t use microservices, and this book contains a lot of material that is only tangentially relevant to that crowd. Their work sees software through the lens of microservices versus monoliths, and in my experience, that contrast simply isn’t foundational to many developers.

Of course, we’re all biased towards our own areas, but the authors could have investigated this topic with a more scholarly approach that balanced other paradigms. The final sections on the interpersonal aspects of a software architect’s work life are helpful. I’d suggest that they’d serve as a better unifying theme to the topic and should be covered first. Then perhaps the authors could convey what architecture patterns exist in different development domains like web development, microservices, embedded systems, etc. The world of software is exploding with diverse approaches to a wide array of problems, and I’m still looking for a good book on software architecture to unite them. This book, while certainly solid, is more of a specialist’s guide to microservices than a grand tutorial.
show less
The serious work requires quite a lot of time for digesting. I have read the second edition. Author focuses on microservises as one of more prevailing architecture conceptions, also micro-kernel, scoping/granular styles and much more. Especially I liked many considerations concerning entangled, vague, controversial situations those happen between business and development, developers and architects, requirements and implementation.
A software architect foresees potential issues in a design and judges which way will instill the most business success in the long run. Unfortunately, in almost every scenario, trade offs permeate every option. As the saying goes, the devil is in the details. Learning to anticipate problems with wisdom set great software architects apart from merely experienced ones. In this book, several experienced authors look at those trade offs in the context of distributed software systems that are so show more fashionable these days.

Distributed systems and microservices are used in large systems that integrate for innovative results. When the computing is parsed, each system becomes its own special service, and breaking up the systems with minimal “coupling” between them becomes a challenge. In addition, businesses inevitably need to see the big picture of their work. Integrating the distributed system must happen, but no perfect way exists to implement integration. These sort of challenges require the careful wisdom this work offers.

This book is extremely abstract because software architecture is abstract by its nature. It covers some of the most challenging topics in distributed systems. I chose to listen to an audiobook format and somewhat regret the choice. Instead, I would have preferred to read the book in print for several reasons. First, tables would be easier to parse. Second, some sections are lists of different combinations, and listening to these was extremely boring. Finally, the text is so abstract that I would have liked to hover my eyes over a word or look up past definitions. None of these are facilitated by an audiobook format, unfortunately.

The content itself is good, but it only addresses a niche audience. I’ve never designed a distributed system from scratch, so this text helped me think through potential pitfalls. Via these principles, I mentally redesigned some of the smaller systems I work with so that I could see what a more distributed system might look like if we ever have to go that route. This book is not an introduction to software architecture but meant for more advanced practitioners. Still, the careful thought dwelling in these pages can prevent shortsighted mistakes, cut lost employee effort, and lessen company expenses.
show less
Silent confession by the majority: Presentations are boring most of the time. Even when you are super enthusiastic about the presentations' topic, they are more or less a disappointment (and when you are not, you truly experience the death by a thousand slides). It is so rare to witness truly great presentations that I can easily remember most of them even after a decade. It is very easy to criticize a bad presentation and the presenter, but until this book, it was not that easy to point to show more a real solution.

I'm so happy that I can simply tell most of the presenters, hopefully before they unleash their minutes and slides of boredom and confusion on me and my fellow sleepers, to go and read this book twice, if not at least three times. But before I hit them on the head with this book (especially the software developers, who mostly believe that practicing something means giving a good and noteworthy presentation about it, even though they have witnessed uncountable evidence against it), I plan to read it for the second time, and then for the third time. And probably every time before I prepare a presentation, until I gather enough evidence to let me think that I'm capable enough to write a book that is even better.

The book is really about 'just stuff, no fluff', and staying loyal to its premise, it succeeds to provide the reader with concrete advice and step-by-step explanations for very effective presentations. It will probably not turn your next presentation into the keynote of the century, but it will definitely take you a few steps further ahead.

Enthusiastic praise aside, I must conclude with the fact that this book has recently helped me save a presentation I was preparing to present in a European Commission review meeting, in which some of the audience were in a position to evaluate the presented facts in order to decide whether they should let the project continue, or simply put an end to it. Needless to say, I was more than happy to hear their judgment.
show less

Lists

You May Also Like

Associated Authors

Statistics

Works
15
Members
864
Popularity
#29,636
Rating
½ 3.7
Reviews
13
ISBNs
47
Languages
3

Charts & Graphs