Monthly Archives: May 2026

Architecture Vs. Design

As a person who has worked on software, in and out of corporate offices, a question was bound to come to me. What is the difference between software architecture and software design? The terms / designations are often heard in the context of software engineering. I think, this difference is worth exploring. It might throw some light on the subject of engineering, etc.

The term architecture can be found in the area of building construction, etc. So can be the term design. The design term is also used in the field of graphics, etc. As such, it is useful to consider these areas as well, because, it helps find answers to our question, it helps to refer to unrelated areas, in order to bring in new ideas as an answer into the current field of enquiry.

What is the difference between architecture and design?

The architecture, initially, brings to head, an image of some kind of diagram with blocks and connections between the blocks. The design, might bring up an image of some kind of document with some descriptions about some process, etc. This is a good place to start.

A question of this nature in mind and some YouTube videos later, an answer started to emerge. Some amount of thinking led to some concrete stuff for the answer.

The blocks and items found in the subject of software engineering are useful terms for the initial take. We can have two questions here. What is an architectural block? And, what is a design item?

These two questions, together, are possibly good enough to suffice as an answer for our question. If an element fits as an answer to the first question, it goes into the architecture and if it fits as an answer to the second question, it goes into design. A block, like, ‘Network’, or, ‘Storage’ fits well in the architecture, and, an item, like, ‘Compiler’, or, ‘Language’ fits well in the design. It can be reduced to deciding whether an element is a block or an item, a heuristic decision, in order to check whether it belongs to the architecture process or the design process. Then, one can proceed clearly, with a clear idea in the mind, about whether we are working on the architecture or the design. The two questions might suffice.

We are going to go ahead and drill down further, in order to differentiate between the two processes.

What does a software architect do? And, what does a software design person do?

It may not be necessary to find the answer to this question, but, it is an interesting exercise, which, might help inform ourselves in a completely unrelated area.

The basic difference is blocks and items. If an element in the software engineering can be represented as a block, then, it goes into the architecture process, otherwise, it goes into the design process. An element, like, ‘Network’ can be easily imagined as a block, so it goes into the architecture process, an element, like, ‘Compiler’ can be categorised, otherwise, as an item, so it goes into the design process. It might help, if one wants to distinguish between the two processes.

Then, something else also can be considered. How is the architecture, or, the design is communicated to the engineering team. I think, the architecture, with its blocks and connections suits well into the process of a meeting, with someone explaining the architecture briefly to the team of engineers so that it can be implemented. The design, on the other hand, with its description and possible diagrams, I think, suits well into the process of communication via a document or a diagram, a direct face to face contact with the engineering team may not be necessary. There goes our consideration of people issue.

Then, something more can be considered. What is a suitable representation for the architecture and one for the. design? Architecture, with the blocks and connections, might go well as a diagram. A diagram, a big one, with many blocks and connections between them will do good for the representation of an architecture. Design, with the description and diagrams might go well as a document. A document with many paragraphs and diagrams.

With the representation considered, one can come to the question of what tools to use for each of the processes? Architecture, with blocks and connections, can be done with any image making software, there may be thousands of them available. MS Paint, a free and easily available tool comes to the mind. Design, with description and diagrams, can be done with any document editing software, MS Word, widely used document editor can be used for the purpose.

So, we have considered not only the difference between the two processes, but, also, what representation and tools to use.

Next, we can even consider who suits well for each of the two processes, in terms of people. I think, the architecture, might fit someone who has a “thinking judgement” kind of process and the design, might fit someone who has a “intuitive judgement” kind of process. Architecture, as such can be thought of as a process based on memory use, and as such might involve thinking, more, much more than the design process. Design, on the other hand, can be thought of as a process which more of heuristic nature, and might involve more of “intuition”, than “memory”, an immediate and possible rough estimation of many things in the immediate surrounding. So, if one can categorise a person as fitting into one of these either types, one can put a person on the job of a software architect or the job of a software design person.

Next, I’ll go ahead and consider the other parameters for fitting a person into either one of the roles. It is the demography to which one belongs to. I think, that, a person coming from a smaller social construction might fit well as a software architect and a person coming from a very large social construction might fit well as a software design person. The reason can be explained. A person from a smaller social construction might have had a limited exposure to very large social groups and hence might be good at looking at things for longer periods of time. A person from a very large social construction, on the other hand, could be good at “intuitive judgement” owing to the fact that a very large social construction might involve a situation in which he/she is exposed to polar opposite types in a matter of half second and then back again. One has to stay on guard and judge extremely fast, thus, giving a sharpened edge to the faculty of “intuition”.

The parameter of geography can also be considered. As to, which part of the world a person must belong to, in order to qualify as a software architect or a software design person. I think, a look at the statistics of any search engine would help in this process. E.g. if a country has a large number of queries containing the term, ‘software architecture’, one can decide that, the people from the country are more inclined towards it, and if it is ‘software design’, then, it might be otherwise.

I have to admit, that, I have gotten a little crude here. But, then, this is not in the context of any organisation, like a university or a government, so, I am free to be crude.

There is more that can be considered. An element, like ‘External System’, might qualify well as part of the architecture, and, might be excluded from the design process. An element, like ‘Algorithm’ might fit well in the design process. An element, that comes up often, ‘Data Structures’, I think, might be excluded from the design process, and can be in the bucket of “use any”.

