GULP | Kontaktieren | Profil in Englisch anzeigen

Photo
Personen-ID                48070 
Wohnort                    281xx Bremen, Deutschland 
Jahrgang                   1975 
EDV-Erfahrung seit         1996 
Staatsbürgerschaft         Deutsch 
Verfügbar ab               01.04.12 zu 100%, Vor-Ort-Einsatz 100% möglich 
Profil erstellt am         15.02.03 
Profil zuletzt geändert am 31.01.12 
Senior Softwarearchitekt/Entwickler (Java, C/C++, Python, Datenbanken, auch CAD-​Umfeld)
Software-Entwicklung / Programmierung
Beratung / Consulting
Coaching / Schulung / Training
Projektmanagement / -leitung / Organisation / Koordination
Engineering / IT-nahe Ingenieurdienstleistungen

Softwarearchitektur und Softwareentwicklung.

Besonders reizvoll ist für mich die Entwicklung großer und komplexer Softwaresysteme unter Anwendung von Java, C/C++ sowie .NET Technologien.

Hierzu gehören beispielsweise Datenbank basierte Webanwendungen, bei denen große Datenmengen von vielen Anwendern abgefragt bzw. verändert werden; gerne auch in verteilten und heterogenen Umgebungen.
(Z.B. Multi-Tier-Anwendungen unter extremen Nebenläufigkeitsbedingungen.)

Auch in der Entwicklung von Bibliotheken und Frameworks, die portabel (Windows, Unix) und (programmier-)sprachneutral verwendbar sein sollen, bin ich sehr erfahren.

Gerne übernehme ich auch die Leitung von Entwicklungsprojekten oder Teilprojekten.

Erfahrung, ausgeprägtes analytisches Denken, Teamfähigkeit und das Streben nach praxistauglichen Problemlösungen sind neben technischem und theoretischem KnowHow meine besonderen Stärken.

Abgerundet wird mein Tätigkeitsspektrum durch fundierte Kenntnisse in den Bereichen PDM/PLM und CAD (z.B. Catia V5, SolidWorks, Unigraphics NX). Auch hier bin ich sowohl als Berater als auch als Entwickler komplexer Lösungen tätig.

Gerne und schnell arbeite ich mich in bestehende umfangreiche und technologisch anspruchsvolle Projekte und Teams ein und bringe meine Kenntnisse und Fähigkeiten ein.

Festanstellung kommt derzeit nicht in Betracht, nur freiberufliche Mitarbeit
1996: Abitur - Leistungskurse Mathematik und Physik
1996-1997: Fernuniversität Hagen - Mathematik und Informatik
1997-2000: Universität Bremen - Mathematik und Informatik

Zertifizierter C Experte.
Zertifizierter C++ Experte.

Deutschland
Österreich
Schweiz
Weitere Einsatzorte: Europa - EU-Mitgliedsstaaten
DeutschMuttersprache
EnglischFließend in Wort und Schrift

AmigaExzellente Kenntnisse als Entwickler in Assembler, BASIC und C (ist aber schon etwas her...)
Atari 
Drucker 
EmulatorenDiverse Emulatoren und Sandboxsysteme entwickelt und verwendet
Hardware entwickeltVor längerer Zeit habe ich im privaten Bereiche Dinge wie Einplatinencomputer oder eigene Scanner, Light Pens etc. gebaut und mich mit Elektronik in jeder Form, insbesondere aber mit Digitaltechnik, beschäftigt. In neuerer Zeit habe ich einige Microcontroller schaltungen zur Robotersteuerung entworfen und gebaut.
HPKenntnisse als Anwender, Administrator und Entwickler
IBM RS6000Kenntnisse als Anwender, Administrator und Entwickler
MacintoshErfahrungen als Anwender und Entwickler mit Mac OS X
MessgeräteInsgesondere Farbmesssysteme
MikrocontrollerErfahrung mit einigen auf den MC680x0 basierenden Controllern, Programmierung mit C, Forth und Assembler. Aktuell auch Erfahrungen mit diversen Atmel Microcontrollern, deren Eigenschaften und ihrer Programmierung in Assembler und C.
Modem 
MotorolaFundierte Assemblerkenntnisse der MC68xxx-Reihe
PCKenntnisse als Anwender, Administrator und Entwickler in verschiedensten Sprachen mit verschiedensten Betriebssystemen
PLD, FPGA 
Scanner 
Silicon-GraphicsKenntnisse als Anwender, Administrator und Entwickler
SoundkartenIch habe in den 90er Jahren low level Code in Assembler, C und Pascal zur Programmierung von Soundkarten entwickelt
SUNKenntnisse als Anwender, Administrator und Entwickler

Außerdem Erfahrung in der Anwendung und Ansteuerung von Dongles (Hardware-Keys) und sonstigen Kopierschutzsystemen (soft- und hardwarebasiert).
Amiga OSTiefgreifende Entwicklerkenntnisse (ist aber schon etwas her...)
EchtzeitbetriebssystemeRT-Linux (eher oberflächliche Kenntnisse)
HPUXKenntnisse als Anwender, Administrator und Entwickler
IRIXKenntnisse als Anwender, Administrator und Entwickler
Mac OSErfahrungen als Anwender und Entwickler mit Mac OS X
MS-DOSKenntnisse als Anwender, Administrator und Entwickler
OSF/Motif 
SUN OS, SolarisKenntnisse als Anwender, Administrator und Entwickler
UnixLinux, AIX, FreeBSD - Kenntnisse als Anwender, Administrator und Entwickler
WindowsNT, 2000, XP, Vista, Windows 7 - Kenntnisse als Anwender, Administrator und Entwickler
Windows CE 

