Nichts geht mehr? Ihr könnt die Termine nicht einhalten? Ihr könnt ein Problem nicht lösen? Der
Kunde droht mit Vertragsstrafen?
Wir suchen Probleme, die Andere nicht lösen können!
[ANO]: Ich mache jeden Job. Diesmal hat mein Kunde ein Online-Spiel, welches so einige Bugs hat. Leider ist der Quellcode komprimiert und praktisch verschlüsselt. Es gibt keine gesetzten Leerzeichen mehr und die Funktions- und Objekt-Namen heißen "s9sfdnw2" o.ä. Der Code ist so harmonisch aufgebaut wie Assembler und besteht aus etwa 150 Dateien. Ich versuche mir also zunächst jede Datei einzuprägen und Ähnlichkeiten herauszufinden. So bekomme ich langsam ein Gespür für die Abläufe des Programms. Durch Suchen und Ersetzen programmiere ich das Programm um, damit ich keine Fehler mache. Nach 5 Tagen habe ich jeden Fehler entfernt. Und der Kunde ist zufrieden. Nach zwei Jahren erzählt mir der Kunde, dass Sie keinen Entwickler finden konnten, der weitere Features implementieren konnte.
[CA]: Warum soll ich lernen, mit einem Debugger umzugehen, wenn es auch anders geht? Wenn man vielleicht sogar deutlich effizienter ist ohne? Wo ist mein Trick? Wenn ich mich in ein Programm einarbeite, schaue ich mir jede der 500-1000 Datein ganz genau an. Ich versuche mir vorzustellen, wie alles funktioniert. Ich gehe die Schleifen im Kopf durch und merke mir jede Verschachtelung. Wenn es dann zu einem Fehler kommt, gehe ich das Programm in Gedanken noch mal durch und stelle mir verschiedene Szenarien im Kopf vor. Durch diesen rein denkerischen Vorgang werde ich immer besser. Ich bekomme eine Intuition für das Problemlösen. Dann erstelle ich das passende Werkzeug, damit ich meine Vermutung überprüfen kann. Warum soll ich mit dem Debugger lange im Code rumstochern, wenn ich mich unmittelbar durch reines Denken mit dem wesentlichen Problem befassen kann? Das Lernen dieser Debugging-Technik ist für mich Zeitverschwendung, da ich es auch anders kann.
[INIT]: Endlich mal ein spannender Auftrag! Ich habe einen Kunden gefunden, der total hilflos ist. Der Kunde hat eine sehr große Datei mit allen Daten des Kunden. Allein das Öffnen der Datei ist schon schwer. Die meisten Programme stürzen sofort beim Aufruf dieser Datei ab. Wie sich herausstellt, ist dies eine 20 GB große XML-Datei. Es ist ein baumartig aufgebauter Dump einer objektorientierten Datenbank. Eine Anleitung gibt es nicht vom Kunden. Keine Informationen über die Struktur der Datenbank. Es gibt keine wirkliche Objekt- oder Tabellenbeschreibung, da die Namen in den Spalten in einer Extra-Struktur abgelegt wurden. Es gibt keine Informationen darüber, wie die Daten verknüpft sind. Jeder einzelne Datenbankwert ist ein einzelnes Objekt. Stück für Stück baue ich mir Werkzeuge zur Analyse der Daten. Über 2 Wochen lang bin ich am Grübeln und arbeite mich auf eine mögliche Lösung zu. Nach 3 Wochen stellt sich heraus, dass ich keine Zeit vergeudet habe und ich wirklich systematisch ein Lösungswerkzeug entwickelt habe. 3 Wochen lang war ich mir total unsicher, ob ich richtig liege in meiner Vermutung. Für mich war dieser Auftrag ein Traum, weil ich von morgens bis abends nur am Denken war. Andere Menschen werden bei dieser Arbeit verrückt. Für mich ist das einfach nur Spannung pur. Gehirnrauschen. Wenn ich mich anstrengen muss, bekomme ich tausende Ideen und es macht mir immer mehr und mehr und mehr Spaß :-) Leider gibt es zu wenige Probleme dieser Art.
Du verstehst komplexe Probleme ohne Anleitung und lernst Programmiersprachen direkt über den Quellcode? Du liebst Netzwerke oder analysierst mit großer Freude den Linux-Kernel? Eine Datenbank mit über 100 Tabellen ist für dich super klein? Du findest 1000€ und gehst damit zur Polizei? Dann bist du hier richtig!