Der Herr Köhntopp hat wieder einmal einen Blogpost geschrieben, der mir direkt aus der Seele spricht. Ich kann das ganze mehr oder weniger Voll und Ganz unterschreiben, möchte vielleicht lediglich etwas ergänzen.
Ich habe ja das Gefühl, viele Universitäten – also die Theorie-Institutionen und Nachwuchs-Produzierer – haben einen gravierenden Fehler (zumindest in meinem Fachbereich der Informatik). Es wird zu oft von zu schlechten Unis zu viel für vermeintliche Wissenschaft gemacht sowie Theorie erlernt die in der Realität weit daneben ist.
Was mir fehlt ist der Blick auf die tägliche “Drecksarbeit” die man als Software-Entwickler nunmal zu tun hat. Die Welt ist Schmutzig und so ist deren Modell. Schön Java entwickeln und dabei alles “from scratch” programmieren ist zum Erlernen des Handwerks dienlich. Nur hilft mir das Ganze nichts ohne entsprechende Refactoring-Kenntnisse.
Fachhochschulen haben hier aus meiner Sicht einen kleinen Vorteil. Aus eigener Erfahrung arbeite ich seit dem ersten Semester (und eigentlich bereits davor) in der Branche und lerne sozusagen, dass jegliche Theorie in der Praxis oft anders aussieht und man die schönsten Entwurfsmuster oftmals nicht anwenden kann. Eine ausgiebige Verknüpfung von Praxis an der FH mit dem Beruf nebenher führt zu einem bereits nach Ende des Studiums mit vielen Wassern gewaschenen Absolventen. Ich persönlich habe durch Auslandssemester, Praktikum, Selbständigkeit sowie Nebenjob sehr vieles bereits während meines Studiums an der FH erlebt und habe für diese kurze Zeit auch einiges aus der realen Welt kennengelernt. Ich glaube nicht, dass ich an einer Uni ähnlich viel Erfahrung sammeln hätte können.
Den Code den ich täglich sehe ist grausam. Das meiste davon ist von mir aus früheren Tagen. Da hatte man a) das technische Know-How nicht, b) fehlten Anfangs die “richtigen” Requirements und c) war vielleicht das Umfeld (zB Programmiersprache) noch nicht so weit entwickelt wie heute. Einzig und allein der Wille, diesen Code bei jedem drüberstolpern kontinuierlich zu verbessern ist mehr oder weniger mein Job. Die Probleme der Product-Owner sind meist bereits gelöst. Nur nicht in unserer Codebase. Das Zusammenführen von bestehenden Lösungen mit bereits besehenden Code ist mehr oder minder mein Job. Und ich mache es dennoch gerne.