Master The Crucial Technical Skills Every Software Architect Needs!
To succeed as a software architect, you must master both technical skills and soft skills. Dave Hendricksen illuminated the soft skills in his highly-regarded 12 Essential Skills for Software Architects. Now, in 12 More Essential Skills for Software Architects he turns to the technical side.
Drawing on his decades of experience, Hendricksen organizes technical skills into three areas.
PROJECT SKILLS: driving projects from
ideation through delivery
TECHNOLOGY SKILLS: building, buying, and/or leveraging the right technologies
VISIONARY SKILLS: realizing an architectural vision that improves long-term competitiveness
He helps you develop and sharpen these key technical skills: from conceptualizing solutions to developing platforms and governance, and from selecting technology innovations to infusing architectures with an entrepreneurial spirit.
This guide reveals the technical skills you need and provides a coherent framework and practical methodology for mastering them.
Taken together, Hendricksen’s two books offer the most complete, practical pathway to excellence in software architecture. They’ll guide you through every step of your architecture career—from getting the right position to thriving once you have it.
Essential Architect Skills
Dave Hendricksen is a big data architect for Thomson Reuters, where he works closely with the firm’s new product development teams to create innovative legal products for large-scale online platforms such as Westlaw.com. Hendricksen presented “Designing and Building Large-Scale Systems in an Agile World” at Carnegie Mellon University’s influential Software Engineering Institute.
Table of contents
- About This eBook
- Title Page
- Copyright Page
- Dedication Page
- About the Author
Part I: Project Skills
Chapter 1. Partnership
- What Is a Partnership?
- What Are the Key Aspects of a Partnership?
- Realizing the Nature of the Partnership
- Being Aware of Your Business Context
- Technical Decisions Require Partnerships
- Key Point: Technical Decisions Are Political Decisions
- Presenting the Situation First (Give Context)
- Having Your Partners’ Backs
- Contributing to Your Partners’ Successes
- Safety in Numbers
Chapter 2. Discovery
- What Is Discovery?
- The Keys to Discovery
- Understanding the Customer
- Understanding the Market
- Understanding Your Business
Chapter 3. Conceptualization
- Getting Involved Early
- Conceptualization: Bringing Ideas to Life
- Concept Formation
- Concept Reification
- Concept Evolution
Chapter 4. Estimation
- Estimates Overview
- Understanding the Estimating Process
Developing the Architectural Approach
- Is This a Partnership or a Contractual Relationship?
- What Is the Business Rationale for the Project?
- What Is the Marketing Approach?
- Is This a Repeat Estimate?
- What Risks Have You Identified? Can You Mitigate Them?
- Are You Building a Platform?
- Are You Re-platforming?
- What Technologies Are in Play?
- What Is the Organizational Structure?
- Do You Need to Seek External Research?
- Have You Identified Leverageable Components?
- Estimating Strategies
- Know the Hard Problem
- Provide Options
- Leave Design Decisions Open
- Know the Schedule
- Know What You Want
- Avoid Being Negative
- Seek Opportunities to Say Yes
- Bargain Hard Now, Not Later
- Don’t Cave In
- Trust Your Gut Feeling
- Beware of Projects That Others Have Estimated
- Know the Business’s Targeted Build Price
- Bringing It All Together
Chapter 5. Management
- Architecture Management Defined
- Areas of Architectural Responsibility
- Striving toward Technology Excellence
- Partnering with the Project Manager
- Eliminating Dependencies Ruthlessly
- Managing Expectations
- Mastering the Development Process
- Being Where the Problems Are
- Being Aware of Nontransparency on Your Projects
- Limiting the Number of Contractors in Leadership Positions
- Providing Technical Management (Areas of Responsibility)
- Managing by Walking Around
- Asking the Tough Questions
- Dealing with Problems in the Moment
- Saying No, but with Options
- Striving to Be Consistent in Your Decisions
- Learning to Deal with Things Head-on, Cards Faceup on the Table
- Knowing What You Are Willing to Cave On When Negotiating
- Being Willing to Challenge Areas You Don’t Agree with (Respectfully)
- Being Willing to Stand Your Ground
- Knowing What Is Not Your Problem
- Partnering with Executives
Managing Your Time
- Limiting the Number of Projects to Which You Commit
- Defining Your Role and Bounding It
- Prioritizing Where to Engage Your Time
- Learning to Make Decisions on Limited Data and with Limited Time
- Attending Meetings Only If You Are an Active Participant
- Getting a Deadline
- Delegating to Those You Trust
- Meeting in Person
- Grooming Technical Talent
- Enhancing Your Skill Set
- Chapter 1. Partnership
Part II: Technology Skills
Chapter 6. Platform Development
- Platform Development Defined
- The Elements of Platform Development
- Guiding Principles
Chapter 7. Architectural Perspective
- Architectural Perspective Defined
- The Principle of Least Surprise
- The Principle of Least Knowledge (aka the Law of Demeter)
- The Principle of Least Effort (aka Zipf’s Law)
- The Principle of Opportunity Cost
- The Principle of Single Responsibility
- The Principle of Parsimony (aka Occam’s Razor or KISS)
- The Principle of Last Responsible Moment (aka Cost of Delay)
- The Principle of Feedback
- Architectural Concerns
- Architectural Communication
- Bringing It All Together
Chapter 8. Governance
- Governance Defined
- Avoid Vendor Lock-in
- Encourage Open-Source Usage
- Minimize the Cost of Disruption (aka Enable Business Continuity Planning and Disaster Recovery)
- Enable Loose Coupling between Business Units
- Leverage Common Capabilities
- Ensure Regulatory Compliance
- Ensure Security
- The Principle of Least Privilege (aka the Principle of Least Authority)
- Seek Unified Identity and Access Management
- Seek Data Portability (aka Avoid Data Lock-in)
- Seek Integration and Automation
- Areas of Governance
- Governance and a Healthy Tension with Agile
- Chapter 9. Know-how
- Chapter 6. Platform Development
Part III: Visionary Skills
Chapter 10. Technology Innovation
- Technology Innovation Defined
- Trend Awareness
- Business Alignment
- Strategic Research
- Technology Innovation Principles
- Pragmatic Technology Innovation
Chapter 11. Strategic Roadmapping
- Strategic Roadmapping Defined
- Elements of a Strategic Roadmap
- Roadmapping Strategies
- Keep It Simple
- Partner with the Business
- Get Moving
- Have Fun
- Strategies without Goals Are Pointless
- Identify Areas That Require Research and Innovation
- Identify Skill and Knowledge Gaps
- Be Flexible on the Timing of Getting to the Destination
- Be Willing to Take a New Route
- It’s Not about the Details; Focus on the Destination and Key Milestones
- Follow What Energizes You
- What Is an Architect’s Role in Roadmapping?
- Where Can You Use Roadmaps?
- Roadmap Considerations
- Roadmap Socialization
- Celebrating Milestones Achieved
Chapter 12. Entrepreneurial Execution
- Entrepreneurial Execution Defined
- Elements of Entrepreneurial Execution
- Entrepreneurial Execution Principles
- Architecting with Entrepreneurial Execution
- Chapter 10. Technology Innovation
- Epilogue: Bringing It All Together
- Title: 12 More Essential Skills for Software Architects
- Release date: August 2014
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780133377064
You might also like
Radar Trends to Watch: September 2023
Read about the latest developments on O'Reilly Media's Radar.
The Art of Leadership
Many people think leadership is a higher calling that resides exclusively with a select few who …
Technology Strategy Patterns
Technologists who want their ideas heard, understood, and funded are often told to speak the language …
Become well-versed with basic networking concepts such as routing, switching, and subnetting, and prepare for the …