Die Fähigkeiten eines Full-Stack-Webentwicklers

Wenn du diesen Beitrag liest, ist die Wahrscheinlichkeit hoch, dass du dich für den Beruf bzw. die Berufung als Fullstack-Webentwickler interessierst. Wenn ja, dann geht es dir wie mir und ich suche nach einer Art von Roadmap mit der ich alle nötigen Skills erlernen kann. Um ein Fullstack-Webentwickler zu werden, muss man zuerst herausfinden was er oder sie den ganzen Tag so tut. Eine Möglichkeit ist es Stellanauschreibungen zu durchforsten und die Anforderungsprofile zu vergleichen. Ein andere wäre es sich von dem Begriff Fullstack das Anforderungsprofil zu erarbeiten. Die erste Möglichkeit ist bei der Suche nach einer Arbeitsstelle in einer spezifische Region definitiv die bessere, für ein allgemeines Verständnis des Aufgabenspektrums werden wir uns jedoch den Begriff Fullstack vorknöpfen und erforschen.

Inhalte Verbergen

Was ist der Fullstack

Um zu verstehen was der Fullstack ist, springen wir als erstes in den Begriff Software-Stack, welcher die Langform von Stack ist.

Software-Stack

Ein Softwarestack kann im Bereich Webentwicklung als die technische Grundlage für eine laufende Website oder Web-Applikation gesehen werden. Es gibt nicht den einen Stack, sondern Technologiekombinationen, welche der Aufgabe gerecht werden

Bei der Auswahl des richtigen Stacks könnte man sich folgenden Fragen stellen:

Nach dem Beantworten dieser Fragen könnten sich einzigartige Stack herausbilden. Jedoch gibt es im Markt für spezifische Problemstellungen, wie oben erwähnt, etablierte Stacks, welche im Bereich Web genutzt werden und ungefähr so aussehen:

Das Full in Fullstack

Das zuvor aufgelistete Spektrum an Technologien ist wie bereits erwähnt notwendig um eine Applikation zum laufen zu bringen. In den Anfängen der Webentwicklung war es gängig alle Technologien zu beherrschen – also den „Vollen Stack“. Je komplexer eine Applikation jedoch ist, desto sinnvoller ist es Aufgaben zu splitten und so entstanden in größeren Unternehmen Berufsgruppenunterscheidung zwischen Designer, Frontend-Entwickler, Backend-Entwickler, DevOps (Development/Operations) und Datenbankspezialisten. An den Stellenausschreibungen kann man jedoch erkennen, dass es zwar in den Bezeichnungen der Stellenausschreibungen sehr präzise zugehen kann, jedoch findet man zwischen den einzelnen „Gilden“ Überschneidungen in den Technologien.
Ich bin mir gar nicht sicher ob der Begriff des „Halfstack“ überhaupt existiert, um so sicherer bin ich mir bei den Begriffen „Frontend“ & „Backend“. Der Frontend-Entwickler befasst sich mit den Technologien der Client-Seite, bei Webapps in der Regel mit der des Webbrowsers, HTML, CSS, JavaScript und den verfügbaren Frontend-Frameworks. Der Backend-Entwickler hat seine Kompetenzen auf der Serverseite, die das Betriebssystem, den Webserver, die Datenbank(en), die serverseitigen Programmiersprachen und ihre Frameworks beinhaltet.
Wirft man einen Blick auf kleine und mittelständige Unternehmen wie Start-Ups und Freiberufler so ist der Fullstack-Entwickler immer noch präsent und gefragt. Dieser beherrscht beide Welten – das Front- und Backend.

Die gängigen Stacks

Stacks können je nach Problemstellung und Vorlieben unterschiedlich sein. Bekannte Backend-Stacks sind z. B.:

Bei den letzte zwei Stacks, die um einiges jünger sind als der LAMP-Stack, wird kein Betriebssystem erwähnt, weil viele gängige Stacks mittlerweile auf allen Betriebssystemen laufen.
Ein nicht neuer jedoch andauernder Trend ist es mit Webtechnologien native Applikationen zu bauen. Das Framework React z. B. kann mit React Native für die Entwicklung von iOS- & Android Apps sowie mit Electron für die Entwicklung von Desktopapplikationen (Linux, macOS und Windows) genutzt werden.

Welche Fähigkeiten muss man als Fullstack-Entwickler also beherrschen

Ein Fullstack-Entwickler ist eine Person, welche in den Frontend- und Backend-Welten zuhause ist und und sich folgende Fähigkeiten hat:

Frontend

Backend

DevOps

Auf den Dev-Ops-Bereich selbst bin ich oben nicht direkt eingegangen, je nach dem auf welchem Niveau man mit Webapplikationen zu tun hat, desto eher wir man auch mit den folgenden Themen konfrontiert:

Projektmanagment

Auch der Bereich des Projektmanagements, wurde bis jetzt nicht angeschnitten, jedoch ist dieser sowohl für Selbständige, die auch als Projektmanager auftreten, oder auch im Unternehmen wenn im Team an einem Projekt gearbeitet wird, unumgänglich. Hierbei stechen zwei Elemente besonders hervor:

Zusammenfassung

Es ist nicht übertrieben, wann ich behaupte, dass ein Full-Stack-Webentwickler ein Generalist sein muss, um eine ganze Website oder -applikation auf die Beine zu stellen. Jedoch darf man sich ihn nicht als Experte in allen Bereichen vorstellen. Sondern eher der effizient mit den zur Verfügung stehenden Tools aus dem Bereichen Frontend-, Backend-, DevOps und Projektmanagement eine effiziente und lauffähige Lösung bereitstellt. Eine der wichtigsten persönlichen Eigenschaften sollten neben den Hardskills auf die Softskills sein, die es ihm ermöglichen mit der nicht-technischen Seite zu kommunizieren um eine passgenaue Lösung zu liefern. Das sich Technologien in allen oben genannten Bereichen kontinuierlich verändern sollte er zudem die Bereitschaft zum kontinuierlichen Lernen mitbringen.
Und somit, sage ich nur viel Spaß und Erfolg beim Erwerben der Fähigkeiten.

LG Andy 🤞