Was ist ein Full Stack Entwickler?
Wenn man sich auf die Suche nach IT Spezialisten macht, dann kommt der Begriff Full Stack Programmierer nicht selten vor. Im Beitrag mehr Informationen dazu.
Einführung
Wenn man Software entwickelt, dann hat es meistens unterschiedliche Bereiche:
Frontend Entwicklung
Das Frontend ist das was der Nutzer auf dem Bildschirm sieht. Meistens wird hier mit Technologien wie HTML, CSS und JavaScript gearbeitet.
Die Frontend Programmierung wird vereinfacht durch Frameworks wie Bootstrap. Hier gibt es Templates welche man nutzen kann, um schneller arbeiten zu können.
Die Herausforderung heutzutage bei Benutzeroberflächen sind, dass die Webanwendungen auf unterschiedlichsten Bildschirmgrössen aufgerufen werden. Sei es Smartphones der unterschiedlichsten Anbieter (Samsung, Nokia, Sony, etc.), Tablets, Laptops oder grossen LCD Desktop Screens.
Die optimale Darstellung kann man durch ein sogenanntes Responsive Design umsetzen.
Hinzu kommt das es auch unterschiedlichste Browser gibt, wie Google Chrome, Mozilla Firefox oder der Internet Explorer. Alle haben ihre eigenen Anforderungen und Möglichkeiten.
Backend Programmierung
Hier werden Funktionalitäten der Webanwendung mit Skriptsprachen wie PHP oder Programmiersprachen wie Java entwickelt.
Zum Beispiel ein Produktkonfigurator, der unterschiedlichste Produkte miteinander vergleicht und die besten Optionen anzeigt.
Dieser Bereich macht meistens den Hauptaufwand einer Entwicklung aus. Da oftmals komplett neue Funktionalitäten und Module programmiert werden.
Datenbank Erstellung
Die Daten sind in der Datenbank gespeichert und werden dort verwaltet. Hierfür werden unter anderem Technologien wie MySQL, PL/SQL (Oracle Datenbank), MS SQL (Microsoft Datenbank) verwendet. Es gibt aber noch einige andere wichtige Datenbanksysteme in diesem Bereich.
Der Aufwand für die Datenbankentwicklung ist speziell in kleineren bis mittleren Projekten geringer.
Testing
Bevor eine Softwarelösung den Kunden und Nutzern bereitgestellt wird, muss geprüft werden, ob die Softwareanwendung auch das tut, für was die Programmierer es erstellt haben.
Hier werden dann manuelle und automatisierte Tests gemacht, um zum Beispiel zu prüfen wenn man einen Button klickt, alles so funktioniert wie es geplant war.
Was hat das nun alles mit einem Full Stack Entwickler zu tun?
Alles.
Denn die Idee hinter dem Konzept des Full Stack Softwareentwickler ist es, dass dieser alle diese Bereiche abdeckt.
Das Frontend soll er/ sie in HTML/ CSS und JavaScript Technologien codieren.
Das Backend soll er mit komplexen Programmiersprachen programmieren.
Die Datenbank soll er zum Beispiel mit MySQL entwickeln.
Das Ganze soll dieser dann jedoch auch testen, so dass alles funktioniert.
Wie sieht jedoch die Realität aus?
In den meisten Agenturen und IT Dienstleistern sind die Aufgaben in zwei Bereiche aufgeteilt. Frontend Programmierung durch einen Frontend Entwickler, der sich gut in HTML/ CSS auskennt und Backend Entwickler die sich mit PHP oder Programmiersprachen wie Java oder Frameworks wie ASP.NET auskennen.
Bei sehr grossen Firmen kommen dann noch Software Tester hinzu, welche das Testing machen und Datenbank Experten welche die Datenbank entwickeln.
In der Realität sind die meisten Backend Entwickler keine Full Stack Entwickler. Bezeichnen sich jedoch oftmals als solche, um bei entsprechenden Stellenausschreibungen relevant zu bleiben.
Denn die meisten Backen Programmierer können meistens ein wenig HTML und CSS. Und sicherlich auch JavaScript. Ein wenig Testing hat man oftmals auch gemacht und die Datenbank hat man auch programmiert.
Wo ist jedoch die Herausforderung?
Die Herausforderung ist meistens, dass sich die meisten Programmierer meistens auf einen Bereich fokussieren. Entweder auf das Backend oder auf das Frontend. Selten jedoch auf beides.
Das liegt auch daran, dass die meisten Unternehmen nach Spezialisten suchen, die sich in einem dieser Bereiche sehr vertieft auskennen. Um entsprechend tolle Backends, beziehungsweise Frontend zu erstellen.
Erst wenn man den jeweiligen “Full Stack Programmierer” eingestellt hat, wird man merken. “Ok, diese Person ist eher im Backend angesiedelt und kann die rudimentären Dinge im Frontend entwickeln oder zumindest die HTML/ CSS Anpassungen machen”. Oder “Es handelt sich eigentlich um einen Frontend Entwickler der sich in den wichtigsten JavaScript Frameworks auskennt und Basiswissen im Bereich Backend hat”.
Die Frage der Fragen: gibt es solche Experten die alles können?
Es gibt tatsächlich Entwickler die alle Bereiche gut beherrschen. Meistens mit einem Fokus auf einen der Bereiche.
Diese sind dann zum Beispiel das Backend in ASP.NET zu entwickeln und mit einem Frontend Framework ein gutes (aber nicht perfektes) Frontend zu programmieren. Und in den meisten Webprojekten reichen durchschnittliche oder leicht durchschnittliche Frontends mehr als aus.
Wenn der Full Stack Entwickler zudem in kleineren Teams gearbeitet hat, dann ist sich dieser gewohnt auch die Testing Aufgaben zu erledigen. Da es hierfür keine separaten Tester gibt.
Wie kann man also solche Personen finden?
In der Realität beschreiben sich viele Bewerber als Full Stack Developer. Jedoch sind die meisten keine wirklichen Full Stack Spezialisten sondern sind auf einen der Bereiche Backend oder Frontend spezialisiert.
Man müsste im Grunde genommen die jeweilige Person einstellen, um dann die wirklichen Fähigkeiten des Programmierers zu erkennen.
Und in einigen Fällen wird es sich dann sogar bewahrheiten, es handelte sich tatsächlich um einen Full Stack Coder.
Aber das muss nicht immer der Fall sein.
Wie sollte man vorgehen?
Am besten sollte man immer speziell nach Backend Entwicklern, zum Beispiel in PHP, Java, ASP.NET oder ähnlichen Technologien suchen, welche Basiskenntnisse in HTML und CSS haben. Diese reichen oftmals auf, um passende Frontends zu erstellen. Besonders wenn man Frontend Frameworks wie Bootstrap nutzt.
Gleichzeitig können Backend Entwickler oftmals mit JavaScript Frameworks wie Angular oder React umgehen.
Wenn man komplexe Frontends und individuelle Benutzeroberflächen erstellen möchte, sollte man dafür auf separate Frontend Entwickler setzen, welche auf HTML und CSS spezialisiert sind.
Fazit
Viele Personaler, aber auch erfahrene Webexperten suchen nicht selten nach diesen mysteriösen Full Stack Profis.
Und ja, mit Glück lassen sich sogar solche Leute finden. In der Realität sind jedoch nicht selten jeweils nur Freelancer bereit, sich in alle Bereiche einzuarbeiten, da es auf dem freien Markt belohnt wird, alles zu können.
Anders sieht es jedoch bei festangestellten Programmierern aus. Grosse Konzerne belohnen die Spezialisierung, zum Beispiel auf das Backend, und hier wiederum auf eine Technologie wie Java oder ähnliche.
Das bedeutet also auch: Unter Freelancern kann man tatsächlich Full Stack Profis finden. Muss aber dementsprechend viel bezahlen. Und bei festangestellten Mitarbeitern findet man meisten eher Spezialisten in wenigen Bereichen, da diese von Arbeitgebern dementsprechend bevorzugt werden.
Was sind Ihre Erfahrungen?
Interessante Links:
Mehr Informationen was ein Full Stack Developer macht
Aufgaben eines Full Stack Entwicklers
Bilder: Pixabay
Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.
Schreibe einen Kommentar