Software Architect
Häftad, Engelska, 2023
Av Michael Bell
369 kr
Beställningsvara. Skickas inom 5-8 vardagar
Fri frakt för medlemmar vid köp för minst 249 kr.A strategic state-of-the-art software architecture manual for all skill levels In Software Architect, veteran enterprise and solution architect Michael Bell delivers a hands-on playbook of best practices for aspiring and practicing software architects, seeking to improve their software design, integration, communication, presentation, and knowledge acquisition skills. He explores the career enablement, career planning, self-training, and self-improvement topics you’ll need to increase your ability to offer powerful and effective business and technological solutions. In the book, you’ll learn how to help companies promote business and technological transformation by implementing modern and first-class software design, deployment, integration, and operations. Software Architect also includes: A modern software architect’s toolbox that includes best practices for multi-dimensional software design and integration in an enterprise quantum computing ecosystem A breakdown of the various types of software architects, as well as useful self-assessments for aspiring and practicing professionalsSkill acquisition strategies for software architects along with strategic approaches to ace software architecture interviews An indispensable manual for aspiring to be architects, software architects-in-training, and practicing software architects. Software Architect is an essential read for anyone hoping to improve their ability to deliver robust business and technical solutions to enterprises everywhere.
Produktinformation
- Utgivningsdatum2023-04-06
- Mått185 x 231 x 28 mm
- Vikt771 g
- FormatHäftad
- SpråkEngelska
- Antal sidor432
- FörlagJohn Wiley & Sons Inc
- ISBN9781119820970
Tillhör följande kategorier
MICHAEL BELL is an enterprise and solution architect with hands-on experience in business and software architecture modeling. He has consulted for organizations including J.P. Morgan Chase, Citibank, Bank One, UBS-Paine Webber, American Express, AIG, and the US government. He is the best-selling author of software architecture books, and he offers a variety of enterprise integration solutions for back-end and customer-facing systems.
- Introduction xxiiiPart 1 Software Architect Capability Model 1Chapter 1 Software Architect Capability Model 3Software Architect Capability Model: Benefits 4How Should Organizations Utilize the Software Architect Capability Model? 4Why Create a Personal Software Architect Capability Model? 5Rudimentary Guiding Principles 6Software Architect Capability Model Creation Process 6Requirements Drive Architecture Solutions 7Requirements Issued by Problem and Solution Domain Entities 7How Do the Problem and Solution Domains Collaborate? 7Important Facts to Remember 9Create a Software Architect Capability Model in Five Steps 9Step 1: Provide Requirements and Specifications 10Business Requirements 10Technical Specifications 11Ensure Clear Requirements 11Step 2: Identify Software Architecture Practices 12Establish Architecture Practices 12Step 3: Establish Software Architecture Disciplines 13Apply Architecture Disciplines to Architecture Practices 14Applying Disciplines to the Application Architecture Practice 14Applying Disciplines for the Data Architecture Practice 16Step 4: Add Software Architecture Deliverables 17About Software Architecture Deliverables 17Add the Deliverables Section 18Step 5: Quantify Skill Competencies 21Quantifying Architecture Skills 22Measuring the Application Architect Skill Levels 22Measuring Data Architect Skill Levels 24Skill Competency Patterns for Architects 25How Can Organizations Utilize the Skill Competency Pattern? 26How an Individual Can Utilize the Skill Competency Pattern 27Interview Questions 28Part 2 Software Architecture Career Planning 29Chapter 2 Types of Software Architects 31Business Needs for Technological Solutions 32Business Needs for Software Architecture: Strategic Collaboration 32How Does Software Architecture Respond to Business Needs? 33Business Needs for Software Architecture: Technological Mediation 33How Could Technological Mediation Efforts Be Utilized? 34Business Needs for Software Architecture: Technological Implementation 34How Does the Implementation of Software Products Meet Business Needs? 34Organizational Leading Software Architect Levels 35Ranking Leading Software Architects 35Collaboration Hierarchy of Leading Software Architects 36Level I: Enterprise Architect Responsibilities 38Enterprise Architect Summary of Responsibilities 38Enterprise Architect Responsibility Table 39Level II: Solution Architect Responsibilities 40Solution Architect Summary of Responsibilities 41Solution Architect Responsibility Table 42Level III: Application Architect Responsibilities 44Application Architect Summary of Responsibilities 44Application Architect Responsibilities Table 46Comparing Responsibilities of Leading Software Architects 48Types of Domain Software Architects 49Data Architect 49Data Architect Summary of Responsibilities 50Data Architect Responsibilities Table 51Cloud Architect 51Cloud Architect Summary of Responsibilities 54Cloud Architect Responsibilities Table 55Security Architect 57Security Architect Summary of Responsibilities 58Security Architect Responsibilities Table 60Business Architect 62Business Architect Summary of Responsibilities 62Business Architect Responsibilities Table 63Collaboration Between Leading Software Architects and Domain Software Architects 65Use Case I: Collaboration Between an Application Architect and a Data Architect 66Application Architect and Data Architect Collaboration Table 66Use Case II: Solution Architect and Security Architect 68Solution Architect and Security Architect Collaboration Table 68Use Case III: Business Architect and Enterprise Architect Collaboration 70Business Architect and Enterprise Architect Collaboration Table 70Chapter 3 Career Planning for Software Architects: A Winning Strategy 73Software Architecture Career Planning Process 74Career Planning Step 1: Conduct Self- Discovery 75Discovery of Technological and Social Talents 75Career Planning Self- Discovery Subjects 76Career Planning Step 2: Pursue Research 76Formal Education, Training, and Certification 77Employment Opportunities and Interviews 77Subjects of Research 77Career Planning Step 3: Devise an Approach 78Setting Software Architecture Career Goals 78Setting Software Architecture Career Milestones 80Decision- Making 81Action Planning 82Career Planning Step 4: Plan Career Execution 85Use Case I: A Software Architecture Career Execution Plan with Alternative Tasks 85Use Case II: Optimized Software Architecture Execution Plan 88Self- Discovery Process: The Six Ws 89The “Why” 90The “Who” 91The “What” 92Self- Discovery Questions for Software Architecture Candidates 93Self- Discovery Queries for Software Architects 93The “Where” 94The “When” 95The “How” 96“How” Self- Queries for Software Architecture Applicants 97“How” Self- Questions for Practicing Software Architects 97Carving a Software Architecture Career Path 98The 4D Software Architecture Career Perspectives 99Social- Driven Career Perspective 100Social- Driven Career Chart 100Carve Out a Social- Driven Career Chart 101Social- Driven Career Path 102Create a Social- Driven Career Path 102Technology- Driven Career Perspective 103Technology- Driven Career Chart 104Create a Technology- Driven Career Chart 105Technical- Driven Career Path 106Develop a Technical- Driven Career Path 106Leadership- Driven Career Perspective 107Leadership- Driven Career Chart 108Create a Leadership- Driven Career Chart 109Leadership- Driven Career Path 110Develop a Leadership- Driven Career Path 110Strategy- Driven Career Perspective 112Strategy- Driven Career Chart 112Create a Strategy- Driven Career Chart 114Strategy- Driven Career Path 114Develop a Strategy- Driven Career Path 115Chapter 4 Self- Assessment for Software Architects 117Social Intelligence 118Teamwork 118Partnership 119Self- consciousness 119Communication 120Networking 120Soft Skills 120Trust Building 121Learning from Others 121Negotiation 122Self- presentation 122Teleworking 123Fellowship 123Self- sufficiency 124Handling Customer Relationships 124Social Intelligence Skill Assessment 124Software Architecture Practice 126Software Architecture Strategy 126Software Architecture Vision 127Software Architecture Role 127System Integration 128Interoperability 128Software Reuse 129Distributed Architecture Model 129Federated Architecture Model 129Architecture Styles 130Architecture and Design Patterns 130Componentization 130Software Architecture Frameworks 131Software Development 131Software Architecture Practice Skill Assessment 132Leadership 133Managing Time 134Decision- Making 134Problem-solving 134Diversity, Equity, and Inclusion 135Responsibility and Accountability 135Hiring Preferences 136Creative Thinking 136Critical Thinking 136Being Proactive 137Establishment of Trust 137Administrative Duties 138Coaching and Training 138Team Building 139Resolving Conflicts 139Assessment of Leadership Competencies 140Strategy 141Software Architecture Strategy 142Strategic Thinking 142Problem Identification 142Problem-solving 143Abstraction 143Generalization 144Visualization 144Software Design Approaches 145Simplification 145Analytical Capabilities 145Influencing 146Promoting Culture 146Strategy Execution Plan 147Assessment of Strategic Competencies 147Part 3 Software Architecture Toolbox 149Chapter 5 Employing Innate Talents to Provide Potent Organizational Solutions 151Innate Skills Promote Software Architecture Effectiveness 152Remember: Survival, Survival, Survival 152Consequences of Failing to Invoke Innate Talents 153Employ Chief Innate Talents to Become an Effective Software Architect 154The Power of Creativity 154The Benefits of Unleashing Software Architecture Creativity 155Unleash the Power of Software Architecture Creativity 155The Potency of Imagination 157The Benefits of Harnessing Imagination 158Unleash the Power of Imagination 159Software Design Aesthetic 162Technical Proficiency and Aesthetic Talents Drive Software Design 162The Chief Contribution of Design Aesthetic Talents to Software Architecture 163Curiosity Attributes 167The Contribution of Curiosity to Software Architecture 167The Influencing Facets of Curiosity on Software Architecture Practices 168Chapter 6 Software Architecture Environment Construction 173Benefits of the Software Architecture Environment Construction Discipline 174Must Haves: Problem Statements and Requirements 174Never Start a Software Design Project Without Understanding the Problems 175Never Start a Software Design Project Without Requirements 176Software Architecture Structures 176Micro Level: Multidimensional Structures of Software Implementations 176Macro Level: 3D Software Architecture Environment Structure 177Software Architecture Environment: Driven by an Uncontrolled Quantum Landscape Behavior 178Software Architecture Environment: An Intelligent Topological Space 179Deformation Aspects of a Multidimensional Software Architecture Environment 181Entanglement Effects in a Software Architecture Environment 182Software Architecture Environment Forces Drive Software Behavior 183Probability Assessment of Software Operations and Behavior 184Software Architecture Environment Positive and Negative Forces 184Software Architecture Environment Gravitational Forces 185The Impetus for Granting Software Architecture Gravitational Powers to Software Implementations 186Software Architecture Gravitational Force Intensity 187The Cost of Unbalanced Software Architecture Environment Gravitational Forces 187Competing Software Architecture Environment Forces 188Software Architecture Environment: A Survival Game Space 188Maintaining a Pragmatic Balance Between Competing Software Architecture Forces 189Mitigating the Competing Forces Challenge 190Software Architecture Environment Harmonizing and Disharmonizing Forces 190Chief Properties of Harmonizing Forces in a Software Architecture Environment 191Chief Properties of Disharmonizing Forces in a Software Architecture Environment 193Genetic Encoding of a Software Architecture Environment 194Difficulties of Restructuring a Software Architecture Environment 194Encoding a Software Architecture Environment 195Influences on Social, Behavioral, and Business Goals 195Software Architecture Environment Construction Life Cycle 196Software Architecture Environment Construction Process 197Creating a Software Architecture Environment Construction Balance Table 197Software Architecture Environment Construction Design Activities 199Use Case I: Software Architecture Environment Composition and Decomposition Design Activities 201Design- Time vs. Runtime Environment Composition and Decomposition Design Activities 201Composition and Decomposition Design Methods 202Composition and Decomposition Process Outline 203Use Case II: Software Architecture Environment Integration and Disintegration Design Activities 204When to Apply Integration and Disintegration Design Activities 205Integration and Disintegration Design Methods 205Integration and Disintegration Process Outline 206Use Case III: Software Architecture Environment Centralization and Decentralization Design Activities 208When to Employ the Software Environment Centralization and Decentralization Design Activities 208Centralization and Decentralization Design Methods 209Software Architecture Environment Centralization and Decentralization Process Outline 210Use Case IV: Software Architecture Environment Elasticity and Inelasticity Design Activities 211Chapter 7 When to Employ Elasticity and Inelasticity Design Activities 212Elasticity and Inelasticity Design Methods 213Software Architecture Elasticity and Inelasticity Design Process Outline 214Use Case V: Software Architecture Environment Synchronization and Desynchronization Design Activities 215When to Employ Environment Synchronization and Desynchronization Design Activities 216Environment Synchronization and Desynchronization Design Methods 216Software Architecture Environment Synchronization and Desynchronization Design Process Outline 218Construction Laws of a Software Architecture Environment 219Best Practices for Software Architecture Environment Construction 220Structural Construction of Software Implementations in Multidimensional Environments 223Software Architecture Solids: Rudimentary Geometrical Design Structures 224Atomic Solid 225Composite Solid 227Monolithic Solid 228Interface Solid 229Pipe Solid 230Inclusive Utilization of Pipe Solids 231Exclusive Utilization of Pipe Solids 232Internal Utilization of Pipe Solids 233Data Solid 234Software Architecture Solids’ Attribute Summary 236Software Architecture Dimensional Model 237Software Architecture: Zero Dimension 238Software Architecture: One Dimension 239Software Architecture: Two Dimensions 240What Impacts the Length and Width Dimensions of a2D Software Structure? 241Software Architecture: Three Dimensions 242Volumes of 3D Software Structures 242Increase in Software Architecture Level of Specificity in a3D Computing World 243Software Population Sustainability in an Architecture Environment Space: A Capacity Planning Challenge 245Comparative Perspectives in a Software Architecture Space 2463D Software Structures in a Software Architecture Computing Space 247The Impetus for Establishing a 3D Software Architecture Space 247Chief Features of Software Architecture Computing Space 249Influences of Software Structures on Software Architecture Computing Space 250Relative Positions in a 3D Software Architecture Computing Space 250Coordinate Axes: Skeleton of a Software Architecture Computing Space 251Software Architecture Computing Space Logical Coordinate System 252Cardinal and Intercardinal Physical Directions in Software Architecture Computing Space 253Applying Cardinal and Intercardinal Directions to Software Architecture Computing Space 254Marrying a Logical Coordinate System with Cardinal and Intercardinal Physical Directions System 255Leveraging the Z- Axis to Create Floors in a Software Architecture Computing Space 256Distribution Styles of 3D Software Implementations in an Architecture Computing Space 257Federated Distribution Style 258Flooring Distribution Style 260Symmetrical and Asymmetrical Distribution Styles 261Symmetrical Distribution Style 261Asymmetrical Distribution Style 263Construction Life Cycle of Software Implementations 264Software Construction Process 265Creating a Software Construction Balance Table 265Software Construction Design Activities 266Use Case I: Thicken and Contract Design Activities 267When to Apply Thicken and Contract Design Activities 268Thicken and Contract Design Methods 269Software Structure Thickening and Contracting Process Outline 270Use Case II: Lengthen and Shorten Design Activities 272When to Apply the Lengthen and Shorten Design Activities 273Lengthen and Shorten Design Methods 273Software Structure Lengthening and Shortening Process Outline 275Use Case III: Layer and Delayer Design Activities 277When to Apply Layer and Delayer Design Activities 277Layer and Delayer Design Methods 278Layer and Delayer Process Outline 279Governing Laws for Software Construction in a 3D Computing World 281Best Practices for Constructing Software Implementations 282Part 4 Software Architecture Interview Preparations 285Chapter 8 Preparing for a Software Architecture Interview: A Winning Strategy 287Software Architecture Job Interview Strategy 288Preparing a Job Interview Defense Plan 288Preparing a Job Interview Attack Plan 289Software Architecture Job Interview Preparation Model 290Software Architecture Job Interview Defense Plan 291Study and Analyze the Job Description 291Start with Identifying the Scope of the Software Architecture Job Requirements 292Dive Deep into the Software Architect Job Description 293Start with Analyzing the Summary Portion of the Job Requirements 294Create a Findings Table Version I for the Job Description 295Next, Analyze the Responsibilities Portion of the Job Requirements 296Then, Update the Findings Table Version II of the Job Description 296Last, Analyze the Software Architect Skills Portion of the Job Requirements 297Do Not Forget to Update the Findings Table of the Job Description 298Create a Software Architect Skill Competency Model for the Job Description 299Skill Competency Model’s Requirements and Practices 300Skill Competency Model’s Disciplines 301Design Discipline’s Deliverables 301Cybersecurity Discipline Deliverables 301Products Selection and Evaluation Discipline’s Deliverables 302SDLC Discipline’s Deliverables 302The Competency Part of the Skill Competency Model 303Discover the Personal Knowledge Gap Before Attending a Job Interview 303Assess Whether the Next Software Architecture Job Is a Strategic Career Move 304Conduct a Software Architecture Mock Interview 305Prepare a Software Architecture Interview Cheat Sheet 306Prepare for Possible Software Architecture Interview Questions 307Software Architecture Job Interview Attack Plan 308Study the Hiring Organization’s Business 309Start by Finding Information About the Hiring Organization 309Chapter 9 Leveraging Business Knowledge During an Interview 311Understand the Business Model 312Get Familiar with the Hiring Company’s Culture 314Conduct a Quick SWOT Analysis 315Understand the Hiring Organization’s Technology 316Technological Information Sources 316Discover the Environment’s Technology Stack 318Learn About the Development Technology Stack 319Study the Applications 320Identify Specific IT Projects 321Demonstrate Enterprise Architecture Knowledge of the Hiring Organization 321Adopt Software Architecture Lingo 323Use Design Patterns Vocabulary 323Use the Software Architecture Guidelines Lingo to Communicate Solutions 324Remember Software Architecture Tools 328Classification of Software Architecture Tools 329Especially Prepare for Architecture Visualization Tools Questions 332Get Familiar with Software Architecture Analysis and Evaluation Methods 333Be Aware of Early Architecture Evaluation Methods 334Be Aware of Late Architecture Evaluation Methods 335Talk About Software Architecture Analysis Standards 335An Outline for Software Architecture Job Interview Questions 337Behavioral Questions 338Communication 339Interpersonal Relationships 340Software Architecture Leadership 340Skill Assessment Questions 341Software Architecture Attributes Questions 342Software Architecture LifeCycle Questions 343Software Architecture Concepts Questions 346Design Building Blocks Concepts 347Employ Design Building Blocks Concepts to Depict Solutions 347Prepare for the “How to Design” Interview Questions 348Software Architecture Environment Concepts 349Business Concepts 351Consumer Concepts 352Architecture Style, Architecture Pattern, and Design Pattern Questions 353Architecture Patterns vs. Design Patterns 353Understand Architecture Styles 355Remember Contextual Hierarchy of Patterns 355Why Interviewers Ask Architecture and Design Pattern Questions 356Prepare for Architecture and Design Pattern Questions 357Problem-solving and decision- making Questions 358Embrace the Software Architecture Problem- Solving and Decision- Making Process 358Identifying Business Problems 358Attend to the Problem- Solving and Decision- Making Process 359Prepare for Problem- Solving and Decision- Making Questions 360Data- Related Questions 360Focus on Data Aspects Related to Software Architecture 361More Data- Related Interview Questions 361Production Environment Questions 362Characteristics of Software Architecture Environment Hosted in Production 363Production Environment-Related Questions 364Software Architecture Framework Questions 365Focus on Array of Framework Contributions 365Software Architecture Framework Questions 367Index 369