Book Image

Cracking the IT Architect Interview

By : Paradkar
Book Image

Cracking the IT Architect Interview

By: Paradkar

Overview of this book

An architect attends multiple interviews for jobs or projects during the course of his or her career. This book is an interview resource created for designers, consultants, technical, solution, domain, enterprise, and chief architects to help them perform well in interview discussions and launch a successful career. The book begins by providing descriptions of architecture skills and competencies that cover the 12 key domains, including 350+ questions relating to these domains. The goal of this book is to cover all the core architectural domains. From an architect’s perspective, it is impossible to revise or learn about all these key areas without a good reference guide – this book is the solution. It shares experiences, learning, insights, and proven methodologies that will benefit practitioners, SMEs, and aspirants in the long run. This book will help you tackle the NFR domain, which is a key aspect pertaining to architecting applications. It typically takes years to understand the core concepts, fundamentals, patterns, and principles related to architecture and designs. This book is a goldmine for the typical questions asked during an interview and will help prepare you for success!
Table of Contents (9 chapters)

An architect's critical competencies

Architecture competencies are the ability to effectively carry out the functions and activities necessary to produce architectures that are aligned with organization's business goals. A competent software architect is one who produces high-quality software architectures with acceptable cost. The following paragraphs explain the critical qualities for an software architect:

An architect's critical competencies

Figure 1: Architects Compentencies

  • Leadership: The architect has to make decisions and take ownership, and a lot of times, the right choice is not simple. The architect needs to find a solution that works, and it may not always be the best alternative on technical merits but it should work best in the given situation. To take such decisions, the architect must have an excellent understanding of the cultural and political environments within the organizations and should have the ability to generate buy-in from the key stakeholders.
  • Strategic Mindset: This is the ability of an architect to look at things from a 10,000-foot elevation, at a strategic level, isolating the operational nuances. This requires creating an organizational vision and then dividing it into achievable objectives to make it simpler for all the stakeholders to achieve these results. For example, making the product a market leader Architects are often tasked with finding an alternative solution that provides the best ROI to the organization and creating a business case for getting sponsorship. Architects often work with top-level executives such as CEO, CTO, and CIO, where it is necessary to create and present strategic architectures and roadmaps for organizations.
  • Domain Knowledge: It is a critical aspect to understand the problem domain before creating and defining a solution. It is also a mandatory requirement to be knowledgeable about the domain-specific requirements, such as legal and regulatory requirements. A sound domain understanding is not only essential for understanding the requirements and evangelizing the target state but also helps in articulating the right decisions. The architect must be able speak the business vocabulary and draw experiences from the domain to be able to have meaningful discussions with the business stakeholders.
  • Technical Acumen: This is a key competency as architects are hired for their technical expertise and acumen. The architect should have a breadth of expertise in technologies and platforms to understand their strengths and weaknesses and make the right decisions. Even for technical architect roles, it is mandatory to have skills in multiple technology stacks and frameworks and to be knowledgeable about technology trends.

Architects' growth paths

Software architecture discipline has matured since its inception. This architecture practice is no longer reserved for the veteran practitioners. The core concepts and principles of this discipline can now be acquired in training programs, books and college curriculum. The discipline is turning from an art into a competency accessible through training and experience. A significant number of methodologies, frameworks and processes have been developed to support various perspectives of the architectural practice. A software architect is responsible for creating the most appropriate architecture for the enterprise or system to suit the business goals, fulfill user requirements, and achieve the desired business outcome.

A software architect's career starts with a rigorous education in computer science. An architect is liable for making the hardest decisions on software architecture and design. Hence he/she must have a sound understanding of the concepts, patterns, and principles independent of any programming languages.

There are a number of flavors of architect that exist: enterprise architect, business architect, business strategy architect, solution architect, infrastructure architect, security architect, integration architect, technical architect, systems architect and software designer.

There are other variations as well, but this section describes the previously mentioned flavors in more detail. Finally, for an architect, learning must never stop. Continuous participation in the communities and learning about new technologies, methodologies, and frameworks are mandatory for value creation and to stay ahead of the demand curve.

The following paragraphs describe various roles basis the role definition, artifacts and the competencies:

Architects' growth paths

Figure 2: Architects Competencies

Enterprise architect/chief architect/lead architect

Enterprise architects create the CxO's vision and strategy for organizations. This includes defining strategic roadmaps, selecting appropriate technology stacks and providing guidance to the design and builds teams:

Artifacts: IT strategies, capability maps, city plans, integration strategies, as-is/to-be analysis, architectural principles, gap analysis, life cycle analysis, and application portfolio strategy.

Description: EAs help the chief technology officer/chief information officer/chief executive officer/chief marketing officer to ensure that the IT budgets are aligned with the organization's business strategy and that it will provide a competitive advantage for the enterprise. EAs are also responsible for establishing standards and frameworks and setting up a governance structure to align all the programs with the defined standards and frameworks. In some enterprises, this role may be merged with the CxO and has the title Chief Architect.

Competencies: Deep-dive competencies in IT and business, negotiation and leadership skills, experience in program management, governance, knowledge in enterprise architecture and modeling techniques.