Bei den Betriebssystemen Linux, SUN Solaris, HP UX, AIX, Irix und Windows (NT 4.0, 2000, XP, Vista, Windows 7) verfüge ich über sehr tiefgreifende Kenntnisse als Entwickler von System- und Anwendungssoftware.
Da ich bereits mehrere sehr große portable Softwaresysteme mitentwickelt habe, kenne ich die 'Details', die die Systeme unterschiedlich realisieren, sehr genau und kann meine Software entsprechend gestalten.
Assemblerx86, x86_64, 680x0, Z80, 6501, 6510, 7501, aktuelle Atmel Microcontroller, oberflächliche Erfahrungen bei einigen RISC Prozessoren
BasicGute Kenntnisse - VB, VBA, VB.NET, einige (alte) weitere
C---> Sehr gute Kenntnisse - ANSI-C und K&R-C <---
C# 
C++---> Sehr gute Kenntnisse - (besonders intensive STL-Kenntnisse vorhanden!) <---
CobolEinige kleinere Programme nach dem Cobol 85 Standard realisiert
Conzept 16Für einen Kunden evaluiert
CORBA IDLSehr detaillierte Kenntnisse auch komplizierterThemen (z.B. Speicherverwaltung bei Sequences etc.)
Delphi 
EiffelGrundkenntnisse
EmacsNormale Entwicklerkenntnisse
ESQL/C 
ForthSehr gute Kenntnisse. Insbesondere der Variante Reva
FortranGrundkenntnisse
Imake, GNU-Make, Make-Maker etc...Sehr gute Kenntnisse
Java---> Sehr gute Kenntnisse auch der typischen Frameworks <---
JavaScriptGute Kenntnisse auch der typischen Frameworks
LispGrundkenntnisse
MakrosprachenSteuersprachen verschiedener Applikationen
Maschinensprachenx86, Java Bytecode, Bytecodes diverser VMs
Pascal 
Perl 
PHP 
PL/SQL 
Python---> Sehr gute Kenntnisse auch der typischen Frameworks <---
Qt 
ScriptsprachenVerschiedene
Shellbash,ksh,sh,tcsh
SmalltalkGute Kenntnisse
Tcl/TkGrundkenntnisse
TeX, LaTeX 
Xt, MotifAuch XView
yacc/lexvor allem die Varianten bison und flex
4th Dimension 

------

Gute Kenntnisse auch weniger relevanter Programmiersprachen wie Haskell und Forth (ich habe 2002 einen entsprechenden Artikel für das LinuxMagazin geschrieben und viel Code zum Reva Forth Projekt beigesteuert) etc.

---

Außerdem kenne ich mich gut mit dem .NET-Framework aus und habe unter anderem ein Buch über C# geschrieben.

---

Über Smalltalk habe ich ebenfalls mal einen Artikel geschrieben - er ist in der freeX erschienen. Daneben betreue ich seit vielen Jahren das Open Source Projekt "Little Smalltalk".
Access 
Conzept 16 
DAO 
DB2 
Informix 
Ingres 
InterbaseVor allem die OpenSource Variante Firebird
JDBCExperte
MS SQL Server 
MySQL 
ODBCExperte
OracleSehr gute Kenntnisse auch spezifischer Möglichkeiten (z.B. hierarchische Queries)
Postgres 
Proprietäre DBSQLite
SQLAuch sehr spezifischer Dialekte und Features (beispielsweise hierarchische Abfragen bei Oracle)
Sybase 
4th Dimension 

Gute JPA/JPQL und Hibernate sowie Toplink (EclipseLink) Kenntnisse sind vorhanden.
Ich verfüge über sehr gute HQL, JPQL und SQL Kenntnisse.

Gute Derby und SQLite Kenntnisse sind vorhanden.

CORBAOrbix, Orbacus, TAO, MICO, ORBit, JEE
Ethernet 
Internet, Intranet 
ISO/OSIGute Kenntnisse der gesamten Netzwerkarchitektur
LAN, LAN Manager 
Message Queuing 
parallele Schnittstelle 
Proprietäre ProtokolleDiverse
Router 
RPC 
RS232 
SMTP 
TCP/IP 
Windows Netzwerk 
WinsockSehr gute Kenntnisse

OLE, COM, DCOM, COM+, ActiveX etc.
SOAP
Enterprise Java Beans (EJB), Java Enterprise Edition (JEE), Application Server (JBoss) etc.
.NET
AutoCAD 
Autodesk Inventor 
CATIA 
I-DEAS 
ME10 / OneSpace Designer Drafting 
NX 
Pro/ENGINEER 
SolidEdge 
SolidWorks 

* MedModel
* ProModel
* livingModels
Allgemein
=========

- Alle gängigen Entwicklungswerkzeuge; insbesondere für Java und C/C++
- Sehr viele mehr oder weniger gebräuchliche Bibliotheken und Toolkits
  für verschiedene Programmiersprachen. (Zum Beispiel die RogueWave-
  Bibliothek, die häufig verwendet wurde als die STL noch nicht als
  C++-Standardbiblothek etabliert war.)
- Gute Kenntnisse aller gängigen Webtechnologien und Protokolle wie:
  + XML
  + HTML
  * CSS
  + HTTP
  + HTTPS
  + SSL
  + SOAP
  + WebServices
  etc.

Fundierte Kenntnisse der gesamten C++ und Java Toolketten sind vorhanden.

