Java Softwareentwickler und Architekt, J2SE, JEE, Spring, Architektur
Aktualisiert am 22.06.2026
Profil
Referenzen (1)
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.07.2026
Verfügbar zu: 50%
davon vor Ort: 75%
Java
JEE
Spring
Jenkins
Git
Relationale Datenbanken
Architekturerfahrung
JIRA
Agile Entwicklung
React
PostgreSQL
Deutsch
Muttersprache
Englisch
Wort und Schrift, verhandlungssicher
Französisch
Schulkenntnisse (5 Jahre)

Einsatzorte

Einsatzorte

Deutschland

Deutschland: bevorzugt süddeutscher Raum (D6-D9)

möglich

Projekte

Projekte

Mitarbeit bei der Neuentwicklung einer Baufinanzierungs-Software für die Sparda-Banken

Zeitraum: seit April 2015

Branche: Banken, Baufinanzierung

Rolle: Softwareentwickler

Tätigkeiten:

Im Auftrag der Sparda-Banken wird die interne Baufinanzierungs-Beratungssoftware, welche nur unter WindowsXP lauffähig ist, durch eine modere, webbasierte Anwendung ersetzt werden.

Im Frontend wird hierzu JSF mit Primefaces eingesetzt, im Backend IBM DB2, JPA, JEE und CDI.

Die Anwendung wird mit Scrum entwickelt, wobei es 5 Scrum-Teams zu je 7-8 Personen gibt, welche die geforderten Funktionalitäten umsetzen.

Meine Aufgabe in einem der Scrum-Teams ist die Umsetzung der User-Stories sowohl Backend-seitig als auch im Frontend.

Zusätzlich bin ich bei technischen Themen in der Konzeptionierung involviert und führe ausführliche Performance- und Lastanalysen sowie entsprechende Verbesserungen durch.

Techniken: Java 7, JEE 7, CDI, JPA (OpenJPA), JSF, Primefaces, Eclipse, SVN, Maven, Jenkins, Jira, Sonar, IBM Websphere AS Liberty Profile, IBM DB2, Scrum, JProfiler, Dynatrace, Eclipse Memory Analyzer


Weiterentwicklung einer Dashboard-Anwendung für die Marketing-Abteilungen eines großen Automobilherstellers

Zeitraum: Januar-März 2015

Branche: Marketing, IT

Rolle: Softwareentwickler, Softwarearchitekt

Tätigkeiten:

Ich war bereits von 2013-2014 bei diesem Kunden an der Entwicklung der auf AngularJS und JavaScript im Frontend sowie Spring und REST im Backend basierend Anwendung sowohl bei der Planung als auch der Umsetzung beteiligt und wurde nun für die Weiterentwicklung und Implementierung neuer Funktionen hinzugezogen.

Meine Rolle in dem 6-köpfigen Scrum-Team war die eines Softwareentwicklers und Softwarearchitekten und ich habe dort sowohl Aufgaben im Backend als auch im Frontend übernommen.

Die technischen Details können weiter unten bei der entsprechenden Projektbeschreibung gefunden werden.

Techniken: Java 7, Spring 3.x, Spring Data JPA, Spring Security, Hibernate, Apache Tomcat, Oracle 11g DB, JBoss Infinispan, JBoss Transaktionsmanager, HTML, CSS/Less, JavaScript, AngularJS, JQuery, docx4j, Highcharts, Gradle, Mercurial, Youtrack, Teamcity, REST, Scrum


Unterstützung bei der Weiterentwicklung der CRM- und Support-Anwendung eines Telekommunikationsunternehmens
Zeitraum: Juni 2014 - Januar 2015
Branche: Telekommunikation, Webhosting
Rolle: Softwareentwickler
Tätigkeiten:
Die Inhouse entwickelte CRM- und Support-Anwendung des Kunden muss ständig an aktuelle Prozesse und neue Geschäftsbereiche angepasst und aktualisiert werden.
Hierbei unterstützte ich bei der Umsetzung verschiedenster Aufgaben sowohl im Swing-basierten Frontend als auch dem auf JEE (EJB3, JPA, RMI, REST) basierenden Backend. Meine Aufgaben umfassten die Anforderungsanalyse, Abstimmungen mit den Anwendern und Fachbereichen, Beratung bezüglich Architektur, Code-Reviews und die Implementierung von konkreten Use-Cases.

Techniken:

Java 6, JEE 5/6, EJB3, JPA, RMI, Swing, Hibernate, Subversion, JBoss Application Server 4.2.3, Sybase DB, Maven 3, Eclipse 4.4, JIRA, Jenkins


Unterstützung eines mittelständischen Beratungs- und Systemhaus bei Kundenprojekten und Produktentwicklungen
Zeitraum: April 2012 ? Mai 2014
Branche: Marketing, IT, Automotive
Rolle: Softwareentwickler, Softwarearchitekt
Tätigkeiten u.a.:

  • Erstellung eines Lastenhefts für das CRM-System der Händler eines deutschen Automobilherstellers

Zeitraum: März 2014 ? Mai 2014
Für die Weiter- bzw. Neuentwicklung des CRM-Systems, welches von den Handelspartnern eines deutschen Automobilherstellers zur Betreuung derer Kunden eingesetzt wird, sollte ein Lastenheft als Grundlage für eine Ausschreibung erstellt werden.
Meine Aufgabe war es, die Anforderungen in Zusammenarbeit mit dem Kunden zu erfassen und in Form von User-Stories zu dokumentieren.

  • Mitarbeit bei der Planung und Entwicklung einer Software für die Marketingabteilung eines deutschen Automobilherstellers

Zeitraum: März 2013 ? Februar 2014
Die Software umfasst mehrere unterschiedliche Module zur Analyse von KPI's und Budget-Werten, zum Dokumenten-Management sowie zur Marketing-Planung, und wurde von Grund auf neu entwickelt.
Die Anwendung ist dabei im Frontend als Single-Page JavaScript-App unter Verwendung von AngularJS implementiert. Die Daten werden vom Spring-basierten Backend über eine REST-Schnittstelle im JSON-Format an den Client übermittelt. Die Persistenzschicht nutzt Hibernate als JPA-Provider und Spring-Data zur Abstraktion.
Darüber hinaus wird JBoss Infinispan zum Cachen der Daten eingesetzt.
Ein Großteil der Anwendung dient dabei der Visualisierung von unterschiedlichsten Daten in verschiedenen Charts, sowie deren Export nach PDF, Excel und Power-Point.
Die Anwendung wurde agil in einem Scrum-Team entwickelt. Ein Hauptaugenmerk der Entwicklung lag dabei darin, die Anwendung auch auf Tablet-Computern bedienbar zu machen.
Meine Aufgaben waren primär die Planung und Umsetzung der Architektur des modularen Spring-Backends und der Datenbank-Anbindung. Darüber hinaus unterstützte ich bei der Entwicklung im Frontend mit JavaScript.

Techniken: Java 7, Spring 3.x, Spring Data JPA, Spring Security, Hibernate, Apache Tomcat, Oracle 11g DB, JBoss Infinispan, JBoss Transaktionsmanager, HTML, CSS/Less, JavaScript, AngularJS, Jquery, docx4j, Highcharts, Gradle, Mercurial, Youtrack, Teamcity, REST, Scrum

  • Mitarbeit bei der Weiterentwicklung einer Software zur Planung und Steuerung von Marketingprozessen

Zeitraum: Juli 2012 ? Februar 2013
Das bestehende Produkt, das u.a. bei einem deutschen Automobilhersteller und einer europäischen Bank im Einsatz ist, wurde um wesentliche neue Funktionalitäten erweitert und insgesamt performanter und stabiler gemacht.
Meine Aufgabe war die Umsetzung von neuen Modulen und Funktionalitäten sowohl im Java-basierenden Backend mit Spring als auch im Flash-basierenden Frontend mit ActionScript.
Darüberhinaus gehörte die Performance-Analyse und entsprechende Verbesserungen zu meinem Aufgabenbereich.
Techniken: Java 6, Spring 3.x, REST, JCR, Apache Jackrabbit, Apache POI, ActionScript 3, Flash/Flex,  Tomcat, Eclipse 3.7, Maven, YouTrack, TeamCity, JProfiler

  • Mitarbeit bei der Entwicklung eines Dokumenten-Management-Systems

