In eigener Sache

Ich komme von der harten Programmierfront und stehe jeden Tag bis zum Hals im Code! Ihr fragt euch nun, warum schreibt er eine FAQ? Er sollte doch wissen, dass eine FAQ nie von denen gelesen wird, die es wirklich nötig hätten. Man segiert lieber den Programmierer selbst, als einmal in ein Dokument zu schauen und die Lösung selbstständig zu finden.
Selbstverständlich ist mir dies (leidlich und alltäglich) bekannt! Aber die Hoffnung stirbt zuletzt…

Warum eigentlich Coding-Horror.de?
Während meines Studiums (technische Informatik) habe ich mich ziemlich für Softwareentwicklung interessiert und habe meinen Schwerpunkt dorthin verlagert. Ich besuchte alle angebotenen Vorlesungen über Programmierung bzw. Softwareentwicklung und beschäftigte mich auch privat sehr intensiv mit diesem Thema. In meiner Laufbahn habe ich mehrere Projekte in C/C++, Java, PHP, Perl, diversen Assemblern und nun C#.NET auf verschiedenen Plattformen (Windows, Linux, VxWorks, BSD) umgesetzt. Ich beschäftigte mich mit Pascal, Prolog, Lisp, Basic, Shellscripte und mit esoterischen Programmiersprachen (wie z.B. BrainFuck) . Auch MatLab und Mathematica-Scripting sind mir nicht fremd. Kurz gesagt, ich konsumierte alles, was irgendwie etwas mit Programmierung zu tun hatte. Ich entwickelte eine Vorstellung von Softwarentwicklung, wie sie immer wieder propagiert wird und stattfinden sollte. Also erstmal eine Systemanalyse, dann einen Entwurf/Design gefolgt von einer wiederverwendbaren Implementation usw. usf. Dokumentation des Programms und Kommentierung des Quellcodes versteht sich von selbst. Mit diesem Wissen und meinem (akademischen) Weltbild über die Softwareentwicklung betrachtete ich (mit ein wenig Ehrfurcht) große Softwareprojekte von Weltkonzernen. Für mich war es wie eine heilige Kuh… Etwas unsagbar Volkommenes…

Doch dann kam der Tag an dem ich mein Studium abschloss und in die weite Welt entlassen wurde. Ich fühlte mich sicher und allen kommenden Herausforderungen gewachsen. Ich hatte ja schließlich mein Säckchen mit Rüstzeug über die Jahre sorgfältig für diese Reise gepackt. Dies war eine groteske Selbstüberschätzung und der Beginn jener Zeit, die die Grenze meiner Leidensfähigkeit täglich in die Richtung eines ”irreversiblen Amoklaufs” verschiebt…

Warum? Derzeit bin ich bei einem dieser (früher so angehimmelten) Weltkonzerne tätig. Von heute auf Morgen wurde meine heilige Kuh geschlachtet und stinkt nun vor Verwesung gen Himmel.  Am Anfang bemisst man vielerlei Dingen keine Bedeutung bei. Man stempelt sie als Ausrutscher ab oder sucht andere Gründe um sein Weltbild nicht zu zerstören.

Jetzt bin ich jedoch zwei Jahre an der knallharten Programmierfront und sehe mich täglich mit Dingen konfrontiert, wo mir der Verstand stehen bleibt. Als mein Weltbild wie ein Kartenhaus zusammenbrach, wurde mir klar: Du kannst nicht schweigen!

Mit diesem Blog möchte ich meinen Beitrag dazu leisten, das angehende Softwareentwickler nicht in eine Welt entlassen werden, in der Sie erst schmerzvoll erfahren müssen, dass nichtmal früher alles besser war. Außerdem hoffe ich, dass ich durch niederschreiben dieser enervierenden Dinge nicht dem Wahnsinn anheim falle.