Java
====
- Java-Erfahrung seit Java 1.0 (Mitte der 90er)
- Kenntnisse auf aktuellem Stand (Java 6)
- Enterprise Java Beans (EJB 3.0)
- Java Enterprise Edition 5 (JEE 5, früher J2EE)
- Kenntnisse der kommenden Version JEE 6
- Sehr gute Kenntnisse von JPA (inkl. der neuen Version 2)
- Application Server (insbesondere JBoss, Websphere und Glassfish)
- Servlet Container wie Tomcat und Jetty
- Frameworks wie Hibernate, Toplink (EclipseLink) und Spring (2.x bis 2.5.6 und 3.0 RC1)
- Hervorragende Kenntnisse in Spring MCV, Velocity, FreeMarker
- GWT, GWT Ext, Ext GWT, SmartClient (Smart GWT)
- Gilead, Java Beans Library
- GwtRpcSpring (auch gwtrpc-spring geschrieben), GWT-SL
- Fundierte Kenntnisse des JDK (AWT, Swing, Java 2D, Java 3D, JDBC etc.)
- Ant und Maven2
- Eclipse
- JUnit
- Eclipse
- Eclipse RCP / OSGi
- Eclipse TPTP
- Eclipse EMF
- Gute Kenntnisse des Java Bytecodes
- Hudson

C/C++
=====
- ANSI-C und K&R-C Erfahrung seit mehr als 13 Jahren (im privaten
  Umfeld bereits seit mehr als 20 Jahren)!
- C++ Erfahrung seit Mitte der 90er
- Kenntnisse auf aktuellem Stand
- Intensive STL Kenntnisse
- boost
- Gute Kenntnis aller typischen Entwicklungswerkzeuge unter Windows und
  diversen UNIX Derivaten und Varianten

 

Python
======
- Sehr gute Python Kenntnisse (Python 2.x und Python 3.x)
- Diverse Frameworks und Tools
- Python DB-API
- NoSQL Datenbanken wie ZODB
- PyDev (Eclipse Plugin für Python)
- PyUnit

.NET
====
Gute Kenntnisse der .NET Architekturen, Methoden, Sprachen etc.
Beispielsweise C#, VB.NET, managed C++, MS-IL etc.
Gute Kenntnisse der Interoperabilitätsmechanmismen von .NET.
Erfahrungen mit den typischen Frameworks wie WinForms oder NHibernate.
Erfahrener Umgang mit der .NET Toolkette von Microsoft auf Basis des MS Visual Studios.

Assembler
=========
- Mehrjährige Erfahrung mit unterschiedlichen Assemblerdialekten.
- Insbesondere x86 und MC68xxx
- Gute Kenntnisse insbesondere des Flat Assemblers (FASM) und des
  Netwide Assemblers (NASM)

Prozesse
========
Umfangreiche Projekte bereits realisiert nach vielen Vorgehensmodellen, darunter:
- SCRUM
- eXtreme Programming
- Rational Unified Process
- SDM (Software Delivery Method, bei Ford eingesetzte Methodensammlung)
- Diverse projektspezifische Methoden und Vorgehensmodelle
Kenntnisse anderer Vorgehensmodelle (insbesondere agile Methoden und die aktuellen
Überarbeitungen von RUP und dem V-Modell (V-Modell XT)) sind vorhanden.

Architektur
===========
Ich arbeite je nach Projekt sowohl mit klassischen Architekturansätzen als auch nach
Service Oriented Architecture (SOA) und nach Model Driven Architecture (MDA)
Ansätzen.
Insbesondere Modellierung und Design komplexer Systeme mit Hilfe der Unified Modelling Language (UML), beispielsweise mit Enterprise Architect, gehören in diesem Bereich zu meinen Aufgaben.
Ich habe auch umfassende Erfahrungen in der Dokumentation der Architektur bestehender großer Softwaresysteme.

Theorie
=======
Ich verfüge über eine fundierte mathematische Grundbildung und sehr gute
Theoriekenntnisse in der Informatik.
Als CAD-naher Entwickler kenne ich mich mit den mathematischen Hintergründen (NURBS, Modellierung (Edges, Curves, CoEdges, PCurves)
etc.) aus.

Qualitätsmanagement / Projektmanagement

Mir sind die Anforderungen der QM-Normen (insbesondere DIN 9001) vertraut.
Typische von mir eingesetzte Werkzeuge im Bereich Projektmanagement sind beispielsweise
- Mantisse
- TestDirector
- Doors
- MS Project
- Lotus Notes (in einer Konfiguration für den Einsatz von Scrum)


Kaufmännische Kenntnisse
========================
- Gute kaufmännische Kenntnisse inkl. Kenntnisse der doppelten Buchführung,
  Bilanzierung und Kalkulation sind vorhanden.
- Gute Kenntnisse kaufmännischer Softwaresysteme vorhanden


Bevorzugte Datenbank-Management-Systeme

Oracle, Informix, Firebird, MySQL, DB2, Derby und SQLite.


Bevorzugte Test-Frameworks
==========================
CppUnit (teilweise in modifizierten Varianten)
CUnit
JUnit
SUnit


CAD-Systeme (aus Sicht eines Softwareentwicklers!)

- Catia V5 (insbesondere gute Kenntnisse von CAA und CATScript vorhanden!)
- SolidWorks (seit 1999)
- Unigraphics NX (MenuScript, GRIP, Open C API (UFUNC), Open C++ API)
- ME10
- SolidDesigner
- Inventor
Bei diesen Systemen sind aufgrund früherer Tätigkeiten
Erfahrungen mit den Programmierschnittstellen vorhanden!