Zeitraum: April 2012 ? Juni 2012
Die auf Vaadin/GWT und Spring basierende Webanwendung dient dem einfachen und sicheren Datenaustausch zwischen verteilten Teams oder verschiedenen Unternehmen und ist unter anderem bei einem großen Automobilhersteller im Einsatz.
Hauptaugenmerk der Entwicklung waren eine einfache Bedienbarkeit und eine hohe Sicherheit was den Austausch und Zugriff auf die zugrundeliegenden Daten betrifft.
Die Anwendung ist Mandantenfähig und kann als SaaS-Anwendung in der Cloud betrieben werden.
Meine Aufgabe war die Entwicklung sowohl im Frontend mit dem auf GWT basierenden Vaadin-Framework als auch das Erstellen von Backend-Services mit Spring.
Techniken: Java 6, Spring, Vaadin, JCR, Apache Jackrabbit, Tomcat, Eclipse 3.7, Maven, JUnit,  YouTrack, TeamCity, JProfiler


Mitarbeit bei der Entwicklung einer Call-Center-Anwendung eines großen Telekommunikations-Unternehmens

Zeitraum: April 2011 - April 2012
Branche: Telekommunikation
Rolle: Softwareentwickler
Ich arbeitete an der Entwicklung einer Rich-Client-Anwendung für die Mitarbeiter des Callcenters des Unternehmens. Über die Anwendung können die Mitarbeiter zum einen alle möglichen Kunden- und Vertragsdetails des Anrufers einsehen, zum anderen alle möglichen Business-Prozesse und Geschäftsvorfälle anstoßen und durchführen, wie z.B. Vertragskündigungen, Vertragsänderungen, Rufnummerportierungen, Sim-Karten-Tausch, usw.
Dabei war ich sowohl für Entwicklungsaufgaben im Backend und Frontend verantwortlich als auch für die Erstellung von technischen Konzepten und den dazugehörigen Aufwandschätzungen.
Zu meinen Entwicklungsaufgaben im Backend gehörte die Anbindung von externen Services anderer Firmen und anderer Abteilungen an die Middleware (über EJB RMI oder per SOAP Webservice) und die Entwicklung eigener Services (u.a. mit EJB3, JPA und Java 6) sowohl zur Nutzung aus dem Swing Client als auch zur Nutzung von externen Abteilungen.
Am Frontend war ich für die Erweiterung des Swing-Clients zuständig, was insbesondere die Anzeige von neuen Informationen bzw. das Anbieten von neuen Aktionen mit allen dazu gehörigen Validierungen, Workflows sowie der Middleware-Anbindung beinhaltete.
Techniken:Java 5/6, JEE 5, EJB3, EJB 2.1, JPA, RMI, JMX, SOAP, Swing, Hibernate, Quartz, Subversion, JBoss Application Server 1.4, Sybase DB, Maven 2, Eclipse 3.6, JIRA, Bugzilla

Erstellen von Views für eine Eclipse RCP Anwendung zur Darstellung von Ernteprozessen.
Zeitraum: Januar 2011 - März 2011
Branche: Landwirtschaft
Rolle: Softwareentwickler
Die auf uDIG RCP aufsetzende GIS-Anwendung dient der Visualisierung und
Auswertung von Daten, die von Mähdreschern während der Ernte erfasst werden.
Ausgehend von diesen Daten sollen Ernteprozesse ermittelt und in verschiedener Form
dargestellt werden (z.B. Treibstoffverbrauch, Erntemengen, verschiedene Kosten,...).
Meine Aufgabe ist hauptsächlich das Erstellen von Views in der RCP-Anwendung, um
verschiedene Aspekte der Ernteprozesse darzustellen. Daneben gehört das Entwickeln
verschiedener Fehlerkorrekturen der von den Mähdreschern übermittelten
Maschinendaten mit zu meinen Aufgaben.
Techniken: Java 6, Eclipse 3.6 RCP, uDIG RCP, PostgreSQL, PostGIS, SVN, Squirrel SQL Client, Design Patterns

Unterstützung in der Entwicklungsabteilung eines Softwareunternehmers bei der Entwicklung einer Planungssoftware eines Kunden aus der Automobilbranche 

Zeitraum: Juli 2010 - Dezember 2010

Branche: Automobil

Rolle: Softwareentwickler, Softwarearchitekt

Während meiner Zeit in dem Projekt arbeitete ich an einer Vielzahl von Teilprojekten, sowohl im Bereich der Softwareentwicklung als auch im Bereich der Analyse und des Designs.

Desweiteren gehörten umfangreiche Tests mit Führung eines Testprotokolls zu meinen Aufgaben.

Im folgenden eine Übersicht über die wichtigsten Teilprojekte:

  • Planung und Design einer Eclipse RCP-Anwendung zur Analyse von Server-Logfiles sowie Schulung der Entwicklung mit Eclipse RCP 

Zeitraum: Dezember 2010

Für ein mittelständisches Softwarehaus sollte eine Inhouse-Software entwickelt werden, mit der vom Kunden gelieferte Server-Logfiles dargestellt und analysiert werden können.

Die Software wurde basierend auf Eclipse RCP entwickelt. Da das Wissen der RCPEntwicklung mit Eclipse beim Kunden nur sehr beschränkt vorhanden war, sollte ich weiterhin einen angestellten Mitarbeiter des Kunden in der RCP-Entwicklung schulen. 

Meine Aufgabe war die Planung und das Design der Software sowie die Schulung von Grundlagen der Erstellung von Eclipse RCP Anwendungen. Weiterhin führte ich Qualitätskontrollen in Form von Code-Reviews durch.

Techniken: Java 6, Eclipse 3.6 RCP, XStream XML Serialisierung, Design Patterns

 

  • Erstellen eines Konzeptes zur Erweiterung einer sich seit mehreren Jahren im Einsatz  befindenden Software um Währungen, sowie Umsetzung des Konzeptes.

Zeitraum: September 2010 ? November 2010

Eine seit mehreren Jahren kontinuierlich weiterentwickelte Software konnte noch nicht mit Währungen rechnen, sondern zeigte nur Zahlen an. Der international tätige Konzern brauchte insbesondere auch auf Grund neuer Bestimmungen eine Möglichkeit, mit verschiedenen Währungen umzugehen.

Dazu wurde in mehreren Workshops zusammen mit dem Kunden der Ist-Stand analysiert und der gewünschte Soll-Stand erarbeitet. Weiterhin wurden Mocks der Benutzeroberfläche erstellt und mit dem Kunden abgestimmt. Ausgehend von den Ergebnissen dieser Workshops wurde dann eine technische Spezifikation erstellt, in der sowohl die benötigten Anpassungen der vorhandenen Software sowie durch die Änderungen benötigte neue Komponenten berücksichtigt waren. Anschließend wurden auf Grundlage dieser Spezifikation die Änderungen umgesetzt. 

Meine Aufgabe war zum einen die Mitarbeit (zum Teil auch Leitung) der Workshops zum ermitteln der Anforderungen sowie das Erstellen der Spezifikation. Weiterhin arbeitete ich anschließend bei der Umsetzung der Anforderungen mit und war der fachliche Ansprechpartner für meine Kollegen.

Techniken: MS Word, MS Powerpoint, Paint Shop Pro, Java 1.4, J2EE 1.4, EJB 2.1, JDBC 3, JMS 1.1, XML, XSLT, Apache FOP, Castor (Java-to-XML-Mapping), IBM Websphere Application Server v6, Oracle DB 10g, IBM Websphere MQ Series, CVS, IBM Rational Application Developer v7, DBVisualizer

 

  • Erstellen einer Feinspezifikation für eine neue Softwarekomponente zur Analyse von verschiedenen Parametern während der Serienproduktion von Automobilen

Zeitraum: Juli 2010 ? August 2010

Eine bestehende Software zur Serienplanung von Fahrzeugen soll um eine neue Komponente erweitert werden, bei der verschiedene Kennzahlen an unterschiedlichen Stationen während des Produktionsprozesses konkreter Fahrzeug-Konfigurationen untersucht werden können. Ziel ist es, mit Hilfe dieser Kennzahlen eine optimale Reihenfolge bei der Einsteuerung von Fahrzeugen in den Produktionsprozess zu erreichen.

Meine Aufgabe war es, basierend auf dem Fachkonzept des Kunden eine Spezifikation zu erstellen, wie die fachlichen Anforderungen in die bestehende Software integriert werden können. Neben der Definition der benötigten Datenstrukturen und der zur Berechnung nötigen mathematischen Formeln entwarf ich mit verschiedenen Bildbearbeitungsprogrammen und Powerpoint bereits erste Mocks der Benutzeroberflächen, die dann zusammen mit dem Kunden konkretisiert wurden.

Techniken: MS Word, MS Powerpoint, GIMP, Paint Shop Pro, Java 1.4, JFreeChart

 

 


 

Projekt KonzernPerson 2.0 + Projekt Migration Personendaten: Einführung eines

