Preface to 12 More Essential Skills for Software Architects
Preface
“Architecture is not a profession for the faint-hearted, the weak-willed, or the short-lived.”
Martin Filler
“Architecture and building is about how you get around the obstacles that are presented to you. That sometimes determines how successful you’ll be: How good are you at going around obstacles?”
Jeremy Renner
“Architecture is a service business. An architect is given a program, budget, place, and schedule. Sometimes the end product rises to art—or at least people call it that.”
Frank Gehry
“Architecture is invention.”
Oscar Niemeyer
“I loved logic, math, computer programming. I loved systems and logic approaches. And so I just figured architecture is this perfect combination.”
Maya Lin
“I think about architecture all the time. That’s the problem. But I’ve always been like that. I dream it sometimes.”
Zaha Hadid
“The Internet is probably the most important technological advancement of my lifetime. Its strength lies in its open architecture and its ability to allow a framework where all voices can be heard.”
Adam Savage
Book Motivation
This book and my first book (12 Essential Skills for Software Architects) focus on the skills needed to become a successful software architect.
Software architecture is about learning how to relate to people and learning how to think about things with an eye toward architecture. 12 Essential Skills for Software Architects focused on soft skills; without these, the rest of the journey is nearly impossible
Shortly after I completed my first book, I began receiving questions about the assumed technical skills (shown in Figure P.1) that are referred to but not discussed.
Figure P.1. Twelve essential skills for software architects
This book dives into the details of those assumed skills—the technical skills you need on a daily basis in the role of an architect. It is the combination of soft and technical skills that will enable you reach your goals.
Book Goals
My goals for this book are to
- Enable excellence in software architecture through skills development
- Enable architectural success in a business context
- Promote an architectural approach to thinking about the enterprise
Book Organization
The format and style of this book are intended to help evoke critical thinking about your specific set of projects, your areas of architectural oversight, and your areas of direction-setting leadership. These take the form of project skills, technology skills, and vision skills.
These three areas are organized as follows:
• Part I: Project Skills. These skills enable you to drive projects from early ideation to project delivery through
• Partnership (Chapter 1)
• Discovery (Chapter 2)
• Conceptualization (Chapter 3)
• Estimation (Chapter 4)
• Management (Chapter 5)
• Part II: Technology Skills. These skills ensure that the right technologies are built, bought, or leveraged through
• Platform Development (Chapter 6)
• Architectural Perspective (Chapter 7)
• Governance (Chapter 8)
• Know-how (Chapter 9)
• Part III: Visionary Skills. These skills enable the pursuit of the business’s long-term competitive vision through
• Technology Innovation (Chapter 10)
• Strategic Roadmapping (Chapter 11)
• Entrepreneurial Execution (Chapter 12)
The three parts can be thought of as a layered set of skills for software architects (see Figure P.2). Each layer is the basis for the layer above it.
Figure P.2. Technical skills pyramid
Each of the chapters within the book is written to be read independently of the other chapters. This independence should enable you read the book in the order of your interests or needs.
I hope you enjoy reading the book and that you learn some new things that will enable you to become an excellent architect and better understand the role of an architect.
If you have any questions or comments, please feel free to contact me at dave@hendricksen.org.