dagblog.
← Archive

On architects…


I sometimes wonder what distinguishes architects from one another, what they should be able to do and what qualities they should have. It’s useful to distinguish at least two broad kinds, functional and technical architects. Sometimes one person does both jobs. I’m closer to technical architecture, so that’s the work I’ll focus on here.

I’ve worked with three architects who have had a major influence on my work. I won’t name two of them because I still work with them and they know who they are. The third is my former colleague Jirka Kotal, who influenced me a great deal and to whom I owe a lot. Thanks again.

These architects shared the qualities I personally consider most important in their work.

  • Pragmatism
  • Vision
  • Analytical thinking
  • Experience
  • Broad knowledge

Pragmatist and visionary

It might seem odd to put pragmatism and vision side by side. An architect needs enough vision to see what could be done and enough pragmatism to make sure it can actually be done. Too much of either does more harm than good. It has to be a balanced mix.

Analytical thinking

Thorough analysis, an eye for detail and an ability to look at problems from several angles. I rarely found a blind spot in these people’s analyses. An architect who can’t analyze a problem is of little use. They must also be able to defend their conclusions in front of the development team. Otherwise, the developers may simply do it their own way.

Experience

The worst technical architect knows “everything” in theory but has never actually tried or used any of it. This is just the sort of thing I meant when I recently took a swipe at certifications. Someone can be a certified architect whose views have no support in practical experience or contradict it. This ties in with pragmatism. Experience still isn’t everything. It’s one ingredient.

Broad knowledge

An architect needs to know about technologies they aren’t currently using and about areas related to their work, directly or indirectly. Figuratively speaking, they must be able to see around corners, which also has something to do with vision. It may not look like it, but that adds up to quite a range of information to absorb.

I’ve left technologies out of the discussion because they’re a secondary detail. Knowing J2EE, for instance, doesn’t automatically make someone a candidate to be an architect. Knowing particular technologies is useful, but it may count for little on its own. Technology is precisely where pragmatism, vision, analytical thinking, experience and broad knowledge start to show.

Medium version

Related articles

Related CZ Podcast episodes