WIN $150 GIFT VOUCHERS: ALADDIN'S GOLD

Close Notification

Your cart does not contain any items

Software Architect

Michael Bell

$65.95

Paperback

Not in-store but you can order this
How long will it take?

QTY:

English
John Wiley & Sons Inc
06 March 2023
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 professionals Skill 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.
By:  
Imprint:   John Wiley & Sons Inc
Country of Publication:   United States
Dimensions:   Height: 231mm,  Width: 185mm,  Spine: 28mm
Weight:   771g
ISBN:   9781119820970
ISBN 10:   1119820979
Pages:   432
Publication Date:  
Audience:   Professional and scholarly ,  Undergraduate
Format:   Paperback
Publisher's Status:   Active
Introduction xxiii Part 1 Software Architect Capability Model 1 Chapter 1 Software Architect Capability Model 3 Software Architect Capability Model: Benefits 4 How Should Organizations Utilize the Software Architect Capability Model? 4 Why Create a Personal Software Architect Capability Model? 5 Rudimentary Guiding Principles 6 Software Architect Capability Model Creation Process 6 Requirements Drive Architecture Solutions 7 Requirements Issued by Problem and Solution Domain Entities 7 How Do the Problem and Solution Domains Collaborate? 7 Important Facts to Remember 9 Create a Software Architect Capability Model in Five Steps 9 Step 1: Provide Requirements and Specifications 10 Business Requirements 10 Technical Specifications 11 Ensure Clear Requirements 11 Step 2: Identify Software Architecture Practices 12 Establish Architecture Practices 12 Step 3: Establish Software Architecture Disciplines 13 Apply Architecture Disciplines to Architecture Practices 14 Applying Disciplines to the Application Architecture Practice 14 Applying Disciplines for the Data Architecture Practice 16 Step 4: Add Software Architecture Deliverables 17 About Software Architecture Deliverables 17 Add the Deliverables Section 18 Step 5: Quantify Skill Competencies 21 Quantifying Architecture Skills 22 Measuring the Application Architect Skill Levels 22 Measuring Data Architect Skill Levels 24 Skill Competency Patterns for Architects 25 How Can Organizations Utilize the Skill Competency Pattern? 26 How an Individual Can Utilize the Skill Competency Pattern 27 Interview Questions 28 Part 2 Software Architecture Career Planning 29 Chapter 2 Types of Software Architects 31 Business Needs for Technological Solutions 32 Business Needs for Software Architecture: Strategic Collaboration 32 How Does Software Architecture Respond to Business Needs? 33 Business Needs for Software Architecture: Technological Mediation 33 How Could Technological Mediation Efforts Be Utilized? 34 Business Needs for Software Architecture: Technological Implementation 34 How Does the Implementation of Software Products Meet Business Needs? 34 Organizational Leading Software Architect Levels 35 Ranking Leading Software Architects 35 Collaboration Hierarchy of Leading Software Architects 36 Level I: Enterprise Architect Responsibilities 38 Enterprise Architect Summary of Responsibilities 38 Enterprise Architect Responsibility Table 39 Level II: Solution Architect Responsibilities 40 Solution Architect Summary of Responsibilities 41 Solution Architect Responsibility Table 42 Level III: Application Architect Responsibilities 44 Application Architect Summary of Responsibilities 44 Application Architect Responsibilities Table 46 Comparing Responsibilities of Leading Software Architects 48 Types of Domain Software Architects 49 Data Architect 49 Data Architect Summary of Responsibilities 50 Data Architect Responsibilities Table 51 Cloud Architect 51 Cloud Architect Summary of Responsibilities 54 Cloud Architect Responsibilities Table 55 Security Architect 57 Security Architect Summary of Responsibilities 58 Security Architect Responsibilities Table 60 Business Architect 62 Business Architect Summary of Responsibilities 62 Business Architect Responsibilities Table 63 Collaboration Between Leading Software Architects and Domain Software Architects 65 Use Case I: Collaboration Between an Application Architect and a Data Architect 66 Application Architect and Data Architect Collaboration Table 66 Use Case II: Solution Architect and Security Architect 68 Solution Architect and Security Architect Collaboration Table 68 Use Case III: Business Architect and Enterprise Architect Collaboration 70 Business Architect and Enterprise Architect Collaboration Table 70 Chapter 3 Career Planning for Software Architects: A Winning Strategy 73 Software Architecture Career Planning Process 74 Career Planning Step 1: Conduct Self- Discovery 75 Discovery of Technological and Social Talents 75 Career Planning Self- Discovery Subjects 76 Career Planning Step 2: Pursue Research 76 Formal Education, Training, and Certification 77 Employment Opportunities and Interviews 77 Subjects of Research 77 Career Planning Step 3: Devise an Approach 78 Setting Software Architecture Career Goals 78 Setting Software Architecture Career Milestones 80 Decision- Making 81 Action Planning 82 Career Planning Step 4: Plan Career Execution 85 Use Case I: A Software Architecture Career Execution Plan with Alternative Tasks 85 Use Case II: Optimized Software Architecture Execution Plan 88 Self- Discovery Process: The Six Ws 89 The “Why” 90 The “Who” 91 The “What” 92 Self- Discovery Questions for Software Architecture Candidates 93 Self- Discovery Queries for Software Architects 93 The “Where” 94 The “When” 95 The “How” 96 “How” Self- Queries for Software Architecture Applicants 97 “How” Self- Questions for Practicing Software Architects 97 Carving a Software Architecture Career Path 98 The 4D Software Architecture Career Perspectives 99 Social- Driven Career Perspective 100 Social- Driven Career Chart 100 Carve Out a Social- Driven Career Chart 101 Social- Driven Career Path 102 Create a Social- Driven Career Path 102 Technology- Driven Career Perspective 103 Technology- Driven Career Chart 104 Create a Technology- Driven Career Chart 105 Technical- Driven Career Path 106 Develop a Technical- Driven Career Path 106 Leadership- Driven Career Perspective 107 Leadership- Driven Career Chart 108 Create a Leadership- Driven Career Chart 109 Leadership- Driven Career Path 110 Develop a Leadership- Driven Career Path 110 Strategy- Driven Career Perspective 112 Strategy- Driven Career Chart 112 Create a Strategy- Driven Career Chart 114 Strategy- Driven Career Path 114 Develop a Strategy- Driven Career Path 115 Chapter 4 Self- Assessment for Software Architects 117 Social Intelligence 118 Teamwork 118 Partnership 119 Self- consciousness 119 Communication 120 Networking 120 Soft Skills 120 Trust Building 121 Learning from Others 121 Negotiation 122 Self- presentation 122 Teleworking 123 Fellowship 123 Self- sufficiency 124 Handling Customer Relationships 124 Social Intelligence Skill Assessment 124 Software Architecture Practice 126 Software Architecture Strategy 126 Software Architecture Vision 127 Software Architecture Role 127 System Integration 128 Interoperability 128 Software Reuse 129 Distributed Architecture Model 129 Federated Architecture Model 129 Architecture Styles 130 Architecture and Design Patterns 130 Componentization 130 Software Architecture Frameworks 131 Software Development 131 Software Architecture Practice Skill Assessment 132 Leadership 133 Managing Time 134 Decision- Making 134 Problem-solving 134 Diversity, Equity, and Inclusion 135 Responsibility and Accountability 135 Hiring Preferences 136 Creative Thinking 136 Critical Thinking 136 Being Proactive 137 Establishment of Trust 137 Administrative Duties 138 Coaching and Training 138 Team Building 139 Resolving Conflicts 139 Assessment of Leadership Competencies 140 Strategy 141 Software Architecture Strategy 142 Strategic Thinking 142 Problem Identification 142 Problem-solving 143 Abstraction 143 Generalization 144 Visualization 144 Software Design Approaches 145 Simplification 145 Analytical Capabilities 145 Influencing 146 Promoting Culture 146 Strategy Execution Plan 147 Assessment of Strategic Competencies 147 Part 3 Software Architecture Toolbox 149 Chapter 5 Employing Innate Talents to Provide Potent Organizational Solutions 151 Innate Skills Promote Software Architecture Effectiveness 152 Remember: Survival, Survival, Survival 152 Consequences of Failing to Invoke Innate Talents 153 Employ Chief Innate Talents to Become an Effective Software Architect 154 The Power of Creativity 154 The Benefits of Unleashing Software Architecture Creativity 155 Unleash the Power of Software Architecture Creativity 155 The Potency of Imagination 157 The Benefits of Harnessing Imagination 158 Unleash the Power of Imagination 159 Software Design Aesthetic 162 Technical Proficiency and Aesthetic Talents Drive Software Design 162 The Chief Contribution of Design Aesthetic Talents to Software Architecture 163 Curiosity Attributes 167 The Contribution of Curiosity to Software Architecture 167 The Influencing Facets of Curiosity on Software Architecture Practices 168 Chapter 6 Software Architecture Environment Construction 173 Benefits of the Software Architecture Environment Construction Discipline 174 Must Haves: Problem Statements and Requirements 174 Never Start a Software Design Project Without Understanding the Problems 175 Never Start a Software Design Project Without Requirements 176 Software Architecture Structures 176 Micro Level: Multidimensional Structures of Software Implementations 176 Macro Level: 3D Software Architecture Environment Structure 177 Software Architecture Environment: Driven by an Uncontrolled Quantum Landscape Behavior 178 Software Architecture Environment: An Intelligent Topological Space 179 Deformation Aspects of a Multidimensional Software Architecture Environment 181 Entanglement Effects in a Software Architecture Environment 182 Software Architecture Environment Forces Drive Software Behavior 183 Probability Assessment of Software Operations and Behavior 184 Software Architecture Environment Positive and Negative Forces 184 Software Architecture Environment Gravitational Forces 185 The Impetus for Granting Software Architecture Gravitational Powers to Software Implementations 186 Software Architecture Gravitational Force Intensity 187 The Cost of Unbalanced Software Architecture Environment Gravitational Forces 187 Competing Software Architecture Environment Forces 188 Software Architecture Environment: A Survival Game Space 188 Maintaining a Pragmatic Balance Between Competing Software Architecture Forces 189 Mitigating the Competing Forces Challenge 190 Software Architecture Environment Harmonizing and Disharmonizing Forces 190 Chief Properties of Harmonizing Forces in a Software Architecture Environment 191 Chief Properties of Disharmonizing Forces in a Software Architecture Environment 193 Genetic Encoding of a Software Architecture Environment 194 Difficulties of Restructuring a Software Architecture Environment 194 Encoding a Software Architecture Environment 195 Influences on Social, Behavioral, and Business Goals 195 Software Architecture Environment Construction Life Cycle 196 Software Architecture Environment Construction Process 197 Creating a Software Architecture Environment Construction Balance Table 197 Software Architecture Environment Construction Design Activities 199 Use Case I: Software Architecture Environment Composition and Decomposition Design Activities 201 Design- Time vs. Runtime Environment Composition and Decomposition Design Activities 201 Composition and Decomposition Design Methods 202 Composition and Decomposition Process Outline 203 Use Case II: Software Architecture Environment Integration and Disintegration Design Activities 204 When to Apply Integration and Disintegration Design Activities 205 Integration and Disintegration Design Methods 205 Integration and Disintegration Process Outline 206 Use Case III: Software Architecture Environment Centralization and Decentralization Design Activities 208 When to Employ the Software Environment Centralization and Decentralization Design Activities 208 Centralization and Decentralization Design Methods 209 Software Architecture Environment Centralization and Decentralization Process Outline 210 Use Case IV: Software Architecture Environment Elasticity and Inelasticity Design Activities 211 Chapter 7 When to Employ Elasticity and Inelasticity Design Activities 212 Elasticity and Inelasticity Design Methods 213 Software Architecture Elasticity and Inelasticity Design Process Outline 214 Use Case V: Software Architecture Environment Synchronization and Desynchronization Design Activities 215 When to Employ Environment Synchronization and Desynchronization Design Activities 216 Environment Synchronization and Desynchronization Design Methods 216 Software Architecture Environment Synchronization and Desynchronization Design Process Outline 218 Construction Laws of a Software Architecture Environment 219 Best Practices for Software Architecture Environment Construction 220 Structural Construction of Software Implementations in Multidimensional Environments 223 Software Architecture Solids: Rudimentary Geometrical Design Structures 224 Atomic Solid 225 Composite Solid 227 Monolithic Solid 228 Interface Solid 229 Pipe Solid 230 Inclusive Utilization of Pipe Solids 231 Exclusive Utilization of Pipe Solids 232 Internal Utilization of Pipe Solids 233 Data Solid 234 Software Architecture Solids’ Attribute Summary 236 Software Architecture Dimensional Model 237 Software Architecture: Zero Dimension 238 Software Architecture: One Dimension 239 Software Architecture: Two Dimensions 240 What Impacts the Length and Width Dimensions of a 2D Software Structure? 241 Software Architecture: Three Dimensions 242 Volumes of 3D Software Structures 242 Increase in Software Architecture Level of Specificity in a 3D Computing World 243 Software Population Sustainability in an Architecture Environment Space: A Capacity Planning Challenge 245 Comparative Perspectives in a Software Architecture Space 246 3D Software Structures in a Software Architecture Computing Space 247 The Impetus for Establishing a 3D Software Architecture Space 247 Chief Features of Software Architecture Computing Space 249 Influences of Software Structures on Software Architecture Computing Space 250 Relative Positions in a 3D Software Architecture Computing Space 250 Coordinate Axes: Skeleton of a Software Architecture Computing Space 251 Software Architecture Computing Space Logical Coordinate System 252 Cardinal and Intercardinal Physical Directions in Software Architecture Computing Space 253 Applying Cardinal and Intercardinal Directions to Software Architecture Computing Space 254 Marrying a Logical Coordinate System with Cardinal and Intercardinal Physical Directions System 255 Leveraging the Z- Axis to Create Floors in a Software Architecture Computing Space 256 Distribution Styles of 3D Software Implementations in an Architecture Computing Space 257 Federated Distribution Style 258 Flooring Distribution Style 260 Symmetrical and Asymmetrical Distribution Styles 261 Symmetrical Distribution Style 261 Asymmetrical Distribution Style 263 Construction Life Cycle of Software Implementations 264 Software Construction Process 265 Creating a Software Construction Balance Table 265 Software Construction Design Activities 266 Use Case I: Thicken and Contract Design Activities 267 When to Apply Thicken and Contract Design Activities 268 Thicken and Contract Design Methods 269 Software Structure Thickening and Contracting Process Outline 270 Use Case II: Lengthen and Shorten Design Activities 272 When to Apply the Lengthen and Shorten Design Activities 273 Lengthen and Shorten Design Methods 273 Software Structure Lengthening and Shortening Process Outline 275 Use Case III: Layer and Delayer Design Activities 277 When to Apply Layer and Delayer Design Activities 277 Layer and Delayer Design Methods 278 Layer and Delayer Process Outline 279 Governing Laws for Software Construction in a 3D Computing World 281 Best Practices for Constructing Software Implementations 282 Part 4 Software Architecture Interview Preparations 285 Chapter 8 Preparing for a Software Architecture Interview: A Winning Strategy 287 Software Architecture Job Interview Strategy 288 Preparing a Job Interview Defense Plan 288 Preparing a Job Interview Attack Plan 289 Software Architecture Job Interview Preparation Model 290 Software Architecture Job Interview Defense Plan 291 Study and Analyze the Job Description 291 Start with Identifying the Scope of the Software Architecture Job Requirements 292 Dive Deep into the Software Architect Job Description 293 Start with Analyzing the Summary Portion of the Job Requirements 294 Create a Findings Table Version I for the Job Description 295 Next, Analyze the Responsibilities Portion of the Job Requirements 296 Then, Update the Findings Table Version II of the Job Description 296 Last, Analyze the Software Architect Skills Portion of the Job Requirements 297 Do Not Forget to Update the Findings Table of the Job Description 298 Create a Software Architect Skill Competency Model for the Job Description 299 Skill Competency Model’s Requirements and Practices 300 Skill Competency Model’s Disciplines 301 Design Discipline’s Deliverables 301 Cybersecurity Discipline Deliverables 301 Products Selection and Evaluation Discipline’s Deliverables 302 SDLC Discipline’s Deliverables 302 The Competency Part of the Skill Competency Model 303 Discover the Personal Knowledge Gap Before Attending a Job Interview 303 Assess Whether the Next Software Architecture Job Is a Strategic Career Move 304 Conduct a Software Architecture Mock Interview 305 Prepare a Software Architecture Interview Cheat Sheet 306 Prepare for Possible Software Architecture Interview Questions 307 Software Architecture Job Interview Attack Plan 308 Study the Hiring Organization’s Business 309 Start by Finding Information About the Hiring Organization 309 Chapter 9 Leveraging Business Knowledge During an Interview 311 Understand the Business Model 312 Get Familiar with the Hiring Company’s Culture 314 Conduct a Quick SWOT Analysis 315 Understand the Hiring Organization’s Technology 316 Technological Information Sources 316 Discover the Environment’s Technology Stack 318 Learn About the Development Technology Stack 319 Study the Applications 320 Identify Specific IT Projects 321 Demonstrate Enterprise Architecture Knowledge of the Hiring Organization 321 Adopt Software Architecture Lingo 323 Use Design Patterns Vocabulary 323 Use the Software Architecture Guidelines Lingo to Communicate Solutions 324 Remember Software Architecture Tools 328 Classification of Software Architecture Tools 329 Especially Prepare for Architecture Visualization Tools Questions 332 Get Familiar with Software Architecture Analysis and Evaluation Methods 333 Be Aware of Early Architecture Evaluation Methods 334 Be Aware of Late Architecture Evaluation Methods 335 Talk About Software Architecture Analysis Standards 335 An Outline for Software Architecture Job Interview Questions 337 Behavioral Questions 338 Communication 339 Interpersonal Relationships 340 Software Architecture Leadership 340 Skill Assessment Questions 341 Software Architecture Attributes Questions 342 Software Architecture LifeCycle Questions 343 Software Architecture Concepts Questions 346 Design Building Blocks Concepts 347 Employ Design Building Blocks Concepts to Depict Solutions 347 Prepare for the “How to Design” Interview Questions 348 Software Architecture Environment Concepts 349 Business Concepts 351 Consumer Concepts 352 Architecture Style, Architecture Pattern, and Design Pattern Questions 353 Architecture Patterns vs. Design Patterns 353 Understand Architecture Styles 355 Remember Contextual Hierarchy of Patterns 355 Why Interviewers Ask Architecture and Design Pattern Questions 356 Prepare for Architecture and Design Pattern Questions 357 Problem-solving and decision- making Questions 358 Embrace the Software Architecture Problem- Solving and Decision- Making Process 358 Identifying Business Problems 358 Attend to the Problem- Solving and Decision- Making Process 359 Prepare for Problem- Solving and Decision- Making Questions 360 Data- Related Questions 360 Focus on Data Aspects Related to Software Architecture 361 More Data- Related Interview Questions 361 Production Environment Questions 362 Characteristics of Software Architecture Environment Hosted in Production 363 Production Environment-Related Questions 364 Software Architecture Framework Questions 365 Focus on Array of Framework Contributions 365 Software Architecture Framework Questions 367 Index 369

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.

See Also