7 years ago software architecture became my hobby. At first I thought that I would read a couple of books and everything would be clear. It felt like I had just a couple of blind spots. We were taught this at university + we had to make changes to a dozen of very different systems. It turned out that the more you understand about architecture, the more confusing questions arise.
But something became clear. For example, it became clear why software architecture has several extremely abstract definitions. It became clear what architecture looks like and what it is needed for. It became clear why the topic has such a high entry threshold. To understand it, it was necessary to collect dozens of respected sources.
Perhaps we should start with the word “architecture”. The root of the word is ancient Greek, meaning “chief carpenter.” We will not look at a couple of thousand years of history of this word. This post is about IT, so it’s better to read the book of life right from the middle. The midpoint falls on the years 1960-1970. Around this time people noticed that programs can be written in much the same way as building houses.
The word “architecture” for software was a metaphor. For example, Yesenin’s “a fire of red rowan is burning in the garden” to some extent describes rowan in the fall. Architecture of houses (fire) and software (rowan) is similar from some perspective. Yes, the fire does not fully describe the rowan, but metaphors stick well. We probably won’t see a more appropriate word for “software architecture,” so parallels with house building will always confuse newcomers and slow down software development.
In the 80s, the question “What is software architecture?” one could answer: “These are the blueprints according to which the software solution will be built. Well, and all the activities that led to the appearance of these blueprints, of course.”
![](https://neexee.com/en/posts/architecture-roots/plan_hu20a3b3b60c22ec9ccfc089f673c8109c_194316_2000x1125_fit_q75_box.jpg)
It was ok to say something else because an official definition of software architecture will not appear until 2000.
(The next article is about a legendary (but not pop) architect from the 70s…)