Mein Werdegang als Informatiker

Ich wurde im Oktober 1983 in Wien geboren. Mein Vater war Ingenieur, er hatte an der Technischen Universität Wien Elektrotechnik studiert. Im Rahmen seines Studiums hat er wahrscheinlich auch Lehrveranstaltungen über Computerprogrammierung gehabt, doch hatte er anscheinend zu dem Zeitpunkt, als ich mir im Selbststudium das Programmieren beibrachte, bereits wieder alles vergessen. Jedenfalls lernte ich von ihm nichts übers Programmieren – er förderte mich lediglich auf dem Gebiet der Mathematik. Ich hatte also, was das Programmieren betraf, keinen Mentor, sondern habe mir alles Wissen und Können autodidaktisch angeeignet. Das war schon ein großer Nachteil gegenüber anderen Kindern meiner Jahrgangsstufe, die meist einen älteren Bruder hatten, der in der Schule programmieren gelernt hatte. Es ist durchaus möglich, dass die anderen Kinder dadurch bestimmte Feinheiten der Software-Entwicklung vermittelt bekommen haben, die mir entgangen sind. Andererseits war ich wahrscheinlich durchaus begabter als die meisten, hatte ich meine Grundkenntnisse in Programmierung doch schon im Alter von acht Jahren erworben, während die anderen Kinder in meiner Schulklasse erst mit zwölf anfingen. Wie ich später las, haben nur 14% der professionellen Software-Entwickler vor ihrem zehnten Geburtstag mit dem Programmieren angefangen.

Meine Mutter war Volksschullehrerin, sie hatte von Computern keine Ahnung. Ihr habe ich nur zu verdanken, dass ich nie in Versuchung geriet, die Schule nicht ernst zu nehmen, denn sie kontrollierte mich ständig und sah zu, dass ich alle Hausaufgaben machte und mich auf Prüfungen vorbereitete.

Meinen ersten Computer, einen Commodore 64, bekam ich eine Woche vor meiner Einschulung, kurz vor meinem sechsten Geburtstag. Mein Vater hatte beobachtet, dass ich gerne mit Taschencomputern (Tricotronics) spielte. Das war der Grund für seine Entscheidung gewesen, mir einen eigenen Computer anzuschaffen. Tatsächlich spielte ich sehr gerne, wie die meisten Knaben in meiner Schulklasse. Darüber hinaus war ich aber auch kreativ, dachte mir eigene Spiele aus und fertigte Entwürfe von ihnen auf Papier an. Im Alter von acht Jahren erwuchs in mir schließlich der Drang, meine Ideen umzusetzen, und so begann ich, mir das Programmieren beizubringen.

Ich lernte aus Büchern und Zeitschriften. Besonders die Zeitschriften haben mir sehr viel Wissen vermittelt, weil sie Listings von fertigen Programmen enthielten, die man einfach nur abzutippen brauchte. Bald entwickelte ich einfache eigene Computerspiele. Nachdem ich vom Commodore 64 zum IBM PC gewechselt hatte, schrieb ich im Alter von zehn Jahren das Abenteuerspiel „Tyrwago in Astrein World“, das bereits Grafiken im Bildschirmmodus 13 (320x200, 256 Farben) und Musik enthielt. Neben einigen nicht mehr erhaltenen Projekten, wie etwa einer Wirtschaftssimulation, programmierte ich ein Jahr später das Abenteuerspiel „Die Reise zum Mond“, das sogar unter meinen bundesdeutschen Brieffreunden Verbreitung fand und gut ankam.

Mein erster Artikel wurde in der bundesdeutschen Zeitschrift „SEGA Magazin“ abgedruckt, als ich zehn Jahre alt war. Es handelte sich um eine Rezension des Spiels „The Story of Thor“. Danach wurde ich regelmäßiger Autor bei den bundesdeutschen Zeitschriften „PC-Heimwerker“ und „Computer Flohmarkt“. Durch diese Tätigkeit ergaben sich Brieffreundschaften mit anderen Autoren. Schließlich wurde ich von einem vierzehnjährigen Deutschen aus Halle an der Saale kontaktiert, der eine eigene elektronische Zeitschrift, ein so genanntes Diskmag, herausgeben wollte und dazu eine grafische Benutzeroberfläche benötigte. Mit Hilfe von Quick Basic entwickelte ich für ihn eine solche Oberfläche, und zum Dank ernannte er mich zum Mitherausgeber der Zeitschrift. Der Hugendubelexpress (später „Hugi“ genannt) war geboren.

Die nächsten Jahre verbrachte ich nun damit, neben der Schule gut zwanzig Stunden pro Woche am Hugi zu arbeiten. Ich redigierte und formatierte Texte, verfasste selbst Beiträge und arbeitete an der programmiertechnischen Umsetzung. Im Rahmen dieser Tätigkeiten entstanden mehrere grafische Benutzeroberflächen für elektronische Zeitschriften, unter anderem eine in einem SVGA-Modus mit einer Auflösung von 640x480 Pixeln und 256 Farben. Diese schrieb ich in Borland C++ unter Verwendung von Inline-Assembler – diese beiden Programmiersprachen, C++ und x86 Assembler, hatte ich in der Zwischenzeit erlernt. Das war kurz, nachdem ich einen eigenen Programmierkurs für die Sprache QBasic geschrieben hatte, der auch heute noch als Standardwerk gilt.