neuen Stammdatensystems für die Commerzbank und Migration der Stammdaten der
Dresdner Bank in die Systeme der Commerzbank
Zeitraum: November 2009 ? Juni 2010
Bei dem Projekt ging es primär um die Migration von Kundenstammdaten der
Dresdner Bank in die Systeme der Commerzbank, mit Blick auf eine Ablösung der
(auf Cobol basierenden) Altsysteme der Commerzbank hin zu einer zukunftsfähigen
J2EE-Lösung, basierend auf dem IBM Master Datamanagement Server.
In dem von IBM Deutschland durchgeführten, multinationalem Projekt (Teamsprache:
Englisch, insgesamt Beteiligung von ca. 400 Personen) nahm ich die Rolle eines Lead
Developers ein. Dabei war ich für eine Gruppe von bis zu 5 Entwicklern
verantwortlich. Neben Projektmanagement-Aufgaben wie die Aufteilung von
Arbeitspaketen an meine Gruppe sowie deren Qualitätsmanagement durch Code-
Reviews war ich auch für die Umsetzung von Workflows für den MDM-Server (sog.
Level 3 Services) auf Grundlage gelieferter UML-Designs sowie die Kontrolle dieser
Designs verantwortlich. Weiterhin gehörte das Erstellen von internen Tests mit JUnit
und EasyMock, sowie die Durchführung von Integrationstests mit einem auf XML
und Webservices basierenden, IBM-internen Framework zu meinen Aufgaben.
Techniken: Java 5, J2EE 1.4, EJB 2.1, XML, Web-Services, WSDL, IBM Websphere
Application Server v6.1, IBM Rational Application Developer v7, IBM Rational Clear
Case v7, IBM Infosphere Master Datamanagement Server, IBM Websphere Customer
Center, Sparx Enterprise Architect v7.5, Apache Maven 2.1, JUnit 3, EasyMock 2.2,
Cobertura Test Coverage, Apache Continuum, Microsoft Sharepoint Server, Squirrel
SQL Client

 

 


 

Konzeption und Entwicklung einer Angebots- und Auftragsverwaltung für ein mittelständisches Bauunternehmen

Zeitraum: August 2009 ? Dezember 2009
Der Kunde aus der Baubranche wünschte sich eine Angebots- und Auftragsverwaltung als Ablösung der bis dato eingesetzen Excel-Lösung.
Ich entwickelte in Abstimmung mit dem Kunden die Spezifikation der gewünschten Software.
Anschließend war ich für das Design und die Entwicklung der Anwendung verantwortlich.
Das Programm wurde als JEE-basiertes Client-Server-System mit einer MySQL-Datenbank für die Datenhaltung entwickelt.
Als JPA-Persistenz-Provider wurde Hibernate eingesetzt, für die Oberfläche JSF-Facelets unter Verwendung der RichFaces Component Library.
Als Framework für die effiziente Zusammenarbeit von EJBs und JSF-Seiten wurde JBoss Seam in der Version 2.2 benutzt.
Techniken: Java 5, JEE 5, EJB 3, JSF, Facelets, XHTML, CSS, JavaScript, Hibernate (als JPA-Provider), JBoss Application Server 5.1, MySQL 5, JBoss Seam 2.2, JBoss RichFaces 3.3, Eclipse 3.5, Subversion, DBVisualizer, Squirrel SQL Client, OOA/OOD, Design Patterns

 



Anbindung eines Windows-DLL-basierenden Fremdsystems mittels eines Webservices an ein J2EE-System
Zeitraum: September 2008 ? April 2009
Ein auf Windows laufendes Fremdsystem, welches bestimmte Workflows über eine DLL-Datei an externe Programme anbietet, sollte von einem J2EE-basierenden Client-Server-System genutzt werden.
Dabei sollte der ursprüngliche Prozess, bei dem die Anwender zwischen den beiden Systemen wechseln und teilweise per Copy/Paste Daten von einem System zum anderen übertragen mussten, vereinheitlicht und optimiert werden.
Ziel war es, dass die Anwender des Programms alle Funktionalitäten unter einer Oberfläche nutzen können, ohne zwischen den Systemen wechseln zu müssen und mit dem Fremdsystem berechnete Werte sofort in dem Client-Server-System zur Verfügung stehen.
Dazu wurde ein Webservice in C# .NET entwickelt, der auf dem Microsoft Internet Information Server (IIS) läuft und die Funktionalität der bereitgestellten DLL kapselt bzw. an die Anforderungen des Systems anpasst.
Meine Aufgabe war die Spezifikation und das Design des benötigten Webservices in enger Abstimmung mit den Anwendern sowie der Anbindung der Webservice-Funktionalitäten im J2EE-Server-System.
Dort war ich sowohl für die Anbindung des Webservice im Backend-Code in Form von EJB's verantwortlich als auch im Frontend-Code für die benötigten Benutzeroberflächen.
Gleichzeitig überwachte ich die Erstellung des C#-Webservice und führte dort Codereviews und Erfolgskontrollen durch sowie später auch kleinere Wartungsarbeiten am C#-Code.
Techniken: Java 1.4, J2EE 1.4, EJB 2.1, Servlets, JDBC 3, XML, XSLT, SOAP, WSDL, IBM Websphere Application Server v6, Oracle DB 10g, C# .NET, Microsoft IIS, Microsoft Visual Studio, CVS, IBM Rational Application Developer

 



Mitarbeit bei der Realisiserung eines Planungstools für die Serienplanung von Automobilen
Zeitraum: Oktober 2007 ? September 2008
Bei dem Projekt ging es um die Weiterentwicklung eines Systems für die Serienplanung von Fahrzeugen eines großen, süddeutschen Automobilkonzerns.
Die Anwendung dient der Planung und Verwaltung sogenannter Einsatzfaktoren, also Menschen, Maschinen und Materialien, sowie der Optimierung von Fertigungsprozessen. Das Tool wird dabei von mehr als 3000 Nutzern weltweit eingesetzt.
Die auf J2EE basierende Client-Server-Anwendung sollte zum einen das auf Smalltalk basierende Vorgängersystem ablösen, zum anderen um zusätzliche Features erweitert werden. Meine Aufgabe war es, verschiedenste Module und Eigenschaften sowohl eigenverantwortlich als auch im Team zu konzipieren und zu realisieren. Dabei war ich als Entwickler für die jeweiligen Module von der Planung und dem Design über die Implementierung bis hin zu den entsprechenden Tests selbst verantwortlich.
Techniken: Java 1.4, J2EE 1.4, EJB 2.1, Servlets, JSPs, JDBC 3, JMS 1.1, XML, XSLT, Apache FOP, Castor (Java-to-XML-Mapping), IBM Websphere Application Server v6, Oracle DB 10g, IBM Websphere MQ, CVS, IBM Rational Application Developer, JProfiler, DBVisualizer, Webservices (SOAP)



Entwicklung eines verteilten Produktberatungssystems
Zeitraum: November 06 ? Mai 07
Es sollte ein allgemein einsetzbares Produktberatungssystem entwickelt werden, wobei die Produktdaten von vielen unabhängigen Entwicklern in einer Community eingegeben werden können. Ziel war, dass dieses System nicht auf eine bestimmte Produktgruppe zugeschnitten ist, sondern zur Beratung unterschiedlichster Produkte eigesetzt werden kann. Dazu wurde ein wissensbasiertes System entwickelt, in welches auf einfachste Weise neue Produkte und Produktdaten eingegeben und verwaltet werden können, sowie nach passenden Produkten anhand von persönlichen Wünschen gesucht werden kann.
Die Basis bildete dabei ein intern entwickeltes MVC-Framework, welches in einem Tomcat-Servlet-Container lief.
Die GUI wurde durch JavaScript und DHTML/Ajax interaktiv gestaltet. Die Datenhaltung erfolgte durch XML und Excel-Dateien, wobei jedes Produkt als unabhängiger Software-Agent realisiert wurde, der zum Beispiel selbständig über Web-Services nach weiteren Informationen im Internet suchte.
Techniken: Java 5, Servlets, Apache Tomcat, JavaScript, Ajax, HTML, CSS, XML, XSLT, Apache HSSF, Webservices (SOAP und REST), wissensbasierte Systeme, Semantic Web, heuristisches Überdeckungswissen



Refactoring und Optimierung einer Swing-Anwendung zum Erzeugen von XML aus komplexen Datenbeständen
Zeitraum: August 06 ? September 06
Der Kunde aus der Immobilienbranche hatte ein Swing-Programm, welches Daten aus einer Oracle-Datenbank ausliest um diese anschließend zur Weiternutzung in ein spezielles XML-Format umzuwandeln. Das Problem dabei war, dass durch die große Datenmenge ein Programmdurchlauf mehrere Stunden dauerte und das Programm mehrere Gigabyte an Arbeitsspeicher benötigte. Meine Aufgabe war es, dass bestehende Programm zu analysieren und die Performance sowie Speicherauslastung zu verbessern. Durch ein Refactoring der Anwendung, bei dem unter anderem mehrere Threads nach dem Observer-Pattern implementiert wurden sowie der Datenbankzugriff über JDBC optimiert wurde, konnte die Performance um ein vielfaches gesteigert werden, so dass ein Programmdurchlauf statt mehrer Stunden nur noch eine Stunde dauerte. Die maximale Speicherauslastung konnte von mehreren Gigabyte auf wenige Megabyte reduziert werden.
Techniken: Java 5, Swing, Threads, Design Patterns, JDBC, XML



