A while back, when I was a platform architect, our team hired a "certified" architect, who, on paper, looked amazing. When I met him, he was a genuine yet ambitious guy who has worked hard consistently over some years to get where he was. He was accomplished and knew his stuff. His architectural documentation and processes were impeccable and pristine. But there was a problem. Apparently, it was the first time he's ever had an implementation problem. He simply couldn't get anyone on his development team to follow his architecture. No one. When he confided in me, I didn't understand, so I started asking the developers. They simply said something like, "I am not here to take orders."
Historically, having finally achieved a milestone in their career, many architects declared edicts, directions, plans, and strategies from on high or some ivory tower as a czar or dictator of sorts, even without meaning to do so. Sadly, the worst offenders I've seen are "certified architects" though I don't necessarily believe this to be representative of the certification. Regardless, I cannot and will not work this way as an architect or even as a developer. To me, it is embarrassing that architects are even viewed this way by some. I watched this architect join our team and flee our team within months because he simply could not relate to his team. This happened with a few different architects.

Over the years, I have met more and more architects, and I realized that I practiced architecture vastly different than most architects.
As a developer who learned to develop from Google (does that make me a Google developer?), I was never taught how to do architecture. I never received instructions or guidance or even advice. In my ignorance, arrogance or naïvety (or all three), I am embarrassed to say that I never even thought to ask someone for help, which was foolish!
Instead, I just did architecture as a developer among developers, maybe like a first among equals. I knew I wasn't the best or the most experienced developer in the room. I was just excited to be in the room! I felt like an imposter. I wouldn't have hired me to join the architecture team.
In my arrogance or naïvety,
Nor was I ever instructed how to do architecture Instead, I kept on
, and I attribute my success to my approach. I believe it allows me to get more done faster and better.
This doesn't work for me.
Instead, my goal with my architecture team is to take a grassroots approach and practice agile architecture for two primary reasons:
1. Improved efficiencies & able to work with lean teams
2. Increased speed to market
What is grassroots architecture? Grassroots architecture is not declared or announced but is collaborative and practical considering engineering, product and the business needs. It is not architecture by committee, but architecture created collaboratively with other technical leaders in order to be done quickly and agilely. Grassroots architecture seeks consensus, promotes debate, enhances the culture, encourages collaboration, and pushes development forward.