Software application architecture is the process of defining a structured solution that meets all of the technical and operational requirements, while optimizing common quality attributes such as performance, security, and manageability. It involves a series of decisions based on a wide range of factors, and each of these decisions can have considerable impact on the quality, performance, maintainability, and overall success of the application.
Like any other complex structure, software must be built on a solid foundation. Failing to consider key scenarios, failing to design for common problems, or failing to appreciate the long term consequences of key decisions can put the application at risk. Modern tools and platforms help to simplify the task of building applications, but they do not replace the need to design an application carefully, based on specific scenarios and requirements. The risks exposed by poor architecture include software that is unstable, is unable to support existing or future business requirements, or is difficult to deploy or manage in a production environment.
The goal of application architecture is to build a bridge between business requirements and technical requirements by understanding use cases, and then finding ways to implement those use cases in the software. The goal of architecture is to identify the requirements that affect the structure of the application. Good architecture reduces the business risks associated with building a technical solution. A good design is sufficiently flexible to be able to handle the natural drift that will occur over time in hardware and software technology, as well as in user scenarios and requirements.
According to the website, mymajors.com, there are several college majors related to a career as an applications architect. A handful to consider are:
- Computer Engineering
- Computer Programming- Specific Applications
- Computer Science
- Computer Software Engineering or Technology
There are the ubiquitous campus programs in computer science and related studies, as well as online courses. One example of the latter is Arizona State University (ASU) which offers a Bachelor of Science (BS) in software engineering through the Ira A. Fulton Schools of Engineering. Graduates of this program are qualified to design and engineer innovative systems that may include mechanical and electrical components that interact with software. The program also prepares graduates to enter the computing profession of application software engineering or for advanced study in computing or an allied field.
ITT Technical Institute with its 130 locations in 38 states offers a bachelor’s degree in Software Applications Development. The Software Applications Development program at ITT Tech can help graduates develop knowledge and skills to pursue such entry-level positions as software/applications developer, IT programmer, software engineer, software applications engineer, software development engineer or software administrator.
A perusal of jobs posted on monster.com shows industries from UnitedHealth Group to UPS seeking applicants in the profession of application architect. Obviously, the degree requirements and experience differs per positions advertised. Many positions prefer a Bachelor’s or Master’s in Computer Science, Information Systems, Mathematics or related field.
According to the website payscale.com, the profession of Application Architect has a median salary of $113,044 in the United States, as of December 2014. This salary takes into account experience level and all benefits associated with the position. Per PayScale, this job is predominately male at 86% and 67% of the surveyed architects have 10-19 years experience.