Außerdem FIDES (proprietäres System für den Vorrichtungsbau).

Gute OpenGL-Kenntnisse vorhanden.


PDM-Systeme
===========
CIM DATABASE und einige kleinere Systeme


Sonstiges
=========
- MS Office Produkte (vor allem MS Word und MS Excel,
  aber auch MS Outlook, MS Project und MS Access)

- Visio, Powerpoint, Paint Shop Pro, XFig, LaTex

- Ich habe sehr intensive Erfahrungen mit diversen
  Middleware-Technologien und -Produkten gemacht,
  vor allem mit OLE/COM/DCOM etc. und diversen
  CORBA-Implementierungen (Orbacus, TAO/ACE, Orbix, Mico, ORBit).
  Aber natürlich auch mit modernen Middleware Infrastrukturen
  wie Java (JEE) und .NET Technologien.

- CMS-Systeme CMSMadeSimple, Drupal

- Enterprise Architect (UML-Modellierung)

- Grundkenntnisse in Cobol 85.

Zu den weiter oben genannten 'gängigen'
Entwicklungswerkzeugen gehören zum Beispiel:
- Microsoft Visual Studio 4
- Microsoft Visual Studio 6
- Microsoft Visual Studio .NET (7.0 (2002), 7.1 (2003), 8.0 (2005), 8.1 (2007), 9 (2008))
- LIB und LINK

- Alle typischen GNU-Werkzeuge
  (gcc, gpp, ar, make, runlib, ld, cvs etc.)
  (Auch 'normale' Tools wie sed, awk, bash, sh, ksh, csh, tar etc.)

- Smalltalk Umgebungen wie Visual Works, Dolphin, Smaltalk/X, Squeak und LittleSmalltalk

- Borlands alte Turbo-C und Turbo-Pascal-Compiler

- Ich habe schon viele GUI-Toolkits wie Qt, wxWidgets (früher wxWindows),
  MFC, WIN32-API, XView, Motif, IuP (da habe ich auch Code beigesteuert)
  verwendet

- Rational Software Architect
Ich setze bei meinen Projekten keinen besonderen Branchenschwerpunkt.
Generell interessieren mich alle Projekte, in denen ich meine Fähigkeiten
voll entfalten und neue Themen erarbeiten oder vorhandene Kenntnisse vertiefen kann.

Branchen, in denen ich Projekterfahrungen sammeln konnte:

Automobil/Automotive/Zulieferer
Banken
Luft- und Raumfahrt
Anlagenbau und Maschinenbau
IT
Handel
Gesundheitswesen
Lebensmittelbranche
Telekommunikation
Print und andere Medien
Werbung
Öffentliche Auftraggeber
Druckereibranche



=============================
=== November 2011 - heute ===
=============================
Kunde: comdirect bank AG
Einsatzort: Quickborn
Projekt: Framework und Tooling
Position: Frontend Framework Entwickler
Technologien: Java, Spring, Spring WebFlow, Spring MVC, Java Server Faces (JSF), Javascript, jQuery, Firebug, Eclipse, OSGi, HTML, CSS

 

Als Mitglied des Teams Frameworks und Tooling habe ich an der Entwicklung und Weiterentwicklung der Frontend Frameworks (Serveranteil mit Java, Spring Webflow, JSF etc. und Clientanteil mit HTML, CSS, Javascrip, jQuery etc.) gearbeitet.
Zu den Aufgaben gehörte auch das Coaching und die Betreuung der Anwendungsentwickler, die fachliche Anwendungsfälle mit Hilfe der Frameworks umsetzen sowie die Beratung der Projektleiter bei Fragen, die das Framework betreffen.

 

 

====================================
=== November 2009 - Novemer 2011 ===
====================================
Kunde: Recaro Aircraft Seating
Einsatzort: Schwäbisch Hall / Bremen
Projekt: PLM Competence Center
Position: Beratung, Entwicklung
Programmiersprachen: Python, C++, Java, VisualBasic (VB, VBScript, CATScript), SQL
Sonstige Technologien: Windows, Unix, Unix-Tools, Citrix, VMware, Oracle, SQL Developer,
CIM DATABASE, Catia V5, SolidWorks, SAP etc.

In diesem Projekt arbeite ich aktiv im PLM-/PDM-Team des Kunden mit.
Hierbei geht es vor allem um die Anpassung des PDM Systems CIM DATABASE und
der Integrationen in verschiedenste andere Systeme (Catia V5, SAP, Kalkulationssoftware, Inubit etc.) an die Anforderungen der Anwender.

Besondere Anforderungen stellen die Kommunikation mit SAP über die CDB Python Schnittstelle zu SAP sowie die Einführung von CIM DATABASE 2.9.8 dar.

 

Ein Auszug meiner Tätigkeiten bei diesem Kunden:

 

* Leitung der Key User Meetings
* Aufnahme und Bewertung von Fehlern, Problemen und Verbesserungswünschen
* Realisierung/Implementierung von Lösungen mit Python, SQL und durch Customizing
* Oder Delegation und Controlling
* Verbesserung beispielsweise auch der SAP Schnittstelle
* Teilweise Betreuung der Systeme
* Erstellung von Reports bzw. Reportfunktionalität

* Komplette technische Teilprojektleitung neben dem PLM Teamleiter bei der CDB Einführung bei RECARO Child Safety
  + Diese CDB Einführung wurde komplett ohne Mitarbeit von Contact durchgeführt
  + Das System ist seit März produktiv und läuft ohne nennenswerte Probleme

