Im Mai 2019 habe ich wieder einmal das MobileCamp in Dresden besucht. Es wurde wieder intensiv über aktuelle Herausforderungen bei der Web- und Appentwicklung diskutiert. Ein Diskussionsgegenstand war dabei die Problematik, die passende Technologie zu finden, d.h. die passende Programmiersprache und ein geeignetes Framework. Markus Falk hat in diesem Zusammenhang eine Übersicht über mobile Frameworks zusammengestellt, die nach der Zielplattform und der verwendeten Programmiersprache gefiltert werden kann.
Die Vielzahl an verfügbaren Technologien kann für den Entwickler auf dem heutigen Arbeitsmarkt durchaus zur Herausforderung werden. Wer einen neuen Arbeitgeber sucht oder den Jobwechsel plant, kann sich nicht allein auf den Ausbildungs- oder Hochschulabschluss stützen, der vielleicht schon vor etlichen Jahren erworben wurde. Es werden vielmehr anwendbare Kenntnisse in den aktuellen Programmier-Frameworks verlangt. Auch in einem festen Arbeitsverhältnis wird der Entwickler möglicherweise aufgefordert, aktuelle Technologien zur Problemlösung heranzuziehen. Jeder Entwickler ist daher zur lebenslangen Weiterbildung und zum Selbststudium verpflichtet.
Mit dieser Tatsache müssen sich nicht nur die Entwickler in ihrem Arbeitsleben abfinden, auch die Gestaltung der Ausbildung oder des (Fach-)hochschulstudiums im Bereich der Informatik muss darauf ausgelegt sein. Es gilt dabei, eine Brücke zu schlagen zwischen der praktischen Vermittlung der neuesten Technologien, sozusagen als "Startpaket" in das Berufsleben, und der Vermittlung der zugrunde liegenden Mechanismen, der theoretischen Grundlagen. Besonders an der Hochschule muss immer der Anspruch gelten, dass die Absolventen z.B. in der Lage sind, ihr eigenes Framework zu schreiben.
Theoretische und praktische Bestandteile eines Informatikstudiums
Bei uns an der Hochschule Zittau/Görlitz umfasst das Informatik-Studium eine fundierte theoretische Ausbildung. Dazu gehört u.a. die Thematik Compilerbau. Viele Frameworks (z.B. React) enthalten einen Compiler, der den Code des Entwicklers in die zugrunde liegende Basis-Sprache (z.B. Javascript) übersetzt. Erst mit den Kenntnissen, wie die Frameworks hinter den Kulissen funktionieren, kann der Entwickler maßgeschneiderte Lösungen für die Probleme des Unternehmens aufbauen. Ein Entwickler ist auch ein Ingenieur: er muss seine Werkzeuge nicht nur benutzen, sondern auch verstehen und bei Bedarf modifizieren oder neue Werkzeuge erfinden.
Im praktischen Teil des Informatik-Studiums an der Hochschule Zittau/Görlitz arbeiten die Studenten im Team an realistischen Software-Entwicklungsprojekten. Dabei lernen sie den dynamischen Software-Entwicklungsprozess mit den Bestandteilen Anforderungsanalyse, Entwurf, Entwicklung und Test kennen. Für die Entwicklungsphase werden Grundlagen in den in der Industrie weit verbreiteten Programmiersprachen und Frameworks gelegt (z.B. Javascript, Angular für Frontends von Webapplikationen). Bei der Wahl des Frameworks für ein konkretes Projekt wird den Studenten der größtmögliche Freiraum gelassen. Damit versetzen wir die Studenten von Anfang an in die Situation, dass ein Teil des Wissens nicht frontal vom Dozenten vermittelt wird, sondern im Selbststudium durch das Lesen der relevanten Dokumentationen erarbeitet werden muss.
Unterstütztes Selbststudium
Die Aufgabe der Informatik-Lehre an der Fachhochschule besteht immer mehr darin, nicht nur zu zeigen, was gelernt werden muss, sondern zu zeigen, wie man lebenslang lernt und sich effizient in neue Technologien einarbeitet. Wichtige Punkte sind dabei:
- Zielgerichtetes Filtern von Informationen aus den Dokumentationen der relevanten Frameworks.
- Anpassung und zunutze machen von Code-Bausteinen und Code-Beispielen.
- Insgesamt die Fähigkeit, mit einer unbekannten Technologie in kurzer Zeit brauchbare Ergebnisse zu erzielen.
Dieses "unterstützte Selbststudium" wird noch nicht überall in der Informatikausbildung an Hochschulen und Universitäten praktiziert. An vielen Hochschulen weltweit werden praxisrelevante Programmiersprachen und Frameworks, wie z.B. Javascript, kaum oder überhaupt nicht in den Unterricht integriert. Die Studenten müssen sich diese Kenntnisse eigenverantwortlich und unabhängig vom Studium im Selbststudium erarbeiten.
Individuelle Spezialisierung, eigenes Portfolio
Es steht nicht in Frage, dass Freiräume gewährt werden müssen, um die eigenständige Weiterbildung der Studenten zu fördern. Diese Freiräume bringen es dann auch mit sich, dass jeder Student in gewisser Weise seine spezielle fachliche Ausrichtung im Bereich der Informatik selbst bestimmt. Möglicherweise entwickelt sich ein Student bereits im Studium zu einem Experten für iOS-Entwicklung und wird sich später auf entsprechende Stellenangebote beschränken. Auch diese Entwicklung sollte von den Dozenten beobachtet, ggf. unterstützt oder gesteuert werden.
Die Studenten sollten in diesem Zusammenhang auch dazu angeregt werden, ihr eigenes Portfolio aufzubauen. Beispielsweise können die Software-Projekte und Belegarbeiten aus dem Studium auf einer eigenen Webseite präsentiert werden. Da es sich um individuelle, kreative Ergebnisse handelt, kann der Student damit bereits seine individuellen Stärken vermarkten. Diese individuelle Selbstvermarktung wird sowieso immer wichtiger, da wie oben bereits erwähnt, nicht nur der Abschluss an sich, sondern die Praxiserfahrung und die Kenntnis spezieller Technologien beim Arbeitgeber zählen.
Neue Ausbildungsmodelle für lebenslanges Lernen
Mit der fortschreitenden Digitalisierung wachsen immer weitere Bereiche der Informatik heran, die spezielle Fachkenntnisse verlangen bzw. für die spezielle Frameworks vorliegen, die erlernt werden müssen: maschinelles Lernen, Big Data, Internet of Things, Virtual Reality usw.. Mir stellt sich die Frage, ob das Konzept einer mehrjährigen Ausbildung, die nur am Anfang einer Karriere stattfindet, überhaupt zukunftssicher ist. Sollten Hochschulen und Universitäten nicht in Zukunft noch mehr Ausbildungsangebote bereitstellen, die berufsbegleitend und in jeder Lebensphase genutzt werden können? Damit unsere Gesellschaft wettbewerbsfähig bleibt, wird es immer wichtiger, die Ausbildungsangebote flexibler auf die Bedürfnisse individueller Gruppen (z.B. Schüler, Berufstätige, Umsteiger, Freiberufler) abzustimmen.
Vielleicht ist es nicht mehr zeitgemäß, den Menschen ab einem bestimmten Alter oder Status den Zugang zur Hochschulbildung zu erschweren. Berufstätige, Absolventen oder andere Personen sollten auch im späteren Leben von dem Niveau einer Hochschullehre im Rahmen von spezialisierten, zeitlich begrenzten Kursangeboten profitieren können.
Einen Seiteneffekt von flexiblen, passgenauen Bildungsangeboten konnte ich bereits selbst beobachten: Die Hochschulen erhalten motivierte und lernbereite Teilnehmer an den Lehrveranstaltungen. Das "Schwänzen" von Lehrveranstaltungen erübrigt sich, da die Teilnehmer die Angebote genau zu diesem Zeitpunkt für ihre Karriere benötigen. Diesen Effekt konnte ich bereits beobachten, als ich meinen Webentwicklungskurs nicht nur für Informatik-Studenten, sondern als freiwilligen Kurs auch für Studenten aus anderen Fakultäten (z.B. Tourismus, Gesundheitsmanagement) geöffnet habe. Es gab viele "fachfremde" Kursteilnehmer, die Kenntnisse in der Webentwicklung für sich nutzbar machen wollten und hochkonzentriert den ganzen Kurs absolviert haben. Es ist immer noch schwer, Studenten für das Fach "Informatik" zu gewinnen. Allerdings werden Bildungsangebote zu bestimmten, aktuellen Themen der Informatik immer stärker von Nicht-Informatikern und Quereinsteigern - während und nach der Ausbildung - nachgefragt. Auch dieser Entwicklung sollten wir uns öffnen.