97 Things Every Software Architect Should Know
Author: Richard Monson-Haefel
Don’t we all sometimes wish we could just TAKE good advice, instead of thinking we have found a better way and make the mistakes we’ve been warned about? This book is a collection of really sound, tried and tested guidelines from hardened experts that have done the work for us, so why not listen to their wisdom?
About the author
Richard Monson-Haefel is a software architect specializing in multi-touch interfaces and a leading expert on enterprise computing.
Inside the book
Every experienced software architect will tell you that the key to being successful in this line of work is to find a balance between the business and the technology aspect of their job, and to extract and combine the best of these two completely different worlds. How to do that? Read the advice and think about it. What do you already do right, and what things you should think about changing?
There are 97 pieces of advice in this book, coming from professionals around the world. Some of them are the same recommendations, reinterpreted in a different way. You can think of it as a redundancy incorporated to make you get it right – these are things that are crucial to a job well done.
As you already know, software architects have a unique position in the IT world. They work with software developers and the project sponsors. Their job is to make sure that the customer is satisfied with the end result and that the application is finalized on schedule and within budget restrictions. To do all this, they also have to be good leaders, know when to give the developers autonomy and when to step in, be knowledgeable in the technology and methods used, know how to listen, communicate and motivate.
This books offers new perspectives on old problems that will probably make you reevaluate some of your methods. It also offers some simple tips and psychological tricks to increase the effectiveness of your communication, to return the project on the right path when it has veered off course, to make you a better negotiator, and many more.
This book should have a prominent place on every software architect’s shelf. I would recommend it to all who aspire to that position.
Read it a couple of times so the knowledge sinks in and when you are faced with a problem, you will already be familiar with its solution. Seasoned professionals can also benefit from this advice. After all, we are all human and fallible and we can easily slip into a seemingly simpler, but ultimately wrong way of doing things. Use this book as a reminder and refresher course.