Curriculum Vitae

Dr. Christian Mann,

born 28. September 1962 in Cologne, Germany.

Studied Computer Science, Linguistics, Art History, classical Archeology at the Universities of Cologne and Frankfurt/Main.
1992 PhD from Johann Wolfgang Goethe University of Frankfurt/Main.
1993 - 1995 lecturer at the University of Frankfurt/Main (FB 07).
1988 - 1990 part-time software developer for mostly academic customers.
Since 1990 full-time software developer for various projects

Since 1998 I dedicate at least 20% of my professional time to holding courses, lectures and training on software development subjects. Some of the course material has been personally developed by myself. This may seem to be a restriction regarding my commitment to project work, but according my personal experience it's a sustainable improvement regarding the quality of my work in both areas.

 

Experience

since 02/2017 Project "RUT-K" ("Rechnerunterstützte Trassenverwaltung - Konstruktion") in context of "neXt Gesamtfahrplan": Further development of the applications for train path construction of DB Netz AG. Work as developer and technical architect.
  • VisualWorks Smalltalk
  • Oracle RDBMS
  • Enterprise Architect (UMLTool)
  • MS-Office...
  • Scaled Agile Framework (SAFe)
01/2015 - 01/2017 Project "BBZ" (new standard client) in context of "PRISMA Re-Design": Design & conception of a new standard client framework for the central systems for railway network scheduling of DB Netz AG. Work as leading software architect, team leader, partially as developer.
  • Eclipse RCP
  • SWT e4 + JavaFX
  • JUnit, Jubula, TestFX, Mockito
  • Web-Services
  • Oracle RDBMS
  • Active Directory / LDAP
  • Enterprise Architect (UML Tool)
  • Code Generation (Eclipse MWE2, XSLT)
  • MS-Office...
06/2014 - 12/2014 Project "mailQ" inacta AG, Zug (CH): participation to the development of an application for the storage and management of electronic documents.
  • Development with Java 7 / Java JEE 6.0
  • JBoss AS 7
  • Vaadin
  • JCR 2.0 / Apache Jackrabbit
  • JUnit, Arquillian, Cucumber/Java
  • Agile process
03/2014 - 06/2014 Vision „RAS Framework“ for the Ringier Axel Springer Media AG, Zürich (CH): Evaluation of the development department of the daughter companies in Poland, Slovakia and Serbia with the objective of a unified product vision for a future, group-wise context for the development of web products („News“, as „Classified“). In tight direct collaboration with the Chief Information Officer of the company
06/2013 - 12/2013 Project "Market Data Services": implementation of a publication layer for a database holding raw market data, as well as several integration modules and specialised applications, on behalf of the Finanz Informatik Solutions Plus GmbH. The Implementation takes place in the context of the integration architecture of the database (SOA) by means of Tibco BusinessWorks (BW).
  • Tibco BW
  • XSLT
  • Citrus-Framework (regression tests)
  • comprehensive documentation
12/2007 - 12/2013 Consultancy on architecture and UML coaching, Quality assurance through extensive code reviews in the context of a porting of the project PRISMA (redesign of the central systems for railway network scheduling) for the DB Netz AG (part-time).
  • DEC/HP Alpha, FDDI, Cisco
  • Win NT 4.0, VMS, True64 (Unix), RedHat Enterprise Linux 5.6
  • C++, Java, SQL, DEC Pascal, TCL/TK, Shell Scripts
  • Tibco SmartSockets
  • Enterprise Architect (UMLTool)
  • MS-Office...
12/2011 - 01/2012 Project „NPL“/ „FiMa-Partner“: coding of two apps for internal use of the company „Finanzmarktpartner“, München.
  • iOS 4.3
  • Design & Development in Objective C
11/2010 - 12/2010 Project "CLD v3.10": continued development of the "CLD Input Layer" in the context of the new releases of the CLD database of the HSH Nordbank. Tasks: development in PL/SQL, implementation of code generators, performance optimisation.
  • PL/SQL
  • Subversion
  • Test Driven Development
06/2010 - 08/2010 Project "CLD Input Layer": Implementation of a validating data import layer for the "Credit Loss Database" (CLD) of the HSH Nordbank in behalf of the Finanz Informatik Solutions Plus GmbH. The implementation was carried out in Oracle 10g PL/SQL according to principles of Test Driven Development (TDD); the modelling has been carried out in Enterprise Architect, A high proportion of the code was generated from the model. Tasks: development in PL/SQL, implementation of the code generators, performance optimisation.
  • PL/SQL
  • Subversion
  • Test Driven Development