Programmieren einer Wiki-ähnlichen Webanwendung zur verteilten Entwicklung nutzerbasierender Inhalte
Zeitraum: Mai 06 ? Juli 06
Eine bestehende Webanwendung sollte um entscheidende Funktionalitäten ergänzt werden. Das vorhandene System diente der nutzergesteuerten, verteilten Entwicklung von Inhalten, wie zum Beispiel medizinischem Wissen, Produktdaten oder Restaurantempfehlungen. Die verschiedenen Daten waren dabei als Software-Agenten realisiert, die unabhängig voneinander existieren und je nach Nutzerwunsch miteinander kommunizieren können, um verschiedene Aufgaben zu erfüllen.
Um Daten in dieses System einzugeben, mussten die Benutzer umständlich Excel-Tabellen ausfüllen und diese in das System importieren und anschließend auch noch HTML-Code editieren.
Meine Aufgabe bestand nun darin, den Prozess der Dateneingabe benutzerfreundlicher zu gestalten. Dazu war ich sowohl für den Frontend- als auch den entsprechenden Backend-Code zuständig.
Ich implementierte ein Eingabe-Formular, welches die entsprechenden Angaben in einer Excel-Tabelle speicherte, anschließend aus diesen Angaben automatisch HTML-Seiten erzeugte und es somit jedem Benutzer ohne Programmierkenntnisse erlaubte, eigene Agenten zu erstellen. Desweiteren implementierte ich eine Versionsverwaltung, so dass alte Versionen ohne Probleme wieder hergestellt werden können.
Techniken: Java 5, Servlets, Apache Tomcat, JavaScript, HTML, CSS, XML, XSLT,
Apache HSSF



Programmieren einer Webanwendung für die Qualitätsdatenerfassung einer Firma.
Zeitraum: Februar 06 ? Mai 06
Für ein mittelständisches Unternehmen in der Automobilbranche sollte für die Qualitätsdatenerfassung und Verwaltung eine Webanwendung programmiert werden. Bisher lief das ganze mit Lotus Approach und sollte nun auf PostgreSQL und PHP umgestellt werden.
Ich übernahm die komplette Planung und Realisation des Projektes.
Dazu implementierte ich zuerst ein Objektorientiertes, modulbasiertes Framework nach dem MVC-Pattern in PHP, so dass die einzelnen Programmteile wie Benutzerauthentifizierung und Verwaltung, Datenerfassung, Report-Erstellung u.s.w. als eigenständige Module programmiert und in das System eingebaut werden konnten.
Anschließend implementierte ich die einzelnen Module zur Datenerfassung, Datensuche, PDF-Report-Erstellung aus den Daten (mit LaTeX) und Administration.
Dabei setzte ich neben PHP auch noch AJAX ein, um ein möglichst effizientes und ansprechendes User-Interface zu bekommen.
Techniken: PHP 5, Datenbank PostgreSQL, AJAX, JavaScript, XML, HTML, CSS, LaTeX, Linux, Apache Web-Server, OOA/OOD mit UML



Einrichtung einer Intranet-Seite mittels des Open-Source Portal- und Content-Management-Systems ?XOOPS?.
Zeitraum: September 05
Für ein mittelständisches Unternehmen in der Automobilbranche sollte die vorhandene Intranetseite überarbeitet werden.
Die Seite bestand bis dahin aus statischen HTML-Seiten, welche mit MS WORD ?zusammengeklickt? wurden.
Nach Analyse der Anforderungen wurde ?XOOPS? als Content Management System gewählt. Dieses System basiert auf PHP und der MySQL-Datenbank und ist als Open-Source verfügbar.
Im Laufe des Projektes wurde das System auf den Unternehmens-Servern installiert, das Layout an die Corporate Identity angepasst, und die bereits standardmäßig bereitgestellten Funktionalitäten an die spezifischen Anforderungen angepasst.
Desweiteren wurden mehrere Module, die in der benötigten Form nicht im Internet zur Verfügung standen, selber programmiert.
Techniken: PHP, Datenbank MySQL, Linux, Apache Webserver, CMS XOOPS



Programmieren einer Java-Applikation als grafisches Frontend für das Linux-Konsolenprogramm ?Vacation?
Zeitraum: August 05
Für ein mittelständisches Unternehmen in der Automobilbranche sollte ein kleines Programm geschrieben werden, damit die Mitarbeiter ihre automatische Urlaubsbenachrichtigung einfach ein- und abschalten können sowie den entsprechenden Hinweistext bearbeiten können.
Dazu sollte das unter Linux verfügbare Konsolenprogramm ?vacation? benutzt werden.
Ziel war, dass die Benutzer weder Linux noch sonstige Konsolenkenntnisse benötigen, sondern ganz einfach unter Windows das ganze bedienen können.
Dazu wurde ein auf Java Swing basiertes Programm geschrieben, mit dem diese Funktionalität bereitgestellt wurde.
Techniken: Java(J2SE1.4), Swing, Eclipse

Aus- und Weiterbildung

Aus- und Weiterbildung

Studium der Informatik an der Julius-Maximilians-Universität Würzburg, Nebenfach Biologie (Bioinformatik und Genetik)
Abschluss: Diplom-Informatiker (09.2007)

Weiterbildung/Workshops
=========================

04.2008: Workshop: RDBMS - Theorie und Praxis für Java/J2EE Projekte (2 Tage)
09.2008: Workshop: Optimierung von Speicher- und Laufzeitverhalten von Java/J2EE-Anwendungen (1 Tag)
02.2009: Workshop: J2EE Konzepte, Leitlinien, Technologie und Entwicklungsumgebung für die Projektpraxis (2 Tage)

Kompetenzen

Kompetenzen

Top-Skills

Java JEE Spring Jenkins Git Relationale Datenbanken Architekturerfahrung JIRA Agile Entwicklung React PostgreSQL

Produkte / Standards / Erfahrungen / Methoden

Entwicklungsumgebungen
========================
- Eclipse 3.x, 4.x
- IBM Rational Application Developer v6/7 (IRAD)
- MS Visual Studio
- Sparx Enterprise Architect 7.5

Server / Middleware
======================
- IBM Websphere Application Server v6
- Apache Tomcat
- Apache Webserver
- JBoss Application Server
- IBM Websphere MQ6
- IBM Infosphere Master Data Management Server

Programme
===========
- GIT
- Mercurial
- Subversion (Subclipse, Tortoise SVN)
- CVS (mit Eclipse/IRAD)
- IBM Rational Clear Case
- JProfiler
- DBVisualizer
- Squirrel SQL Client
- XML Spy
- WinMerge
- Jenkins
- Adobe Photoshop
- Gimp 2
- Paint Shop Pro
- Microsoft Sharepoint Server

Tools / Frameworks / Open Source

- JBoss Seam
- JBoss RichFaces
- Primefaces JSF Component Library
- Vaadin
- Apache FOP
- Apache POI (HSSF/XSSF)
- Apache Log4J
- Apache Maven
- Apache Jackrabbit
- Castor (Java-to-XML-Mapping)
- XStream XML Streaming
- docx4j
- JUnit
- EasyMock
- Mockito
- PostGIS
- uDIG RCP

Betriebssysteme

MS-DOS
Unix
Suse Linux, Ubuntu Linux, Knoppix
Windows
Windows 98, ME, 2000, XP, Vista, 7

Programmiersprachen

C
Grundkenntnisse
C++
Grundkenntnisse, kleinere Entwicklungsaufgaben, MS Visual Studio
Java
J2SE 1.4, Java5/6, J2EE, JEE, Servlets/JSP, EJB 2.1, EJB 3.0; sehr gute Kenntnisse
JavaScript
JavaScript, Ajax, AngularJS; gute Kenntnisse
PHP
Grundkenntnisse
TeX, LaTeX
XML, XHTML, HTML, CSS, XSLT: gute Kenntnisse
C#: Grundkenntnisse; Mitarbeit bei Entwicklung eines Webservices in C# und ASP.NET

Datenbanken

Approach
DB2
JDBC
MySQL
Oracle
Oracle 10g
Postgres
SQL
Sybase

Datenkommunikation

Ethernet
Internet, Intranet
Message Queuing
IBM Websphere MQ6
TCP/IP

Hardware

PC

Branchen

Branchen

