Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I want to make the step up from developer to enterprise architect. I have 13 years experience in various environments, from SME line of business apps to investment banking enterprise systems. I'm certified in a number of technologies, including Java/.NET/SQL.

What should I focus on over the next 12 months that will hold some weight with potential employers and lend credibility to my application for an Enterprise Architecture role, absent experience?

I am currently looking at TOGAF 9.1. Are there other competing or supplemental methodologies I should research?

share|improve this question

2 Answers 2

up vote 5 down vote accepted

Besides TOGAF, the other major architectural frameworks that I'm familiar with are the Department of Defense Architectural Framework (US Department of Defense) and the Zachman Framework. However, there are a number of other frameworks that exist - Wikipedia has a category of enterprise architecture frameworks.

Besides just knowing frameworks, other topics from software systems architecture that might be relevant are architecture tradeoff analysis, the use of architectural description languages, and architectural patterns.

On the certification end, the Software Engineering Institute has a number of courses available in the area of software architecture. Some a online courses, others are held at SEI locations around the world, and others are taught at customer sites. The SEI is a well-respected organization, at least in the government and defense sectors where I've worked.

You said that you have 13 years of experience in development, which is a good start. If you are truly interested in enterprise architecture, I would focus on brushing up on the concepts that you might not be intimately familiar with and learning the language of the field well enough to have a conversation and be able to ask the right questions. A drive to learn and understand coupled with experience in the trenches of development is a good start, and might open a few doors.

share|improve this answer
    
Exactly the kind of input I'm looking for, thank you very much indeed. –  Myles McDonnell Jan 20 '12 at 17:01

The single most important question that an architect needs to be able to answer is, "What alternatives did you consider, and why did you choose to do it this way?" As per your experience you may have capibilites to care about these things. As Enterprise Architect, you should look for the things that how the solution fits into the business??

If you have done work as a Solutions Architect and you have designed the solution, determines technology, plataforms etc then you can proeed towards Enterprise Architech.

I suppose one of the key things is that you've got to understand the problems in terms of multiple levels of abstraction. That's not very easy, because each level of abstraction has its own restrictions and domain of applicability, yet there is coupling between the levels too. Details matter, yet can overwhelm. Finding a good balance, especially one that you can explain to others, is difficult.

Lots of different idioms and practices is essential if you want to do any serious software architecture. Sometimes the greatest lesson you can learn from a particular framework/approach is how not to do something. And learning how to recognize a bad design will be indispensible when you design higher-level systems and frameworks of your own

You can start learning design patterns and systems designs would help even more. That is, concepts as explored in Design Patterns (GoF), Patterns of Enterprise Application Architecture (PoEAA), embedded systems, real-time systems, interprocess communications, etc.

Especially useful are state machines, operations research and systems engineering, which are applied in software architecture.

But of everything there is to learn to improve your software development skillset, the most critical is state machines.

Utilize and improve your development skill, operation management, data/schema design, infrastructure planning, support service and as Enterprise Architech keep yourself in the the business approaches like cost cuttins etc.

Here is some links that help you what to learn and do in next time to be on this job profile:
Senior developer role to architect role
Standard practices for an architect
Would experience in multiple programming languages/frameworks assist one in becoming a software architect?

share|improve this answer
    
Great answer, thank you. I am already intimately familiar with GoF and PEAA patterns. Much of my work has indeed crossed over into solution architecture territory. –  Myles McDonnell Jan 20 '12 at 17:03

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.