Structurizr - create web-based software architecture diagrams using code

The key difference between developer and architect roles

Vision, responsibility and leadership

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.
  • Vision.
  • Scope and vision.
  • Responsibility.
  • 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.

Re: The key difference between developer and architect roles

It should not be missed that an Architect should not only work from "above", or at a higher level than a Developer. An Architect (or at least a good Architect) should have at least a reasonable understanding of all of the components within the architecture from the technical as well as the business angles. More generalist than specialist.

Re: The key difference between developer and architect roles

How did everyone miss the most important distinction? Although "selling the vision" comes close. The principal skills of an architect are the soft skills necessary for building consensus and getting buy-in. Technical skills are a dime a dozen, but getting people to put aside their egos and work on ideas that they didn't originate or even agree with is what makes a successful architect.

Re: The key difference between developer and architect roles

Architect is a person responsible for performance,scalability and extensibility of an application

Re: The key difference between developer and architect roles

Morgan perhaps you're getting confused. This article is talking about a 'software' architect....

Re: The key difference between developer and architect roles

I on the contrary agree that Morgan's point is a very (if not the most) important point. I'd say a successful architect's second biggest asset are soft skills, the first being good awareness of technology and the ability to think strategically and see the bigger picture. It can get very challenging at times to sell one's ideas and vision to other stakeholders (I'll refrain from using the M word) even when one can see that those ideas will lead to success. Being able to create consensus and make others feel that they've also contributed to the overall idea is critical and not many can do that. That apart, engaging with peers in a constructive manner and getting development teams to think in terms of their contribution to the overall solution is again something an architect with good soft skills can achieve.

Re: The key difference between developer and architect roles

I do believe that the following only applies to a small number of architects and that my own experiences have been fairly disproportionate. Unfortunately it does have to be mentioned as a difference I have seen as something peculiar to some successful (work and money) architects. Generally developers that have the following traits as part of their normal personality quickly move to architecture or anything other than development. As a developer of quite a few years I have found some architects are keen to press forward with a 'vision' that is simply based on their personal (that is unprofessional) likes/dislikes and knowledge/ignorance of technical subjects with little, if any, consideration for what the client needs and can afford. When these project hit major problems causing serious delays and cost overruns these architects are quick to wash their hands of responsibility leaving the developers to fix the major architectural flaws. Of course once the Developers have got it all working the architects (if they haven't moved on to another victim) are quick to bask in the praise while blaming any problems as 'development' issues. Essential some architects are the most arrogant egotistical individuals in the IT industry with their primary skills being socio-political manipulation. This isn't to say they are not very smart and reasonably knowledgeable they just work for them-self with only fated regard for the business client, the project success, and others working on the project.

Re: The key difference between developer and architect roles

Many key points have been listed here, and so many are accurate. As a former architect, I can say most devs can ascertain that leads and architects do have some identical and even overlapping skills, but at a high level the architect needs to go beyond the lead, sometimes into areas where leads aren't as comfortable or don't care to venture. These are typically areas related to not only the "big picture" as mentioned, but full system architecture how it relates to future endeavors, customer expansion, and more soft skills of responsibility, leadership (perhaps multiple teams/products), customer and/or stakeholder interfacing, etc. For a different perspective, at the Code Palousa conference back in 2011, Joe Wirtley gave a great presentation on the true role of the architect and some better use of tools of the trade...

Add a comment Send a TrackBack