Having been Chief Architect for Best Buy and currently Chief Architect for Target, I get this question frequently. The question occasionally comes at your neighborhood party but generally it’s from people in Engineering or Marketing. At the neighborhood party you attempt to answer this question at risk of becoming known as the “boring tech guy.”
What do architects do?
People ask this question because they truly don’t understand. They are really asking “Are architects necessary?” They ask this question because they have rarely seen value from the architects they’ve seen in the past. This is the sad reality of much of the architecture world, enterprise architecture in particular. My opinion on why architecture has devolved to a place where many companies are eliminating the practice altogether is simple. Most architects in the upper echelons of companies were never software engineers.
Why this is important and is a point I harp on continuously, is that if you haven’t spent your 10 years writing code and building and running systems with higher and higher business complexity, you cannot do the first thing architects should do.
Answer #1: Architects create the environment for engineering culture to thrive.
To create an engineering-centric culture, you have to have been an engineer. You have to have a few large scale Agile/DevOps systems under your belt. You have to understand what drives and motivates engineers that want to work on six person teams tackling the toughest problems facing enterprises. You need to feel it in your gut when one person on the team is a hack and can’t pull their weight and your management won’t address the problem. You must have found the rock and through sheer force of will, pushed it up the hill, leading in such a way that the rest of the team helps push it along with you. If you haven’t done these things over the course of years, you haven’t been a software engineer.
Architects that understand how engineers want to work, spend all of their time and energy creating an environment where hard problems are solved, new solutions are found, and everyone sleeps well at night. Architects make decisions based on whether engineer’s will understand them and choose them regardless of what else is available.
Architects also create the constraints that allow engineers to solve their problems quickly. With the near infinite array of tools, frameworks and packages available, to remain economically competitive, enterprises need to limit the scope of technology in some way. Make no mistake, architects select and limit technologies, but only those that involve large expenditures. If a technology selection will cost a company in excess of $1M for licenses, subscriptions or maintenance over a five year lifespan, architects should be involved.
Architects essentially act as the aggregated will of the engineers. Architects are there to make engineer’s lives easier. Architects in effect are servants of both engineers, and the enterprise and walk the fine line that brings the maximum value to both.