(Address available on request) 
Switzerland 
Tel.: (available on request)
June 2004
 
clemens@kclee.de
http://www.kclee.de/clemens/
 
 

 
Seeking a challenging position in a financial business environment as a Java programmer in the Zurich area.
 
 

 
Java

At UBS Investment Bank I was participating in the development of a securities lending system for allocating and invoicing securities lending income to UBS pool lending customers. The application core is written in Java with large parts written in Sybase Transact-SQL accessed from Java via JDBC. I took part in all aspects in the development beginning at the early evaluation phase until going live into production.

From 1998 to 1999 I worked at the Internet start-up company WebSentric in Munich as one of two core developers of WebPresenter, a presentation editor (Power Point clone) written in Java. To get an impression about WebPresenter please take a look at these these screen-shots.

I am the developer of Jacob and Timelog. You may can get an overview about these and some other of my Java applications and servlets at my personal Java page. Jacob is a Java class and package browser, which interacts with Emacs for editing. It is like a small IDE too, it enables you to include and exclude source files very easily, as well as create classes with the help of a dialog. It supports configuration management with RCS and make and lets you count lines of code of your project sources.

The Java technologies I am familiar with are:

  • Swing Api
  • RMI
  • Servlet API
  • JDBC (Sybase, InstantDB, MySQL, Oracle)
  • Object Store PSE for Java (ODBMS)
  • JavaCC (for lexical analysis and parsing)
  • Xalan/Xerces
  • Layout-Managers (including building new ones)
  • Custom ClassLoader
  • Object Serialization (via byte stream or XML)
  • Jython
  • LiveConnect

Java is my exclusive programming language/environment of choice since September 1995. The software for my diploma thesis, a soccer simulator using neuronal networks (Kohonen feature maps), is also written in Java.

XSLT

XSLT is my preferred way of formatting and generating all kinds of text, XML, and HTML output. Invocation of the Xalan XSLT transformer is nicely encapsulated inside my reusable ccl Java library for easy usage e.g. in servlets.

My XSLT knowledge is far from expert level and I am still struggling for a clean structure and proper documentation of my stylesheets, but you can take a look at my personal XSLT FAQ to get an idea where I am. I also don't hesitate to invoke Java from a stylesheet if it decreases the development time.

For my project at UBS Warburg I developed a framework where the team wrote all documentation in XML files which where then compiled using XSLT to HTML. This made writing documentation very easy and browsing in the highly connected documentation very fast (no comparison to a collection of unrelated word documents).

Software Engineering

Right now I am trying to program while consciously thinking about what and when to refactor (ala Fowler). Together with pair programming and other eXtreme Programming practices I am happy with this style now and am seeing good results.

Before that I experimented to generate source code in a Literate Programming fashion embedding pieces of source code together with verbose documentation inside XML files and generating HTML documents and SQL and Java source code out of it. But I stopped doing so, since I missed too many useful development tools which could not make use of these XML files. But I would use this technique again for very hard programming problems where I would have to study the application domain intensively at the same time.

I am familiar with object oriented methodologies (Coad, Jacobson, Rumbaugh, Booch, UML) and tools (Rational Rose).
I try to integrate as many elements as possible of Humphrey S. Watts' Personal Software Process (PSP) into my daily working habits. While it is hard to apply this to work in a team project, it helped me a lot to estimate the size and time it takes to write my own code.