Warum nennst Du Dich Entwicklungshelfer?
Ureigentlichst habe ich technische Informatik studiert und mit dem Titel des Dipl.-Ing. abgeschlossen. Wenn dann mal die Frage aufkam, was ich denn beruflich machen würde, war die Antwort “Diplom Ingenieur der technischen Informatik” nicht dazu geeignet die Frage gewinnbringend zu beantworten. Ich erntete nur noch mehr fragendere Blicke.  Deshalb hatte ich mir damals angewöhnt die Frage “Was machst Du beruflich?” mit “Ich bin Softwareentwickler!” zu beantworten. Im Grunde sollte dies auch meine Tätigkeiten genügend beschreiben. Jetzt bin ich aber mehrere Jahre in diesem Beruf tätig und es will mir nicht mehr gelingen mich damit zu identifizieren. Ich empfinde “Entwicklungshelfer” auf den beruflichen Alltag wirklich treffender.

Warum? Was macht das Berufsbild eines Entwicklungshelfers aus? Er treibt sich in Krisengebieten rum, erlebt das Leid der Bevölkerung hautnah, hat meist nur prähistorische Technik und keine Geldmittel zur Verfüng um dies zu verbessern. Er opfert sich bis zum Rande der Erschöpfung auf. Die Regierungen sind selten eine Unterstützung manchmal sogar auch das Problem an sich.

Was mache ich? Seit mehreren Jahren mache ich fast nur Fehlerbehebung und nun Portierung von C/C++ Code in die neue C#.NET Welt. Ich bin also stets in den Krisengebieten der Software tätig. Um meine Arbeiten zu erledigen stehen oft nur veralterte Technik/Software zur Verfügung oder es werden Tools massiv Zweckentfremdet (z.B. Excel). Geldmittel gibts auch nicht um die Entwicklerteams (auf die nötige Größe) zu bringen was dazu führt, das wir oft aufopferungsvoll unsere Dienste leisten (müssen). Das Management ist selten eine Hilfe und ständig ein Problem.

Denkst Du, Du bist ein besserer Mensch?
Ja! Aber nicht mehr als andere auch. Ich meine besser zu wissen, wann andere im Straßenverkehr zu blinken haben und schüttel entsetzt den Kopf, wenn ein Gesunder auf einem Behindertenparkplatz parkt. Weiß genau dass das Kläffen eines Hundes nur auf die unfähige Erziehung des Halters zurückzuführen ist und habe auch die aktuelle Gesetzgebung im Kopf um entscheiden zu können, wann der Nachbar (auch wenn es keine Geräuschentwicklung nachsich zieht) den Rasen zu mähen hat bzw. darf! Wenn ich wirklich ein besserer Mensch sein wollen würde, würde ich mich dafür entscheiden Vegan zu leben. Dann könnte ich jeden Tag die böse Welt anprangern.

Kurz gesagt: Ich bin auch nur ein Mensch. Ich mache Fehler und das sollte auch jedem gestattet sein. Aber ich verlange nur ein wenig Rücksicht und ein Gefühl für die Dinge die man tut. Ich bin ja ein Verfechter dafür, das es in der deutschen Sprache ein “geläufiges” Wort geben sollte, was das Denken vor einer Tätigkeit beschreibt. Wie z.B. “Vordenken”. Denn alle denken nur nach. Doch dann ist es zu spät. Tägliche Aussagen wie: “Ja, ich mach das erstmal so und dann sehen wir weiter…” können mich zur Weißglut bringen. Ich würde mir wünschen, das Mehrere sich vorher mal Gedanken machen würden. Außerdem wäre es wünschenswert, wenn jemand eine Änderung vornimmt, sich den “Kontext” nochmal anzusehen und diesen eventuell auch an die neuen Gegebenheiten anzupassen. Wünschenswert wäre auch ein spielerischer Umgang mit Neuem. Leider haben die meisten Softwareentwickler “Panik” vor neuen Dingen…

Verlange ich denn so Unmögliches?