The Doppler Quarterly (DEUTSCHE) Sommer 2018 | Page 47

Im Laufe der Jahre wurden viele Artikel über Full-Stack-Entwicklung und Full- Stack-Engineers geschrieben . Unter allen Aktivitäten stand vor allem die Softwareentwicklung ( insbesondere die Webentwicklung ) im Mittelpunkt . Die Meinungen zu diesem Thema gehen weit auseinander . Die eine Seite ist für eine Spezialisierung auf einen oder zwei Bereiche , während die andere Seite lieber Verantwortung für den ganzen Produktentwicklungsprozess und das fertige Produkt übernommen würde . Hier stellt sich die Frage , welche Rolle besser geeignet ist : Universalist oder Spezialist in einer Sache ? Wir meinen , dass die Antwort irgendwo dazwischen liegt . Wie Sie vorgehen , richtet sich nach dem Betriebsmodell , das Sie im Unternehmen implementiert haben .
Zunächst klären wir hier die verschiedenen Begriffe und Konzepte . Historisch betrachtet bezieht sich der Begriff IT-Personal auf Funktionsrollen und Zuständigkeiten . Die IT-Leute im Front-End kümmerten sich um die Benutzeroberfläche und die Entwickler im Back-End um die eigentliche Programmierung . Und die Datenbankadministratoren waren für die Verwaltung der Daten zuständig . Natürlich gibt es weitere Rollen im Unternehmen , aber für unsere Zwecke sollen diese drei Funktionen reichen . Das Front-End , das Back-End und die Datenbankadministratoren waren jeweils für ihren eigenen Bereich zuständig und stimmten sich über bestimmte Kontaktpunkte miteinander ab . Sicherlich waren einige richtig gut in ihrem Job , blickten jedoch nicht über den Tellerrand ihres Fachbereichs . Das ging eine Weile gut , führte jedoch in manchen Unternehmen zur Entstehung von Silos , die die Freigabe neuer Funktionen und Bugfixes verlangsamten .
An dieser Stelle kommt der Full-Stack-Entwickler ins Spiel . Die Idee war recht simpel : Wenn sich ein Entwickler sowohl im Front-End als auch im Back-End gut auskennt , kann er helfen , inhärente Silos zu beseitigen , den Entwicklungsprozess zu optimieren und höherwertige Software in kürzerer Zeit zu programmieren . Ein Full-Stack-Entwickler muss also mit allen Bereichen der Softwareentwicklung und dem ganzen Stack vertraut sein – Front-End , Benutzeroberfläche , Codierung , Netzwerk , Datenbanken usw . Indem ein Entwickler Verantwortung für den ganzen Stack übernimmt , kann er helfen , Hürden in der Übergabephase zu umgehen . Noch wichtiger ist jedoch , dass sich die ganze Verantwortungsmatrix ändert , da der Entwickler jetzt Verantwortung für das ganze Produkt übernimmt . Wie heißt es doch : „ Wenn jeder verantwortlich ist , ist niemand verantwortlich “. Wenn etwas aus dem Ruder läuft und mehrere Gruppen involviert sind , beginnen die Schuldzuweisungen . Anders ist das bei Full-Stack-Entwicklern , die die volle Verantwortung tragen .
Das heißt jedoch nicht , dass der Full-Stack-Entwickler automatisch den besseren Code programmiert – manchmal ist sogar das Gegenteil der Fall . Aber Fakt ist , dass Full-Stack-Entwickler hochmotiviert sind , ihr Bestes zu geben , da die Verantwortung alleine auf ihren Schultern liegt .
Fassen wir zusammen , wie ein typisches Full-Stack-Entwicklungskonzept aussieht : volle Verantwortung für End-to-End-Ergebnisse , Beseitigung von Silos , weniger Reibungspunkte , schnellerer Nutzen und kürzere Feedbackzyklen . Doch Vorsicht ! Haben wir es mit „ DevOps “ oder wenigstens einem Ansatz zu tun , der mit DevOps-Zielen vergleichbar ist ? Definitiv ja . Das ist auch der Grund , warum wir Full-Stack-Entwicklern häufig in progressiven , DevOps-orientierten Softwareunternehmen begegnen , in denen es auf kurze Freigabezyklen und schnelle Markteinführung ankommt . Das heißt aber noch lange nicht , dass dieses Konzept für jedes Unternehmen geeignet ist bzw . dass das gleiche Ziel nicht auch ohne Full-Stack-Entwickler erreichbar wäre .
SOMMER 2018 | THE DOPPLER | 45