Ansichten eines Informatikers

Von der Unfähigkeit zur Digitalisierung

Hadmut
4.9.2023 2:33

Zwei Zuschriften, die gut zueinander passen und sich ergänzen.

Die erste:

Digitalisierung (Schule) ist noch viel schlimmer.

Hallo Hadmut!

Noch eine depremierende Leserzuschrift. Diesmal aus der Schule. Kann gerne veröffentlicht werden.

Es ist noch viel schlimmer. Daran, dass jede Schule sich selbst ihr System zusammenfrickelt, liegt es gar nicht. Fast alle Schulen in meinem Bundesland haben die gleichen Systeme. Das Problem ist der Plural: Systeme.

Ich bin zwar kein Informatiker, habe aber ein bisschen Ahnung und würde mir ein funktionierendes System so vorstellen: Eine Schule betreibt eine zentrale Datenbank, halt so mit SQL Schnittstelle, in der alles erfasst ist, Schülerdaten, Stundenpläne, Kalender, etcpp. Da das an allen Schulen strukturell gleich ist, ließe sich das prima normieren und auch leicht im laufenden Betrieb Schritt für Schritt aufbauen. Und dann könnten da beliebig viele Programme laufen, die jeweils eine einzelne Aufgabe erledigen, und sie würden mit entsprechenden Lese- und Schreibrechten über diese Datenbank kommunizieren. Nach dem alten Unix-Konzept „do one thing and do it right“. Im Sekretariat werden die Schüler an- und abgemeldet, eine KI macht den Stundenplan, und das Handy von Lehrer Schmitt zeigt den persönlichen Terminkalender an.

So läuft es aber nicht. Statt dessen baut alles auf dieser neumodischen Idee der „Apps“ auf. Für jeweils einen begrenzten Anwendungsbereich wird eine monolithische Gesamtlösung bereitgestellt (d.h. gekauft), die man sich dann passend zusammenstellen muss. Wir haben eine für die Schülerdaten, eine für den Stundenplan, eine für die Zeugnisse, eine für die Unterrichtsinhalte, und noch ein paar kleinere. Das absurde daran ist, dass jede davon mit ihrer eigenen Datenbank und Benutzeroberfläche ankommt, und in sich quasi hermetisch abgeschlossen ist. Halt so wie jede einzelne App auf dem Smartphone. So ist dann also jeder Schüler mindestens viermal erfasst, seine Adresse steht in der einen, sein Stundenplan in der zweiten, seine Noten in der dritten, und die aktuellen Hausaufgaben für den Informatikunterricht stehen in der vierten App. Und die teuer bezahlten Entwickler dieser Monolithen haben natürlich auch Lösungen für dieses Problem und bieten Schnittstellen zum Datenabgleich in Form von „Export“ und „Import“ Modulen an. Die sind aber so grottig und unflexibel konzipiert, dass es (wenn man ein bisschen programmieren kann) einfacher ist, sich die Daten von einem Web-Interface runterzuladen, mit einem Python-Skript zu filtern, und in das andere Web-Interface zu copy-pasten.

Ich denke manchmal, ist das vielleicht so, dass heutige Informatiker, oder sagen wir Programmierer, dieses Konzept, dass es Daten gibt, die irgendwo herumliegen, und dass es Programme gibt, die diese verarbeiten, und dass Programme Benutzeroberflächen haben, gar nicht mehr kennen? Dass die auch dieses Laienverständnis haben, dass ein Text in Word gespeichert ist, und Word so ein Fenster auf dem Bildschirm ist? Und dass die dann versuchen, komplexe Systemlösungen als solche Monolithen zu programmieren, die Datenspeicher, Programm und Benutzeroberfläche in einem sind? Fehlt den Programmierern also nicht nur der Zugang zur wirklichen Informatik, sondern scheitert es schon an so einfachen Konzepten wie mehreren Programmen, die unabhängig voneinander auf dieselben Daten zugreifen und unterschiedliche Dinge damit machen? Das stelle ich jedenfalls oft bei Kollegen fest, die all ihr Wissen über Computer aus typischen Word- oder Excel-Fortbildungen haben.

Viele Grüße

Das ist eine gute Frage.

Zu Informatikern muss ich sagen, dass gerade diese Befähigung, standardisierten Datenaustausch zu treiben, das Zeug zueinander kompatible und per API kooperativ zu machen, zu meiner Studienzeit, und zumindest, so weit ich weiß, auch bis heute nicht im Studium vorkommt.