* Technische Teilprojektleitung neben dem PLM Teamleiter bei der Einführung von CDB 2.9.8 bei RECARO Aircraft Seating
  + Qualitätsmanagement, Testplanung, Testdurchführung , Testdelegation
  + Verwaltung der offenen Punkte, Controlling des Stands der Bearbeitung durch Contact und RAS Mitarbeiter.
  + Absicherung der Nachtests
  + Klärung offener Fragen
  + Ermittlung der zu schulenden Änderungen

* Einarbeitung neuer Mitarbeiter im PLM Team

* Dokumentation von Systemteilen zur Know How Sicherung
* Erstellung einer verbindlichen Entwicklungsrichtlinie
* Entwicklung eines Prozesses für die FPV Bearbeitung

* Schulung der Mitarbeiter des PLM Teams
* Training der Key User bei kleineren Veränderungen

 

 


=== Septemer 2009 - November 2009 ===

Kunde: neuland GmbH
Einsatzort: Bremen
Projekt: Webshop "bonprix"
Position: Entwicklung und Architektur
Programmiersprachen: Java, Ruby, JRuby
Sonstige Technologien: Eclipse, Ant, Velocity, Spring, Spring MVC, Hibernate, ehCache, XML, HTTP, HTTPS, HTML, CSS, Oracle, SQL, SQLDeveloper, Subversion (SVN), Ruby on Rails, JRuby, MySQL, PL/SQL, Tomcat, Apache HTTPD

Der bonprix Webshop ist laut Wikipedia eine der 10 am stärksten Frequentierten Webseiten Deutschlands.
Bei der Weiterentwicklung des Webshops mussten wir deshalb besondere Anforderungen in Bezug auf Performance,
Skalierbarkeit, Caching etc. berücksichtigen.

Der Entwicklungsprozess basiert auf Scrum und wurde um Elemente anderer agiler Methoden wie XP ergänzt.

==============================
=== Mai 2009 - August 2009 ===
==============================

Projekt 1
=========
Kunde: engram Gmbh
Einsatzort: Bremen
Projekt: eKMS - engram Kampagnen Mangement System
Position: Softwarearchitekt, Softwareentwickler
Programmiersprachen: Java
Sonstige Technologien: Spring, Hibernate, Gilead, GWT, GWT Ext, HQL, MySQL, XML, GwtRpcSpring, Maven2, Eclipse, PMD, CheckStyle, Spring Security, SingleSignOn, RACF, Hudson, JUnit, Tomcat, Websphere Application Server, Rational Software Architect, Lotus Notes etc.

Branche: Banken
Besonderheit: Die Software enthält Komponenten, die auf einem Geldautomaten ausgeführt werden!

Beratung und Unterstützung des Entwicklungsteams bei der Realisierung
des engram Kampagnen Management Systems für Banken und andere Kunden.

Die Hauptaufgabe hierbei lag in der Anpassung der Architektur und der
Technologien in Bezug auf Spring, Hibernate und GWT. Hierbei spielten
unter anderem Gilead als Glue Technologie zwischen Hibernate und GWT
sowie Spring Security als Sicherheitslösung eine wesentliche Rolle.

Im Zuge der erforderlichen Architekturumstellungen habe ich das
Framework GwtRpcSpring eingesetzt, an dessen Entwicklung und Verbesserung
ich beteiligt bin.

Bei der Verteilung von Werbung auf Zielgeräte muss das System sehr
viele Anfragen von sehr vielen Geräten beantworten können und deshalb
hochperformant und hochverfügbar arbeiten.

Aus diesem Grund haben wir es für den Einsatz auf Clustern ausgelegt
(also mit einer sehr hohen Skalierbarkeit ausgestattet) und viele
komplexe Datenermittlungen in optimiertem HQL formuliert.

Als Entwicklungsmethode wurde konsequent Scrum eingesetzt.

Planung und Durchführung einer Schulung zu fortgeschrittenen Hibernate Funktionalitäten.
(Interceptor, Event System, Filter etc.).

Planung und Durchführung einer Schulung zu Spring, Spring AOP und Spring Security.


Projekt 2
=========
Ich bin aktiver Committer des Projekts GwtRpcSpring (auch "gwtrpc-spring" geschrieben).
Dieses Projekt dient zur Integration von GWT und Hibernate (via Gilead) in die Spring Welt
und ermöglicht das weitestgehend transparente Mergen und Klonen von Objekten durch Gilead
via AOP (Apektorientierte Programmierung) sowie die Entwicklung von GWT RPC Services (Servlets)
als Spring Beans.

Ich habe diverse Bugfixes und Beispiele zu dem Projekt beigesteuert und untertützte Anwender,
die Schwierigkeiten bei der Kombination dieser Technologien haben.

Programmiersprache: Java
Technologien: Java, GWT, Spring, Hibernate, Gilead, Spring AOP, AspectJ, Servlets



=== Januar 2008 - April 2009 ===


Projekt 1
=========
Kunde: Heidelberger Druckmaschinen AG / Standort Kiel
Projekt: Farbmesssystem
Architektur und Entwicklung einer komplexen Java und C++ Anwendung, die über
eine auf CORBA basierende proprietäre Middleware kommuniziert.
Hierbei auch Entwicklung eines auf Swing basierenden MVC Frameworks unter intensiver Verwendung von Annotations und Dependency Injection.
Technologien: Java, JPA, Hibernate, TopLink, Swing, Eclipse, MVC Framework, C++, C, CORBA, Visual Studio, Subversion, Ant, Derby, SQL etc.

