12 Essential Skills for Software Architects Book Review
|The two things I like least about being a software architect is doing documentation and exercising social soft skills. On a lot of projects there comes a time when there is nothing I want to do more than explain to a business user why they are wrong. Dead wrong. We all know that does not fair well with the egos most business users have, and does not fair well with your potential future on the given project. This book contains information that will show you how to use different skills to help you graciously handle the harder conversations.|
This book is broken into three sections which cover, relationship skills, personal skills, and business skills.
Relationship skills has chapters on leadership, politics, gracious behavior, communication, and negotiation.
Personal skills has chapters on context switching, transparency, and passion.
Business skills has chapters on pragmatism, vision, business knowledge, and innovation.
I think the author does a great job covering the necessary soft skills for an architect. I really like the way the author shows the different skill levels using the technical glass ceiling.
The author's main point with context switching is that you must be able to do it and he provides some great tips on getting good at it. Another perspective that I find important is understanding how much time it wastes no matter how good you get at it. You also need to be aware that your team members may not be good at it. If you don't have a good project manager on the team running interference and limiting context switching, it falls on the architect to run interference. I find it more important to manage context switching than it is to attempt to master it.
Another thing I found with the book is it is all about the positive. That is not bad, but in the real world everything is not always positive and does not always end on a positive note. In the consulting world you are bound to end up with a teammate that is either not qualified for the role they are in or they are not mature enough for the position they are in. Although the ideal situation is to mentor them into becoming the ideal employee, time and budget constraints don't always allow for that. You will need to recommend having them replaced if you want to do right by your client. This is a much rarer situation in a full time employee environment. In those environments employees are not as disposable. Consultants are expected to hit the ground running.
Overall I found the book's content all great advice, but I find it more useful in a full time employee setting than in a consulting setting. As an employee I have to get along with everyone, I need to play political game, and I have to get deeply involved in the business. I am there for the long haul.
As a consultant I am not there for the long haul, I am there to accomplish a mission with a limited scope and usually with limited resources. I usually always start with all the advice in the book with regards to educating the business, playing some politics, and negotiating, but with limits. Those limits are in place to ensure a successful engagement. I find that I do not always have the luxury to of being politically correct or always being gracious. As a consultant you can get away with it since you are a high priced outside resource not considered part of the family, and in many cases babies need to be called ugly as graciously as possible.
I am not saying I disagree with anything in this book. I think it is all great valuable advice and dead on. I just think there is a little more to the story. That said, this book is the place to start learning the soft skills needed to become a successful software architect.
I think the book would be great for anyone who wants to improve relationship, personal, and business skills. Although the book is written in the context of Software Architecture, anyone could benefit from the advice in the book.
12 Essential Skills for Software Architects