6 Answers
6

I could probably come up with 2 pages of humor here, but I'll assume you are taking this seriously. So, I'll respond as seriously as I can.

First thing you must understand: @Craig is right... differnet organizations mean different things. For some, it's just part of their advancement track and doesn't really mean much beyond that. For others, its a distinct role and very often, they get subverted out of doing any code or other hands on work and so lose their efficiency.

The point at which you stop being a developer and start being an architect is the point at which you spend 90%+ of your time engaged in the following

Writing specs / drawing pretty pictures

Meetings with management/Stakeholders

Researching what technologies you should be using instead of learning what your team is using today.

Wondering what the code for your apps looks like because you haven't seen the code in 4 months

Short of it is that an architect is the interface between the dev team and the stakeholders (the BA is the opposite). They need to be able to understand the business side and the technical details, but truth is, they are likely to not "get their hands dirty" all that often. Their primary 'technical' skills need to be with UML, a word processor, other technical drawing tools, and presentation software. So, in most cases, within a few years, they will start to become less and less effective as their knowledge of coding becomes dated (e.g. they are trying to think in C++ while the project is in C# or Java). At that point, the smart people learn how to lean on and learn from the hands on folks. The others become a pain in rear because they have a harder and harder time relating to state of the art.

Oh my, and here I am wishing that I could gain the "Software Architect" title someday.
–
JonnOct 21 '10 at 4:21

It was intended to be a serious question but a load of humor can also make a serious point. Loved the answer anyway :)
–
mumtazOct 21 '10 at 9:23

2

What you describe is actually a project manager.
–
user29079Jun 28 '11 at 13:47

Lundin, Lundin, Lundin. Obviously you need to go back to university and study job titles. lulz SCNR
–
FalconJun 28 '11 at 17:37

1

I agree with the first three bullets but not the fourth. The Architect can easily be involved with code reviews and should know exactly what the current technologies are that are being used.
–
Andrew FinnellDec 14 '12 at 16:32

Although it is true that software architects "do architecture", I think the role today has come to mean much more. Someone in the "software architect" role tends to be a leader, both in skill and in status.

An architect is the captain of the
ship, making the decisions that cross
multiple areas of concern (navigation,
engineering, and so on), taking final
responsibility for the overall health
of the ship and its crew (project and
its members), able to step into any
station to perform those duties as the
need arises (write code for any part
of the project should they lose a
member). He has to be familiar with
the problem domain, the technology
involved, and keep an eye out on new
technologies that might make the
project easier or answer new
customers' feature requests.

Unfortunately, not everyone who carries the title "software architect" fits this definition. Others fit the definition but don't carry the title. Nonetheless, I feel this is a more accurate definition of the modern software architect. If nothing else, it is a worthy goal to strive towards.

Like most IT job titles there is no definition, it is just a made up term. I would describe a Software Architect as someone who is in charge of the technical application design, building things like base libraries, application frameworks etc. Of all the various IT 'Architecture' jobs this is probably the lowest one on the food chain.

Oddly, this is the only answer here I agree with. I'd say a Software Architect (whether the leader or not) is the authority governing the API and overall structure of the code. Many have suggested that this role involves little or no code and a lot of management, but I'd say it's just the opposite. A good architect needs to know the code and help to ensure quality.
–
MagusFeb 28 '14 at 23:17

A guy whose coding skills are terribly out of date, but who is not capable of performing any managerial duties.

Or

An impractical fool with an over-inflated sense of self-importance who destroys whatever thing he touches, never ceasing to bring layers of accidental complexity to even the simplest of contrivances, but who is, thankfully, kept out of harm's way by being assigned the task of writing grandiose-titled corporate documents that no one is ever expected to read.

"but who is, thankfully, kept out of harm's way by being assigned the task of writing grandiose-titled corporate documents that no one is ever expected to read." I will give you 10 upvotes if you explain how this can be achieved!
–
GiorgioJun 9 '12 at 8:09