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?
|
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? |
||||
|
|
|
The reason experience in multiple languages helps is that it forces you to learn concepts over implementation. |
|||
|
|
|
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. |
|||
|
|
|
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. |
|||
|
|