Im Rahmen dieses Projekts haben wir auch Ideen eines im Versicherungsumfelds etablierten
MVC Framework verallgemeinert und für die Entwicklung des Java Teils der Anwendung verwendet.

Programmiersprachen: Java, C++, C
Sonstige Technologien: CORBA (SFcom), Swing, Touch Screens, Hibernate, Ant, Visual Studio, Eclipse, MVC

Projekt 2 (Nebentätigkeit)
==========================
Kunde: Galileo Press
Projekt: Buch über Java Enterprise Edition (JEE/J2EE) Version 6
Co-Autor eines umfangreichen Buchs zur kommenden Version 6 der Java Enterprise
Edition.
Technologien: Java, JPA, JEE (J2EE), Glassfish, JBoss, NetBeans, Eclipse, Spring

Projekt 3 (Nebentätigkeit)
==========================
Kunde: Eigenentwicklung
Projekt: Aufbau eines Portals für Vertriebsprofis
Technologien: Java, JavaEE (JEE/J2EE), JBoss, Hibernate (als JPA Implementierung), JavaScript, Ajax, GWT, SmartClient, Guice, Eclipse-RCP, Eclipse, Subversion, Ant, Maven2, SQL Server, Oracle, MySQL, SQL, JDBC, TCP/IP, Ethernet, HTTP, HTTPS, SSL


=== Februar 2007 - Dezember 2007 ===


Projekt 1
=========
Kunde: T-Systems / Mülheim a.d. Ruhr
Projekt: A2LL
Das Softwaresystem A2LL wird von der Bundesargentur für Arbeit
zur Berechnung und Verwaltung der ALG II Ansprüche Hilfebedürftiger
verwendet.
Als Software Architekt und Entwickler gehörten die Erarbeitung von
Verbesserungsvorschlägen inkl. ausführlicher Analysen der
Ist-Situation in der Software ebenso zu meinen Aufgaben
wie die Erstellung von entwicklungsbezogenen Dokumenten (z.B.
Architekturdokumentation).
Auch die Refaktorisierung ausgewählter Codestellen (z.B. sehr lange Funktionen)
und die Identifizierung toten Codes etc. gehörten zu den Aufgaben in diesem Projekt.
Diese Aufgaben wurden in einem Team, das sich aus mehreren
freiberuflichen Software Architekten zusammensetzt, bearbeitet.
Technologien: C++, VisualBasic, COM, Informix, CVS, TestDirector, Enterprise Architect (UML), Unit Tests,
Java, Tomcat, SOAP, WSDL, XML, HTML, JDBC, ESQL/C, JUnit, Ant, JMetrics, Project Analyser, Understand For C++ (Metrik Tool)
etc.

Projekt 2
=========
Entwicklung eines umfassenden Warenwirtschaftssystems mit Java Technologien.
Das WWS verfügt über Komponenten zur Kundenverwaltung, Auftragsbearbeitung,
Rechnungswesen, Lagerverwaltung, Mitarbeiterverwaltung, Anbindung von Barcode Scannern,
Lieferantenverwaltung, etc.
Technologien:
Java, Java Enterprise Edition (JEE5), Enterprise Java Beans (EJB 3.0),
Hibernate (im Projektverlauf ersetzt durch Java Persistence API), Spring,
Swing, Java JDK 5 (testweise wurde auch Java 6 eingesetzt), Eclipse, Subversion,
Web Services, XML, SOAP, JUnit, Ant etc.


=== Februar 2004 - Februar 2007 ===


Hauptprojekt
============
Kunde: Ford Werke AG / Köln
Projektsprachen: Englisch und Deutsch
Entwicklung/Verbesserung einer Anbindung von
Catia V5 in das Fixture Design & Evaluation
System FIDES der Firma Ford.
Hierbei wurde sehr intensiv mit CAA und C/C++
auf verschiedenen Plattformen (Windows und UNIX (HP-UX,
SUN Solaris, IBM AIX und SGI Irix)) gearbeitet.
Die Anbindung stellt einen vollständigen Geometrie-
und Topologie-Konverter von Catia V5 in den in
FIDES verwendeten Geometrie-Modellierer ACIS
dar.
Ebenfalls mit konvertiert werden unterschiedlichste
PMI-Informationen (Annotations, Weld Spots,
Locators etc.).
Im Rahmen dieses Projekts wurden Technologien in FIDES
eingeführt, die ich zu einem früheren Zeitpunkt bereits
als OpenSource-Werkzeuge veröffentlicht hatte.
Beispielsweise eine portable Bibliothek zum dynamischen
Nachladen von DLLs bzw. shared Objects oder eine
sehr effiziente HashTable Implementierung in ANSI C.

Erweiterungen des Buildsystems (komplexe proprietäre
Zusammenstellung von Makefiles) gehörten ebenso zum
Tätigkeitsfeld wie eine teilweise Administration der
verschiedenen Systeme.

Technologien: Catia V5, CAA, CATScript, MS Visual Studio, C, C++, Visual Basic (VB),
make, PVCS (und ClearCase), TCP/IP, Protokolle, FIDES, OpenGL, SQLite, SQL,
MS Word, MS Excel, Java, Teamcenter NX, XML etc.


