At our last user group, we asked people what they thought the key difference between the developer and architect roles was. I said that I'd publish the results, so here they are :
- Architect has responsibility for ensuring coherence of all aspects of the project as an integrated system.
- Architect responsible for overall technical quality, developer for lower implementation decisions.
- Authority and knowledge.
- The architect holds the vision and forsees the system before it is built.
- Being the holder of the vision.
- How long your mistakes take to get rid of.
- Money and the willingness and drive to lead people.
- Authority and leadership.
- A leader who can apply/share their broad experience.
- Pragmatic overseer of the technical solution.
- Power, fame, money.
- Accountability and responsibility.
- Communicating with the business as well as the techies, selling the vision to both.
- (always?) Having the best design ideas.
- Scope and vision.
- Altitude (the size of your horizons) or the amount of time spent in meetings :-).
- Architects are more handsome.
- Outward looking not inward looking from development team.
- Your impression of yourself and other people's impression of you.
- Their view of systems. Architects can see both micro and macro (inwards and outwards) while developers see micro and outwards and need to be carried by the architect to see macro/outwards.
- Maintaining and communicating a consistent macro vision of the system under development.
- Needing to have an opinion but delegating and listening to others.
- An architect takes a holistic view and is (hopefully) able to understand the bigger picture.
- Making bigger design decisions (which cannot be easily "undone") and taking responsibility for them.
- Concerned with the bigger picture.
- Architect defines architecture, infrastructure, general layout of the system, technologies and frameworks. Developer implements it.
- There's not a single key difference, but one is developers don't have responsibility for the whole project but architects do.
- Responsibility, i.e. scope, unifying teams and clients.
I think you'll agree; there are some really interesting responses. Vision and "seeing the bigger picture" are the most common themes, although responsibility and leadership also feature heavily. If you're reading this and didn't come along to the user group, what are your thoughts?
Speaking of user groups, the next one is scheduled for Tuesday 4th March and we'll be presenting/discussing a case study of a small project that a couple of us were involved in last year. More details will follow, but this is your chance to dissect a small project and take a look at the reasons behind the decisions that we made.
About the author
Simon is an independent software development consultant specialising in software architecture; specifically technical leadership, communication and lightweight, pragmatic approaches to software architecture. He is the author of two books about software architecture; Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility) and The Art of Visualising Software Architecture (a guide to communicating software architecture with sketches, diagrams and the C4 model). Simon lives in Jersey (the largest of the Channel Islands) and regularly speaks to audiences around the world. You can find Simon on Twitter at @simonbrown.