Das lag bei uns damals daran, dass die Informatik noch nicht so weit war oder gerade dabei darin einzutreten, dass aber vor allem die Professoren dafür zu doof waren. Denn das waren ja alles keine Informatiker, sondern Leute anderer Fakultäten, (die dort meist nichts geworden waren), die man einfach zu Informatikern ernannte, weil man eine Informatikfakultät brauchte. Da hatte kein einziger irgendwelche Erfahrung mit größeren Systeme, die meisten nicht mal mit kleinen Systemen. Das waren reine Tafelritter. Beth, bei dem ich war, hätte das Problem nicht verstanden, und wenn, es dann für unter seiner Würde befunden, sich darum zu kümmern, weil man das doch alles faxen kann und sich dann die Sekretärin darum kümmert, das einzugeben.

Dass wir das damals trotzdem schnell gelernt haben, lag an dem schon oft erwähnten Effekt, dass wir weit besser als unsere Professoren waren, weil das alles gerade aus den USA rüberschwappte und wir, die Generation C64, uns mit Wonne und höchster Energie auf dieses neue Internet stürzten und die tollsten Sachen entwickelten, wir also die ersten waren, die diese Problemstellung kennenlernten.

Ich bezweifle, dass ein ausreichend großer Teil der Informatiker heute dazu in der Lage ist.

Das eigentliche Problem dürfte aber sein, dass viele derer, die sowas zusammenfrickeln, eben auch gar keine Informatiker sind.

Die Programme sind nämlich nicht deshalb so klein und abgeschlossen, weil die „Apps“ so in Mode sind, sondern weil das der Programmumfang ist, den so ein ungelernter Semiprofi als Einzelkämpfer im Frickelmodus überschauen kann. Das sind meistens Leute, die die Kooperation im Team und mit anderen Teams nicht kennen, und in deren Erlebniswelt das deshalb auch nicht vorkommt, dass Programme interoperabel sein müssen.

Da hat dann einer ein Idee, vielleicht sogar eine gute, wie man den Stundenplan machen kann, und dann wird das ganze Programm um diese Lösungsmethode herum gestrickt, nicht die Lösung um das Problem herum.

Es ist im Prinzip so, als würde der Arzt nicht die Krankheit heilen, die man hat, sondern die, für die er sich eine (tatsächlich oder vermeintlich) gute Heilmethode ausgedacht hat. Was übrigens durchaus der Realität entspricht, ich habe nämlich bei Ärzten auch immer stärker den Eindruck, dass ich nicht mehr untersucht und diagnostiziert werde, sondern mir etwas aus deren Dienstleistungsportfolio aussuchen kann und soll. Ein im Prinzip ähnliches Syndrom.

Und natürlich häuft man damit dann einen Haufen Mist an, den kein Mensch mehr aufräumen kann, geschweige denn mit vernünftigem Aufwand.

Eine Ursache liegt aber auch darin, dass sich niemand zentral und kompetent darum kümmert. Ich bekomme ja seit Jahren Zuschriften von Lehrern und Eltern, habe ja im Bekanntenkreis auch Schulkinder und kann mich auch an meine Schulzeit noch gut erinnern. Man überlässt das einfach den Schulen selbst, wo man – früher – davon ausging, dass den ganzen Informatikkram eben irgendein Mathe- oder Physiklehrer so nebenbei mit erledigt. Ich will den Lehrern da auch gar keinen Vorwurf machen, die haben ja versucht, zu machen, was sie sich aneignen konnten, und Lösungen zu nehmen, die verfügbar waren. Oft aber kam es eben auch zu Korruption, hat man die Lösung X gekauft, damit das Geld in die gewünschten Taschen wandert.

Letztlich müsste man im Prinzip für alle Schulen – mindestens eines Bundeslandes – eine zentrale, sogenannte „mandantenfähige“ umfassende Lösung im Landesrechenzentrum laufen lassen, um die sich richtig befähigte und zuverlässige Leute kümmern, und dann die Schulen und Lehrer eigentlich nur noch über wartungsfreie oder -arme „Thin Clients“ und meinetwegen „Apps“ anbinden, um den Wartungs- und Administrationsaufwand möglichst klein zu halten und alle Schulen gleich zu betüddeln, die also alle mit der gleichen Software und Benutzeroberfläche arbeiten.

Aber dazu sind die Politiker nicht in der Lage. Wer in den dafür zuständigen Ministerien hätte Ahnung davon?

Zweite Zuschrift:

Zur Hoffnungslosigkeit der Digitalisierung

Sehr geehrter Herr Danisch,

nach meiner Erfahrung liegt das im Schwerpunkt nicht an den unterschiedlichen Anwendungen und unterschiedlichen (lokalen) Stakeholdern. Es sind vielmehr die Unfähigkeiten die Informationsaustauschbeziehungen und die Schnittstellenbeschreibungen, sogenannte Schnittstellenkontrolldokumente, aufzusetzen und mit sinnvollen Inhalten zu befüllen.

Kenne da selber ein paar Projekte, die das nicht hinbekommen haben. Zum Beispiel ist für ein Experiment nicht möglich alle 8 Partner auf einmal technisch einzubinden. Wenn man nun versucht diese dazu bringen ein Szenar[io] für einen Austausch zwischen zwei Partnern mit unterschiedlichen Anwendungssystemen für einen Grundsatz an Schnittstellenbeschreibungen hinzubekommen, dann brächten Sie eher einen Elefanten durch ein Nadelöhr.

Vor über zehn Jahren lief auch mal etwas gegen die Wand, weil man nicht einsehen wollte, das man genügend Strom bräuchte. Die paar Schukosteckdosen im Raum waren einfach zu wenig für die zwei Serverschränke. Informatiker und Energietechnik beißt sich nicht nur manchmal. Wenn die Kühlung des Serverraumes nur 5kW schafft, dann wird es den Servern etwas zu warm, wenn diese 10kW verbrauchen. Man dachte ein Teil der Leistung (Energie) stecke im Rechenergebnis und das ruft man ja extern ab. So wie bei einer LED mit Wirkungsgrad von 30% nur noch 70% als Abwärme abzuführen wären. Die Rechner werden ja vom Wirkungsgrad immer besser.

Mit freundlichen Grüßen

Im Prinzip beschreiben sie beide dasselbe Problem: Die Unfähigkeit zur Kooperation im großen Team, und in der Folge die quantitative, qualitative und thematische Beschränkung und Einengung auf den eigenen Horizont.

Ich hatte das in anderem Zusammenhang schon mal beschrieben, aber um es hier noch einmal aufzugreifen und an das oben Geschriebene über Professoren anzuknüpfen: Unsere Professoren konnten das auch nicht. Lauter Lokalfürsten, die Kooperation nur in Form des Plagiats kannten.

Wir waren die erste Generation, die über Internet und den Opensource-Bereich, vor allem solche Dinge wie Usenet, GNU, Linux, lernte, hochkomplexe Systeme kooperativ zu erstellen, und das so perfektionierte, dass man das mit Leuten auf anderen Kontinenten tat, aus anderen Kulturkreisen, die man nicht kannte, und mit denen man sonst nichts zu tun hatte. Und die es wirklich weit damit trieb, das alles zu dokumentieren und zu standardisieren, es gibt ja inzwischen tausende RFCs, die das Internet und seine Protokolle beschreiben. Ohne diese Fähigkeit zur Kooperation und Schnittstellenbeschreibung wären das Internet, Mail, Web, HTTP niemals möglich gewesen.

Ja, wir konnten das, und wir konnten das sogar sehr gut, und nur deshalb kamen das Internet und all seine tollen Funktionen überhaupt erst zustande. Denn dazu brauchte man die Fähigkeit zur Kooperation und Schnittstellenbeschreibung, und wir haben sie nachweislich auch erbracht.

Die Fähigkeit ist verloren gegangen. Merkt man auch daran, dass niemand mehr etwas formal vollständig und exakt beschreibt, sondern alles nur noch über Beispiele erklärt wird.

Ich merke das selbst, dass es immer schwieriger wird, sich irgendwo noch reinzuarbeiten, weil man immer mehr Zeit aufwenden muss, um irgendwelche Details zu klären, die eben nicht mehr dokumentiert werden. Man sucht danach, ob vielleicht schon mal jemand das Problem googlesuchbar diskutiert hat, etwa auf Reddit. Immer mehr Entscheidungen werden völlig willkürlich getroffen und niemals dokumentiert.

Wir sind inzwischen an dem Punkt, an dem es der aufgetürmte Softwaremurks schwieriger macht, als wenn wir noch gar nichts hätten.

Und die Generation Frauenförderung mit Quereinsteigertum ohne Wissensaneignung mit „Quality is a myth“, wird daran auch nichts ändern können. Man wird es nicht mehr schaffen, das noch wieder geradezubiegen.