10 From developer to architect
Es ist schwer zwischen Softwarearchitekten und Softwareentwicklern zu unterscheiden. Ein Softwarearchitekt versucht das Problem zu abstrahieren und das große Ganze wahrzunehmen. Hierdurch soll das Projekt besser skalieren und zu den richtigen Softwaredesign-Entscheidungen führen.
Um einen guten Softwarearchitekten erkennen zu können, sollten die bisherigen Erfahrungen in den Kernvoraussetzungen wie Verantwortlichkeit und Führungskompetenz unabhängig voneinander betrachtet werden. Wichtig ist hierbei, dass die Kernkompetenzen an das jeweilige Projekt angepasst sein müssen. Es ergib sich beispielsweise ein Unterschied daraus, ob ein bestehendes Projekt erweitert oder ein neues Projekt begonnen wird und ob weitere Kernaufgaben wie das Aufstellen nicht-funktionaler Anforderungen wahrgenommen oder als das Problem anderer betrachtet werden.
Als Softwareentwickler nimmt man häufig unbewusst Teilaufgaben eines Sofftwarearchitekten wahr und erlernt somit die nötigen Fähigkeiten dieser Rolle während man seine eigenen Aufgaben bewältigt. Allerdings besteht immernoch der Unterschied, dass man als Entwickler nur etwas zu dem Projekt beisteuert und als Architekt die Verantwortung dafür trägt.