Do software engineers in general have no idea about Software Architecture Design?

97 views Asked by At

I need some help from the community - I hope StackOverflow covers general architecture questions.

So this is not the first time when co-workers of hundreds-people organizations discuss implementation details of the next 'very complex system', which 'will do everything and make everyone happy' without trying to split things into smaller parts.

When I speak about Abstraction and Decomposition and the necessity of splitting into smaller modules with (preferably) a simple interface - nobody seems to understand and reply literally like "we all know how software is developed" or just ignores what I write.

Am I such a unique person with overweight self-esteem, or does that happen often in Software Organizations?

1

There are 1 answers

0
James On

Architecture is handled very differently between organisations. If an architect exists as a job role, they are responsible for variable amounts of detail with more or less responsibility depending on the development lifecycle, organisation structure, or developer experience.

Generally though as a rule I would expect an architect to handle the high level modular composition (not class level, but service/package/container level), and any externally visible APIs, maybe a database schema, and any important security points. But it very much depends on the context.

And so to answer your question (I think?), yes I would expect developers to understand how to break large components into classes, including the logical relationship between them. I would expect they understand SOLID design principles and probably some design patterns. I wouldn't necessarily expect them to understand how to break requirements into large components - because this may be done by an architect.