Nebenprojekte
=============
Kunde: M&K Gewürze / Oerk-Erkenschwik
Entwicklung einer kompletten Unternehmenssoftware.
Die Software dient zum Beispiel zur Kunden- und
Lieferantenverwaltung, zur Auftragserfassung, zur
Erstellung und Bearbeitung von Packzetteln, Lieferscheinen
und Rechnungen und zur Lagerbestandsverwaltung.
Die Bearbeitung von Packzetteln und die Verwaltung
von Warenein- und Ausgängen wird über Barcode-Scanner
gesteuert.
Für die Barcode Scanner habe ich eine genau auf die
Anforderungen des Gesamtpakets abgestimmte Steuerungssoftware entwickelt.
Technologien: C, C++, wxWidgets, SQLite, PostgreSQL, XML, SQL, UML, Barcode Scanner

Kunde: livingSolutions GmbH / Cloppenburg
Entwicklung einer Simulationslösung zur Ressourcenplanung
und -optimierung in Kliniken und Krankenhäusern.
Die Simulationsengine wurde mit Hilfe intensiver Makroprogrammierung
auf Basis von MedModel realisiert.
Die Verwaltung der Simulationsobjekte (Entities und Ressourcen sowie
deren Eigenschaften und Verhaltensweisen) und die Ergebnisauswertung
wurde mit C/C++ und wxWidgets auf Basis von SQLite realisiert.
Abgesehen von MedModel kamen ausschließlich OpenSource-Werkzeuge
bei der Entwicklung zum Einsatz.
Technologien: C++, wxWidgets, SQLite, Firebird, Java, EJB, JBoss, UML,
SQL, JDBC, Hibernate, Spring, Swing, MedModel, ProModel

OpenSource-Projekt
Mitentwicklung der freien Forth Variante Reva.
Technologien: Forth, Assembler (x86), IUP

Weiterentwicklung und Maintainance des freien Smalltalk Systems LittleSmalltalk.
Technologien: Smalltalk, C, IUP

Außerdem:
Zusammenstellung, Installation und Administration meines eigenen
Rechnerparks bestehend aus mehreren Windows-, Linux- und UNIX-
Systemen (derzeit SUN Solaris, SGI Irix, HP-UX und IBM AIX).



=== Juni 2003 - Februar 2004 ===


Entwicklung der Integrationssoftware für ein bedeutendes
PDM-System in das 3D-CAD-System Unigraphics NX von EDS/PLM Solutions.
Die Integrationssoftware läuft unter Windows (2000/XP), SUN Solaris
und SGI/Irix.
Durch die Integrationssoftware kann das PDM-System vollständig aus
dem CAD-System heraus bedient werden. An der Oberfläche wird hierzu
die Menü- und Symbolleistenstruktur des CAD-Systems erweitert.
Bei allen Operationen werden natürlich die Beziehungen der CAD-Objekte
untereinander intakt erhalten und sorgfältig im PDM-System gepflegt.
Technologien: C, C++, Talk/API, CIM DATABASE, Unigraphics NX, OpenFUNC



=== Oktober 2002 - Mai 2003 ===


Tätigkeit 1
-----------
Projektziel: Entwicklung eines wirkungsvollen Lizenzschutzsystems,

 mit dem Softwareunternehmen ihre Software wirkungsvoll

 vor Raubkopien schützen und ihren Kunden flexible

 Lizenzmodelle wie Floating-Lizenzen und Pay-Per-Use-

 Lizenzen anbieten können.

Programmiersprache: ANSI-C (plus GUI-Frontends mit C++)
Plattformen: Windows (NT, 2000, XP), Linux, Solaris, HP-UX, AIX
Entwicklungsumgebungen: MS-Compiler (Kommandozeile, über make gesteuert)

Microsoft Visual C++ (für GUI-Frontends)

gcc (UN*X-Plattformen)


Tätigkeit 2
-----------
Im Oktober 2002 erschien mein erstes Buch. Seither schreibe
ich nebenbei häufiger Bücher und übernehme Fachlektorate für
verschiedene führende Computerbuch-Verlage in Deutschland.

Buch (Co-Autor)
---------------
Projektziel: Einführungsbuch C#
Programmiersprache: C#
Entwicklungsumgebung: Microsoft Visual Studio .NET

Fachlektorate
-------------
Mehrere mittlerweile erfolgreiche Bücher über VBA-Programmierung.
Programmiersprachen: VB, VBA
Entwicklungsumgebungen: Microsoft Visual Basic


=================
=== 1998-2002 ===
=================

Festanstellung als Senior Software Engineer bei einem
der führenden Anbieter von PDM-(Produkt Daten Management-)Systemen
in Europa.

Tätigkeiten:
Als Entwickler habe ich etliche Kunden- und Entwicklungsprojekte
von der Phase der ersten Anforderungsbeschreibungen bis zur kompletten
Produktivschaltung technisch begleitet.

Spezielle Entwicklungsschwerpunkte in dieser Zeit:

Aufgabe 1
---------
Projektziel: Komplette Neuorganisation der Dateiablage innerhalb

 des PDM-Systems.

Schwerpunktprobleme:

  o Kompatibel zur Installationsbasis bleiben

  o Transaktionale Bearbeitung von Objekten, die im Dateisystem

 durch mehrere Dateien repräsentiert werden. (Entweder werden

 alle diese Dateien bei einer Operation richtig aktualisiert

 oder kein, damit es nicht zu Inkonsistenzen kommen kann.)

  o Zuverlässige Erkennung von Modifikationen und Hinweise

 auf mögliche und tatsächliche Bearbeitungskonflikte, damit

 zwei Anwender nicht gleichzeitig unabhängig voneinander

 dasselbe Dokument ändern ohne diese Gleichzeitigkeit zu

 bemerken.

  o Optimierung von Datenübertragungen. Dateien sollen nur

 zwischen dem PDM-System und den Arbeitsverzeichnissen der

 Anwender ausgetauscht werden, wenn nicht schon aktuelle

 oder gar modifizierte Revisionen vorliegen (ähnlich CVS,

 nur komplexer)

