Warum Software-Engineers Generalisten und Spezialisten sein müssen

Durch die Vielfalt an Technologien und verschiedenen Themen, müssen moderne Software-Engineers ein breites Wissen mitbringen und trotzdem in ihrem Kerngebiet glänzen. Diese Kombination an Fähigkeiten führen in Projekten zu besserer Zusammenarbeit, fundierten Entscheidungen und resilienter Software.

Warum werden Generalisten gebraucht?

Moderne Softwaresysteme bestehen aus vielen Teilen: Datenspeicher, Microservices, interne und externe Schnittstellen, automatisierten Deployments, Tests, Monitoring, um nur einige zu nennen. Neben der Funktionalitäten die möglichst benutzerfreundlich umgesetzt werden, darf auch die Sicherheit nicht ausser Acht gelassen werden. Je nach Unternehmen werden diese Teile von unterschiedlichen Teams bereitgestellt. Entscheidungen in einem Bereich haben fast immer Auswirkungen auf mehrere andere Teile.

Generalisten sind diejenigen, die diese Zusammenhänge erkennen. Auch wenn sie nicht jedes Detail perfekt verstehen, so sehen sie das Gesamtbild. Dieses Verständnis ist entscheidend, wenn Architekturentscheide getroffen oder wenn Systeme erweitert werden, um die Auswirkungen von Entscheidungen frühzeitig zu erkennen und zu berücksichtigen. Ausserdem kann dieser Überblick hilfreich sein, wenn es darum geht die Ursache eines Problems einzugrenzen. Dadurch kann robuste und nachhaltige Software entstehen.

Generalisten können auch gut als Schnittstelle zu anderen Teams fungieren. Durch ein grundlegendes Wissen in anderen Bereichen, kommt es zu besserer Kommunikation. Das reduziert Missverständnisse, beschleunigt Entscheidungen und verbessert generell die Zusammenarbeit. Gerade in agilen Teams ist diese Fähigkeit unbezahlbar.

Warum zählt die Spezialisierung trotzdem?

Komplexe Systeme brauchen ein vertieftes Verständnis. Gute Architektur, sichere Software oder performante Systeme entstehen nicht durch oberflächliches Wissen. Spezialisierung bedeutet, in einem Bereich wirklich Verantwortung übernehmen zu können. Dabei geht es darum fundierte Entscheidungen zu treffen, eine saubere Umsetzung bereitzustellen und nachhaltige Qualität zu liefern.

Wer die zugrunde liegenden Konzepte versteht, erkennt Probleme früher, baut stabilere Lösungen und kann bewusst Kompromisse eingehen. Auch Optimierungen sind erst dann möglich und sinnvoll, wenn die Eigenheiten der eingesetzten Technologie bekannt sind und richtig eingesetzt werden können.

Spezialisten geben Sicherheit und sind die Anlaufstelle wenn es kritisch wird. Bei weitreichenden Entscheidungen ist der Rat eines Spezialisten sehr viel wert. Ohne ihr tiefes Fachwissen bleibt Software oft fragil, schwer wartbar, unnötig komplex oder Technologien werden vielleicht sogar falsch eingesetzt.

T-Shaped Skills

Auf den ersten Blick scheint es vielleicht widersprüchlich. Sollte man sich nun ein breites oder tiefes Wissen aneignen? Die Antwort darauf ist: beides. Nur nicht gleichzeitig in allem, sondern gezielt.

Genau hier setzt das Konzept der T-Shaped Skills an. Die horizontale Linie des T steht für das breite Grundverständnis über verschiedenste Themen hinweg. Die vertikale Linie des T symbolisiert tiefe Expertise in einem Kerngebiet, das von dem Grundwissen eingefasst wird. Diese Vorstellung hilft bei der Strukturierung der persönlichen Weiterentwicklung und Karriereplanung. Es nimmt den Druck, alles perfekt können zu müssen. Stattdessen wird die bewusste Schwerpunktsetzung gefördert. Gleichzeitig verhindert es, sich in einer Spezialisierung zu verlieren, ohne den Kontext zu verstehen. Erst dann können die vorherig genannten Vorteile von Generalisten und Spezialisten kombiniert werden.

Fazit: Breite ist kein Gegensatz zu Tiefe, sondern ihr Fundament

Die Breite kommt durch Offenheit, Neugier und sammeln von Erfahrungen. Werden diese Erfahrungen miteinander verbunden, entsteht ein Fundament. Dieses Fundament ermöglicht die Wahl sinnvoller Spezialisierungen. Denn tiefe Expertise bekommt ihren Wert erst dann, wenn man weiss, wie sie ins Gesamtbild passt.

Beitrag teilen

Samantha Howlett

Samantha Howlett arbeitet als Software Entwicklerin und bloggt aus dem Unterricht des CAS Modern Software Engineering & Development. Sie interessiert sich für ganzheitliches Software Engineering – von Architektur bis Betrieb.

Alle Beiträge ansehen von Samantha Howlett →

Schreibe einen Kommentar