What is the role of the enterprise architect?
I was getting coffee in lower Manhattan with a friend who works in private equity. We were talking about large enterprise companies when he asked me what I thought about the role of the Enterprise Architect. I’d spent a number of years as an architect in infrastructure engineering at Salesforce and designed and implemented many of the systems that are the foundations for what runs Salesforce today. But, I took a step back to ask myself: What does the international DevOps movement have to say about the role of the enterprise architect today?
Evolution not revolution
As anyone who has ever written a career ladder knows (I’m partial to the one by Duo, and I’ve written one for SRE), the further up the technical ladder you move, the wider your scope of responsibility. Which is to say, that by the time you get to the level of architect, you have a very wide scope and are expected to have a large influence on the technical direction of the organization. This is something that would be done in partnership with the CTO or VP of Engineering, but those are not hands on roles, the architect is.
The architect is what John Willis likes to call a “boundary spanner”. When I was in my architect role, I was the only architect from infrastructure engineering that had regularly scheduled meetings with the security team. I worked closely with the folks in network engineering, and release engineering. I led regular meetings with the architects in software engineering. I was a boundary spanner. By doing this, I was able to get a much better picture of how the organization functioned and what would be required to mature it successfully.
I can’t even count the number of times when working with portfolio companies that they ask me which tool they should choose. I always reply that it should be the one that best fits their current culture. Culture is a part of the architecture of the company just as much as Conway’s Law. As we say in the DevOps movement, architecture matters, technology doesn’t. If you try to fight or change the culture too drastically, you will fail.
There were a number of people who came into the organization from Microsoft at the time. They wanted to rebuild Salesforce infrastructure from the ground up in the image of Microsoft. I was promoting infrastructure as code principles as a way of evolving our practices. They threw obstacles in my path and promoted burning it all down. Which platform was eventually abandoned and which is the backbone of the current infrastructure? Those folks left Salesforce unceremoniously.
No ivory towers
The role of the enterprise architect is to be a boundary spanner and drive meaningful change within the company. To promote evolution, not revolution. They need to build trust that is bidirectional throughout the organization. Just like the Change Advisory Board (worthless) or Security (valuable), there is no way for an architect to know all the details from every department. They need to be a respected and trusted “T-shaped” engineer, wide in understanding and deep in their area of expertise.
A good enterprise architect will help to evolve an organization to be able to ship faster, more often, with less defects, and less outages. They will put the needs of the customer above all else to enable the business to be successful. They will do so not by sitting back and judging the work of others, but by being hands on and engaged in the day to day work of the business so that they have the clearest understanding possible of what is needed to build even more customer value.
Dog days are over
The days of the enterprise architects sitting back and waiting for the mere mortals to approach them with their silly ideas are over (like Change Advisory Boards). Today’s enterprise architects are active, engaged, participants in the technical and business success of the company. They are the 10x engineers that make the rest of the engineers 10x better, not that they do 10x the work. Doing so would be a fool’s errand.
Is this boundary spanning a lot of work? Yes. Will they be able to write as much code as when they were a junior engineer? No. Is it a different skill set? Definitely. But a good enterprise architect will make an organization “twice as likely to meet or exceed their organization’s performance goals”, and that’s alright.