I had the good fortune to have a couple of my essays, aka axioms, included in the new book from O’Reilly, “97 Things Every Software Architect Should Know”. It has been about a month since this book project hit the bookstores, but the book is one of those rare technology books that should age well. It is an original type of book, drawing on the wikinomics idea where the author is mostly an editor, and the content was freely contributed by a large number of architects from around the world. Richard Monson-Haefel started the idea from an interesting thread in an email list. You probably know the kind of email thread I’m talking about, a thread where there is so much good content and ideas that you think, this should really be captured in some way that others could learn from it or share in it. Richard turned the thread into a wiki, and then took the radical step of taking selected ideas from the wiki and turning that into a book.
The book represents what a good sized cross section of people feel is important to architecture. It is really not about technology at all. Regardless of what technology choices you have made for yourself or your company, the ideas will make sense to you. It is also not a 1-2-3 manual about how to become an architect. You will find axioms that you agree with now, some you may come to agree with in the future, and some you may not agree with. In fact this has been a criticism of the book, that some feel like there are conflicting points of view represented and as such it doesn’t advance learning from the point of view of the author. That is a fair point of view, particularly if you are inclined to look for the one true way in software architecture. For myself, I gave that up a long time ago. One of the unique qualities of humans is that they are good at choosing the correct strategies to use based on the situations they encounter, and software development hits on a whole lot of situations.
What you will find that makes this book better than blogs, wikis, magazines and other online content, is that the book is layed out nicely and the text has been carefully edited to be readable and succinct. So instead of a wide variety of opinions scattered around a wide variety of sites with a wide variety of writing skills and abilities, you will get a wide variety of thoughtful ideas on software architecture in a consistent form and writing quality. Like a good book on patterns, some of the axioms will resonate with you more than others. Hopefully, it will help you understand those situations more clearly. It can be nice to know you are not alone in those points of view. More importantly though, there will be other ideas there for you that can help you see beyond where you are currently at or where you might be currently stuck. 97 Things covers the breadth of ideas important to software architects and I think you will find things of real value in there for you.