This blog entry has sat as an idea with no text for over a year now. The reason why? I have no idea what an Architect does; I thought I did, but it’s like grabbing a handful of smoke. Reach, grab, and peek inside … nothing – just like Yukon Cornelius. I have considered myself some sort of an architect (maybe not in title but in the role of) for a long time now.
Since I consider myself an Architect; I want to find ways to make myself a better one. What better way than to read and talk to others about their ideas. So I took to reading a bunch of books and articles on this topic. And while they all make pretty good sense; it’s always sense in the pristine context of a book. It’s easy to define something outside the context things like culture, bureaucracy and politics. Sort of like writing code in PowerPoint; code always compiles/works in PowerPoint. When I talk to people they always seem to define what an Architect does as it pertains to themselves or their organization. Turns out organizations are as varied as the description I am working towards.
My current working description for an Architect is; someone that has enough experience to look at a complex problem and see abstractions. Then uses those abstractions to get something done. Note the lack of detail in what is enough experience and the something is. How much is enough? Far be it for me to put down a number. And depending upon the something I may put some other qualifier in front of the work architect; such as “enterprise” or “solutions”. But how many qualifiers do I have to come up with? What if I downsize my something to a piece of code? Since much of coding is about finding abstractions; does that make it an architectural exercise? Nope that’s design. Reach, grab, peek …
So have found the need for an additional definition that is used to help the first. An Architect is someone that gets stuff done at multiple levels in the organization; which means doing some sort of planning (budget, project, envisioning, etc) one minute, setting up a standard for building wizzy widgets the next and finishing off the day with a little code. This definition helps to differentiate pure coding and design from the larger activity of architecture. Architects are expected to some level of design and coding (again meant in a very broad way to include activities like scripting or installing) but they are often meant to do in a way that is not exclusively coding or design. Reach, grab, peek … Better, but notice how long this entry is getting. This is taking way to long!
When talking to people who have no idea what working in the computer field is like; I use an even simpler version of the second definition. I shorten it to be – “I am a guy who gets stuff done” (sometimes substituting another four letter “s” word for stuff). Hey if you can’t easily describe what you do to a total stranger in an elevator ride then you either need to rethink what you are doing or abstract it down to something easier for them to understand. Unfortunately, this abstraction is so abstract that it encompasses everything.
And nothing. Reach, grab, peek …
Guess I need to rethink my career and start staying at Holiday Inn Express to become proficient at something else.