IT-Dienstleister, EDV, Softwareentwicklung
Autobranche, Automotive, Automobilindustrie, Automobilzulieferer
Finanzdienstleister, Banken, Versicherungen, Immobilien
Handel, eCommerce, Internet, Telekommunikation, Marketing

Einsatzorte

Einsatzorte

Deutschland

Deutschland: bevorzugt süddeutscher Raum (D6-D9)

möglich

Projekte

Projekte

Mitarbeit bei der Neuentwicklung einer Baufinanzierungs-Software für die Sparda-Banken

Zeitraum: seit April 2015

Branche: Banken, Baufinanzierung

Rolle: Softwareentwickler

Tätigkeiten:

Im Auftrag der Sparda-Banken wird die interne Baufinanzierungs-Beratungssoftware, welche nur unter WindowsXP lauffähig ist, durch eine modere, webbasierte Anwendung ersetzt werden.

Im Frontend wird hierzu JSF mit Primefaces eingesetzt, im Backend IBM DB2, JPA, JEE und CDI.

Die Anwendung wird mit Scrum entwickelt, wobei es 5 Scrum-Teams zu je 7-8 Personen gibt, welche die geforderten Funktionalitäten umsetzen.

Meine Aufgabe in einem der Scrum-Teams ist die Umsetzung der User-Stories sowohl Backend-seitig als auch im Frontend.

Zusätzlich bin ich bei technischen Themen in der Konzeptionierung involviert und führe ausführliche Performance- und Lastanalysen sowie entsprechende Verbesserungen durch.

Techniken: Java 7, JEE 7, CDI, JPA (OpenJPA), JSF, Primefaces, Eclipse, SVN, Maven, Jenkins, Jira, Sonar, IBM Websphere AS Liberty Profile, IBM DB2, Scrum, JProfiler, Dynatrace, Eclipse Memory Analyzer


Weiterentwicklung einer Dashboard-Anwendung für die Marketing-Abteilungen eines großen Automobilherstellers

Zeitraum: Januar-März 2015

Branche: Marketing, IT

Rolle: Softwareentwickler, Softwarearchitekt

Tätigkeiten:

Ich war bereits von 2013-2014 bei diesem Kunden an der Entwicklung der auf AngularJS und JavaScript im Frontend sowie Spring und REST im Backend basierend Anwendung sowohl bei der Planung als auch der Umsetzung beteiligt und wurde nun für die Weiterentwicklung und Implementierung neuer Funktionen hinzugezogen.

Meine Rolle in dem 6-köpfigen Scrum-Team war die eines Softwareentwicklers und Softwarearchitekten und ich habe dort sowohl Aufgaben im Backend als auch im Frontend übernommen.

Die technischen Details können weiter unten bei der entsprechenden Projektbeschreibung gefunden werden.

Techniken: Java 7, Spring 3.x, Spring Data JPA, Spring Security, Hibernate, Apache Tomcat, Oracle 11g DB, JBoss Infinispan, JBoss Transaktionsmanager, HTML, CSS/Less, JavaScript, AngularJS, JQuery, docx4j, Highcharts, Gradle, Mercurial, Youtrack, Teamcity, REST, Scrum


Unterstützung bei der Weiterentwicklung der CRM- und Support-Anwendung eines Telekommunikationsunternehmens
Zeitraum: Juni 2014 - Januar 2015
Branche: Telekommunikation, Webhosting
Rolle: Softwareentwickler
Tätigkeiten:
Die Inhouse entwickelte CRM- und Support-Anwendung des Kunden muss ständig an aktuelle Prozesse und neue Geschäftsbereiche angepasst und aktualisiert werden.
Hierbei unterstützte ich bei der Umsetzung verschiedenster Aufgaben sowohl im Swing-basierten Frontend als auch dem auf JEE (EJB3, JPA, RMI, REST) basierenden Backend. Meine Aufgaben umfassten die Anforderungsanalyse, Abstimmungen mit den Anwendern und Fachbereichen, Beratung bezüglich Architektur, Code-Reviews und die Implementierung von konkreten Use-Cases.

Techniken:

Java 6, JEE 5/6, EJB3, JPA, RMI, Swing, Hibernate, Subversion, JBoss Application Server 4.2.3, Sybase DB, Maven 3, Eclipse 4.4, JIRA, Jenkins


Unterstützung eines mittelständischen Beratungs- und Systemhaus bei Kundenprojekten und Produktentwicklungen
Zeitraum: April 2012 ? Mai 2014
Branche: Marketing, IT, Automotive
Rolle: Softwareentwickler, Softwarearchitekt
Tätigkeiten u.a.:

  • Erstellung eines Lastenhefts für das CRM-System der Händler eines deutschen Automobilherstellers

Zeitraum: März 2014 ? Mai 2014
Für die Weiter- bzw. Neuentwicklung des CRM-Systems, welches von den Handelspartnern eines deutschen Automobilherstellers zur Betreuung derer Kunden eingesetzt wird, sollte ein Lastenheft als Grundlage für eine Ausschreibung erstellt werden.
Meine Aufgabe war es, die Anforderungen in Zusammenarbeit mit dem Kunden zu erfassen und in Form von User-Stories zu dokumentieren.

  • Mitarbeit bei der Planung und Entwicklung einer Software für die Marketingabteilung eines deutschen Automobilherstellers

Zeitraum: März 2013 ? Februar 2014
Die Software umfasst mehrere unterschiedliche Module zur Analyse von KPI's und Budget-Werten, zum Dokumenten-Management sowie zur Marketing-Planung, und wurde von Grund auf neu entwickelt.
Die Anwendung ist dabei im Frontend als Single-Page JavaScript-App unter Verwendung von AngularJS implementiert. Die Daten werden vom Spring-basierten Backend über eine REST-Schnittstelle im JSON-Format an den Client übermittelt. Die Persistenzschicht nutzt Hibernate als JPA-Provider und Spring-Data zur Abstraktion.
Darüber hinaus wird JBoss Infinispan zum Cachen der Daten eingesetzt.
Ein Großteil der Anwendung dient dabei der Visualisierung von unterschiedlichsten Daten in verschiedenen Charts, sowie deren Export nach PDF, Excel und Power-Point.
Die Anwendung wurde agil in einem Scrum-Team entwickelt. Ein Hauptaugenmerk der Entwicklung lag dabei darin, die Anwendung auch auf Tablet-Computern bedienbar zu machen.
Meine Aufgaben waren primär die Planung und Umsetzung der Architektur des modularen Spring-Backends und der Datenbank-Anbindung. Darüber hinaus unterstützte ich bei der Entwicklung im Frontend mit JavaScript.

Techniken: Java 7, Spring 3.x, Spring Data JPA, Spring Security, Hibernate, Apache Tomcat, Oracle 11g DB, JBoss Infinispan, JBoss Transaktionsmanager, HTML, CSS/Less, JavaScript, AngularJS, Jquery, docx4j, Highcharts, Gradle, Mercurial, Youtrack, Teamcity, REST, Scrum

  • Mitarbeit bei der Weiterentwicklung einer Software zur Planung und Steuerung von Marketingprozessen

Zeitraum: Juli 2012 ? Februar 2013
Das bestehende Produkt, das u.a. bei einem deutschen Automobilhersteller und einer europäischen Bank im Einsatz ist, wurde um wesentliche neue Funktionalitäten erweitert und insgesamt performanter und stabiler gemacht.
Meine Aufgabe war die Umsetzung von neuen Modulen und Funktionalitäten sowohl im Java-basierenden Backend mit Spring als auch im Flash-basierenden Frontend mit ActionScript.
Darüberhinaus gehörte die Performance-Analyse und entsprechende Verbesserungen zu meinem Aufgabenbereich.
Techniken: Java 6, Spring 3.x, REST, JCR, Apache Jackrabbit, Apache POI, ActionScript 3, Flash/Flex,  Tomcat, Eclipse 3.7, Maven, YouTrack, TeamCity, JProfiler

  • Mitarbeit bei der Entwicklung eines Dokumenten-Management-Systems

Zeitraum: April 2012 ? Juni 2012
Die auf Vaadin/GWT und Spring basierende Webanwendung dient dem einfachen und sicheren Datenaustausch zwischen verteilten Teams oder verschiedenen Unternehmen und ist unter anderem bei einem großen Automobilhersteller im Einsatz.
Hauptaugenmerk der Entwicklung waren eine einfache Bedienbarkeit und eine hohe Sicherheit was den Austausch und Zugriff auf die zugrundeliegenden Daten betrifft.
Die Anwendung ist Mandantenfähig und kann als SaaS-Anwendung in der Cloud betrieben werden.
Meine Aufgabe war die Entwicklung sowohl im Frontend mit dem auf GWT basierenden Vaadin-Framework als auch das Erstellen von Backend-Services mit Spring.
Techniken: Java 6, Spring, Vaadin, JCR, Apache Jackrabbit, Tomcat, Eclipse 3.7, Maven, JUnit,  YouTrack, TeamCity, JProfiler