01/2008 - 12/2009 Maintenance and further development of the central logistics application, originally T-Online International, on behalf of Deutschen Telekom AG, Darmstadt (part-time). Implementation of the connectivity to the TIMB/T-ESB (proprietary ESB of Telekom based on IBM Websphere MQ).
  • PL/SQL, Java
  • Struts
  • Tomcat
  • BEA Weblogic
  • Websphere MQ
  • SAP JCO
  • Maven1 & 2
  • ClearCase, Subversion
  • Together, MID Innovator
01/2005 - 12/2007 Redesign of the main logistics application of T-Online International, Darmstadt. Rewriting of the core in PL/SQL (Oracle9.2i); Re-implementation of the billing system and SAP interfaces in Java (JDK 1.4.2). Design and implementation of other interfaces to several other SAP systems.
  • (see above)
09/2004 - 10/2004 Writing of a data feeder for the conversion of pricing information for advertising on German newspapers, on behalf of Cobra GmbH, Frankfurt/M. Implementation in C# (VisualStudio.NET) with MS-Access as data source and Oracle9i as destination.
  • C#
  • Oracle
  • MS-Access
06/2004 - 08/2004 Reworking and partial rewriting of the documentation and tutorials of the product "MiddCor.NET" and "MinCor.NET" (both CORBA implementations for MS.NET) on behalf of Middsol GmbH, Hamburg. Writing of the sample code in C# (VisualStudio.NET) and Java (JDK 1.4.2).
  • Java
  • C#
  • MiddCor.NET (CORBA)
starting from 02/2002 Implementation and design of a multitude of courses on themes such as:
  • VA-Smalltalk "compact"
  • CORBA Development (Java & C++)
  • Analysis & Design Patterns
  • Objectoriented Business Process Analysis
  • Quality Assurance for Web Applications
  • eXtreme Programming
  • Scrum
  • Kanban
  • Agile Processes
  • Model Driven Architecture (MDA)
These courses are to be found largely in the catalogue of well known training providers.
12/2001 - 02/2002 Development of a components architecture on behalf of ZEDA GmbH, Wuppertal. 
  • CORBA
  • C++, Java, VA-Smalltalk
01/2001 - 06/2001 Part-time (50%) activities as external consultant in the project "RequestCenter v3" (workflow application for the web-based management of distributed services) of Celosis Inc., Alameda, USA (project site: Klagenfurt, Austria). Analysis and (re-)design through Rational Rose 2001; implementation as Enterprise Java Beans-application under BEA WebLogic 5.1/6, with either MS-SQLServer or Oracle8i.
  • Java, J2EE
  • BEA Weblogic
  • CVS
  • Oracle
  • SQL Server
  • eXtreme Programming (XP)
12/2000 - 06/2001 Part-time (50%) activities as external consultant in the project "S-Vertrieb V2.1" (standard application for customers and contract management of Credit Unions) on behalf of 1822-S-Inform in Offenbach/M. Development in IBM VA-Smalltalk 5.0; analysis, design and documentation with Innovator v6.2/v7.
  • VA Smalltalk
  • Envy (Configuration management)
02/2000 - 09/2000 External consultant in the project "IPCBanker" of IPC (International Project Consult) GmbH in Frankfurt/M. Analysis and design of the loan and savings modules: generic object models for the flexible representation of the financial products; dynamic life cycle through embedded Scheme interpreter. Implementation in MS-Visual C++.
  • Visual C++
  • MzScheme
  • MSSQL
02/1999 - 12/1999 External consultant in the project "GTC neu" on behalf of Deutschen Bank (Global Cash Management). Development of the client systems, as well as the Java Security Providers for the interface of ARCryptokit ((c) Algorithmic Research Ltd.) to Java-Applets. Implementation in Java 2 (JDK 1.2.2), JavaScript, C++; client/server communication over CORBA und HTTP.
11/1998 - 12/1998 External consultant in the area test plan creation on the project "JTW TP2" (quality assurance of the year 2000 switch, in the area of investment banking) on behalf of Commerzbank.
04/1998 - 09/1998 External consultant on the project "ETEX" on behalf of the Hamburgischen Landesbank. Development of the applications administration component (all the use cases and business objects). Implementation with IBM VisualAge C++ on WinNT.
01/1998 - 03/1998 External consultant on the project "PoS" on behalf of BonnData (Implementation in Borland C++ on WinNT).
05/1996 - 09/1997 Project coach on the project "AMADEUS" of Winterthur International (location: Milano (IT)) in the following areas:
  • OOSE + Objectory 3.8
  • Qualitätssicherung 
  • Development in VA-Smalltalk