Business architect

Business architects work with the business to thoroughly articulate the businesses operating model. They are competent in business architecture, capability modelling and business processes modeling. They also support solution architects with analysis of existing or new solutions.

Artifacts: Business process maps, use scenarios, information modeling.

Description: They are skilled to know how the IT application support the business needs and recommends capability or process improvements along with enterprise architects. Business architects also support ongoing engagements in the organization using their authority to ensure that projects deliver value to the business. Business architects drive the critical areas related to business process improvements. The business architect is also a critical resource in every organization.

Competencies: Deep knowledge in the business, process modeling, requirement analysis, and workshop leadership skills.

Domain architects

Domain architects focus on a specific domain and have deep expertise in that area.

Artifacts: Domain diagrams, domain maps, interfaces, technical interfaces, integration strategies.

Description: Typically these architects only concentrate on specific areas, for example, security architect, information architect, integration architect, infrastructure architect, data architect, business architect, and so on.

Competencies: Broad technical competencies, deep competencies in infrastructure, data models, service orientation, and a good understanding of enterprise architecture.

Solution architect

A solution architect is responsible for implementing strategic IT architecture.

Artifacts: Application diagrams, system maps, service interfaces, technical interfaces, integration strategies.

Description: Solution architects define the architectural solution, finalize the technology stack in adherence to principles and guidelines, handle stakeholder communications, and make critical decisions specific to technology options. The solution architect mediates between technology and business team members and various other stakeholders. The solution architect is the go to Subject Matter Expert (SME) for any technology decisions, challenges and conflicts.

Competencies: Broad technical knowledge, deep competencies in infrastructure and data models, service orientation, and good understanding of enterprise architecture.

Technical architect/designer

The technical architect is a SME in a specific technology or framework.

Artifacts: Frameworks, class models, patterns, and aspects.

Description: Technical architect have expertise in the underlying platform, its components, and are able to articulate the strengths and weakness of the technology platform. The TA is liable for creating and defining the best architecture leveraging this specific technology platform, and also mentoring the implementation teams. Technology architect are competent in different tools, the latest trends, and different architectural alternatives for implementing the solution.

Competencies: Deep knowledge in programming, frameworks, standards, and technical modeling.

Qualities of an architect

This describes the skills, knowledge, qualification, experience, or capability:

  • Visual thinking is the ability to communicate with diagrams and illustrations.
  • The ability to communicate complex ideas to wide audience and well as excellent written communication skills.
  • A solid foundation of process engineering, lean or six sigma.
  • A solid expertise in the capability modeling, processes modelling, and application-to-capability mapping and service oriented modelling.
  • The skill to drive architectural review discussion using the various methods of architectural evaluation.
  • Expertise in software development methodologies such as waterfall, RUP, agile and spiral.
  • Expertise in infrastructure domain, including servers, load balancers, storage, networking, firewalls and routing.
  • Understanding of the security domain including authentication, encryption, authorization, security mechanisms and PKI.
  • Expertise in the data management, RDBMS, extract-translate-load, business intelligence data management, data integration, data distribution and caching strategies.
  • The ability to address the system quality attribute that should be paramount to the system, and provide alternatives in the solution.
  • Architects must be able to inspire and motivate the team members. A large part of the job is to evangelize and influence a set of ideals in the organization.
  • There will be times when an architect will have to negotiate with the stakeholders to get the final node. Architects are in an individual contributor's role and do not get into people management.
  • Critical thinking, that is, being able to think swiftly, is often required.
  • Architects often have to work with a set of complex and unique problems and challenges, and be able to articulate and provide solutions.
  • Big thinking is the ability to analyze at a problem from 360-degree perspective than a tunnel vision effect.
  • Business acumen. Understanding the domain in which one works is essential, to help you understand how the technology can affect the business. Being in sync with the business gives architect's much-needed credibility.
  • Process orientation is the ability of thinking in terms of process which includes process modelling, capability modelling and service modelling.
  • People skills is the ability to interacting with various stakeholders on an ongoing basis.

An architect's competency framework

The purpose of the architecture competency framework is to help architects understand the competencies for required different architect roles within the industry. To address this challenge, the architecture competency framework provides a standard set of guidelines for the architecting skills and proficiency levels for SMEs to perform the various roles defined within the framework.

The framework defines the following roles for a team undertaking the development of enterprise architecture:

  • Architecture sponsor
  • Architecture board members
  • Chief/lead architects
  • Enterprise architect, business strategy architect, business architect, data architect, application architect, technology architect, integration and security architect
  • Program and project managers
  • Software designer

The framework also includes a number of tables matching roles with skills and proficiency levels within each skill category. A single table shows the definition of enterprise architecture skills by role.

Benefits of competency framework

The advantages of using the architecture skills framework are summarized as follows:

  • Reduced time, cost, and risk for the overall solution development
  • Reduced time and cost to set up architecture teams
  • Reduced time, cost, and risk in training hiring and managing architecture SMEs
    Benefits of competency framework

    Figure 3: Architecture competency framework