No relation to TorstenHensel?.
My 15 minutes of fame: if you type "Conway's Game of Life" into Google, the first page that comes up is my first Java applet. :-)
I started programming when I was 11 on a TRS-80. My best TRS-80 program was a PacMan clone in Z80 assembly called PAC-80 that you can now download and play on an emulator. I graduated from CarnegieMellonUniversity in 1990. I got into Linux and surfing the web in 1994. I downloaded the first JDK in November 1995 and got a job as a Java programmer at IBM the following October. And since June 2001, I've been into ExtremeProgramming.
I have to credit my interest in ExtremeProgramming to our Director of Software Development, Don Hopkins. I knew very little about it when he came to me one day in June 2001 and said, "I think we're going to try this," and handed me The White Book. I thought, "uh oh." I dreaded the ideas of pair programming and a common workspace. I had concerns about lack of emphasis on design and documentation. But I held back on my criticisms, because I recalled the time in 1994 when by boss at that time told me to take a spare computer and install a new operating system on it, which I pooh-poohed right away ... some obscure, backward little operating system called Linux... Within days I was bringing those slackware floppies home. End of digression: after a year and a half of ExtremeProgramming, I don't want to go back to the bad old ways. I want to spread the word, long before my next job search.
My point of view is this. On my first job, where I worked for 2 years, I worked solo. I learned to work at a brisk but deliberate pace, because if I wrote code too quickly, I'd introduce bugs and ultimately slow myself down. The project was a success, I think, but I left before it was over. On jobs after that, I was put on various teams. I had no problem working on a team, except that it seemed that my teammates generally did not share my ethic about writing clean code. I always felt I faced an ethical dilemma: keep up with my teammates, and ultimately damage the project, or write solid code at a deliberate pace, and suffer negative performance reviews. I thought there was no way out of this dilemma. But there are ways out. One way is ExtremeProgramming. It enforces the deliberate pace with unit tests. Thank God!