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.

Sometimes I think architect role is just a title that is given for someone that has been a senior developer for a number of years. How do you know when a senior developer is ready to take on an architect role? Is it by market standard common for senior developer to jump to architect role or do they need to be a team lead then architect? I need some enlightment on this topic.

share|improve this question
1  
Architect and team lead are definitely different directions; team lead is by no means a step on the road to architect. imho, team lead is the direction a senior dev goes if he wants to move in a managerial direction; architect is the direction he goes if he wants deeper technical challenges. –  Carson63000 Mar 23 '11 at 0:21
add comment

migrated from stackoverflow.com Mar 22 '11 at 20:30

This question came from our site for professional and enthusiast programmers.

5 Answers

Its definitely not a time based decision point. I know Senior Developers who are experts in their field - at the expense at having a broader role. An architect will have a broader range of expertise. They need to be able to deal with the full lifecycle of an application. They should still be fairly deep in many technologies.

There is also something to be said for there being a certain aptitude for being an architect. Again, someone may have a great deal of experience in a few technologies, but still not have a good grasp of how those technologies interact. An architect can visualize the interaction of various systems, and put that vision into a concrete execution plan.

share|improve this answer
add comment

In my experience, a senior developer is ready for a architect role when they are familiar with all systems affected by the application(s) being developed - including how the applications should best communicate with each other. This normally takes several years of experience at the senior level, and likely as a team lead.

share|improve this answer
2  
+1 Architect is usually a larger picture than the Senior Dev works with, and usually less coding, IMO. The Architect will work more at an Enterprise-level, between applications, whereas the Senior Dev will be working on one application. But it varies in different organizations... –  FrustratedWithFormsDesigner Mar 22 '11 at 20:37
    
I definitely agree that the more senior you are the more your focus is on the big picture and interfacing with the developers and business stakeholders, less on the technical details (including code). That said, I've known senior developers who avoid anything architect-related since they won't be involved with coding ;) –  Winger Mar 22 '11 at 21:09
add comment

Architect is a completely different role from senior developer. The architect is the person who looks at the overall project and designs how the pieces should fit together. He is involved in choosing the technology to use and the approach to take. In general he should not be writing code. The senior developer is the person who is most instrumental in actually creating the code that implements the architect's design. It is not supposed to be just a fancier title and more pay for a senior developer. Some senior developers would be great architects, some would not.

However, that said, no one should ever be allowed to be an architect without at least ten years in the trenches (thus the senior developer is a good candidate for promotion to an architect role). The worse architected systems I've ever seen were from people who got a masters after college and went directly to the architect role with no practical experience. The second worst systems were designed by people who didn't think they needed an architect at all and the sytem grew without a direction and at the whims of the moment.

share|improve this answer
1  
I agree that the architect should not be the person writing most of the code - but he should never forget how to write the code, in order to maintain the respect of his team. Neither should he design in a vacuum without listening to the ideas of the developers and working with them to firm up a design. A good architect will appreciate the difference between being the lead designer and the only designer. Good leaders in general listen twice as much as they speak. –  Stuart Golodetz Jan 13 '12 at 2:25
1  
As to the requisite amount of experience, I'm not convinced by the fixed time limit of ten years, but I do completely agree that people in senior roles need to have spent a substantial amount of time in the trenches first - otherwise it will be impossible for them to really understand the rest of their team, or to be respected by the people with whom they work. Actually, my personal view on this is that they should never completely leave the trenches :) Good leaders are not the ones who sit 30 miles behind the front while you risk your life to move their drinks cabinet towards Berlin... –  Stuart Golodetz Jan 13 '12 at 2:30
add comment

In addition to all the IT knowledges mentioned in other answers (e.g. development skill, operation management, data/schema design, infrastructure planning, support service, ...), an architect should also know:

the business.

That's about how to help the business to:

  • make more profitable, and/or
  • cut cost

Take the following challenges, as examples:

  • we are going open 10 new offices in China, targeting addition 10,000 staff, where should the datacenter be located (US/Singapore/HK/China)? what telephone systems to be used? which technology to be used for international phone calls? any concerns on law enforcement?
  • we are going to merge the Australia and New Zealand office, how long will the take? what are involved? and how to prepare schedule and project plan?
  • the CEO signed SAP ...
  • we will use Exchange to replace the existing Lotus Notes as mail server ...
  • some senior staff request iPhone to replace Blackberry ...
  • the marketing folks wants apps on iPads ...
  • ...

Only the tip of an iceberg so far, there are:

  • budgeting
  • politics
  • ...
share|improve this answer
add comment

I would say the architect title is given to a senior developer when that developer has the responsibility for giving the constraints that all developers are to follow when developing a system.

share|improve this answer
add comment

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.