PROFIL

Werbung
PROFIL
Persönliche Daten
Name:
Uwe HEHN
Anschrift:
Falkenstraße 11
D-84051 Essenbach
Telefon:
Mobil:
E-Mail:
Homepage:
+49 8703 98 88 98
+49 176 641 41 623
Nationalität:
Jahrgang:
deutsch
1964
[email protected]
http://www.java-enterprise.de
Position
Senior Software Ingenieur, Architekt und Projektleiter für Java Enterprise und C++ Projekte
Ausbildung
Dipl.-Ing.(FH) Elektrotechnik (Datenverarbeitung) an der Fachhochschule München
Leistungen
Ihre Softwareprojekte unterstütze ich mit folgenden Leistungen, entweder vor Ort nach Aufwand oder
als Festpreis:
 Anforderungsanalyse
Erstellen von Anforderungskatalogen, Konzepten, Lastenheften, und Prototypen in Zusammenarbeit
mit den fachlichen Stellen.
 Design
Entwicklung von Architekturen, Pattern, Libraries zur Umsetzung der Anforderungen. Beratung in der
Auswahl von Tools.
 Implementierung
Erstellung der Software in Java
 Tests und Qualitätssicherung
Erstellung von Unit- und Integrationstests. Realisierung von automatisierten Tests. Durchführung von
Code Reviews.
 Dokumentation
Erstellung von Anwender- und Entwicklerdokumentationen.
 Technische Projektleitung
Unterstützung der Projektleitung in agilen Projekten (SCRUM).
 Beratung zu den oben genannten Leistungen
Seite 1 / 9
Qualifikation
Ich beschäftige mich seit 1991 eingehend mit objekt-orientierter Softwareentwicklung. In einer
Reihe von Projekten aller Grössenordnungen konnte ich einen (hoffentlich) entscheidenden Beitrag zum
Erfolg des Projektteams leisten. Dabei habe ich Erfahrungen mit folgenden Tools und Technologien
gesammelt:
Expertise:






Technologien:

Frameworks:

Entwicklungstools: 
Rose
Frontends:

Codemanagement: 
Integration:

Datenbanken:

App Server:

Kommunikation:

Betriebssysteme:
Objekt-orientierte Analyse und Design
Programmierung in Java und C++
Projektleitung / Koordination / Coaching
Software Architekturen, Pattern und Framework Design
Client-Server und Enterprise Middleware
SOA (Service-orientierte Architektur), EAI (Enterprise Application Integration)
Java, Java EE, EJB3, JPA, JUnit, C++, SQL, Python, JNI, JDBC, UML
OSGi, Hibernate, Spring, Cayenne, JDO, iBatis
Eclipse, NetBeans, TOAD, JBuilder, ClearQuest, Bugzilla, Polarion, Rational
Eclipse RCP, RAP/RWT, SWT, JSF, Servlets, HTML, JSP, Swing, JavaScript
GIT, Subversion, Crucible, FishEye
Hudson/Jenkins, Sonar
H2, DB2, Oracle, MongoDB, SQL Server, Poet
Tomcat, JBoss, BEA WebLogic, Glasfish
JMS (HornetQ, WebSphere MQ), REST (JSON), Spring-Remoting, XML-RPC,
JBoss Netty, TCP/IP, Industrial Ethernet
 Windows, Linux (Suse 10/11, Ubuntu), MacOS, Android
Branchen
Logistik, E-Commerce, Flugzeugbau, Dienstleistung, Software, Automobil und Zulieferer, Industrie,
Versicherungen, Banken
Berufliche Weiterbildung
2012
2007
2006
2003
 Java EE Summit
 Advanced Hibernate Training
 Führungsinstrumente für Projektleiter
und Führungskräfte
 Mitarbeitergespräche erfolgreich führen
München
Red Hat Deutschland
C2 Organisationsberatung
C2 Organisationsberatung
Soft Skills
Soft Skills:





sehr gute analytische und konzeptionelle Fähigkeiten
strukturierte und selbständige Arbeitsweise
ausgeprägte Teamfähigkeit und Flexibilität
kosten- und kundenorientiertes Vorgehen in der Projektabwicklung
interkulturelle Berufserfahrung
Sprachen:
 Deutsch (Muttersprache)
 Englisch (fließend in Wort und Schrift)