Mitarbeit bei der Entwicklung einer Call-Center-Anwendung eines großen Telekommunikations-Unternehmens

Zeitraum: April 2011 - April 2012
Branche: Telekommunikation
Rolle: Softwareentwickler
Ich arbeitete an der Entwicklung einer Rich-Client-Anwendung für die Mitarbeiter des Callcenters des Unternehmens. Über die Anwendung können die Mitarbeiter zum einen alle möglichen Kunden- und Vertragsdetails des Anrufers einsehen, zum anderen alle möglichen Business-Prozesse und Geschäftsvorfälle anstoßen und durchführen, wie z.B. Vertragskündigungen, Vertragsänderungen, Rufnummerportierungen, Sim-Karten-Tausch, usw.
Dabei war ich sowohl für Entwicklungsaufgaben im Backend und Frontend verantwortlich als auch für die Erstellung von technischen Konzepten und den dazugehörigen Aufwandschätzungen.
Zu meinen Entwicklungsaufgaben im Backend gehörte die Anbindung von externen Services anderer Firmen und anderer Abteilungen an die Middleware (über EJB RMI oder per SOAP Webservice) und die Entwicklung eigener Services (u.a. mit EJB3, JPA und Java 6) sowohl zur Nutzung aus dem Swing Client als auch zur Nutzung von externen Abteilungen.
Am Frontend war ich für die Erweiterung des Swing-Clients zuständig, was insbesondere die Anzeige von neuen Informationen bzw. das Anbieten von neuen Aktionen mit allen dazu gehörigen Validierungen, Workflows sowie der Middleware-Anbindung beinhaltete.
Techniken:Java 5/6, JEE 5, EJB3, EJB 2.1, JPA, RMI, JMX, SOAP, Swing, Hibernate, Quartz, Subversion, JBoss Application Server 1.4, Sybase DB, Maven 2, Eclipse 3.6, JIRA, Bugzilla

Erstellen von Views für eine Eclipse RCP Anwendung zur Darstellung von Ernteprozessen.
Zeitraum: Januar 2011 - März 2011
Branche: Landwirtschaft
Rolle: Softwareentwickler
Die auf uDIG RCP aufsetzende GIS-Anwendung dient der Visualisierung und
Auswertung von Daten, die von Mähdreschern während der Ernte erfasst werden.
Ausgehend von diesen Daten sollen Ernteprozesse ermittelt und in verschiedener Form
dargestellt werden (z.B. Treibstoffverbrauch, Erntemengen, verschiedene Kosten,...).
Meine Aufgabe ist hauptsächlich das Erstellen von Views in der RCP-Anwendung, um
verschiedene Aspekte der Ernteprozesse darzustellen. Daneben gehört das Entwickeln
verschiedener Fehlerkorrekturen der von den Mähdreschern übermittelten
Maschinendaten mit zu meinen Aufgaben.
Techniken: Java 6, Eclipse 3.6 RCP, uDIG RCP, PostgreSQL, PostGIS, SVN, Squirrel SQL Client, Design Patterns

Unterstützung in der Entwicklungsabteilung eines Softwareunternehmers bei der Entwicklung einer Planungssoftware eines Kunden aus der Automobilbranche 

Zeitraum: Juli 2010 - Dezember 2010

Branche: Automobil

Rolle: Softwareentwickler, Softwarearchitekt

Während meiner Zeit in dem Projekt arbeitete ich an einer Vielzahl von Teilprojekten, sowohl im Bereich der Softwareentwicklung als auch im Bereich der Analyse und des Designs.

Desweiteren gehörten umfangreiche Tests mit Führung eines Testprotokolls zu meinen Aufgaben.

Im folgenden eine Übersicht über die wichtigsten Teilprojekte:

  • Planung und Design einer Eclipse RCP-Anwendung zur Analyse von Server-Logfiles sowie Schulung der Entwicklung mit Eclipse RCP 

Zeitraum: Dezember 2010

Für ein mittelständisches Softwarehaus sollte eine Inhouse-Software entwickelt werden, mit der vom Kunden gelieferte Server-Logfiles dargestellt und analysiert werden können.

Die Software wurde basierend auf Eclipse RCP entwickelt. Da das Wissen der RCPEntwicklung mit Eclipse beim Kunden nur sehr beschränkt vorhanden war, sollte ich weiterhin einen angestellten Mitarbeiter des Kunden in der RCP-Entwicklung schulen. 

Meine Aufgabe war die Planung und das Design der Software sowie die Schulung von Grundlagen der Erstellung von Eclipse RCP Anwendungen. Weiterhin führte ich Qualitätskontrollen in Form von Code-Reviews durch.

Techniken: Java 6, Eclipse 3.6 RCP, XStream XML Serialisierung, Design Patterns

 

  • Erstellen eines Konzeptes zur Erweiterung einer sich seit mehreren Jahren im Einsatz  befindenden Software um Währungen, sowie Umsetzung des Konzeptes.

Zeitraum: September 2010 ? November 2010

Eine seit mehreren Jahren kontinuierlich weiterentwickelte Software konnte noch nicht mit Währungen rechnen, sondern zeigte nur Zahlen an. Der international tätige Konzern brauchte insbesondere auch auf Grund neuer Bestimmungen eine Möglichkeit, mit verschiedenen Währungen umzugehen.

Dazu wurde in mehreren Workshops zusammen mit dem Kunden der Ist-Stand analysiert und der gewünschte Soll-Stand erarbeitet. Weiterhin wurden Mocks der Benutzeroberfläche erstellt und mit dem Kunden abgestimmt. Ausgehend von den Ergebnissen dieser Workshops wurde dann eine technische Spezifikation erstellt, in der sowohl die benötigten Anpassungen der vorhandenen Software sowie durch die Änderungen benötigte neue Komponenten berücksichtigt waren. Anschließend wurden auf Grundlage dieser Spezifikation die Änderungen umgesetzt. 

Meine Aufgabe war zum einen die Mitarbeit (zum Teil auch Leitung) der Workshops zum ermitteln der Anforderungen sowie das Erstellen der Spezifikation. Weiterhin arbeitete ich anschließend bei der Umsetzung der Anforderungen mit und war der fachliche Ansprechpartner für meine Kollegen.

Techniken: MS Word, MS Powerpoint, Paint Shop Pro, Java 1.4, J2EE 1.4, EJB 2.1, JDBC 3, JMS 1.1, XML, XSLT, Apache FOP, Castor (Java-to-XML-Mapping), IBM Websphere Application Server v6, Oracle DB 10g, IBM Websphere MQ Series, CVS, IBM Rational Application Developer v7, DBVisualizer

 

  • Erstellen einer Feinspezifikation für eine neue Softwarekomponente zur Analyse von verschiedenen Parametern während der Serienproduktion von Automobilen

Zeitraum: Juli 2010 ? August 2010

Eine bestehende Software zur Serienplanung von Fahrzeugen soll um eine neue Komponente erweitert werden, bei der verschiedene Kennzahlen an unterschiedlichen Stationen während des Produktionsprozesses konkreter Fahrzeug-Konfigurationen untersucht werden können. Ziel ist es, mit Hilfe dieser Kennzahlen eine optimale Reihenfolge bei der Einsteuerung von Fahrzeugen in den Produktionsprozess zu erreichen.

Meine Aufgabe war es, basierend auf dem Fachkonzept des Kunden eine Spezifikation zu erstellen, wie die fachlichen Anforderungen in die bestehende Software integriert werden können. Neben der Definition der benötigten Datenstrukturen und der zur Berechnung nötigen mathematischen Formeln entwarf ich mit verschiedenen Bildbearbeitungsprogrammen und Powerpoint bereits erste Mocks der Benutzeroberflächen, die dann zusammen mit dem Kunden konkretisiert wurden.

Techniken: MS Word, MS Powerpoint, GIMP, Paint Shop Pro, Java 1.4, JFreeChart

 

 


 

Projekt KonzernPerson 2.0 + Projekt Migration Personendaten: Einführung eines

