I've been born 1969 in Mönchengladbach, where I still live (see my GeoURL link for details). I'm married and have two children.

Work

I work as a project manager at BoST interactive in Cologne - but I prefer to think of myself as a development lead more than a manager. Currently I'm spending most of my time with a team at a different company implementing a .NET/Webservices based back-end for car configurators. I'm also responsible for Java framework for car configurators that's in use by a major German car manufacturer (yes, they are switching platforms) and for a web application sitting on top of that.

Before I started to work on this framework by the end of 1999, I've developed a couple of applications in C, C++, Perl and a bunch of more esoteric languages (like VAX Pascal or the macro language used by a now-dead Web-Server named PowerWeb). Most of them Web applications, but I also did quite a bit of BTX stuff (a teletext system of the pre-internet era for those who are either to young to remember or not coming from Germany).

I've worked with a couple of different database systems and still prefer DB2 above most of the others. I've also used and developed software on a lot of different operating systems, including Atari's TOS, several Unix dialects, OpenVMS and OS/2.

No, there is no Windows in that list, but the Java applications work on Windows as well - it even is the production environment for some of them. Strangely, even though I'm doing/managing .NET development now, I still have no pressing reason to work on Windows - Mono fits my needs fine so far. For some reason the Windows GUI style of "human computer interaction" and my way of doing things simply don't fit. I don't think there is anybody to blame for it.

Open Source Software

My first contribution to open source software has been a patch to gnuplot in 1993 or 1994. I desperately needed to plot some graphs on my Atari ST and it just wouldn't work the way I needed. It was quite an adventure to test the stuff. Basically I started compilation before I went to bed and viewed the results after breakfast as it simply took eight hours or so to compile gnuplot on my Mega STE with a whopping 4MB of RAM.

Using Open Source software was something natural in University and so the very first PC I ever bought was installed with Linux (Slackware and a 1.2 kernel IIRC) and nothing else. It must have been around 1993 when I fell in love with XEmacs and never looked back. I know how to use vi and have tried several IDEs but I've never been as productive with any environment as I am using XEmacs - and command-line tools in a decent shell, of course.

I have contributed to some other open source projects since then, things like a JDBC driver for MS SQL Server before Microsoft provided one and a couple of other libraries.

The biggest share of my contributions take Apache Ant and Apache Gump. Ant is a Java and XML based build tool that has become ubiquitous in Java land. Gump performs large scale integration between various projects on a nightly basis - i.e. it builds the very latest code of every project under Gump's control against the very latest code of all the projects this one depends on.

I want to be able to use the Open Source Software I contribute to in my own commercial work as well, therefore I have a strong preference for licenses that allow me to do so, namely BSDish licenses like the Apache Software License. I do my best to explain the difference between the various Open Source licenses and why I prefer one over the other whenever I'm asked to - and sometimes even when not asked 8-).

I am a member of the Apache Software Foundation so the paragraph above shouldn't be a surprise. The ASF is a not-for-profit US-based corporation that provides legal, organizational and whatever-else-is-needed support for Open Source communities. The ASF is much more than just the HTTP server.

Software Development

Currently I'm a strong believer in Test Driven Design. Unit tests are a must IMHO and I've had great success with write-tests-firsts and no-big-design-upfront.

I like to do pair-programming when possible and enjoy the distributed n-person-programming that happens in Open Source projects.

The problem domain I enjoy the least are GUIs. I've probably been forced to wait for graphic artists to come up with the final version of a button too often. You never get a preliminary version, of course, and the "final" version is going to change a couple of times - having a different size each time.

Because of this I don't like any development model that doesn't allow me to separate presentation layer and the rest of the application far enough. JSP editors that let me add event handlers to buttons and create a whole bunch of controller code into the view layer (or even worse, database access code) scare me. I guess that's why I don't like webpage-embedded languages like PHP, embedded Perl or scriptlets in JSPs.

Education

This sections is here to answer "is this the same Stefan who I met in .." questions 8-)

I received my Abitur from "Neusprachliches Gymnasium" in Mönchengladbach in 1988. Unfortunately that school has been merged with another school in the late 1980s.

My Alma Mater is the Heinrich-Heine-Universität Düsseldorf where I studied physics starting 1990. I received my Diplom in 1995 for a work on growth in two dimensional crystals - a work somewhere in the borderland of statistical physics, computational physics and geometry.

Getting in Contact

If you want to ask questions about Ant or any other project I'm involved in, don't contact me directly at all. Use the appropriate mailing list instead.

Otherwise, the E-MAIL ME link on the left hand side is supposed to work, I may not respond immediately, in particular not at weekends as I tend to be offline then, but I usually will.