43: The Role and Responsibility of Software Architect

The level of the architect’s involvement in the project should be certain and not very deep. When architects create extremely detailed software designs, they begin micromanaging the work. This is one of the reasons why architects are often misunderstood and people don’t like getting directions from them. The role of the architect is defining top-level partitioning of the system, not designing individual components or classes. These tasks are part of developers’ and tech leads’ jobs. Unclear responsibilities of architects cause unnecessary harm and conflict between roles. Taking the creative work from engineers and tech leads steers to having no architects in the future because the next generation of architects will grow within that group. When they get no design challenge, they cannot grow properly. Keeping a good amount of system design and managing it should be in the direction of leading and coaching. Architects define top-level partitioning and top-level design. They can suggest a way for implementation. But they shouldn’t dictate and be open to accepting other ways to implement and even sometimes forego the credit for suggested improvements.


This note is mentioned in:

19h. 42. 42a. 42b. 42c. 42d. 48c. 56. 56k. 66. 66e. 79.

If you're unfamiliar with Zettelkasten: These notes are atomic. The aim is to have one idea in a note. The connections between notes are as important as the notes themselves.

Reply via email

or comment below.