Kurskonzept Fullstack Entwickler

Vorbemerkung

Entwicklerinnen und Entwickler, die Sofware für Webanwendungen schreiben können, sind gefragte Fachkräfte. Das gilt auch für Server Administratoren, Datenbankdesigner und Oberflächengestalter. Wer *alle* diese Fähigkeiten vereint, ist selbstverständlich noch mehr gefragt als diese Spezialisten.

Allerdings bedeutet Spezialisierung auch, dass jemand ein bestimmtes Thema ganz besonders tiefschürfend beherrscht und wer alles können will, wird nicht den gleichen Grad von Kompetenz entwickeln können, wie ein Spezialist auf seinem oder ihrem Gebiet. Und so haben die Fullstack Generalisten einerseits den Ruf, sich in Wirklichkeit auch nur in wenigen Aspekten des ganzen Softwarestapels(Stack) wirklich auszukennen, andererseits gelten sie als "Weiße Wale": mythische Alleskönner, die jedes Problem lösen können, die aber leider nur in der Fantasie von Personalchefs existieren.

Der Kurs hat das Ziel, IT Fachkräfte mit dem vielfältigen Wissen auszustatten, das für einen Arbeitsplatz als Fullstack Generalist erforderlich ist. Der Kurs bietet eine Übersicht über die verschiedenen Kompetenzen, die Unternehmen von Fullstack Entwicklern erwarten. Dabei zeigt er eine Strategie auf, mit der die Teilnehmenden vermeiden, sich in der Vielfalt der in der Webentwicklung aktuellen Technologien zu verzetteln. Das Ziel der Entwicklung der Kompetenz Fullstack ist weder ein Fabelwesen, das *alles* weiss und kann, noch ein Programmierer oder Administrator, der sich nur Fullstack nennt, ohne wirklich alle notwendigen Aspekte einer modernen Webanwendung verstanden zu haben.

Erreicht wird dieses Ziel durch eine Konzentration auf praktische Fragen der am weitesten verbreiteten Plattform für Webanwendungen: dem LAMP System aus dem Betriebsystem Linux, dem Webserver Apache, der SQL Datenbank MariaDB/MySQL und der Programmiersprache PHP. Darüber hinaus geht es auch um den produktiven Umgang mit den Frontend Techniken HTML5, CSS3 und Java Script.

Aus langjähriger Erfahrung als alleinverantwortlicher Programmierer und Administrator von Webanwendungen und als Dozent für Linux und Programmierung weiss ich, dass all diese Techniken sich erst im Vergleich mit verfügbaren Alternativen wirklich erschließen. So lernen die Teilnehmenden im Kurs parallel zu LAMP auch andere, ähnliche Techniken kennen. Unter anderem Webserver auf Basis von Java(Tomcat), Python(Pyramid) und Java Script(node.js). Neben den dazu benötigten Programmiersprachen werden auch alternative Datenbankkonzepte wie NoSQL, KeyValue Stores und XML-Basierte Datenbanken betrachtet und erklärt.

Der Kurs besteht aus 3 Modulen, die bei entsprechenden Vorkenntnissen auch einzeln absolviert werden können. Für alle 3 Module werden wenigstens 120 Unterrichtseinheiten benötigt, wobei der Linuxbasierte LAMP Stack wenigstens 60 UE Zeit(idealerweise innerhalb zwei Wochen) braucht.

1.:LAMP

terminal in Linux

2.:Eigene Anwendungen auf Datenbankbasis

Maria DB monitor

2.1.:Nextcloud installieren und administrieren

Nextcloud

Das LAMP basierte Nextcloud System bietet eine leicht bedienbare, zuverlässige und sichere Cloudspeicher Lösung.

Dateien lassen sich online speichern und mit Verzeichnissen auf Nutzerrechnern synchronisieren. Im Webbrowser, in Desktopanwendungen und in Apps für Mobilgeräte können Dateien verwaltet, eingesehen, mit anderen geteilt und auch bearbeitet werden. Die Apps erledigen dabei auch das automatische Synchronisieren im Hintergrund.

Nextcloud wird von vielen internationalen Privatnutzern, Firmen und Institutionen verwendet, seit 2018 auch von der deutschen Bundesregierung.

3:Alternative Systeme

pyramid framework

Das Kurskonzept soll vor allem ein Curriculum vorschlagen, viele sinnvolle Modifikationen sind denkbar, einzelne Module lassen sich zu ausführlicheren Seminaren ausbauen. Für Nachfragen per Email stehe ich gern zur Verfügung: zettberlinthe symbollinuxuse.de