Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
What the difference of Skills between a Dev Senior and a Software Architect?

I was discussing with some friends and I got to the conclusion that in the Software area Architects are divided into Enterprise Architect and Software/Solution Architect.

Enterprise Architect => It is the IT professional more connected to the business, usually specializing in one industry vertical. It, we want a broad knowledge of processes, methods and platforms, both business and IT. He must be the right arm of the CxO level, when we speak in the strategic definition of IT. Therefore, we are reducing the scope for large corporations, where there is space for this type of structure and business impact.

Software/Solution Architect = Design decisions and organization of software components that are part of the system are autonomous decisions of the developer, you can take good PATTERNS development and architecture, is guided by the solution architect / software, is based on his own luggage training with knowledge of UML, patterns, frameworks, etc. .. Many developers are expert software architects and not make much sense to have this separation in some cases. Think about SCRUM, which defines all of the Development Team as DEVELOPERS! A fine example!

I wanted to confirm this conclusion. That's OK?

If this is correct, I see no separation between a Developer and a Software/Solution Architect. To me all developer should know make decisions of the code he are building, know which technology to use, the appropriate place to put some class or another component. Summarizing every developer should be a Software Architect, otherwise I do not think he is a developer and I see no reason for being called Software Architect.

What you guys think?

share|improve this question

marked as duplicate by Adam Lear Sep 23 '11 at 15:13

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

These definitions are not set in stone. They completely depend on where you work. – Oded Sep 23 '11 at 14:45
How much the company is willing to pay the person. – Joel Etherton Sep 23 '11 at 14:57

In short:

  • Enterprise Architect: Sees how the solution fits into the business.
  • Solutions Architect: Designs the solution, determines technology, plataforms, etc...
  • Lead Developer: Add more detail to the architects solution design, plataform, etc... more technical.
  • Developer: Develops the app according to especification.

There is a BIG different between a Developer and an Architect. Usually it requires more experience to be able to design a complete solution. Like in any profession, there are levels of experience. As you gain them, you can grow in your field. Certaintly a developer might have the knowledge to design complex solutions, but he got that through years of experience.

ADDED: good reference article.

share|improve this answer
I would argue that the Lead Developer has little to no say in determining tech, platform, etc. Those decisions should have been made by the Architects. – Adrian J. Moreno Sep 23 '11 at 15:08
@iKnowKungFoo Well yeah.. you are right... The Dev Lead actually deals with more detailed aspect of the design, but the general tech nology is in charge of the Architech... changing... – AJC Sep 23 '11 at 15:13
@AJC, Most places I have worked, Enterprise Architect: Friend of executive, knows nothing, does nothing, bloated salary. Solutions Architect: Same as Enterprise Architect. Lead Developer: Spends most of his times in useless meetings, does the lazy application managers job, does the project managers job too, bugs developers for status. Developer: Does the actual architecture, design, implementation, testing and deployment, gets blamed for the project failure and makes less than half of the lead developer. – maple_shaft Sep 23 '11 at 16:10
@maple_shaft although I agree with you some, and keep in mind I am a developer, follow this link (Its not exactly the same roles, but the idea applies, we also see each other different):… – AJC Sep 23 '11 at 16:30
@AJC, Thank you! Made my day! :) I agree that I might be biased in saying this, but I doubt it because I actually work in a GREAT place now that is NOTHING like what I described. I am not lying to you, this was indeed the first 5 honest years of my career. What you describe is the ideal which I found, I was merely stating that it is not necessarily the common definition in practice. – maple_shaft Sep 23 '11 at 16:39

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