neuen Stammdatensystems für die Commerzbank und Migration der Stammdaten der
Dresdner Bank in die Systeme der Commerzbank
Zeitraum: November 2009 ? Juni 2010
Bei dem Projekt ging es primär um die Migration von Kundenstammdaten der
Dresdner Bank in die Systeme der Commerzbank, mit Blick auf eine Ablösung der
(auf Cobol basierenden) Altsysteme der Commerzbank hin zu einer zukunftsfähigen
J2EE-Lösung, basierend auf dem IBM Master Datamanagement Server.
In dem von IBM Deutschland durchgeführten, multinationalem Projekt (Teamsprache:
Englisch, insgesamt Beteiligung von ca. 400 Personen) nahm ich die Rolle eines Lead
Developers ein. Dabei war ich für eine Gruppe von bis zu 5 Entwicklern
verantwortlich. Neben Projektmanagement-Aufgaben wie die Aufteilung von
Arbeitspaketen an meine Gruppe sowie deren Qualitätsmanagement durch Code-
Reviews war ich auch für die Umsetzung von Workflows für den MDM-Server (sog.
Level 3 Services) auf Grundlage gelieferter UML-Designs sowie die Kontrolle dieser
Designs verantwortlich. Weiterhin gehörte das Erstellen von internen Tests mit JUnit
und EasyMock, sowie die Durchführung von Integrationstests mit einem auf XML
und Webservices basierenden, IBM-internen Framework zu meinen Aufgaben.
Techniken: Java 5, J2EE 1.4, EJB 2.1, XML, Web-Services, WSDL, IBM Websphere
Application Server v6.1, IBM Rational Application Developer v7, IBM Rational Clear
Case v7, IBM Infosphere Master Datamanagement Server, IBM Websphere Customer
Center, Sparx Enterprise Architect v7.5, Apache Maven 2.1, JUnit 3, EasyMock 2.2,
Cobertura Test Coverage, Apache Continuum, Microsoft Sharepoint Server, Squirrel
SQL Client

 

 


 

Konzeption und Entwicklung einer Angebots- und Auftragsverwaltung für ein mittelständisches Bauunternehmen

Zeitraum: August 2009 ? Dezember 2009
Der Kunde aus der Baubranche wünschte sich eine Angebots- und Auftragsverwaltung als Ablösung der bis dato eingesetzen Excel-Lösung.
Ich entwickelte in Abstimmung mit dem Kunden die Spezifikation der gewünschten Software.
Anschließend war ich für das Design und die Entwicklung der Anwendung verantwortlich.
Das Programm wurde als JEE-basiertes Client-Server-System mit einer MySQL-Datenbank für die Datenhaltung entwickelt.
Als JPA-Persistenz-Provider wurde Hibernate eingesetzt, für die Oberfläche JSF-Facelets unter Verwendung der RichFaces Component Library.
Als Framework für die effiziente Zusammenarbeit von EJBs und JSF-Seiten wurde JBoss Seam in der Version 2.2 benutzt.
Techniken: Java 5, JEE 5, EJB 3, JSF, Facelets, XHTML, CSS, JavaScript, Hibernate (als JPA-Provider), JBoss Application Server 5.1, MySQL 5, JBoss Seam 2.2, JBoss RichFaces 3.3, Eclipse 3.5, Subversion, DBVisualizer, Squirrel SQL Client, OOA/OOD, Design Patterns

 



Anbindung eines Windows-DLL-basierenden Fremdsystems mittels eines Webservices an ein J2EE-System
Zeitraum: September 2008 ? April 2009
Ein auf Windows laufendes Fremdsystem, welches bestimmte Workflows über eine DLL-Datei an externe Programme anbietet, sollte von einem J2EE-basierenden Client-Server-System genutzt werden.
Dabei sollte der ursprüngliche Prozess, bei dem die Anwender zwischen den beiden Systemen wechseln und teilweise per Copy/Paste Daten von einem System zum anderen übertragen mussten, vereinheitlicht und optimiert werden.
Ziel war es, dass die Anwender des Programms alle Funktionalitäten unter einer Oberfläche nutzen können, ohne zwischen den Systemen wechseln zu müssen und mit dem Fremdsystem berechnete Werte sofort in dem Client-Server-System zur Verfügung stehen.
Dazu wurde ein Webservice in C# .NET entwickelt, der auf dem Microsoft Internet Information Server (IIS) läuft und die Funktionalität der bereitgestellten DLL kapselt bzw. an die Anforderungen des Systems anpasst.
Meine Aufgabe war die Spezifikation und das Design des benötigten Webservices in enger Abstimmung mit den Anwendern sowie der Anbindung der Webservice-Funktionalitäten im J2EE-Server-System.
Dort war ich sowohl für die Anbindung des Webservice im Backend-Code in Form von EJB's verantwortlich als auch im Frontend-Code für die benötigten Benutzeroberflächen.
Gleichzeitig überwachte ich die Erstellung des C#-Webservice und führte dort Codereviews und Erfolgskontrollen durch sowie später auch kleinere Wartungsarbeiten am C#-Code.
Techniken: Java 1.4, J2EE 1.4, EJB 2.1, Servlets, JDBC 3, XML, XSLT, SOAP, WSDL, IBM Websphere Application Server v6, Oracle DB 10g, C# .NET, Microsoft IIS, Microsoft Visual Studio, CVS, IBM Rational Application Developer

 



Mitarbeit bei der Realisiserung eines Planungstools für die Serienplanung von Automobilen
Zeitraum: Oktober 2007 ? September 2008
Bei dem Projekt ging es um die Weiterentwicklung eines Systems für die Serienplanung von Fahrzeugen eines großen, süddeutschen Automobilkonzerns.
Die Anwendung dient der Planung und Verwaltung sogenannter Einsatzfaktoren, also Menschen, Maschinen und Materialien, sowie der Optimierung von Fertigungsprozessen. Das Tool wird dabei von mehr als 3000 Nutzern weltweit eingesetzt.
Die auf J2EE basierende Client-Server-Anwendung sollte zum einen das auf Smalltalk basierende Vorgängersystem ablösen, zum anderen um zusätzliche Features erweitert werden. Meine Aufgabe war es, verschiedenste Module und Eigenschaften sowohl eigenverantwortlich als auch im Team zu konzipieren und zu realisieren. Dabei war ich als Entwickler für die jeweiligen Module von der Planung und dem Design über die Implementierung bis hin zu den entsprechenden Tests selbst verantwortlich.
Techniken: Java 1.4, J2EE 1.4, EJB 2.1, Servlets, JSPs, JDBC 3, JMS 1.1, XML, XSLT, Apache FOP, Castor (Java-to-XML-Mapping), IBM Websphere Application Server v6, Oracle DB 10g, IBM Websphere MQ, CVS, IBM Rational Application Developer, JProfiler, DBVisualizer, Webservices (SOAP)



Entwicklung eines verteilten Produktberatungssystems
Zeitraum: November 06 ? Mai 07
Es sollte ein allgemein einsetzbares Produktberatungssystem entwickelt werden, wobei die Produktdaten von vielen unabhängigen Entwicklern in einer Community eingegeben werden können. Ziel war, dass dieses System nicht auf eine bestimmte Produktgruppe zugeschnitten ist, sondern zur Beratung unterschiedlichster Produkte eigesetzt werden kann. Dazu wurde ein wissensbasiertes System entwickelt, in welches auf einfachste Weise neue Produkte und Produktdaten eingegeben und verwaltet werden können, sowie nach passenden Produkten anhand von persönlichen Wünschen gesucht werden kann.
Die Basis bildete dabei ein intern entwickeltes MVC-Framework, welches in einem Tomcat-Servlet-Container lief.
Die GUI wurde durch JavaScript und DHTML/Ajax interaktiv gestaltet. Die Datenhaltung erfolgte durch XML und Excel-Dateien, wobei jedes Produkt als unabhängiger Software-Agent realisiert wurde, der zum Beispiel selbständig über Web-Services nach weiteren Informationen im Internet suchte.
Techniken: Java 5, Servlets, Apache Tomcat, JavaScript, Ajax, HTML, CSS, XML, XSLT, Apache HSSF, Webservices (SOAP und REST), wissensbasierte Systeme, Semantic Web, heuristisches Überdeckungswissen



Refactoring und Optimierung einer Swing-Anwendung zum Erzeugen von XML aus komplexen Datenbeständen
Zeitraum: August 06 ? September 06
Der Kunde aus der Immobilienbranche hatte ein Swing-Programm, welches Daten aus einer Oracle-Datenbank ausliest um diese anschließend zur Weiternutzung in ein spezielles XML-Format umzuwandeln. Das Problem dabei war, dass durch die große Datenmenge ein Programmdurchlauf mehrere Stunden dauerte und das Programm mehrere Gigabyte an Arbeitsspeicher benötigte. Meine Aufgabe war es, dass bestehende Programm zu analysieren und die Performance sowie Speicherauslastung zu verbessern. Durch ein Refactoring der Anwendung, bei dem unter anderem mehrere Threads nach dem Observer-Pattern implementiert wurden sowie der Datenbankzugriff über JDBC optimiert wurde, konnte die Performance um ein vielfaches gesteigert werden, so dass ein Programmdurchlauf statt mehrer Stunden nur noch eine Stunde dauerte. Die maximale Speicherauslastung konnte von mehreren Gigabyte auf wenige Megabyte reduziert werden.
Techniken: Java 5, Swing, Threads, Design Patterns, JDBC, XML



