Dave Hendricksen is the author of 12 Essential Skills for Software Architects. In this interview with TechWell editor Joey McAllister, he talks about what prompted him to write the book, discusses some of the soft skills that every architect should know, and offers a selection of his own recommended resources for further reading.
Joey McAllister: There are books about technical skills for software architects and others about “soft” skills for managers, but yours brings the soft skills lessons to the architects. What made you decide to write a book about non-technical skills that software architects should know?
Dave Hendricksen: There are several reasons that drove me to be interested in writing this book, but one stands out more than the others: While many technical people who are well qualified from a technology perspective to be an architect, one area that is routinely holds them back is soft skills. I know this was the case for me.
Along the way, I was fortunate enough to have a VP lay out very plainly the things I needed to work on. This is my attempt to help others understand some of the unstated requirements of being a successful architect.
Joey McAllister: What made you choose these twelve skills? Did you have to narrow it down from a longer list, and, if so, do you plan to write more about the non-technical aspects of the software architect’s job?
Dave Hendricksen: These are the twelve skills that tend to be problematic for people in the technical ranks and also form a solid base of skills for addressing the challenges that architects regularly face.
When I was originally brainstorming for a conference presentation that the book is based on, I started out with a list of fifty topics. Eventually, it was refined down to the twelve that form the core the book.
I looked at the essentialness of each skill and asked if you could be successful if the skill were removed (using the notion of Occam’s razor). In general, if you are missing one of these twelve skills, success as an architect becomes much more challenging.
I have given a little bit of thought on writing additional books. For now, I am enjoying being on the side of having completed my first book.
Joey McAllister: You write in the book about relationship skills, personal skills, and business skills. Of these, where do you think most software architect’s falter?
Dave Hendricksen: I believe relationship skills are easily the top candidate.
I view these three areas as being layered one on top of the other and forming a pyramid of skills. There is an assumed technology skills layer at the base (it forms the foundation), with relationship skills being the next layer, personal skills on top of that, and finally business skills being on the top.
Joey McAllister: If you were to recommend one of the twelve essential skills for the struggling architect to read about first—perhaps the one that is most universal to architects—which would it be?
Dave Hendricksen: I believe gracious behavior would be the first place to start. In general, the book is ordered in the sequence of skills that should be worked on.
Joey McAllister: While the book is geared toward software architects, you cover a thorough list of soft skills that may be applicable to readers across a wide variety of positions. What do you think the non-architect might gain from your book?
Dave Hendricksen: Some skills that are applicable to almost any role include:
- A better understanding of the nature of the role of an architect
- How to better relate to people
- How to deal with context switching
- How to negotiate/sell
- The importance of being transparent
- How to approach innovation
- How to establish a vision
Joey McAllister: What other reading material would you recommend for software architects?
Dave Hendricksen: Some books I recommend are:
- Patterns of Enterprise Application Architecture by Martin Fowler
- The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt
- Design Patterns: Elements of Reusable Object-Oriented Software by the Gang of Four
- "Architectural Blueprints—The “4+1” View Model of Software Architecture" by Philippe Kruchten
Learn more about this book at InformIT.com.