Was ist eigentlich ein Full Stack Developer?
In Projekt- und Stellenausschreibungen findet man seit geraumer Zeit immer wieder den Begriff des Full Stack Developers. Solche Entwickler möchte man gerne beschäftigen und daher ist es nützlich, sich zu überlegen, welche Spezies damit eigentlich gemeint ist.
Es handelt sich bei einem Full Stack Developer natürlich um einen IT-Profi, der schon seit längerer Zeit in IT-Projekten tätig ist und am besten schon in allen Phasen der Entwicklung oder – falls der Begriff „Phase“ gerade altmodisch klingt – in allen wesentlichen Disziplinen der Softwareentwicklung und dem Betrieb von IT-Lösungen tätig war. Hierzu gehört die Mitwirkung in der Anforderungsspezifikation, in der Programmierung, in der Qualitätssicherung und auch in der Inbetriebnahme und Wartung. Wenn dazu noch Wissen über die Geschäftslogik, um die es eigentlich geht, vorhanden ist, ist fast alles abgedeckt.
Fast, jedoch geht es noch weiter. Teilt man – wie es Informatiker gerne tun – die Softwarearchitektur eines IT-Systems in Schichten ein, so sollte der Full Stack Developer auch fundierte Erfahrung in allen Schichten mitbringen. Dazu gehören User Interfaces – natürlich mit User Experience – genauso wie die Geschäftslogik und auch die Datenhaltungsschicht. Dass man Full Stack Developer ein umfassendes Modellierungswissen für die Datenmodell- und Objektmodellierung mitbringen muss und am besten gleich noch zusätzliche Erfahrung im Umgang und im Einsatz von NoSQL-Ansätzen ist selbstredend.
Um aber als voller Full Stack Developer zu gelten braucht man auch das Wissen und die Erfahrung, wie man Geschäftslogik am besten realisiert, wie man diese kapselt, etwa in einen Anwendungskern, und wie man Schnittstellen für den Zugriff auf die Geschäftslogik am besten konzipiert und umsetzt. Und man sollte wissen, für welche Zwecke Microservices oder doch eher klassische Anwendungen sinnvoller sind. Das Wissen über komplexe Transaktionssysteme gehört uneingeschränkt auch dazu.
Auch das Technologiewissen sollte bei einem Full Stack Developer sehr deutlich ausgeprägt sein: Gängige Webtechnologien, Standard-GUI-Technologien, aktuelle Middleware-Technologien, Datenbanktechnologien, Programmier- und Skriptsprachen, Entwicklungstechnologien und IDEs, API-Technologien, Built- und Release-Werkzeuge, sowie Modellierungswerkzeuge.
Entwicklungserfahrung in einer Programmiersprache reicht nicht aus, man muss auch alle Raffinessen und Pattern-Realisierungen kennen. Hinzu kommt umfangreiche Erfahrung im Bug-Fixing, im Konfigurations- und Build-Management, im Continuous Integration, im Release-Management, usw.
Damit man wirklich ein echter Full Stack Developer wird, sollte man die entwickelten IT-Systeme auch schon einige Zeit im Betrieb beobachtet und optimiert haben, also in einem Wartungs- und Weiterentwicklungsteam mitgewirkt haben …
Folgerung
Der richtige Full Stack Programmierer ist also eine „eierlegende Wollmilchsau“, mehr als ein Allrounder, weil er die einzelnen Disziplinen auch wirklich effizient bedienen können muss.
Etwas spezialisiertere Unterarten des Full Stack Developers sind übrigens der Full Stack Web Entwickler, der Full Stack Java Entwickler, der Full Stack BI Entwickler, der Full Stack SAP Entwickler oder der Full Stack .NET Entwickler, um nur einige zu nennen. Die erforderliche Technologieerfahrung wird durch die Einschränkung etwas machbarer.
Die reale Welt
Was IT-Projekte aber tatsächlich benötigen, sind nicht die eierlegenden Wollmilchsäue, die es nur in der Theorie gibt, sondern wirklich erfahrene Entwickler, die schon viel erlebt haben und sich auch ständig weiterentwickeln, Entwickler, die schon viele Technologien erprobt und angewendet haben und die sich ständig verbessern wollen, Entwickler, die hervorragende Lösungen mitgestaltet wollen. Entwickler also, die über ein breites IT-Wissen mit ordentlicher Tiefe an den wichtigen Stellen verfügen und IT-Systeme und Projekte einschätzen können. Das sind die eigentlichen Full Stack Entwickler. Bei der iSYS Software GmbH findet man eine ganze Menge davon!
Sprechen Sie uns an!
Wir entwickeln Software und unterstützen in Infrastruktur-Projekten. Unser Leistungsspektrum umfasst die Beratung etwa in Audits und Machbarkeitsanalysen bis hin zur Entwicklung nach Kundenvorgabe in unterschiedlichsten Fachdisziplinen und Technologiewelten. Wir realisieren Applikationen und beraten bei den Basissystemen, auf denen sie aufsetzen. Wir integrieren Software und sorgen dafür, dass alle Systeme zusammenspielen.
Sie möchten eine individuelle Beratung? Dann sprechen Sie uns einfach an, wir beraten Sie gern und bieten dazu auch die operative Umsetzung gleich aus einer Hand mit an. Wir freuen uns von Ihnen zu hören.
Autor
Prof. Dr. Peter Mandl
Geschäftsführer
peter.mandl@isys.de
089 / 462328-0