Fullstack Entwicklung
Wenn man Stellenbeschreibungen aller Art in der Software-Entwicklung durchschaut, sind diese häufig gefüllt mit Anfragen nach Fullstack-Entwicklern. Meistens folgt dann noch eine Detaillierung der Stellen inklusive der verwendeten Technologien. Doch was zeichnet eigentlich einen Fullstack-Entwickler aus?Ein Fullstack-Entwickler ist jemand, der das notwendige Skillset mitbringt, um sowohl Backend, Frontend als auch idealerweise Mobile-Code zu schreiben. Häufig wird auch angenommen, dass er ergänzend Erfahrungen im Bereich des Software-Testings mitbringt.
Vorteile von "Fullstack"
- Flexibel einsetzbar Fullstack-Entwickler bringen ein grosses Skillset mit, dass ihnen ermöglicht, diverse Aufgaben innerhalb eines Teams wahrzunehmen.
- Kleine Projekte im "Alleingang" Fullstack ist speziell gut geeignet, kleinere Projekte (Microservices, MVPs oder Prototypes) effizient umzusetzen. Speziell der vermehrte Einsatz von Microservices dürfte ein Grund sein, warum Fullstack-Entwickler so beliebt sind.
Nachteile von Fullstack
- Effizienzverlust durch Context-Switches Da in der Fullstack Entwicklung häufig mit verschiedenen Frameworks und Sprachen gleichzeitig gearbeitet wird (jeweils getrennt für Backend, Frontend und eventuell Mobile -- all das noch kombiniert mit Testing), muss häufig zwischen Technologien hin- und her geschaltet werden. Zusätzlich braucht es meistens noch Interfaces zwischen Backend und Frontend/Mobile -- welche ebenfalls auch durch die gleichen Leute entwickelt werden und bei denen man sich mit wichtigen Fragen rund um die Sicherheit auseinandersetzen muss. Dies entspricht der Erledigung von mehreren Tasks gleichzeitig, was erwiesenermassen nicht effizient ist.
- Grosser Aufwand, um Ausbildungsstand aufrecht erhalten Meist ist es schwierig, mit mehreren Trends mitzuhalten. Während im Backend zur Zeit der Trend Richtung Microservices und Containers geht, muss man sich im Frontend immer noch mit 3-4 Frameworks auseinandersetzen, die ganz unterschiedliche Wege gehen und bei denen noch kein klarer Trend erkennbar ist. Der notwendige Aufwand überall mitzuhalten ist dabei riesig und muss berücksichtigt werden.
Alternativen zu Fullstack
Es gibt einen Trend "zurück" zu weniger Komplexität. Bekanntester Vertreter dieser Idee dürfte das Phoenix Framework mit LiveViews sein, welches auch in der Beliebtheit von Entwicklern weit oben steht, ist es doch im Stackoverflow Developer Survey 2022 auf Rang 1 der Beliebtheitsskala gelandet. Dabei schreibt man den Code wieder komplett in der Backend-Technologie und das Frontend aktualisiert sich wie von selbst. Die Technologie dahinter sind Websockets, die dem Frontend jeweils mitteilen, welcher Teil der Seite sich geändert hat (ähnlich dem Ansatz, welchen das React-Framework im Frontend verfolgt, aber eben auch für die Kommunikation zwischen Back- und Frontend). Dadurch ist das Frontend immer automatisch aktuell und abgeglichen mit dem Backend und fühlt sich für den Endnutzer wie eine moderne Webapplikation an. Es bleibt abzuwarten, ob andere Backend-Technologien ähnliche Modelle entwickeln werden und dadurch für die Entwickler wieder eine Entlastung in Sachen Komplexität stattfinden könnte.Wir von INTEGRATE Informatik AG helfen Ihnen gerne, die für Sie optimale Lösung zu finden, sei das ein Entwickler oder ein neues Framework.
Quellen
* Mike Cohn, The Dark Side of Multitasking: https://www.mountaingoatsoftware.com/articles/the-dark-side-of-multitasking
Rico Metzger, Senior Software Entwickler, INTEGRATE Informatik AG