Auslandsaufenthalt:  USA: 1998 – 1999
Seite 2 / 9
Projekte
04/2013
jetzt
Rolle:
Branche:
Logistik - Gütertransport
Projekt:
Steuerung von Güterzügen an Ablaufbergen.
Erfassung und Verwaltung von Leistungskomponenten.
Neuentwicklung.
Entwicklung des Datenmodells und der Hibernate-Entitäten.
Entwicklung der Persistence-Schicht.
Entwicklung von Frontend-Masken und zugehörigen Services nach Vorgaben.
Installation des Builds auf Jenkins.
Unit- und Containertests. Einführung von H2 als Test-DB.
Dokumentationen.
Einführung von Code-Reviews mit Crucible/Fisheye.
Tätigkeit:
Software Entwickler / Consultant
Schienengüterverkehr
Technik:
Eclipse Scout, Spring, Hibernate, JavaEE 5, IBM Websphere AS,
DB2- und Oracle-DB, TestDB H2.
Deployment auf IBM Websphere AS.
Continuous Integration mit Hudson/Jenkins + Sonar.
Reviews von Code mit Crucible/Fisheye.
Projektverfolgung/Problembehandlung mit Jira.
Projekteigenes Wiki mit Confluence.
JUnit / Mockito Testframework.
Enterprise Architect Modellierung.
Repository: SVN.
Buildsystem: Maven. Repository: Nexus.
02/2013
03/2013
Rolle:
Branche:
Logistik - Gütertransport
Projekt:
Disposition von Güterzügen
Tätigkeit:
Portierung des bestehenden RCP-Clients nach RCP 4.
Umstellen des Build von Maven auf Tycho.
Performance-Optimierungen, Code-Reviews, Architektur-Reviews.
Consulting bezgl. JMS-Kommunikation (ca. 500.000 Messages pro Tag).
Erstellen eines Migrationspfades.
Unit- und Containertests.
Dokumentationen.
Deployment auf Testserver und Integrationstests.
Eclipse RCP, JavaEE 5, JMS, DB2-DB.
Deployment auf Websphere AS.
Continuous Integration mit Hudson/Jenkins + Sonar.
Reviews von Code mit Crucible/Fisheye.
Projekteigenes Wiki mit Confluence.
JUnit / Mockito Testframework.
Repository: SVN.
Buildsystem: Maven / Tycho. Repository: Nexus.
Technik:
Software Entwickler / Consultant
Schienengüterverkehr
Seite 3 / 9
01/2011
01/2013
Rolle:
Branche:
E-Commerce Versandhandel
Projekt:
Softwaretechnische Weiterentwicklung des Core-Systems (Artikel und Produkte, PIM)
eines führenden deutschen E-Commerce-Betreibers.
Import / Export zu externen Systemen ( Shop, Lieferanten, Katalogproduzenten, SAPERP, SAP-CRM)
Umbau von Batch-Betrieb auf ereignisbasierte Messaging-Lösung
Transaktionale Verarbeitung von Massendaten
Validierung, Konvertierung, Normierung
Tätigkeit:
Agile Software-Entwicklung nach SCRUM.
Erstellen von Anforderungen in Zusammenarbeit mit dem Fachbereich.
Entwurf von technischen Datenmodellen und Prozessen.
Implementierung anhand von Datenmodellen und Prozessen.
Performance-Optimierungen.
Code-Reviews und Betreuung von Trainees.
Unit- und Containertests.
Bearbeitung von Tickets, Unterstützung der Fachabteilungen.
Dokumentationen.
Deployment auf Testserver und Integrationstests.
Testunterstützung der Fachabteilung.
Technik:
JavaEE 5, JBoss AS, HornetQ-JMS, JAXB, Spring
Hibernate-JPA, DB2- und Oracle-DB, TestDB H2, NoSQL (MongoDB)
RESTful services mit JSON
Deployment auf JBoss AS 4.
Continuous Integration mit Hudson/Jenkins + Sonar
Reviews von Code mit Crucible
SCRUM-Tool Jira
Projekteigenes Wiki mit Confluence
JUnit / Mockito Testframework
Mantis Issuetracking, ARIS Modellierung
Dokumentenmanagement SharePoint
Repository: Git, SVN.
Buildsystem: Ant / Maven. Repository: Nexus.
09/2008
12/2010
Rolle:
Branche:
Framework für Flugsimulatoren
Projekt:
Re-engineering des DataRecorders. Der DR zeichnet Flugdaten im 10 ms-Takt auf,
und spielt diese zeitversetzt im gleichen Takt wieder ab. OSGi-Bundle.
Vollständiges Entwickler- und Adminstrator-IDE auf Basis Eclipse RCP.
Generisches Java- und C++-Framework für Flugsimulatoren. Modelle, welche die
Funktionen des Simulators beschreiben, werden zur Laufzeit geladen und per JNI
angesprochen.
Simulationssoftware für Trainingsflugzeuge
Vergleich und Tests von Java- und C++-Versionen hinsichtlich Performance,
Skalierbarkeit, Resourcenverbrauch, Stabilität.
Tätigkeit:
Design- und Entwicklung eines Rich-Clients zur Administration des SimulationsFrameworks auf Basis Eclipse-RCP.
Enthalten sind Navigator, Wizards, Views, Debugger, Plotter zur Darstellung der Werte
etc.
Implementierung der Anbindung mit JBoss Netty über TCP/IP an das C++-
Software Entwickler / Consultant
E-Commerce
Senior Softwareentwickler
Flugzeugbau
Seite 4 / 9
Framework.
Entwicklung, Programmierung, Tests und Beratung.
Spezifikation und Entwicklung von Performance-Test-Modulen.
Design und Implementierung einer universellen Daten- und CommandSchnittstelle, möglichst BS- und Sprachen-unabhängig: XML-RPC.
Technik:
Framework läuft unter OSGi (Felix, Equinox) oder native. BS: Linux auf PowerPC und
X86, Windows, sowohl 32- als auch 64-Bit.
Buildsystem: Maven und Hudson.
Entwicklungsumgebung: Eclipse, SuSe / Ubuntu Linux, Vista, Visual Studio 2008
Sprachen: Java, C++, Groovy, Python
Repository: SV, Polarion
Tags:
Java, OSGi, JNI, C++, Services, Python, Linux (Suse, Ubuntu), PowerPC
Eclipse RCP, Jfaces, JBoss Netty
04/2007
08/2008
Rolle:
Branche:
KAMS (Karten-Applikations- und Management-System)
im Rahmen der elektronischen Gesundheitskarte (eGK)
Senior Software Ingenieur und Architekt
SmartCards
Projekt:
Karten-Applikations- und Management-System.
Eingesetzt im Rahmen der elektronischen Gesundheitskarte (eGK).
Generisches Framework für das Management jedwelchen Typs elektronischer Karten
(Bankkarten, öffentlicher Verkehr, etc.)
Middleware als Enterprise Jaba Beans (EJB3).
Läuft auf JBoss, Sun, SAP Application-Server, unter Windows, AIX, Solaris.
Datenbanken: Oracle und DB2.
Tätigkeit:
Entwicklung und Programmierung allgemein.
Entwurf und Modellierung Daten- und Prozessmodelle.
Implementierung eines Schedulers auf Basis „Quartz“.
Systemspezifikationen, UI-Prototyping.
Erstellung UI, Service-Spezifikationen, Mock-Services.
Tests.
Technik:
Java-Enterprise-System mit AJAX-Thin-Client (RAP/RWT) oder Fat-Client (SWT).
Kommunikation Client – Server mittels Spring Remoting.
Hohes Daten-Volumen, Verarbeitung von ca 100.000 Karten in 24 h. Bestand von ca. 80
Mio. Karten.
Zeitgesteuerte Verarbeitung der Datensätze. Mandantenfähig.
Tags:
EJB3, Java, Spring, Cayenne, Quartz, Velocity, RAP, RWT/SWT, Oracle 10g,
DB2, JBoss, Tomcat, Junit, Maven, ClearCase, ClearQuest, OraDesigner
08/2005 –
02/2007
Rolle:
Branche:
BDE-System zur Produktionsplanung und -überwachung, Qualitätssicherung
Projekt:
Werksübergreifendes Intranet-Client-Server-System zur Planung,
Visualisierung und Kontrolle der Produktion durch Werk- und Konzernleitung.
Qualitätsdateneingabe durch Werkerpersonal. Benutzergruppen- und
arbeitsplatzspezifische UI.
Konfigurierbare Werks-Infrastruktur, abhängig vom Produktionsmodell.
Historische Auswertungen, individuell konfigurierbar durch authorisierte Benutzer.
Generische, konfigurierbare Schnittstelle zur Steuerungsebene.
Verantwortlicher Projektleiter und Senior Software Entwickler
Ziegelindustrie
Seite 5 / 9
Automatisch konfigurierte Arbeitsplätze, mit Filterfunktionen.
Anbindung an SAP zur Übernahme von Produktionsaufträgen, Qualitätsvorgaben,
Stammdaten.
Rückmeldung von Produktions- und Qualitätsdaten an SAP.
Tätigkeit:
Anbindung an Siemens S7-Steuerung. Export nach Excel.
Anforderungsanalyse, Aufwandschätzung und Projektleitung.
Entwicklung Daten- und Programmmodell, Pflichtenheft, Vorgabe UI.
Abbildung Prozessmodell.
Budgetverantwortung (Festpreisprojekt).
Auswahl Soft- und Hardwareplattform.
Teamcoaching, Teamgrösse 3 MA’s Vollzeit, 3 MA’s Teilzeit, plus 2 externe MA’s.
Code-Review und Programmierung von kritischem Code.
Technik:
Java-Enterprise-System mit Fat-Client in 3-Schicht-Modell.
Kommunikation Client – Server mittels SOAP und XML-RPC. Anbindung an SAP (JCo)
und an die vorhandene Produktionsebene mittels TCP/IP (RFC1006).
Hohe Daten-Insert-Rate (~10 Einträge pro Sekunde), partitionierte Tabellen.
Generische Kommunikationslibrary, konfigurierbar für TCP/IP, RFC1006, RS232, u.a.
Sehr komplexe Datenbankabfragen, mit z.T. über 1000 Parametern in der Abfrage, aus
Tabellen mit mehreren Millionen Einträgen.
Tags:
Java, Hibernate, Oracle 10g, Tomcat, Swing, SOAP, Java WebStart, SAP,
Siemens S7, Excel.
01/2005 06/2005
Visualisierung einer automatischen Klebeanlage
Lead Architekt, Software Entwickler und Teilprojektleiter
Automobil
Tätigkeit:
Anforderungsanalyse, Prototypenentwicklung und Teilprojektleitung.
Entwicklung Daten- und Programmmodell, Pflichtenheft, Vorgabe UI.
Auswahl Soft- und Hardwareplattform.
Teamcoaching, Teamgrösse: 3 interne plus 2 externe MA’s Vollzeit.
Programmierung Java, JSP, SQL.
Inbetriebnahme.
Projekt:
Visualisierung einer automatischen Klebeanlage mit Darstellung von Betriebszuständen,
Meldungen und Störungen im Browser. Anmeldung des Benutzers mittels Chipkarte.
Schnittstelle zur Siemens S7-Steuerung. 3-Tier-Anwendung.
Technik:
Implementierung in Java 1.4 und JSP, mit SQL Server (MSDE 2000), Tomcat
WebServer und IE-Browser.
Abfrage eines WebService zur Authentifizierung des Benutzers.
Verwendung von CSS, XHTML, DHTML zur „flickerfreien“ Darstellung und einer
Refresh-Rate unter 1 sec.
01/2004 –
12/2004
Rolle:
Branche:
Anlagenleitsystem
Tätigkeit:
Anforderungsanalyse.
Datenbank-Design.
Programmierung Java 1.3, JSP, SQL.
Senior Software Entwickler
Automobil
Seite 6 / 9
Projekt:
Anlagenleitsystem zur Steuerung, Überwachung und Auswertung der
Materialversorgung der mechanischen Fertigung von Nocken- und Kurbelwellen.
Client-Server-System mit Thin-Clients.
Technik:
IBM AIX, Netscape, Oracle9i, Java, JSP, TCP/IP, Crystal Reports.
10/2002 –
11/2003
Rolle:
Branche:
ME-System (Manufactoring Execution)
Tätigkeit:
Anforderungsanalyse.
Datenbank- und Programmdesign; Programmierung.
Kundenbetreuung und Inbetriebnahme.
Projekt:
Client-Server-System zur Erfassung, Darstellung, Archivierung und Auswertung von
Produktionsdaten aus der verketteten Fertigung von Kurbelwellen. Intranet-Anwendung,
3-Tier-Schichtmodell.
Technik:
Java, JSP, SQL, IIS + NewAtlanta, SQL Server 6, IE, RFC1006, Siemens S7.
07/2001 –
08/2002
Rolle:
Branche:
Refactoring
Tätigkeit:
Refactoring eines bestehenden C-Systems auf ein intranet-basiertes 3-Tier-System.
Analyse des bestehenden System, Kundenbetreuung.
Datenbank-Modellierung, Abbildung der Geschäftsprozesse, Programmierung.
Projekt:
Intranet-System zur Kapazitätsplanung und Abrechnung von internen und externen
Dienstleistern in der Sitzefertigung.
Technik:
Intranet-basierte Browser-Software unter Verwendung von Oracle8, BEA WebLogic,
JSP und mit Anbindung an diverse Legacy-Systeme.
10/2000 –
06/2001
Rolle:
Branche:
In-House-Entwicklung
Tätigkeit:
In-House-Entwicklung eines iBatis-ähnlichen O/R-Frameworks für den Zugriff auf Oracle
und MS SQLServer von Java.
Inkl. Code-Generator über XML-Definitionen aus DB-Schema.
04/1999 –
09/2000
Rolle:
Branche:
System-Entwicklung
Tätigkeit:
System-Entwicklung für WinNT unter Verwendung von Visual C++, JavaScript, HTML,
VB.
Mitwirkung in Design und Architektur von Frameworks.
Erreichen hoher Qualitätsstandards sowie eines einheitlichen Look-And-Feel durch den
Senior Software Entwickler und Architekt
Automobil
Senior Software Entwickler und Projektleiter
Automobil
Senior Software Entwickler und Projektleiter
Dienstleistung Industrie
Software Entwickler
Dienstleistung Logistik
Seite 7 / 9
Einsatz mehrerer eigenentwickelter C++-Bibliotheken u.a. für ODBC-DB Anbindung.
Verwendete DB-Systeme: SQL-Server 7 und 6.5, Oracle, Sybase.
04/1998 –
01/1999
Rolle:
Branche:
C++-Framework als API
Tätigkeit:
Entwurf, Programmierung & Test einer C-Schnittstellen-Bibliothek für das Repository
ROCHADE.
Projekt:
Zweck der Bibliothek: die Umsetzung der Schnittstellen-Funktionalität aus einer proprietären
Sprache nach C.
Technik:
Realisierung eines objekt-orientierten, pattern-basierten Designs mit Rational Rose 4,
Visual C++ unter Windows NT. Modellierung nach UML (Booch).
01/1997 –
03/1998
Rolle:
Branche:
Plattformunabhängiges C++-Framework
Tätigkeit:
Technische Co-Leitung und Projektaufsicht in einem Client-Server Projekt für die
Versicherungsbranche.
Projekt:
Mitverantwortlich für ein Framework von C++-Basisklassen, das intern aus ca. 30
Entwicklern für die Entwicklung des Clients genutzt wird (die meisten Entwickler hatten zu
Beginn des Projektes PL/I- und/oder COBOL-Kenntnisse).
Der Client besteht aus rund 4,000 C++-Klassen und wurde in ca. 10 Tagen von OS/2 nach
NT portiert.
Der Server läuft auf MVS, OS/2 oder Windows NT.
Die Kommunikation zwischen Server und Client wird mit CICS über TCP/IP ermöglicht.
Technik:
Senior Software Engineer
Softwareprodukt
Senior Software Engineer
Software-Dienstleistung
08/1995 –
12/1996
Rolle:
Branche:
Aussendienst-Applikation KFZ-Versicherung
Tätigkeit:
Entwicklung eines Business-Frameworks in C++ für Aussendienst-Applikationen.
Technik:
Einsatz des OODBMS der Fa. POET.
Portabilität von Windows NT nach OS/2 im Design berücksichtigt.
08/1993 –
07/1995
Rolle:
Branche:
Aussendienst-Applikation Bausparen
Tätigkeit:
Design und Entwicklung einer GUI- und OODBMS-Bibliothek in C++.
Coaching des Teams während der Entwicklung und während der Anwendungsentwicklung.
Analyse und Design nach den OOA/OOD-Methoden von Booch.
01/1991 –
Diplomarbeit
Softwareentwickler
Versicherung
Softwareentwickler
Finanz
Seite 8 / 9
03/1993
Rolle:
Branche:
Tätigkeit:
Diplomand, Softwareentwickler
Automatisierung
Entwicklung eines object-orientierten Visualisierungssystemes in C++ unter
Windows 3.1 für Siemens S5 Steuerungen (wird heute noch unter dem Namen „GraphPic“
vermarktet).
Mitarbeit an diversen Softwareprojekten während meiner Studienzeit, z.B. eine CBibliothek für das UI eines Handheld-Computers, eine dBase- Datenbank, u.a.
Seite 9 / 9
Herunterladen