Starting from 07/1997 Freelancer of PMSmicado as trainer and adviser in the topics mentioned below.
18/03/1996 - 30/06/1997 Employee of PMSmicado in Frankfurt/M. Activities as trainer, adviser and project coach on the subjects Smalltalk development, Java development, object oriented analysis and design, quality management, object oriented analysis of business processes, software development processes (Jacobson/OOSE, Rumbaugh/OMT, UML). Usually the customers I served came from banking or insurance business.
07/1995 - 12/1995 External consultant on the project "KSI-Neu" on behalf of Deutschen Bank (implementation in Smalltalk/V).
12/1992 - 06/1995 External consultant on the project "db-dialog 3.00" (starting from summer 1994: "db-direct") on behalf of Deutschen Bank in the following areas (implementation in C++):
  • database adaptor: design and implementation of the model classes; Extensions of the database kernel (ctree PLUS).
  • Install and setup module: starting from Semptember 1993, implementation and partial redesign of the installation and setup modules (i.e. split up in modules); starting from January 1994, chief developer for this module; starting from September 1994, documentation of the modules according to G. Booch (Rational Rose).
  • Account information module: starting from March 1994, development of the interface for a flexible data export interface (including GUI design); starting from March 1995 takeover of the maintenance of the account information modules.
Starting from 1990 Full time business activities. Participation in various projects.
  • Data conversion (BS2000->MSDOS) and analysis (SPSS) of the results of the national survey projects "Arbeitslosigkeit und Sozialhilfe" on behalf of the city of Offenbach.
  • Development of time-critical applications in heterogeneous MSDOS/Xenix386 networks under TCP/IP on behalf of HALM Elektronik, Frankfurt; interface of a real-time test control system under MSDOS to an Oracle RDBMS under Xenix386 (implementation in C).
  • Several IT classes on behalf of the city of Offenbach and KJBW ("Kommunales Jugendbildungswerk") of Offenbach.
  • Introduction of a CAD mapping system for the Department of Geography of the Regensburg University (based on Autosketch 3.0).
Starting from 1988 Part-time activities as software developer for academic customers (FB 05/ Psychology of the University of Frankfurt/M.; on customer request implementation, in Turbo-Pascal):
  • Skinner box controls (including the design of the hardware interface).
  • Real-time graphic applications (programming of several VGA graphic adaptors at the register level).
  • Touchscreen applications.
  • The implementation of the corresponding applications included besides the above mentioned hardware programming the complete design of the of the user interface, as well as the design of the protocol data structure of the test results, including simple graphic evaluation routines.

Expert knowledge

MSDOS system-level programming
Object-oriented Development on MSDOS, Windows 3.1/95/98/NT/2000/XP OS/2 2.1/3.0/4.0, NeXTSTEP/Intel, Mac OS X, as well as various Unix-Derivaten
Object-oriented Analysis und Design according to Jacobson/OOSE, Rumbaugh/OMT, as well as UP (Unified Process)
Model Driven Architecture (MDA)
Scrum (Certified ScrumMaster)
eXtreme Programming (XP) & other Agile Processes
Function Point / Object Point Metrics
CMM (Capability Maturity Model)
Corba
  • Java:
    ORBacus/J, OpenORB, JacORB, Orbix, VisiBroker, J2SE-Orb
  • C++:
    ORBacus/C++, TAO/ACE, omniORB, Orbix
  • Smalltalk:
    Distributed Smalltalk (VisualWorks), SmalltalkBroker, IBM VisualAge Smalltalk IIOP-Connect
  • Common Lisp:
    LispWorks, Allegro Lisp
  • Python:
    omniORBpy, Fnorb
  • MS.NET:
    MiddCor, Janeva
HTML, XML, XSLT
Enterprise Java Beans (EJB)
Development in Java, Smalltalk, C++, C#
Development with Tibco BusinessWorks (BW)
Extensive teaching experience, including preparation of courses, as well as authoring of teaching material

Proficient Knowledge

Object-oriented Databases
Oracle & Development in PL/SQL
Active Server Pages (ASP)
COM / DCOM
MS.NET
Quality Assurance
V-Modell
Apple iOS development
Lisp/Scheme
Security / Cryptography

