Was müssen denn Software Architects können?
Die Software-Architektur ist ein anderer Aufgabenbereich als Software Engineering. Software Architects müssen ein sowohl in die Breite als auch in die Tiefe gehendes Wissen mitbringen, vorzugsweise für verschiedene Technologie-Stacks. Am wichtigsten sind Kenntnisse zu den Grundlagen der Software-Architektur, verschiedene Architekturstile, Diagramm-Erstellung usw. Ganz wichtig für Architects ist Kommunikationskompetenz, weil sie mit allen möglichen Stakeholdern, Auftraggebern und den Developers sprechen müssen. Nicht zuletzt müssen Architects deshalb auch gute Führungsqualitäten und analytische Fähigkeiten besitzen. Wenn Du mit der Teamleitung betraut bist, musst Du als Architect in der Lage sein, ein Team mit unterschiedlichen Persönlichkeiten und Spezialisierungen zu führen. Was die analytischen Fähigkeiten angeht, so musst Du wissen, wie man die Stakeholder im Projekt klar identifiziert, die Anforderungen versteht, das System designt, den richtigen Architekturstil und Tech-Stack auswählt und natürlich auch, wie man das Ganze dokumentiert.
Um Architect zu werden, muss man definitiv einen oder mehrere Technologie-Stacks kennen und verstehen. Außerdem müssen Architects viel lesen, am besten Literatur, die andere Architects empfehlen. Als Architect kannst Du auch entsprechende Kurse belegen und Zertifizierungen erwerben (TOGAF, Open CA oder eine Architekturzertifizierung von einem der großen Cloud-Anbieter).
Darüber hinaus müssen Architects natürlich wissen, was auf der Code-Ebene überhaupt möglich ist. Das ist die Basis, die sich aber noch in weitere Bereiche unterteilen lässt, wie Lösungsarchitektur, Softwarearchitektur usw. In einem sind sich alle Architects auf jeden Fall einig: es gibt keine perfekten Lösungen, nur bestmögliche Kompromisse.