Programmieren einer Wiki-ähnlichen Webanwendung zur verteilten Entwicklung nutzerbasierender Inhalte
Zeitraum: Mai 06 ? Juli 06
Eine bestehende Webanwendung sollte um entscheidende Funktionalitäten ergänzt werden. Das vorhandene System diente der nutzergesteuerten, verteilten Entwicklung von Inhalten, wie zum Beispiel medizinischem Wissen, Produktdaten oder Restaurantempfehlungen. Die verschiedenen Daten waren dabei als Software-Agenten realisiert, die unabhängig voneinander existieren und je nach Nutzerwunsch miteinander kommunizieren können, um verschiedene Aufgaben zu erfüllen.
Um Daten in dieses System einzugeben, mussten die Benutzer umständlich Excel-Tabellen ausfüllen und diese in das System importieren und anschließend auch noch HTML-Code editieren.
Meine Aufgabe bestand nun darin, den Prozess der Dateneingabe benutzerfreundlicher zu gestalten. Dazu war ich sowohl für den Frontend- als auch den entsprechenden Backend-Code zuständig.
Ich implementierte ein Eingabe-Formular, welches die entsprechenden Angaben in einer Excel-Tabelle speicherte, anschließend aus diesen Angaben automatisch HTML-Seiten erzeugte und es somit jedem Benutzer ohne Programmierkenntnisse erlaubte, eigene Agenten zu erstellen. Desweiteren implementierte ich eine Versionsverwaltung, so dass alte Versionen ohne Probleme wieder hergestellt werden können.
Techniken: Java 5, Servlets, Apache Tomcat, JavaScript, HTML, CSS, XML, XSLT,
Apache HSSF



Programmieren einer Webanwendung für die Qualitätsdatenerfassung einer Firma.
Zeitraum: Februar 06 ? Mai 06
Für ein mittelständisches Unternehmen in der Automobilbranche sollte für die Qualitätsdatenerfassung und Verwaltung eine Webanwendung programmiert werden. Bisher lief das ganze mit Lotus Approach und sollte nun auf PostgreSQL und PHP umgestellt werden.
Ich übernahm die komplette Planung und Realisation des Projektes.
Dazu implementierte ich zuerst ein Objektorientiertes, modulbasiertes Framework nach dem MVC-Pattern in PHP, so dass die einzelnen Programmteile wie Benutzerauthentifizierung und Verwaltung, Datenerfassung, Report-Erstellung u.s.w. als eigenständige Module programmiert und in das System eingebaut werden konnten.
Anschließend implementierte ich die einzelnen Module zur Datenerfassung, Datensuche, PDF-Report-Erstellung aus den Daten (mit LaTeX) und Administration.
Dabei setzte ich neben PHP auch noch AJAX ein, um ein möglichst effizientes und ansprechendes User-Interface zu bekommen.
Techniken: PHP 5, Datenbank PostgreSQL, AJAX, JavaScript, XML, HTML, CSS, LaTeX, Linux, Apache Web-Server, OOA/OOD mit UML



Einrichtung einer Intranet-Seite mittels des Open-Source Portal- und Content-Management-Systems ?XOOPS?.
Zeitraum: September 05
Für ein mittelständisches Unternehmen in der Automobilbranche sollte die vorhandene Intranetseite überarbeitet werden.
Die Seite bestand bis dahin aus statischen HTML-Seiten, welche mit MS WORD ?zusammengeklickt? wurden.
Nach Analyse der Anforderungen wurde ?XOOPS? als Content Management System gewählt. Dieses System basiert auf PHP und der MySQL-Datenbank und ist als Open-Source verfügbar.
Im Laufe des Projektes wurde das System auf den Unternehmens-Servern installiert, das Layout an die Corporate Identity angepasst, und die bereits standardmäßig bereitgestellten Funktionalitäten an die spezifischen Anforderungen angepasst.
Desweiteren wurden mehrere Module, die in der benötigten Form nicht im Internet zur Verfügung standen, selber programmiert.
Techniken: PHP, Datenbank MySQL, Linux, Apache Webserver, CMS XOOPS



Programmieren einer Java-Applikation als grafisches Frontend für das Linux-Konsolenprogramm ?Vacation?
Zeitraum: August 05
Für ein mittelständisches Unternehmen in der Automobilbranche sollte ein kleines Programm geschrieben werden, damit die Mitarbeiter ihre automatische Urlaubsbenachrichtigung einfach ein- und abschalten können sowie den entsprechenden Hinweistext bearbeiten können.
Dazu sollte das unter Linux verfügbare Konsolenprogramm ?vacation? benutzt werden.
Ziel war, dass die Benutzer weder Linux noch sonstige Konsolenkenntnisse benötigen, sondern ganz einfach unter Windows das ganze bedienen können.
Dazu wurde ein auf Java Swing basiertes Programm geschrieben, mit dem diese Funktionalität bereitgestellt wurde.
Techniken: Java(J2SE1.4), Swing, Eclipse

Aus- und Weiterbildung

Aus- und Weiterbildung

Studium der Informatik an der Julius-Maximilians-Universität Würzburg, Nebenfach Biologie (Bioinformatik und Genetik)
Abschluss: Diplom-Informatiker (09.2007)

Weiterbildung/Workshops
=========================

04.2008: Workshop: RDBMS - Theorie und Praxis für Java/J2EE Projekte (2 Tage)
09.2008: Workshop: Optimierung von Speicher- und Laufzeitverhalten von Java/J2EE-Anwendungen (1 Tag)
02.2009: Workshop: J2EE Konzepte, Leitlinien, Technologie und Entwicklungsumgebung für die Projektpraxis (2 Tage)

Kompetenzen

Kompetenzen

Top-Skills

Java JEE Spring Jenkins Git Relationale Datenbanken Architekturerfahrung JIRA Agile Entwicklung React PostgreSQL

Produkte / Standards / Erfahrungen / Methoden

Entwicklungsumgebungen
========================
- Eclipse 3.x, 4.x
- IBM Rational Application Developer v6/7 (IRAD)
- MS Visual Studio
- Sparx Enterprise Architect 7.5

Server / Middleware
======================
- IBM Websphere Application Server v6
- Apache Tomcat
- Apache Webserver
- JBoss Application Server
- IBM Websphere MQ6
- IBM Infosphere Master Data Management Server

Programme
===========
- GIT
- Mercurial
- Subversion (Subclipse, Tortoise SVN)
- CVS (mit Eclipse/IRAD)
- IBM Rational Clear Case
- JProfiler
- DBVisualizer
- Squirrel SQL Client
- XML Spy
- WinMerge
- Jenkins
- Adobe Photoshop
- Gimp 2
- Paint Shop Pro
- Microsoft Sharepoint Server

Tools / Frameworks / Open Source

- JBoss Seam
- JBoss RichFaces
- Primefaces JSF Component Library
- Vaadin
- Apache FOP
- Apache POI (HSSF/XSSF)
- Apache Log4J
- Apache Maven
- Apache Jackrabbit
- Castor (Java-to-XML-Mapping)
- XStream XML Streaming
- docx4j
- JUnit
- EasyMock
- Mockito
- PostGIS
- uDIG RCP

Betriebssysteme

MS-DOS
Unix
Suse Linux, Ubuntu Linux, Knoppix
Windows
Windows 98, ME, 2000, XP, Vista, 7

Programmiersprachen

C
Grundkenntnisse
C++
Grundkenntnisse, kleinere Entwicklungsaufgaben, MS Visual Studio
Java
J2SE 1.4, Java5/6, J2EE, JEE, Servlets/JSP, EJB 2.1, EJB 3.0; sehr gute Kenntnisse
JavaScript
JavaScript, Ajax, AngularJS; gute Kenntnisse
PHP
Grundkenntnisse
TeX, LaTeX
XML, XHTML, HTML, CSS, XSLT: gute Kenntnisse
C#: Grundkenntnisse; Mitarbeit bei Entwicklung eines Webservices in C# und ASP.NET

Datenbanken

Approach
DB2
JDBC
MySQL
Oracle
Oracle 10g
Postgres
SQL
Sybase

Datenkommunikation

Ethernet
Internet, Intranet
Message Queuing
IBM Websphere MQ6
TCP/IP

Hardware

PC

Branchen

Branchen

IT-Dienstleister, EDV, Softwareentwicklung
Autobranche, Automotive, Automobilindustrie, Automobilzulieferer
Finanzdienstleister, Banken, Versicherungen, Immobilien
Handel, eCommerce, Internet, Telekommunikation, Marketing

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.