DEV Community

Discussion on: Should architects code?

Collapse
 
dplaton profile image
Daniel Platon

I used to work as a software architect in the past, and due to the lack of (good) developers I also wrote production code for the same project. It was really exhausting having to think of both the project as a whole and of my feature development in the same time.

More to the point: I think architects should write (or "should have been written in the not-so-distant-past") production code. There are several reasons for this:

  • developers won't trust you if you don't code. That's absolutely true - I don't trust any architect that has a plethora of ideas and produces tons of wiki pages but not a single line of code. As an architect, you should be able to do at least a PoC of your ideas.
  • lead by example - as an architect I was involved in code reviews, feature reviews etc. I had to be able to back any advice (or criticism) with my own relevant experience.
  • stay on top of the latest technologies - ok, this is not about "production" code per se, but you have to get your hands dirty and give the new technologies a try. Do you want the system that you conceive to be more responsive? Play around with frontend technologies, up to the point that you are stretching their limits. Do you want to know how the integration between a DAM platform and your custom website might work? Roll up your sleeves and try some integration frameworks.

This all depends on the type of architect we're talking about, though. In the big enterprise world, the architect is the person that knows all about how the business works and what platforms, applications, and people are involved, so he/she may be able to translate business requirements into architecture and, ultimately, in a set of requirements for different vendors.
In the software development world, the architect knows all about the product/solution and yes, it may be involved in some coding. As other commenters said - an architect is a really good software developer.

Collapse
 
miniharryc profile image
Harold Combs

FWIW, I feel you are doing it right. I've been on both sides of this and can confirm:

  • I was much more effective when developers learned I could keep up with them. I (personally) distrusted anyone who wasn't current on our current technology stack and understood both the opportunities and implementation risks in the same.

  • I often had my developers be the primary reviewers on my designs. (E.g. invert the ivory tower. You serve them, not the other way around)