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.

Would it be useful to have experience in multiple programming languages/frameworks/stacks when applying for a software architect role?

For example, combining experience in C#/.NET with Java/J2EE.

How valuable would the above be, in this context?

share|improve this question

3 Answers 3

up vote 11 down vote accepted

The reason experience in multiple languages helps is that it forces you to learn concepts over implementation.

share|improve this answer
concise answer, yet profound –  Tash Pemhiwa Aug 18 '11 at 18:15

Yes, exposure to 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.

share|improve this answer

Yes, but 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.

share|improve this answer

Your Answer


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.