Strengths

  • Self motivated
  • Self learner
  • Believe in peer coaching and pair programming
  • Believe in teams (at least that's what sport has taught me)

Tools

Before the Java age started I used the following programming languages (in backward chronological order):

  • Windows
    • Perl
    • Visual Basic
    • Visual C++
      (MFC just a little to learn it, Win SDK to hack a little macro recorder and I used VC++ to do some small stuff Visual Basic can't do)
  • DOS
    • Borland C++
    • Assembler
      (device driver for a Panasonic juke box and a TSR hack to start another DOS application on time)
    • Turbo C
  • Amiga 1000
    • Assembler
    • Amiga Basic
  • C64
    • Assembler
    • Basic
Other languages I had my hands on

Smalltalk, Miranda (a functional programming language), TPAL (Turing Processor Assembly Language), Lisp, Prolog, Fortran, Logo, Forth.

 
 

 
June 1, 2002  UBS Investment Bank
Zurich, Switzerland
Application Developer
  • IT Risk - Settlement Risk
    • Responsible for failed Nostro transactions reporting system
    • Participated in the design of an availability application for FX transactions and implementated the object oriented representation of the static business data
    • Coordinated a research study for global Nostro positions at risk
    • Maintainance of Settlement Risk web site
    • Responsible for development and implementation of a testing concept
    • Sybase Data Architect PDM file conversion to HTML documentation
Java, Sybase, TogetherJ, UML, Oracle, JRun, Apache, XSLT, FOP, Python, Jython, Apache POI, Eclipse
 
December 1, 2001 -  
May 31, 2002  
UBS Warburg
Zurich, Switzerland
Application Developer
  • Joined the same team as an internal where I have been before as a consultant. The role and responsibilities stayed the same, but depending on the life circle of the project maintenance work was more needed than new development.
    For details, please see below.
 
August 1, 1999 -  
September 30, 2001  
UBS Warburg
Zurich, Switzerland
Java Consultant
  • Participated in the development of a securities lending system for allocating and invoicing securities lending income to UBS pool lending customers. The application core is written in Java with large parts written in Sybase Transact-SQL accessed from Java via JDBC. I took part in all aspects in the development beginning at the early evaluation phase until going live into production.
    • Commissions, payments, statements business logic in SQL and Java
    • Availability business logic in SQL and Java
    • Application infrastructure in Java (daemons, application initialization, restart logic, data feed to and from external systems, logging)
    • Automated unit and system testing
    • Batch control restart logic framework in SQL and Java
    • Web/servlet based operations GUI (Tomcat)
    • System documentation
    • Documentation framework with XML, XSLT, HTML
    • Java logging framework
    • eXtreme Programming practice (especially pair programming)
    • Code generation with XML, XSLT
    • Shell scripts, build infrastructure (ksh, Jython, Make, Ant, Xemacs macros)
    • Evaluation of a propriatary distributed Java framework for financial applications (Tamesis) and EJB application servers (WebLogic, Jonas)
    • Applied UML (Rational Rose) and RUP
Java (Solaris), JDBC, Sybase Transact-SQL, JUnit, XSLT (Xalan), XML, Servlets, Tomcat, JRun, Jigsaw, ClearCase, Jython, Tamesis framework, EJB, WebLogic, Jonas, Make, Ant, Rational Rose, ksh
 
June 15, 1998 -  
June 30, 1999  
WebSentric Software GmbH
Oberhaching, Germany
Software Design Engineer
  • Working as one of two core developers of a presentation editor (Power Point clone) written in Java. This application was in design state when I arrived and in beta state when I left.
    • Java Swing GUI development
    • Infrastructure, object rendering and movement, dialogs
    • Layout view
    • External Web browser invocation
    • Automated regression testing (of GUI as well)
    • Cross platform (Linux/Windows) Makfile
Java (Linux, Windows, Mac), Swing/JFC, Make
 
November 15, 1997 -  
June 14, 1998  
GMD National Center for Information Technology GmbH
St. Augustin, Germany
Postgraduate
  • Working title for dissertation:
    An Internet information system for radio and TV audiences based on the agent paradigm.
 
August 1, 1997 -  
September 30, 1997  
Digital Media Consulting and Services
St. Augustin, Germany
Freelance Programmer
  • Ported a web site which used a memory resident python cgi database to a java-servlet based site using Object Designs PSE for Java ODBMS (this included the decision not to use Oracle and JDBC).
    The web site is under control of the GMD on behalf of the Bavarian broadcaster "Bayerischer Rundfunk" and shows the content (video and text) of their daily news magazine.
Java, Servlets, Object Store PSE for Java, Sun's Java Web Server
 
December 1, 1994 -  
July 31, 1997  
GMD National Center for Information Technology GmbH
St. Augustin, Germany
Working Student
  • Top 40:
    It presents mpeg video clips from the actual German pop charts together with interactive background information; Visual Basic; in cooperation with West Deutscher Rundfunk Cologne; presented at the IFA 95 in Berlin.
  • Video on Demand:
    An interactive version of the German main news (Tagesschau). My part was the live video encoding and videotext recording.
  • Diploma Thesis:
    "Interagierende Kohonen-Karten - Topologische Gleichgewichtsstrukturen in einer Sport-Simulation"
 
October 1, 1993 -  
July 31, 1994  
Bonntext GmbH
Bonn, Germany
Freelance Programmer
  • DOS device driver for Panasonic juke boxes (for optical disks)
  • Reverse engineering of the proprietary data format of the graphics and fulltext database Clarity
  • Universal tool for restoring clients data from broken optical disks
Borland C++, x86-Assembler, SCSI, Optical Disk Juke Boxes, DOS device driver, MS-DOS
 
 

 
Personal Data
 
Name:  Christoph Clemens   L e e
 
Date of Birth:  November 26, 1968
 
Place of Birth:    Oberkassel, today Bonn-Oberkassel
 
Nationality:  German
 
Marital Status:  Married
 
Hobbies:  Java/Internet/Software Engineering, Quake, Classical Piano Recordings, Soccer , Skiing
 
Education
 
1975-1979   Elementary School "Om-Berg" in Bonn-Gielgen
1979-1982   Kardinal-Frings-Gymnasiums in Bonn-Beuel
1982-1983   German School Moscow
1983-1989   Ernst-Kalkuhl-Gymnasium Bonn-Oberkassel
1989   Abitur (qualifying for university entrance)
 
Studies
 
1989-1997    Computer Science at the Rheinische Friedrich- Wilhelms University Bonn
1997-07-03    Diploma
Diploma thesis: Interagierende Kohonen-Karten - Topologische Gleichgewichtsstrukturen in einer Sport-Simulation
 
 
 Resume in Ascii Format