Berufsbild Software Architekt*in

Auf Architek-Tour durch die Systemlandschaft.

Ob spezialisierte DBs, komplexe Produktionssysteme, mobile Apps oder die klassische Desktop-Anwendung: Ohne funktionelle Software läuft in Unternehmen heute gar nichts mehr. Gut für Sie als Software Architekten (m/w)! Sie entwerfen perfekt auf den Kunden zugeschnittene Programme sowie ganze Anwendungslandschaften, die die verschiedenen Systemkomponenten perfekt miteinander verbinden. Dafür arbeiten Sie in aller Regel im interdisziplinären Entwicklungsteam, das Sie oftmals auch führen, weil Sie die Person sind, die einen Überblick über alle Komponenten und deren Zusammenspiel hat. Ihre Verantwortung ist groß: Die von Ihnen getroffenen Entscheidungen sind essenziell für die Qualität eines Systems.

Technologien

  • Programmiersprachen wie Java/JEE, Python/Bash Scripting, C(++/#) oder .NET plus Frameworks
  • Datenbanken (SQL, NoSQL)
  • SOAP, RESTful APIs
  • Windows, Linux, Mac

Auch oft Voraussetzung

  • JavaScript
  • Cobol (da immer noch viele Systeme darauf basieren)

Häufig verwendete Tools

  • UML

Mögliche Methoden

  • Anforderungsmanagement
  • Architekturmuster
  • OOP
  • SOA, Microservices
  • Visualisierung
  • Roadmap-Entwicklung

Wissenswert

  • Gehaltsbereich: 50.000 € bis 80.000 €
  • angrenzende Bereiche: Software Entwickler, DevOps Engineer
  • der Begriff “Softwarearchitektur” in der heutigen Bedeutung wurde erstmals von F. Brooks in dem bis heute ikonischen Werk “The Mythical Man-Month: Essays on Software Engineering” benutzt

Typische Aufgaben eines Software Architekten

  • ganzheitliche Planung und Konzeptionierung von neuer Software und deren Komponenten
  • detaillierte Anforderungsanalyse auf mehreren Ebenen (fachlich, technisch, funktional und nicht-funktional), Festlegung der Qualitätsziele, Aufwandsschätzungen
  • Entwurf der Softwarearchitektur (mit Hierarchiebeschreibung des Systems, meist mittels UML skizziert), Verwendung geeigneter Entwurfsmuster
  • Programmierungsphase: Überwachung der Implementierung der modellierten Architektur inklusive Frameworks und Bibliotheken
  • Gewährleistung eines cleanen Quellcodes, oft selbst auch bei der Programmierung tätig
  • Testing: Modul-, Integrations-, System- und Akzeptanztests
  • statische Code-Analyse, technische Dokumentation
  • Bewertung der Architektur hinsichtlich der Qualitätsziele, gegebenenfalls Nachbesserung
  • Bindeglied zwischen allen Stakeholdern, rege Kommunikation und Dokumentation
  • oftmals fachliche Teamführung, Koordination und Coachings

Typische Anforderungen an einen Software Architekten

  • oft gern gesehen: ein IT-Studium als theoretische Basis
  • Berufserfahrung in der Programmierung, da Sie in der Regel erst vom Entwickler zum Architekten reifen
  • Programmiersprachen wie Java, .NET und viele weitere
  • UML oder vergleichbare Darstellungsarten
  • Kenntnis der gängigen Programmierparadigmen und Vorgehensweisen (z.B. aus der agilen Methodik, Scrum)
  • Vertrautheit mit technischen Dokumentationen
  • breites technologisches Wissen und schnelle Auffassungsgabe
  • sehr gutes Abstraktionsvermögen
  • kompetenter Führungsstil, fantastische kommunikative Skills, Organisationstalent
  • hohe Kundenorientierung

Als Software Architekt (m/w) müssen Sie abstrakter vorgehen als ein Entwickler. Nach einer genauen Anforderungsanalyse inklusive Aufwandseinschätzungen befassen Sie sich mit Konzeption und Entwurf der zukünftigen Architektur. Anschließend sorgen Sie dafür, dass die von Ihnen modellierte Architektur inklusive Frameworks und Bibliotheken vom Entwicklungsteam exakt umgesetzt wird. Auch während der Testphase sind Sie zugegen und bewerten die Architektur hinsichtlich ihrer Qualität. Die Rolle des Software Architekten ist von der des Programmierers insofern abzugrenzen, als dass letzterer die Entwürfe des ersteren implementiert. Es kommt allerdings auch vor, dass eine Person im Team beide Rollen bedient.

Inzwischen wird die Position des Software Architekten (m/w) noch weiter aufgefächert: So trifft man in großen Unternehmen mit systemübergreifenden Entwicklungsumgebungen meist den so genannten Enterprise Architekten oder System Architekten an, während die Bezeichnung Solution Architect synonym zum Applikationsarchitekten verwendet wird und die Architekten beschreibt, die Entscheidungen für bestimmte Anwendungen treffen.

Als Software Architekt (m/w) benötigen Sie neben einem sehr guten Abstraktionsvermögen eine Reihe an Softskills. Sie sollten gut organisieren können, um die verschiedenen an der Umsetzung beteiligten Ebenen perfekt aufeinander abzustimmen und reibungslose Abläufe zu erwirken. Als Bindeglied zwischen allen Stakeholdern und oftmals in leitender Position sind hervorragende Kommunikationsfähigkeiten eine Voraussetzung für harmonische Prozesse.

Ihre Ansprechpartner für Software Architekten-Positionen: