und das Studium "praxistauglicher" zu machen? Ich lese immer wieder von
Informatikabsolventen, die herumerzählen, dass sie in der Arbeit nicht
das machen, was sie gelernt hätten. Nun, meines Erachtens sind die
einfach nicht fähig, das Gelernte auf die Praxis anzuwenden. Ich erlebe
täglich, wie mir das achso theoretische Wissen weiterhilft. Von einem
Quereinsteiger erwartet man vielleicht, dass er SQL-Statements hacken
kann. Von einem Diplom-Informatiker erwartet man aber, dass er die
SQL-Statements so schreibt, dass diese performant geschrieben werden.
Nicht dank irgendwelche Speziallösungen er DB-Hersteller, sondern
basierend auf theoretischem Wissen. Wer nicht weiß, was ein B-Baum ist
oder gar ein B+-Baum, der wird nicht in der Lage sein, bestimmte
Phänomene zu erklären. Ich bin kürzlich auf ein solches Problem gestoßen
und fand dann, dank meines theoretischen Wissens, auch schnell eine
Lösung. Es ist Grundlagenwissen, was man im zweiten Semester lernt. Aber
leider erfährt es eine Geringschätzung durch die Entscheider, weil die
natürlich auch nicht wissen, was die Informatik eigentlich ist.
"Programmierer" ist für mich fast schon ein Schimpfwort. Ich weiß nichts
über Maschinenbau, würde aber von einem Maschinenbau-Ingenieur erwarten,
dass er nicht herumbastelt, sondern eine ingenieursmäßige Arbeitsweise
an den Tag legt.
Was meint der Leser? Ich finde die Rufe aus der Wirtschaft nur
aberwitzig, weil die Manager gar nicht verstehen, was wir Informatiker
und Ingenieure da eigentlich tun. Natürlich lautet kein Auftrag:
"Installieren Sie beim Kunden B-Bäume" oder "Verwenden Sie B-Bäume".
Natürlich kann man auf bereits entwickelte B-Baum-Datenstrukturen
weiternutzen. Jeder vernünftige Informatiker würde das tun. Aber zu
erkennen, dass man in einem Teil des Systems ein Performanzproblem hat,
braucht man theoretisches Wissen. Wer nie was von B-Bäumen gehört hat,
wird niemals auf den Gedanken kommen, B-Bäume anzuwenden.
Ich muss die ganze Zeit an meine alte Firma in Bayern zurückdenken, wo
man die ganze Zeit "Pragmatismus" gesungen hat, aber nicht erkannt hat,
welche Probleme der "Pragmatismus" uns bereitet und dass eigentlich
meine theoretisches Wissen von der Universität (Ich war einer der
wenigen Universitätsabsolventen.) die Lösung der Probleme war und
letzten Endes dafür sorgte, dass endlich mal ein Projekt in dieser Firma
vernünftig lief. Kurze Projektverzögerungen wurden dann durch Kunde,
Projektleitung und durch eine dritte Partei (Firma, die Ressourcen für
Server bereitstellt.) verursacht. Beispiel gefällig? Das
Client-/Server-System lief naturbedingt langsam, weil Kollegen sich ganz
auf Hibernate-Caching verlassen wollten. Objekte sollten vielleicht
sogar zweimal heruntergeladen werden, wenn sie zweimal gleichzeitig, in
unterschiedlichen Fenstern, angezeigt werden sollten. Die
Implementierung eines fundierten Caching-Systems minimierte die
Server-Zugriffe beträchtlich. Eine zweite Sache war das Laden der
Initialdaten: Erst alle Objekte der Klasse A, dann von B, dann von C...
Hintereinander dauert das lange, aber wenn man drei Threads daraus macht
und an einer Barriere wieder auffängt, dann ist das sehr schnell. An
sowas trauten sich die werten Kollegen nicht dran, weil die auf ihrer FH
gelernt haben: Nebenläufigkeit = teuer und böse. Die Unmündigkeit meiner
Kollegen fand ich erstaunlich. Demnächst kommt eine Generation von
Bachelors auf den Markt, die nicht wissen, was die Landausche O-Notation
ist. Bei uns war das täglich Brot und ist absolut notwendig, um diese
oder jene Verfahren/Algorithmen zu beurteilen. Natürlich auch bei der
Analyse von Fremdsoftware, wie z. B. MySQL oder M$ SQL.