In weiterer Folge beschäftigte ich mich mit HTML, CSS, JavaScript und PHP. An PHP fand ich die Funktionen zur Verarbeitung von Zeichenketten besonders nützlich. Unter anderem entwickelte ich deshalb in PHP ein Tool zum Auswerten von Votesheets (Stimmzetteln). Ich gestaltete auch noch vor meinem 14. Geburtstag meine erste private Homepage – im Laufe der Jahre überarbeitete ich diese oft.

Nach der Matura fing ich zuerst ein Medizinstudium an, weil das der Wunsch meines Vaters war. Noch gut habe ich in Erinnerung, wie ich für das Prüfungsfach Histologie ein Lernprogramm in JavaScript entwickelte, das bei meinen Studienkollegen sehr gut ankam. Ich benutzte dieses Programm sogar selbst zur Prüfungsvorbereitung anstelle des traditionellen „Paukens“ und bestand damit wenigstens die Histo-2a-Prüfung beim ersten Antritt.

Nach drei Jahren Medizin entschloss ich mich, parallel auch Medizinische Informatik zu studieren. Es folgten einige einführende Lehrveranstaltungen, die für mich zum Großteil eine Wiederholung bereits bekannten Wissens darstellten. Bereits im zweiten Semester lernte ich aber auch Neues, nämlich SQL. Besonders interessant fand ich am Studium die Theoretische Informatik, weshalb ich nach dem Bachelorabschluss das Masterstudium Computational Intelligence inskribierte. Es gestatte mir, mich auf Algorithmen, formale Logik und Theoretische Informatik zu spezialisieren. Zu meinem Interesse an der Theoretischen Informatik trug sicherlich bei, dass ich nach der Matura das Buch „Gödel, Escher, Bach – Ein endloses geflochtenes Band“ von Douglas R. Hofstadter gelesen hatte. Sehr angetan war ich von dem Vortragsstil der jungen Dozentin Dr. Laura Kovacs, die in ihrer Vorlesung „Advanced Topics in Theoretical Computer Science“ den Stoff so nachvollziehbar erklärte, dass ich nur zuzuhören brauchte und alles verstand.

Als ich mit meinen Studien fertig war, wollte ich zunächst wissenschaftlich arbeiten. Eines der ersten Projekte, in das ich eingebunden war, war die medizinische Suchmaschine FindMeEvidence. Für diese schrieb ich einigen Programmcode in JavaScript. Die dazu gehörige Publikation war die erste, die meinen Namen als Co-Autoren enthielt. Es folgten dann noch einige Publikationen auf dem Gebiet der Medizin sowie einige, die eher mit Informatik zu tun hatten.

Ich fing dann bei einer kleinen Firma in Wien als Programmierer an, die unter anderem ein Programm zur Berechnung und Visualisierung von Wärmebrücken entwickelt hatte. Da der Firmengründer an Krebs verstorben war, war es nun meine Aufgabe, dieses Programm weiterzuentwickeln. Unter anderem implementierte ich eine Methode zur einfachen Eingabe von schrägen und runden Elementen sowie einen Mesh Voxelizer. Auf Letzteren bin ich besonders stolz, denn ich hatte nur ein einziges Paper mit etwas Theorie als Grundlage und habe mir alles andere selbst ausgedacht.

Bereits diese erste „richtige“ Anstellung war mit der Programmiersprache C# verbunden, die ich mir einige Jahre davor im Selbststudium angeeignet hatte. C# sollte mich noch viele Jahre begleiten. Aber auch meine C++-Kenntnisse waren im Berufsleben immer wieder gefragt.

Fast noch interessanter als meine kommerziellen Projekte waren die Programme, die ich in meiner Freizeit entwickelte: 2008 nahm ich eine Auszeit vom Studium, um ein Jahr lang an einer Game-Engine ähnlich dem Videospiel „Shining Force 2“ zu arbeiten. Diese wurde später die Grundlage einer eigenen Reihe rundenbasierter, taktischer Rollenspiele. Interessant dürften auch meine Variante des Zauberwürfels sein („Adok’s Magic Cube“) sowie das innovative Mathematikspiel „Adok’s Number Maze“, das auf einer völlig neuen Idee basierte – ich kannte kein Spiel, das ihm ähnlich gewesen wäre.

In meiner Freizeit beschäftigte ich mich auch mit diversen neueren Programmiersprachen, unter anderem mit Scala, Kotlin und Rust. Tatsächlich habe ich aber bis auf kleine Progrämmchen nichts mit diesen Sprachen implementiert.

Kommentare

Beliebte Posts aus diesem Blog

Mein Engagement für die Computerkunst-Community

Wonach ich mich immer gesehnt habe

Hochschulkarriere