Bad Knowledge

M$-Word ;-)

Methods

Coad-Yourdon/OOAOOD
Booch/OOAD
Jacobson/OOSE
Rumbaugh/OMT
MDA (Model Driven Architecture)
(Rational) Unified Process / Objectory 4.1
XP (eXtreme Programming), Scrum & other Agile Processes
Lean Development & Kanban
V-Modell

Programming Languages

C, C++, Objective-C
(Turbo-)Pascal
Smalltalk/V, VisualAge for Smalltalk, VisualWorks
Java
C#
JavaScript
Lisp/Scheme
Prolog
Python
PHP
Oracle PL/SQL
SQL (Oracle, DB2)

Current Course Subjects

Scrum 1 - 2 days (in cooperation with Integrata)
Practice-oriented introduction to the process model "Scrum", as well as to the basic concepts of Agile software development. Room is left for catering to the specific needs of the participants.

The provided knowledge corresponds with "ScrumMaster I" (Scrum.org) or "Certified ScrumMaster" (Scrum Alliance), though no certification will be included.
eXtreme Programming (XP) 1 - 2 days
Practice-oriented introduction to the process model "eXtreme Programming". Practical hands-on exercises in XP development practices are not elements of the course, though it is possible to enhance the course by a customised workshop according to the customers requirements.
Kanban 2 days (optionally in cooperation with Integrata)
Practice-oriented introduction to the process model "Kanban", as well as the basic concepts of lean software development.
Agile Methods (overview) 2 days (in cooperation with Integrata)
Cursory overview over the basic concepts of the agile software development, as well as various agile methods:
  • Alistair Cockburns "Crystal" Framework
  • Feature Driven Development
  • Scrum
  • eXtreme Programming (XP)
  • Kanban
Model Driven Architecture (MDA) 2 days (optionally in cooperation with Integrata)
Introduction to the basic concepts of the MDA.
Patterns in Software Development 2 days (optionally in cooperation with Integrata)
In-depth introduction in die use of patterns in the context of software development.
  • Patterns and Pattern Languages
  • Architecture Patterns, Design Patterns and Idioms
  • "Anti-Patterns"
  • Organisational Patterns
Basic knowledge of OO Objektorientierung is required, at least a basic experience with UML would be helpful!
Basics of Object Orientation,
Object-oriented Analysis,
UML
2 - 5 days
In-depth introduction of the basics of Object-Orientation
  • Basic OO Concepts (1 day)
  • Object-oriented Analyse with Use Cases (2-4 days)
  • Unified Modelling Language as Standard Notation
The course can also be held as introduction to OO business process modelling!

"Legacy" Subjects

CORBA - Overview 3 days
In-depth introduction of the basics of "Common Object Request Broker Architecture" (CORBA).
  • Technical basics: how does an ORB work?
  • Standard services (CORBAservices)
  • Standardization of components for the vertical markets (CORBAfacilities)
  • CORBA and "Enterprise Java Beans" (EJB)
  • Practical examples and demonstration of the interoperability of different ORBs
CORBA - Development 3 days
After a short overview of the basic concepts of "Common Object Request Broker Architecture" (CORBA), the essential components of CORBA will be used in practice.
  • Basics: How does an ORB work?
  • Implementation of CORBA servers and clients
  • Usage of the CORBA naming service
  • Usage of the CORBA event service
  • Portability and interoperability of the CORBA-applications
The course will be held based on common Open Source ORBs (commercial ORBs could on request be used). Several OO languages could be used:
  • Java
  • C++
  • Smalltalk
  • Python
VisualAge Smalltalk - condensed! 3 days
Basics of the programming language Smalltalk, as well as the development environment "VisualAge" conveyed and practiced in a compact form:
  • OO development with Smalltalk
  • Visual programming with VisualAge
  • Introduction to the class library
  • Components in Smalltalk
  • Professional development in a team (Envy)

Contact

  • e-mail: dr.mann@ipponsoft.de
  • phone: (++ 49) 6057 1497
  • phone (mobile): (++ 49) 172 5967982
  • "snail mail":
     
          Dünkelbachstr.2
           63639 Flörsbachtal
           Germany

ippon!Soft  (Dr. Ch.Mann)
USt-IdNr.   DE112452427
ESt-Nr.      019 844 30872 (Finanzamt Gelnhausen)