Java
Schon als Kind war ich fasziniert von Computern und der Programmierung. Bereits mit 13 schrieb ich meine ersten kleinen Progrämmchen, zuerst in BASIC, dann in C/C++ auf dem Amiga. 1998 startete ich dann meine professionelle Karriere als Java-, ASP- und ColdFusion-Entwickler bei Comartis.
Ich habe jedoch ASP und ColdFusion bald den Rücken gekehrt und mich voll auf Java und J2EE konzentriert, wobei mir meine Vergangenheit mit ASP und ColdFusion sehr hilfreich war, die Konzepte hinter JSP bzw. der Web-Programmierung allgemein zu begreifen.
Linux
Seit 1999 arbeite ich konsequent mit Linux. Das hat verschiedene Gründe: Hauptsächlich liegt es daran, dass ich mich mit der Bedienung von Windows einfach nicht anfreunden kann. Insbesondere für Entwickler bietet Linux einfach mehr Komfort. Dass es auch ein wenig ideologische Gründe hat kann ich allerdings kaum abstreiten ...
Dadurch, dass ich mit Linux arbeite hat sich automatisch auch ergeben, dass ich mich häufig um die Systemadministration gekümmert habe. So kann ich heute mit Recht von mir behaupten, ich hätte sehr gute Linux-Kenntnisse. Konkret habe ich mit SuSE (bis Version 7.3, meine SuSE-Kenntnisse sind also ein wenig eingerostet), Debian Potato, Woody und Sarge und RedHat 7.3 und 9.0 gearbeitet, auf meinem Arbeitsrechner läuft momentan Ubuntu 5.04 ("The Hoary Hedgehog").
Andere Programmiersprachen
Nicht immer ist Java der beste Weg zum Ziel, insbesondere, wenn systemnah programmiert werden soll. Obwohl ich mit C/C++ nicht hilflos bin, schliesslich habe ich damit sozusagen gehen gelernt, mag ich diese Sprachfamilie nicht besonders. Eine andere Alternative musste her: Python.
Meine Python-Programme reichen von Daemons, die Java-Programme sauber in ein UNIX-System einbetten, bis hin zu kleinen Hilfsprogrämmchen, die mir den Umgang mit meinem Arbeits-Rechner erleichtern. In diesem Zusammenhang habe ich auch schon einige Erfahrung mit GTK2 und der GNOME-API gesammelt.
OpenSource
Als Programmierer der mit Linux arbeitet kommt man kaum darum herum, auch in OpenSource-Projekte involviert zu werden. Hier sind insbesondere drei Projekte nennenswert: GNUstep, DPML und OPS4J.
Als ich meinen Arbeits-Rechner mit GNUstep betrieb, kam ich kaum darum herum, auch ein wenig selber Hand anzulegen, da das Projekt noch in den Kinderschuhen steckte. Hierdurch hatte ich auch Einblick in Cocoa bzw. Mac OS X, da GNUstep sich nicht an der ursprünglichen OpenStep-Spezifikation orientiert, sondern eben an der modernisierten Version, Cocoa. So lernte ich auch dem Umgang mit Objective-C, das heute mit Abstand mein liebster C-Dialekt ist.
Insbesondere in KMUs ist J2EE, besonders EJB, meist Overkill und zu teuer. Auf der Suche nach Alternativen stiess ich auf das Avalon-Projekt der Apache Software Foundation. Avalon ist ein Framework für die komponentenorientierte Programmierung mit einer bewegten Geschichte: Immer wieder kam es zu Meinungsverschiedenheiten, bis es am Ende geschlossen wurde.
Heute lebt Avalon in Form von Loom und Metro weiter. Nach der Schliessung von Avalon arbeitete ich aktiv an Metro, jedoch haben sich die Meinungen (wieder einmal) auseinanderentwickelt und ein Teil der DPML-Community hat sich in Form von OPS4J abgespalten. Das für mich interessanteste Projekt hier ist Silk, und zwar aus dem einfachen Grund, dass ich mich schon früher immer wieder mit dem Thema "Build-Systeme" beschäftigt habe und es meiner Meinung nach bis heute keine befriedigende Lösung für dieses doch recht komplexe Problem gibt.
Lebenslauf
Ein vollständiger Lebenslauf liegt als PDF- oder PostScript®-Datei zum Download bereit.
