This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
i want to understand, is it necessary that the Architect[or wanna be] should be very good in programming? If there is a proj, which involves lot of technologies, say C,C++, MFC, Java, ERP(s), DB, .... etc. should the architect have worked on all these techs or only he can architect the project w/ or w/o the above programming exp. if he doesn't have hands on exp, will it not impact the project.
i want to understand, is it necessary that the Architect[or wanna be] should be very good in programming?
If he is good then nothing like it. But regardless of programming knowledge, he should be good in analyzing the requirement.
If there is a proj, which involves lot of technologies, say C,C++, MFC, Java, ERP(s), DB, .... etc. should the architect have worked on all these techs or only he can architect the project w/ or w/o the above programming exp. if he doesn't have hands on exp, will it not impact the project.
There are different level of architects. 1. Enterprise Architect: He must be able to work on all the technologies as he works at bit higher level.
2. Application Architect: He need to have good knowledge on particular technology, C, C++ or Java.
3. Designer: This is a kind of pre architect role and sometimes App arch end up playing this role. They involve in very low level design, i.e. defining all the methods with inout attributes, helper classes etc.
From my experience, it seems the more one moves up the ladder the less hands-on s/he gets. So I cannot understand how architects must have hands-on experience in the technologies he architects with. As the years move forward, and technologies change, and architects cannot be expected to have hands-on experience in all of them. Of course, any real architects out their please correct me if I'm wrong, as I am not one, and therefore is very curious about he answers to the following questions.
---So how do architects survive in their chosen career paths? ---After a solid fundamental background, for example in web applications or mobile devices, can just understanding concepts & methodologies be enough?
--if you want to be a Java/J2EE architect then you need to have some high level knowledge of Java/J2EE technologies and ability to drill down if required to.
--If you are a solution architect/enterprise architect then you need to be able to see a big picture of the different systems and have strong analytical and problem solving skills. Knowing the specific/main implementation technology could be a plus.
The Solution/Enterprise architects come from some development background but the implementation technology they used is useful but not mandatory since they see the bigger picture. Also architects like any other IT professionals need to keep their high level knowledge updated and current to remain competitive.