Programmiersprachen: C und C++
Plattformen: Windows (NT, 2000, XP), Linux, AIX, Solaris, HP-UX, Irix
Entwicklungswerkzeuge: Microsoft Visual Studio, GNU-Tools,

  MKS-Toolkit, Sehr intensiv auch: Oracle, SQL, PL/SQL



Aufgabe 2
---------

Realisierung eines komplexen Replikationsszenarios für
Dokumentendateien. Zwischen den PDM-Installationen eines
Kunden an verschiedenen Standorten, die über langsame
WANs verbunden sind, soll der Datenabgleich optimiert
werden.
Hierbei ging es darum, Dateien an verschiedenen Standorten
vorzuhalten und die Probleme aus Aufgabe 1 entsprechend
zu erweitern.
Auch völlig neue, teils unerwartete, Fragestellungen mussten
bearbeitet werden (was passiert mit Dateien, die an einem
Standort gelöscht oder verschoben werden etc.).


Aufgabe 3
---------

Weiterentwicklung der Programmierschnittstelle des PDM-
Systems zur Anbindung von CAD-Schnittstellen.
Hier waren diverse Probleme zu lösen.
Im Rahmen dieser Tätigkeit habe ich auch die Koordination
verschiedener externer Entwicklungspartner übernommen und
in enger Kooperation mit diesen Lösungen für die
gestellten Aufgaben entwickelt.
(Beispiel: Entwicklung der Anbindung des CAD-Systems
I-DEAS an das PDM-System)


Aufgabe 4
---------

Entwicklung und Weiterentwicklung der Schnittstellen zu
diversen CAD-Systemen.
Hier sind insbesondere die Anbindungen an SolidWorks und
Catia V5 zu nennen.
Bei diesen Anbindungen geht es darum, wichtige Funktionen
des PDM-Systems aus der Oberfläche des CAD-Systems heraus
anzusteuern und beispielsweise die Übertragung von Objekten
in das PDM-System bzw. aus dem PDM-System in die aktuelle
Sitzung des CAD-Systems zu steuern.


Aufgabe 5
---------

Entwicklung eines im Browser lauffähigen Graphvisualisierungstools
in Java mit Swing.
Mit diesem Werkzeug können Zusammenhänge zwischen Objekten, also
ganze Objektstrukturen, optisch wirkungsvoll präsentiert werden.
Beispielanwendungen waren:
- Zuordnung von Mitarbeitern zu Projekten
- Zuordnung von zu erstellenden Produkten zu Projekten (und weiter zu Mitarbeiten)
- Enthaltenseinsbeziehungen und sonstige Abhängigkeiten zwischen
  Objekten (sowas wie 'um ein Auto zu bauen, braucht man Räder, Sitze etc.',
  aber eben grafisch wirkungsvoller)
Das Visualisierungstool ist technisch komplett unabhängig von
den zu visualisierenden Strukturen und ihren Objekten und wird
über eine spezielle Graph-Beschreibungssprache gesteuert, die
ich im Kontext dieses Projekts definiert habe.
Für gerichtete, zykelfreie Graphen ist ein automatischer
Layout-Mechanismus integriert, so dass man sich nicht um die
Anordnung der Objekte auf dem Bildschirm kümmern muss, sondern
nur um die strukturellen Beziehungen zwischen den Objekten.


================
=== Vor 1998 ===
================

In erster Linie private Entwicklungsprojekte realisiert. Hier sind diverse
Compiler für verschiedene Programmiersprachen, Texteditoren, Schachprogramme
und sogar kleine Betriebssysteme entstanden.

Bei den meisten relevanten Projekten kamen die Programmiersprachen c (ansi-c
und kernighan und ritchie c) und c++ zum Einsatz.
Bei privaten Projekten verwende ich gerne auch Smalltalk und würde das
sehr gerne auch im beruflichen Umfeld intensivieren.
Objektorientierte Methoden und Modellierungen (von UML über
Rational Unified Process bis hin zu entsprechenden Werkzeugen) verwende
ich dann, wenn sie mir sinnvoll erscheinen.
Ich bin kein blinder Anhänger irgendeines Entwicklungs- oder
Programmierungsparadigmas, sondern wende die Technologien und
Methoden an, die mir zur Lösung der aktuellen Probleme am geeignetsten
erscheinen!

Bei den meisten Projekten wurden komplexe Client-/Server-Architekturen
realisiert, hierbei kamen Technologien wie CORBA, COM und auch proprietäre
auf TCP/IP basierende Protokolle zum Einsatz.
Seite drucken Seite drucken Zum Seitenanfang Zum Seitenanfang



GULP | Kontaktieren | Profil in Englisch anzeigen


GULP - Das Portal für IT Projekte
GULP Information Services übernimmt keine Gewähr für die Richtigkeit der hier gemachten Angaben.
Seite generiert am 01.02.2012 00:59:33
© Copyright 1996-2012 GULP Information Services GmbH,
Ridlerstraße 37, D-80339 München, Tel. +49-89-500316-0, Fax +49-89-500316-999, E-Mail info@gulp.de


Photo