Software architect profession

Encyclopedia from Wikipedia, the free encyclopedia

A software architect is a software development expert who makes high-level design choices and tries to enforce technical standards, including software coding standards, tools, and platforms.


The software architect concept began to take hold when object-oriented programming or OOP, was coming into more widespread use (in the late 1990s and early years of the 21st century). OOP allowed ever-larger[quantify] and more complex[quantify] applications to be built, which in turn required increased[quantify] high-level application and system oversight.


The role of software architect generally has certain common traits:[according to whom?]

Software architects make high-level design choices based on their programming experience. In addition, the software architect may sometimes propose technical standards, including coding standards, tools, or platforms.

Software architects may also be engaged in the design of the architecture of the hardware environment, or may focus entirely on the design methodology of the code.

Architects can use various software architectural models that specialize in communicating architecture.

Other types of IT-related architects

The enterprise architect handles the interaction between the business and IT sides of an organization and is principally involved with determining the AS-IS and TO-BE states[further explanation needed] from a business and IT process perspective. Many organizations are bundling the software architect duties within the role of enterprise architecture.

An application architect works with a single software application.

Other similar titles in use, but without consensus on their exact meaning, include:

  • Solution architect, which may refer to a person directly involved in advancing a particular business solution needing interactions between multiple applications. May also refer to an application architect.
  • System architect (singular), which is often used as a synonym for application architect. However, if one subscribes to Systems theory and the idea that an enterprise can be a system, then System Architect could also mean enterprise architect.
  • Systems architect (plural), which is often used as a synonym for enterprise architect or solution architect.
  • Cloud architect (plural), which is a software architect who has deep knowledge about architecting solutions and applications on cloud-based infrastructures.

The table below indicates many of the differences between various kinds of software architects:

Architect type Strategic thinking System interactions Communication Design
enterprise architect across projects highly abstracted across organization minimal, high level
solutions architect focused on solution very detailed multiple teams detailed
application architect component re-use, maintainability centered on single application single project very detailed

See also


External links

Original content from Wikipedia, shared with licence Creative Commons By-Sa - Software architect