Vor ein paar Tagen erschien auf Techcrunch ein Artikel mit dem Titel The Rise And Fall Of The Full Stack Developer, der neulich in unserer internen Mailingliste verlinkt wurde. Ich habe ihn gelesen und konnte einfach nicht verstehen, warum der Titel vom "Fall" des Full-Stack-Entwicklers handelt (und das habe ich auch auf der Mailingliste gesagt, woraufhin ich aufgefordert wurde, diesen Blogbeitrag zu schreiben). In diesem Beitrag werde ich versuchen zu erklären, warum es nicht das Ende ist, sondern nur eine Phase in einem wiederkehrenden Zyklus
Was ich gelesen habe, war eine Wellenbewegung - der Artikel beschreibt, dass es zunächst Low-Level-Assembly gab, das zwar spezialisiert, aber immer noch ziemlich einfach ist, da es nur eine Plattform und eine Sprache gibt. Dann wurden die Dinge komplizierter, denn an den größeren Webanwendungen waren viele Experten aus verschiedenen Bereichen beteiligt (Java, Datenbankmanagement, Server- und JVM-Management, um nur einige aus dem Artikel zu nennen).
Um das Jahr 2005 herum fand eine kleine Revolution statt. Der Internetzugang (und damit auch das Hochgeschwindigkeitsinternet) wurde für alle zugänglich und mit ihm billiges Webhosting - vor allem aber gab es einen Boom in der PHP-Entwicklung. Was der Artikel hervorhebt, ist, dass dies eine Ära war, in der ein einzelner Entwickler oder ein kleines Team von Entwicklern eine Webanwendung von Grund auf neu erstellen konnte, ohne das ganze Expertenwissen mit sich herumschleppen zu müssen - praktisch ein Full-Stack-Entwickler (Speicher, Webhosting, eine Programmiersprache (PHP, Python, Ruby usw.), HTML, CSS, Javascript, der ganze Stack).
Aber, wie der Artikel feststellt, ist das nicht der Full-Stack von heute - hinzu kommen Dinge wie maschinelles Lernen, mobile Entwicklung, fortgeschrittenere und weniger traditionelle Programmiersprachen, Frameworks und Persistenzlösungen und so weiter. Die Schlussfolgerung des Autors ist, dass dies zu viel für einen einzelnen Full-Stack-Entwickler ist, dass es keine Möglichkeit gibt, dass ein Full-Stack-Entwickler ein Experte in all diesen Bereichen sein kann - und er nennt die Person, die ein wenig von all diesen Technologien weiß, im Grunde genommen einen Full-Stack-Integrator und erklärt den Full-Stack-Entwickler für tot.
Aber das habe ich nicht gesehen. Was ich sah, war eine Wiederholung der Geschichte - von einfach und überschaubar bis hin zu komplex und zu viel für eine Person, die alles beherrscht. Von Assembler und PHP zu Java-Unternehmenssoftware und AWS-Instanzen mit Docker, auf denen eine MongoDB- und Scala-REST-Schnittstelle läuft, um Ihre Android-, iOS- und AngularJS-basierten Webanwendungen zu betreiben (um nur ein paar Schlagworte zu nennen).
Ich bin mir sicher, dass die nächste "einfache" Welle bereits um die Ecke ist - vielleicht ist sie schon da und lauert irgendwo, bis ein einflussreicher Mann sagt: "Hey Leute, lasst uns zu den einfacheren, guten alten Zeiten zurückkehren, in denen man Code schrieb und es einfach funktionierte™!", woraufhin eine Welle von Entwicklern folgen wird - höchstwahrscheinlich eine Kombination aus jüngeren Leuten, die neu in der Welt der Softwareentwicklung sind, und älteren Leuten, die schon viel zu lange in einem übermäßig komplizierten Trott der Softwareentwicklung stecken.
Deshalb ist es wahrscheinlich besser, Teams aus T-förmigen Entwicklern zusammenzustellen. Das sind Full-Stack-Entwickler mit einem breiten Wissensspektrum (und, was noch wichtiger ist, mit breit gefächerten Interessen und Neugier), aber mit mindestens einer Spezialisierung. Dies wurde bei Xebia auf Pi-förmige Entwickler ausgeweitet und dann extrem auf Kamm-förmige Entwickler, aber letztere sind nur Generalisten, wie im Artikel erwähnt - ein Tausendsassa, der nichts beherrscht. Und es ist wichtig, sich als Entwickler darüber im Klaren zu sein, dass es in Ordnung ist, nicht alles zu wissen, ein Update zu verpassen, die schicke neue Programmiersprache nicht von Leuten zu lernen, die über die langsame Entwicklung von Java verärgert sind - es gibt heute einfach zu viele Informations-Updates, und der Versuch, das alles in den extremsten Formen zu bewältigen , kann zu ernsthaften Problemen führen. Aber die rasante Entwicklung ist eine gute Sache, möchte ich hinzufügen. Ich glaube nicht, dass sich die Welt der Softwareentwicklung jemals so schnell bewegt hat wie heute, und das Ende ist noch lange nicht in Sicht, solange nicht mehr als die Hälfte der Weltbevölkerung Zugang zum Internet und seinen grenzenlosen Ressourcen hat. Ich denke, die zunehmende Komplexität ist einfach Teil der Softwareentwicklung. Ich meine, schauen Sie sich Facebook und Twitter an - sie wurden mit diesen einfachen, leicht zugänglichen Tools wie PHP und Ruby on Rails gestartet, was ihnen einen rasanten Start und eine schnelle Anpassung an ihr enormes Wachstum ermöglichte (und wobei erstere verzweifelt an ihrer Entscheidung festhielten, obwohl viele Leute ihnen sagten, sie sollten eine andere Technologie verwenden), aber trotzdem haben sie sich zu einigen der kompliziertesten Softwareprodukte aller Zeiten entwickelt. Das Wichtigste ist, dass Sie das alles in den Griff bekommen, und nicht so sehr die Entscheidung zwischen einem einfachen oder komplizierten Toolset - oder dass alle Ihre Entwickler alles wissen. In ähnlicher Weise geht der aktuelle Trend zu Microservices - wieder zurück zu einfachen, zweckgebundenen Miniaturanwendungen, die nur eine Aufgabe erfüllen, und zwar die richtige. Aber diese werden mit der Zeit nur die nächste Generation von riesigen, komplizierten Softwaresystemen sein. Wie ein Kollege sagte: "Microservices sind nur eine Hipster-SOA ". Wie man so schön sagt: Je mehr sich die Dinge ändern, desto mehr bleiben sie gleich . Der Full-Stack-Entwickler ist nicht tot und wird auch in nächster Zeit nicht verschwinden, er wird nur je nach Zeit einen anderen Namen tragen - J2EE Certified Software Engineer, Full-Stack-Entwickler, multidisziplinärer Experte, T-förmiger Entwickler, Xebian, Chef der Technologie-Evangelisierung oder was auch immer sich die Personal- oder Marketingabteilungen der nahen Zukunft ausdenken werden.
Verfasst von

Freek Wielstra
Freek is an allround developer whose major focus has been on Javascript and large front-end applications for the past couple of years, building web and mobile web applications in Backbone and AngularJS.
Unsere Ideen
Weitere Blogs
Contact
Let’s discuss how we can support your journey.