There is also the consideration of team. I think, that, the implementation team, the engineers can be completely separate from the architecture / design team, and, the architecture / design team can move on and/or work as a consultant to the implementation team. It may be obvious that a person with experience qualifies as an architecture / design team member. It may also be obvious that a person with no job qualifies as the one who does this kind of analysis.

With this, I can end this analysis of Architecture vs. Design question.

Some Videos On YouTube

I watched some content on YouTube this evening. First, it  was a video related Arduino memory mapped IO. It seemed interesting. It showed some information related to code, and memory related to Arduino development. Then, it was a video about the Python “manim” library which is used for plotting 2D/3D views of equations. It seems to me that, differential equations can be plotted. After that, it was a video which showed game development information, using the Unity engine and C#, I watched it for the second time. Then, I tried to find some information related to “yield” in programming, a JS video showed that it is used for generation pattern of code. It is a language keyword that can be used in a function, in place of “return”, to “return” multiple times, each time with a possibly different value, according to some logic.

Updating ShareX

This tool seems to be the one that needs some updates, every now and then.

Microprocessors And Transistors

I have been thinking about some things in the afternoon and I am going to note down about one topic that stood out, microprocessors. This topic is the subject from the past, from the college curriculum.

I have studied parts of the microprocessor book. I have studied electronics. I have seen the books related to microprocessors and I have seen the books involving topics related to transistors, etc.

How it comes together can be thought about. As an engineer who is long out of his college, this might be a good mental exercise.

Basic question is, how does a microprocessor work, with the concept of a microprocessor, transistors, and micro-programming. It can all be put together now, along with some more miscellaneous concepts.

Basically, a microprocessor is a very huge collection of transistors. These transistors can hold/transmit voltage, which gets interpreted as a 1 or a 0 at some place, this is also a concept. How does an instruction get executed? An instruction, loaded and interpreted as a set of 1’s and 0’s itself will be applied as the corresponding voltage(s) to the relevant transistor set, of course, after becoming microcode which can be understood by the microprocessor hardware. This voltage set, when applied to the right set of transistors, gets transmitted to the right final set of transistors, after passing through the gating transistors. It reached the final transistor set/area, which, I think, is, something like, one set/area per microcode instruction. This final set then lights up with the right levels of voltages, transmitting the voltages along microcode circuits made of transistors, an advanced version of adders, etc. which can be found in the college textbooks. The result obviously appears as a voltage set which gets collected as output, and, gets interpreted as a set of 1’s or 0’s, just like the computer engineers describe it, or, like it. This may be how it basically works. And, I think, that, there must a set of transistors, a large one, like in millions, one, for each instruction in microcode. This fits well with the number of transistors found on the modern microprocessor, which is in billions, if we go with the millions number for each microcode, then the number of instructions in the microcode instruction set can be calculated to be in hundreds.

This is my basic guess on the functioning of a microprocessor.

City And Its Contents

It was weird that, my mind went back many years, when I used to wander the part of city that I live in, after my 2.5 years coding burnout. It was something that I did regularly. It is not that this process was new to me. I had done it before, after my personal life took a different turn.

It all feels good, movielike. I mean, it sure looks so. With all the people, the roads and the vehicles. You can go to any place you want and you can return at any time you want. There may be a hope that you will someone nice. It is only hope, of course, this, you only realize with the age. There is no such thing as nice when the people count nears millions.

Today, it occurred to me that this may not be such a good idea. And, this, may be a result of the age. The places outside, in a city, in a town, may house many unwanted elements, the elements which you may not want, and you may not be able to see. This, “you may not be able to see” part is what needs to be seen, or, rather had come to my attention, fully. The city may not be such a pleasant place after all, beneath the clean roads and colourful vehicles, beneath what may seem as normal, may be something that may come to you only after years, or never. This slow creep got to me fully today, I think.

I think, that sitting in a public place for even a moment than is necessary will invite into your mind the things which you may not want, things which might stay with you forever. This is no joke. The world is full of people wanting to use you and as a person who is new to the outside, you may not be aware of the mechanisms. It may be more than what meets the eye. It may be possible, that, you end up influencing people in public places, by your mere presence. This effect may be irreversible. Unless, of course, you are a person who has patience and resources to hold on. Still, it may be a bad idea.

You will get influenced by someone you don’t want to be influenced by. And, you might go on with it. It is a bad idea if you are alone, or, even if you have people for you. It is a very effective play on the human emotions, the result of which, is that, you might end up with an excess of emotions towards the word, an effect which cannot be undone.

For that matter, I think, it is a bad idea, to even share a house with other people.

I come to the conclusion, that hanging out in public places without a purpose should be avoided totally. Or, even the matter of visiting other people’s houses can be considered and then it is up to one’s personal choice, one might avoid that also.

This process of public influence and reverse influence may be irreversible. Although, there is one way. Like it is shown in some places, you can remove yourself from the public surroundings completely and just sit, alone, letting your body take care of it all, using  the mechanism provided by the body and the nature. There may be words for it in all the cultures, all the languages, like ascetism, yoga, etc. This might  take years, but, might work.