27. Juni 2016

Der Full Stack Developer - ein Begriff und was dahinter steckt

Share

Keine Frage: "Full Stack" ist im Trend. Als Anbieter von Beratung und operativer Unterstützung im Berliner eBusiness merken wir das sehr direkt: Firmen wollen nicht einfach Entwickler, sie wollen Full Stack Developer!
Aber was bedeutet das? Und wie kann man diesen Trend bewerten? Wir versuchen hier eine Zusammenfassung.

Zunächst wären da die harten Fakten: Der englische Begriff „full stack“ bedeutet wörtlich so viel wie „gesamter Packen“, etwas freier übersetzt auch „vollumfänglich“. Der Ausdruck „Full Stack Developer“ besitzt weder eine exakte Definition noch einen Wikipedia-Artikel. Seit 2012 verzeichnet der Begriff in den Google Trends, also in der Häufigkeit der Suchanfragen mit diesem Schlagwort, ein exponentielles Wachstum. Auch in Stellenanzeigen findet man ihn zuhauf.
Gemeint ist damit in aller Regel ein Entwickler, der nicht nur Frontend ODER Backend macht, sondern in allen Bereichen der Software-Entwicklung fundierte Kenntnisse besitzt. Vom Aufsetzen eines Servers bis zur Umsetzung der Weboberfläche; von der Software-Architektur über das User Interface bis zum Business Model; SysOps, DevOps, höhere Programmiersprachen, SQL, Javascript, HTML und UX: Ein Full Stack Developer versteht und beherrscht die gesamte Bandbreite.
Dass der Bedarf und damit das Schlagwort des Full Stack Developers in den letzten Jahren rasant zugenommen hat, dürfte einhergehen mit der Ausbreitung von agilen Methoden wie Scrum und der Tendenz zu crossfunktionalen und eigenverantwortlichen Teams. Während sich in klassischen Wasserfall-Projekten ganze Abteilungen in Backend vs. Frontend separierten, arbeiten in agilen Teams die Teammitglieder gemeinsam daran, ein Feature möglichst komplett auszurollen, vom Konzept bis zum Release. Da ist die Zusammenarbeit über Disziplinen und Spezialistentum hinweg unerlässlich und ein breites Wissen von Vorteil.
Dennoch lauert hier ein fatales Missverständnis, das mit dem Begriff des Full Stack Developers einher geht: Kein noch so versierter Full Stack Dev kann ein komplettes Team ersetzen!
Denn erstens ist eine Arbeit, die im Austausch mit Anderen entsteht, fast immer besser und durchdachter als eine Einzelarbeit. Die Praxis des Pair- und Group Programming basiert auf genau diesem Umstand.
Und zum anderen ist auch nicht jeder Full Stack Developer wie der andere. Grundwissen und Beherrschen der Materie darf man voraussetzen, wenn sich einer oder eine so bezeichnen. Fortgeschrittenes Expertentum und Leidenschaften aber kann und soll jeder in einem eigenen Bereich haben.
Bevor der Begriff des „vollumfänglichen Entwicklers“ aufkam, war bisweilen die Rede vom sogenannten T-förmigen Entwicklertypen (oder, in seiner Erweiterung: dem pilzförmigen Entwickler): Spezialkenntnisse in einem Bereich (der senkrechte Strich in der Mitte), grundlegende Kenntnisse in (allen) weiteren Bereichen (der horizontale Balken). In einem Team überlappen und ergänzen sich dann die Fähigkeiten, so dass es für jedes Thema einen oder wenige Super-Experten gibt, und viele Teammitglieder die zumindest mitreden können.
Beides, der Begriff des T-förmigen Entwicklers wie des Full Stack Developer, sind hilfreiche Bilder um die Fähigkeiten eines Entwicklers  beschreiben zu können. Die Bezeichnung als Full Stack hat dabei den Vorteil, dass damit ein inhaltlicher Umfang verbunden ist: Nicht nur „irgendwie breite Fähigkeiten“, sondern ein kompletter Durchstich, von Backend bis Frontend. Das kann man erwarten.
„Full Stack“ ist damit ein Label für einen Kompetenz-Umfang und, implizit, auch über ein Selbstverständnis in der Arbeitsweise. Wer sagt „Ich bin Full Stack Dev“ sagt damit auch: „Ich lehne keine Aufgaben ab, weil sie nicht meiner Kernkompetenz entsprechen.“ Er oder sie bekennt sich zu crossfunktionalen Teams und einer Arbeitsweise, die auf Kooperation und kollektivem Lernen basiert.

"Full Stack Developer": Kein Profil, aber Bekenntnis zu Kompetenzen und Arbeitsweise.

Was es jedoch nicht ist, ist ein Profil. Wer eine Stellenausschreibung ausschließlich mit „Full Stack Developer“ betitelt, zeigt damit, dass er oder sie entweder einen reinen Code Monkey sucht, also jemanden der ohne Meckern und Hinterfragen alles herunter programmiert, was man ihm vorlegt. Oder – und das scheint mir häufiger – es bedeutet, dass man sich keine Gedanken gemacht hat, welche Kernkompetenzen man in seinem Team verstärken möchte.
„Nehmen wir einen Full Stack, der kann alles!“ ist ein trügerischer Gedanke. Wer alles ein bisschen kann, aber nichts davon richtig gut, hilft auch niemandem weiter. Auch ein Full Stack Developer hat seine Stärken und seine Schwächen. Und das ist auch gut so.

Share

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hiermit akzeptiere ich die Datenschutzbedingungen.

Rufen Sie uns an: 030 – 555 74 70 0

Made with 
in Berlin. 
© leanovate 2024