Senior Berater & System Architect, Kotlin, Kuberntes, Go, Microservices, Java, J2EE, RDBMS ( Oracle, Sybase, DB2 ) Entwickler ( Java und C/C++)
Aktualisiert am 06.09.2024
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 01.01.2025
Verfügbar zu: 100%
davon vor Ort: 100%
Deutsch
Muttersprache
Englisch
Gut in Wort und Schrift
Französisch
Grundkenntnisse
Russisch
Gut in Wort und Schrift

Einsatzorte

Einsatzorte

Stade (+150km)
Schweiz
nicht möglich

Projekte

Projekte

05/2018 ? 07/2019

Freiberufliche Anstellung als Entwickler / Software Engineer bei LOTTO24 AG

Technologien: Spring, JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Swing, JMX. JNI, Java Bytecode Modifikation, Camel, Kafka, Reflections, Kubernetes, Docker Swarm, Ingress, Helm, Hazelcast (Cache Replication / Hibernate L2), Nginx, Discoveries, Failover, Chainbreaker 

Eine bestehende, sehr komplexe Software-Applikation wurde technisch weiterentwickelt und im agilen Umfeld gearbeitet. Die bestehende teilweise monolithische Applikation wurde Stück für Stück modularisiert und diese Verbesserungen in einem hochfrequenten Release-Zyklus live gestellt. Ich habe zudem neue Micro Services primär auf Spring-Boot2 Basis auf Java bzw. Kotlin und Go erstellt und teilweise mit Eureka bzw K8s Ingress skalierbar realisiert. Das ältere Frontend auf Basis von Spring 4 MVC mit JSP und Angular-JS wurde zudem in einem Projekt mit Angular 6 neu erstellt und per Ionic ebenfalls für die App Releases genutzt. Die alte Datenbank Oracle 12 ist durch die Micro Service-Extraktion Stück für Stück auf PostgreSQL migriert worden. Services wurden multiinstanzfähig gemacht. Weiterhin habe ich auf Basis von Nginx Loadbalancern und einem Set von Upstream-Servern eine Lösung für einen unterbrechungsfreien Betrieb auch bei Releases verschiedener Versionen mit Failover und CDN (Akamai als Live und Cloudflare) Support entwickelt. Auf Basis von TensorFlow und parallel DL4J habe ich komplett eine neue Lösung entwickelt, die basierend zum einen die Email-Kommunikation mit Kunden analysiert und bei entsprechenden Treffern bestimmte Aktionen wie Spielquittungszusendungen oder Informationen automatisiert erstellt. Zudem wurden die Anfragen vorbereitet und kategorisiert. Letztendlich konnte so der Aufwand massiv reduziert werden. Parallel habe ich per Java-Bridge eine Anbindung zum Fronend erzeugt, wodurch ebenfalls per ML automatisiert Teaser oder das Frontend angepasst wurde. In 12/2018 wurde das Unternehmen übernommen 50% der internen Mitarbeiter zu 07/2019 abgebaut. - Programmiersprachen: Java8/9, PLSQL, SQL, Kotlin, XML/XSD, JavaScript, Html, JSP, TypeScript ( NG / Angular6 ) auf Windows, Linux (CentOs6/7/Ubuntu/Mint) Technologien: Spring, JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Swing, JMX. JNI, Java Bytecode Modifikation, Camel, Kafka, Reflections, Kubernetes, Docker Swarm, Ingress, Helm, Hazelcast (Cache Replication / Hibernate L2), Nginx, Discoveries, Failover, Chainbreaker

09/2014 ? 05/2018

Freiberufliche Anstellung als Entwickler / Software Engineer bei der deutschen Lufthansa Industry Solutions

Technologien: Spring, JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Swing, JMX. JNI, Java Bytecode Modifikation, Camel, Kafka, Reflections, Kubernetes, Docker Swarm, Ingress, Helm, Hazelcast (Cache Replication / Hibernate L2), Nginx, Discoveries, Failover, Chainbreaker

Softwareengineer & Softwareentwickler / LEAD Developer Schwerpunkte: Der beschäftigende Bereich entwickelt Multimedia Entertainmentsysteme, welche wahlweise auf bestehender Hardware oder auf selbstentwickelter Hardware mit integriertem WLAN und 4Kanal-Mobil-4G Interface laufen können bzw. horizontal und vertikal skalierbare Cruise & Hospitality-Entertainmentsysteme. Im Rahmen dieses Projektes umfasste meine Aufgabe anfänglich mehrere Module, Release-Planung, die operative Projektplanung und -leitung im Bereich der Entwicklung, Spezifizierung und Umsetzung / Entwicklung bis hin zur Auslieferung. Diese Module wurde von der Planung über die Erstellung bis zum Test und der QA Phase von meiner Person durchgeführt bzw. geleitet. Parallel dazu wurden kleinere Aufgaben im Umfang von ja ca. 1-2 Arbeitswochen in Teams mit 2-5 Personen realisiert. Im Laufe der Zeit wurde mir die Rolle als Lead-Developer gegeben. - Als Erstes entwickelte ich eine Library, die auf Basis eines abstrakten Persistenz Managers beliebige Datenbankobjektstrukturen in konfigurierbare Datenformate (JSON, XML) und diese Datenformate wieder zurück in Datenbankobjekte konvertieren konnte. Die Library konnte beliebige Datenbankreferenzen wie OneToOne, OneToMany und ManyToOne handhaben. Dabei wurden die Stati ?Touch?, ?Update?, ?Create? und ?Delete? von Beliebigen im Datenbankcluster verarbeiteten Datensätzen verwaltet. Intern arbeitete diese Library zusätzlich mit einer Statemachine, welche Implementierungen für objektbezogene Aufgaben ermöglichte. Ziel dieser Library war die Replikation von Datensätzen, die erstellt, geändert oder gelöscht wurden und dabei von einer beliebigen Anzahl von Systemen zu einem Server oder umgekehrt per JaxB XML / JSON per JMS transferiert wurden. - Ein bestehendes DRM System wurde komplett überarbeitet und upgedatet. Auf Basis von PlayReady DRM komplett geschützte Filme werden auf sicheren Transportwegen per Aspera zu einem Streaming Server transportiert. Auf diesen Servern werden diese Filme inkl. Ihrer Smooth Streaming-Segmente kontrolliert automatisiert eingespielt. Auf Basis von PlayReady DRM, CMLAOMA und Widevine werden die PlayReady geschützten Filme für alle Endgeräte ausgespielt (BROWSER, TV-SmartTV, Non-Smart TV durch secure Multicast Playback per TransportStream, Android, iOS, MacOS, AndroidTV, Windows Mobile). Der Content war dabei komplett gemanagt und per POS-System erfasst und eingebettet. Die Wiedergabe wurde automatisiert geprüft durch Codecprüfungen und ein Key-Management für KID Readout aus den Dateien des PlayReady geschützten Contents. - Codierung auf aufspielen von DRM Schutz per Cloud Media Services in Azure Cloud auf Filme / bzw. Umwandlung in Smooth Streaming. - Ein weiteres Modul beinhaltet die sichere Übertragung von Events und Datenbankänderungen auf Konfigurationsbasis zwischen beliebigen Netzwerken von Servern. Diese Server wurden per eindeutiger ID definiert und waren in der Lage, mit diesem Modul miteinander zu kommunizieren. Dieses Protokoll entwickelte ich auf Basis von JMS und Camel auf ActiveMQ und JMX. Die Verbindungen zwischen den einzelnen Systemen waren per Vorgabe unsicher und konnten jederzeit durch externe Einflüsse unterbrochen werden. Dabei wurden Kommunikationsmethoden wie Events, Push-Messages und Request/Reply-Messages mit je optionalem JMS unabhängigem Acknowledge implementiert. Real handelte es sich um ein System zur gebundenen transaktionale, entfernten & verteilten, konditionalen Datenbankreplikation. Multicast-Kommunikation und konfigurierbare dynamische Trigger, die zur Laufzeit geändert wurden, stellten die Möglichkeit bereit, gezielt Daten mit bestimmen Inhalten und aus gewünschten Tabellen mit Objektstrukturen zu replizieren oder von anderen Modulen per Event Nachrichten an eine Liste von Remotesystemen sicher zu übertragen und somit eine sichere, verteile, selektive Datenreplikation zu ermöglichen. - Ein Framework wurde für ein CDS (Content Distribution System) basierend auf Aspera las Transportmedium entwickelt, welcher Userinterfaces für verschiedene Inhalte Typen (VOD, AOD, etc.) generiert und anzeigt. Das Modul erzeugt auf Basis von zKoss (vergleichbar mit GWT/Vaadin) einen UI-Framework, welcher durch Setzen einer beliebigen JaxB-Klasse aus dieser JaxB Klasse eine komplexe Struktur erstellt, welche alle Felder und deren interne Abhängigkeiten und Datentypen erzeugt und ein abstraktes, performantes Eingabesystem generiert. Dieses ist per Attribute-Definitionen in den implementierten JavaKlassen komplett konfigurierbar und kann die Werte aus instanziierten JaxB-Objekten in diese UI-Forms übertragen oder die Werte aus diesem Userinterface wieder in die instanziierten JaxB Klasse schreiben inkl. voller Validierung und dynamischen Komponenten wie Datenbankinhalten und Listen. Dieser Framework hat das Ziel, als Basis für eine Reihe von implementierenden Frameworks komplexe UI Interfaces mit geringstem Zeitaufwand für wiederkehrende Aufgaben und unterschiedliche Typen der Medien (Audio, Video, PDF, Pages, Games .. ) bereitzustellen. - Ein System zur Übertragung von Content- und Navigationssystemen wurde auf Basis einer State Engine entwickelt, mit welchem beliebige Navigationsbäume aus der Datenbank ausgelesen, analysiert und alle damit verbundenen Dateien in Archive verpackt und per Aspera CDS System auf diverse Systeme verteilt wurden. - Mit Jasper Reports wurden diverse Reports erstellt, um diverse Daten zum Nutzerverhalten sowie BI zu verarbeiten und umzusetzen. Dabei wurden die Daten über das zuvor erwähnte Eventsystem von allen Satelliten-Systemen zu einem Central Server übertragen und dort per JasperReports ausgewertet. Diese Reporte inkl. der Stored Procedures, Jasper Reports, SQL-Skripte und Report-Strukturen wurden von mir entwickelt bzw. übernommen. - Auf PostgreSQL war das bestehende System extrem CPU-lastig. Das gesamte System inkl. Datenbanksettings, Treiber und Implementierung sowie ORM Framework wurden von mir überarbeitet und optimiert, um die CPU Last zu senken. - JBOSS Customer Build. Mit einem Gradle Script wurde ein JBoss aus dem MavenRepro geladen und per Konfiguration ein dedizierter Build für bestimmte Voraussetzungen geschaffen, so dass im Modules Pfad des JBoss Komponenten und Abhängigkeiten als gemanagte Abhängigkeiten als JBoss Module hinterlegt werden. - Aufsetzen einer neuen VM für zukünftige Projekte im Bereich Hospitality & Cruise mit RDBMS (PostgreSQL 9.4 BDR) active/active Replikation mit n Instanzen und einen CustomBuild Wildfly 10.x mit Multiinstanzen erweiterbar. Auf einem DS (Digital Signage) Gerät habe ich per C# eine Applikation generiert, welche per Rest-Calls und JSON-Objekt-Kommunikation auf Basis von .Net 2/2.5 eine Ansteuerung des DS-Gerätes ermöglicht, um diese zu steuern und zu verwalten und Funktionen wie Neustarts, das steuern einer Applikation durch ein zentralisiertes System (DMAC) zu ermöglichen - Des Weiteren wurde Software erstellt und gewartet, welche mobilen Devices und TV, STB und DS Geräte aktiv gewartet, gemanagt und in Relation zu Personen, Positionen und Accounts gesetzt hat. Dabei wurden Themen wie ?Locationbased Tracking? als zentrale Elemente behandelt. - Ein CMS (Magnolia5) wurde über JCR?s direkt in den gemanagten ContentLifeCycle des Entertainment Systems angebunden und eingebettet. Beliebige ContentElemente konnten per Magnolia vom Kunden als Betreiber gemanagt und editiert werden und nach Ablauf des Editierungs-Lifecycle in das Entertainmentumfeld ausgeliefert werden. - Für die Hospitality und Cruise HMS / PMS Systeme von InforHMS, Agilysys Guestware und Fidelio habe ich Schnittstellen auf Basis von XML entworfen und implementiert bzw. weiterentwickelt, um Legacy Systeme mit dem Entertainment System in einer serviceorientierten Struktur zu verbinden und somit Informationen wie Folios oder Bestellungen auf beliebigen Endgeräten wie TV, STB oder Mobile in Kundenrelation anzuzeigen. - Applikationen für TV und Smartphones wurden auf Basis von - Betreuung diverser Projekte von Betrieb bis hin zu Updates/Hotfixes - Planung und Konzeption der Software - Erstellung einer Angular2 Applikation zur schnellen Inventarisierung von Smart TV / DS Units. Zudem wurden bestehendfe monolithische Applikationen hin zu MIcroservices umgebaut und migriert und in ein Kubernetes Umfeld migriert.

Programmiersprachen: Java, Kotlin, PLSQL, SQL, Kotlin, XML/XSD, JavaScript, Html, C#/C++, TypeScript ( NG2 / Angular4 ) auf Windows, Linux (CentOs6/7) , Ubuntu 14+ Technologien: CDI, JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Serialisierung von Objekten (XML (Dom, Jax, Sax) /JSON), zKoss, Spring, Swing, JMX. JNI, Java Bytecode Modifikation, remote Replikation, Multicast via JMS, Datenbanken aktive Java Trigger / Prozeduren, Injection, JBoss, Camel, Modulgenerierung, Reflections, JEE, EE Beans, JSF 2.1, zKoss, Vaadin, C#, .NET 2.0 / 2.5 / 4 Softwareprodukte: JBoss EAP 6.3,6.4 / Wildfly 8.2, 10.x, PostgreSQL 9.x (BDR), ActiveMQ , Guestware, Fidelio, InforHMS, Infogenesis, Agilysys, Magnolia, Protel, Kubernetes

 

12/2013 ? 08/2014

Freiberufliche Tätigkeit als Entwickler / Software Engineer bei der HHLA / Hamburg

 

01/2008 ? 11/2013

Anstellung als Geschäftsführer / Leitender Entwickler

Schwerpunkte: In diesem neu gegründeten Unternehmen baute ich

einen Kundenstamm auf und akquirierte Projekte. Dabei waren wir

hauptsächlich als Subunternehmer für Teilprojekte anderer eBusiness-

Projekte aktiv. Ich leitete verschiedene Projekte als Projektleiter und

Lead-Programmer. Zudem entwickelten wir Apps für Android und iOS

sowie komplexe Frameworks mit Apps <-> Browser <->Serverkommunikation. Das oben aufgeführter eBusiness-Framework

wurde zudem weiterentwickelt und in Projekten umgesetzt. Im

Projektkreis wird aktuell ein MMORPG auf Basis der Unreal3 Engine mit

iOS/Android Unterstützung seit 2009 entwickelt. Dabei wird die

Kundendatenbank und die Anbindung von iOS / Android über den

eBusiness-Framework realisiert und bietet so eine Echtzeit interaktive

MMORPG Funktionalität zur Verfügung, das Events oder Aktionen über

den Browser oder das Handy / Tablett ausgelöst werden können und

Einfluss auf das System der Unreal Engine 3 haben. So können

Spracheingaben oder Bewegungen über das / des Telefon(s) das

gesamte System verändern und eine neuartige, hoch-interaktive

Umwelt für den Nutzer generieren. Dabei wurden die Frontends auf Windows über

die Unrealengine3 mit Flash, und über C diverse DDL eingebunden und mit der Engine kompiliert. Auf iOS und Android ist das Userinterface via Flash und der UE3 generiert worden. Systemmodule wurden über Jaca auf die jeweiligen Systeme compiliert und in die Engines als Module eingebunden, um die Bindung Server-Client umzusetzen.

In eBusiness Projekten wurden vorhandene Systeme an neue CMS

angeschlossen und bestehende Contents übertragen . Diese CMS

basierten auf IBM ECM, MS SPF, Lenya und Magnolia. Unsere Aufgaben

umfassten dabei hauptsächlich die Verbindung bestehender Systeme

an die neuen Systeme und die Bereitstellung von einer Lösung, um

aktuelle Editierungsumgebungen zu verbinden bzw. zusätzliche Quellen

anzubieten.

Neue Spin-offs bzw. Produktwechsel wurden mit den

Standardlösungen InterShop, WCS, dem Commerce Server und

Interchange gestartet. Diese wurden per Java an die bestehenden

Warenwirtschaftssysteme angeschlossen und entsprechende

Abgleiche vorgenommen. In zwei Fällen wurden die Produktdaten

verschiedener Supplier direkt vom Hersteller via XML Feed geladen und

in den Shop abgeglichen. Ja nach Anforderung wurden Verfügbarkeit

und tagesaktuell eingespielt der mit der Bedienoberfläche durch den

Kunden verwaltet. Die Bestellungen wurden via Java ausgelesen und in

die Warenwirtschaft zurück übergeben. Diese Techniken sind je nach

Produkt mit JEE bzw. automatischen Abläufen generiert worden.

Programmiersprachen: C/C++, C#, Java, JSP, Assembler , PL SQL,

UML, JSP, XSLT, UC, PERL

 

 

10/2001 ? 01/2008

Anstellung als Geschäftsführer und leitender Programmierer

Schwerpunkte: Nach der Geburt meines ersten Kindes habe ich eine neue Tätigkeit mit begrenzter Arbeitszeit gesucht, um mich mehr der Erziehung widmen zu können. Meine Ausgaben umfassten Akquise und Leitung verschiedener Projekte mit Einsatz eines selbstenwickelten eBusiness-Frameworks auf Basis von Java / XML und RDBMS.

- Softwareentwicklung für CMS eBusiness Framework auf Basis von Java. Basierend auf beliebigen Datenbanken (RDBMS bevorzugt, alle anderen z.B. SQLite , bieten die gleichen Funktionen über eine Abstraktionsschicht. Ein Kernel, der zur Laufzeit Ablauflogiken aus der Datenbank lädt, aktualisiert sich selber ständig durch diese Logiken. Verschiedene Module werden über Interfaces zur Laufzeit dynamisch eingebunden. Diese Module basieren auf Typen und Instanzen. Es wird nur eine Typ einer Anfage in das System mit einer bevorzugten Instance gegeben und dieser Auftrag dann an das entsprechende Modul weitergeleitet. Das System basierte in der Entstehung und auf J2EE und bis heute auf J6EE. Die interne Kommunikation basiert auf XML mit dynamisch generiertem Deskriptor. Das Design und die Verbindung von Aufgaben und Modulen wird per Prozessdesigner realisiert und ist komplett grafisch dargestellt. Eine persistente Datenbank API wurde entwickelt und genutzt. Alternativ sind Hibernate oder JPA nutzbar. Folgende Module wurden erstellt:

CMS mit Sicherheitssystem und Multiserversystem ( Live, Editierung, Abnahme), beliebig erweiterbar

  • eigenes UserSystem
  • LDAP Anbindung ( Anbindung an LDAP Systeme )
  • Html Connector ( Ausgabe von HTML Seiten )
  • WAP Connector ( WAP Code generation )
  • Audio Connector ( Erstellung von Audiodaten zru Laufzeit dynamisch und Sessionabhängig )
  • Video Connector ( Erstellung von Videodaten und Videostreams voll dynamisch sessionanhängig)
  • Intershop 4 Modul ( Anbindung an Intershop 3/4 Systeme und Produktdaten, Bestellungen und Kataloge zu handhaben )
  • Intershop enfinity Modul ( Zugriff auf alle relevaten Funktionen von Intershop )
  • Gauss CMS Modul ( Optionaler Ersatz für das CMS Modul )
  • Vignette CMS Adapter
  • FTP Adapter ? komplette Kommunikation mit dem FTP Protokoll
  • SMTP / MAPI Adapter ? komplette Verwaltung und Handhabung als Server / Client
  • WebDAV Modul ? Bereitstellung von einem schnellen CMS Zugriff diverser Editoren
  • Image-Module  - Dynamische Bearbeitung / Erstellung von Bilddaten
  • ShopModule ? Alternatives Shoppingmodul, das Produkte und Warenkörbe anbietet. Die Attribute können beliebige erweitert / erstellt werden.
  • System Modul ? Modul, das auf lokalen Systemen verschiedene Aufgaben wie Batches, Programmstarts oder andere Aufgaben handhabt
  • Marketplace ? Marktplatzmodul, das alle jeweils dafür zugelassenen  Shoppingmodule innerhalb des Servers als Marktplatz nutzt und verschieden Aufgaben wie Suchen oder Bestellungen verwaltet.
  • Ordermodul ? Bestellsystem, welches Bestellungebn speichert und mit Bezug auf Shop , Warenkorb und UserData verbindet.
  • UserData ? Verwaltet Kundendaten je nach Option für einen Shop oder im Marktplatz und verknüpft die Daten mit den Bestellungen oder Anmeldungen
  • HISTORY_LOGGER ? intelligentes Loggingsystem, das Kundendaten, Klickabläufe oder Abbruche erkennt und scannen kann bzw. diverse andere  analytische Aufgaben bietet.
  • EJB Modul ? Integration von EJB Funktionalität
  • CRYPT ? Verschlüsselt / Entschlüsselt  alle angeforderten Daten nach eigenen Algorithmen oder OPENSSL Library-Algorithmen
  • CORBA_RMI ? CORBA und RMI Funktionalität
  • SAPI_MOD ? Sprachgenerierung und Erkennung
  • TAPI_MOD ? Anbindung an Tapi Systeme und Verbindung mit anderen Modulen
  • AGENT_MOD ? Virtueller Agent, der einfache Abfragen und Abläufe befolgt
  • SMS_MMS ? Versand und Empfang von Nachrichten
  • IOS_MOD ? Anbindung als App auf Apple-Devices an das eBusiness-Framework als Interface. Kann als Grundlage für Neuanwendungen genutzt werden.
  • ANDROID_MOD - Anbindung als App auf Android-Devices an das eBusiness-Framework als Interface. Kann als Grundlage für Neuanwendungen genutzt werden.

 

Auf Basis von Java, C++ und C wurden unter Nutzung von Standard-OpenSource Libraries die oben aufgeführten Funktionen erstellt bzw. komplett eigenständig entwickelt. Diese Projekte / Funktionalitäten wurden durch Kundenprojekte angefragt und nach Bedarf entwickelt.  Alle Bereiche wurden über UML designed und teilweise entwickelt.  Dadurch hat sich das Knowhow in diesen Bereichen erweitert und ist mit Projekten, die bereits realisiert wurden , verfügbar mit Theorie und als Doing Prozess.

 

- Programmiersprachen: C/C++, Java, JSP, Assembler , PL SQL, UML

 

 

01/2000 ? 05/2001

Angestellte Tätigkeit als Projektbereichsleiter und Lead-Programmierer
Schwerpunkte: Bei der Entwicklung eines Produktes auf der Basis von Java war ich über einen Zeitraum von 16 Monaten eigenständig für ein Budget sowie für das Personal verantwortlich. Dieses Projekt wurde in Hamburg und Minsk / Weißrussland umgesetzt. Weitere zwei sehr umfangreiche Projekte wurden von mir unterstützt und technisch spezifiziert. Diverse andere Projekte standen durch einen Umbruch im Personalstamm vor dem aus und mussten weitergeführt bzw. durch KnowHow und Doing unterstützt werden

Details:

  • Akquise und Projektleitung mit eigenem Budget und Personalstamm
  • eBusiness-Projekte mit Intershop enfinity, Produktdatenimport, Verfügbarkeitsabgleich und Ordersourciing Logiken
  • Gauss CMS Integration für umfassendes JSP Projekt. eigenentwickelte Java.Komponenten, um diese via Gauss CMS zu nutzen. Diese Komponenten waren hochperformante Warenkörbe, Bestellhistorien und Orderhandler.
  • Vignette CMS / WCM Intergration und Ersetzen eines bestehendes Systems inklusive der Anbindung der bestehenden Redaktionssysteme an den Framework.
  • Softwareentwicklung mit Mitarbeitern aus RU, BLR und ESP entwickelten ein komplexes Softwaresystem basierend auf Java, welches eBusinessabläufe vereinfachen und Aufwände reduzieren sollte. Dies wurde mit J2EE mit EJB realisiert. Adapter boten verschiedenen Quellen wie http oder WAP Zugriff auf dieses System. Der komplette Inhalt sowie die Logik wurden in der Datenbank gespeichert.  Datenbankdesign geschah mit Sybase Powerdesigner. Erstellung mit Jbuilder und J2EE. Das Design geschah im groben mit Rational Rose via UML.
  • Für ein multinationales Projekt  ist eine Produktdatenbank mit ca. 5Mio Artikeln erstellt worden. Diese Erstellung geschah in einem langwierigen Prozess mit dem Kunden. Die Produktdaten kamen von mehreren Zulieferern. Diese Daten wurden mehrfach eingespeichert, aber auf der Kundenseite nur einmal ausgegeben. Je nach Bestellung wurde dann die optimierte Version berechnet, welche Produkte bei welchem Lieferanten bestellt werden müssen. Dabei wurden die Bestellungen auch gesplittet und von mehr als einem Lieferanten konnte an einen Kunden geliefert werden, wenn es günstiger war. Diese Logiken waren änderbar in der Datenbank gespeichert.  Die Realisierung geschah mit sehr umfangreichen J2EE Beans. Teilweise programmierte ich Teile und Module, leitete Teile von Projekten und Optimierte vor allem das System, das durch den Umfang zwischenzeitlich sehr langsam war und ein optimiertes Design benötigte.
  • Programmiersprachen: C/C++, Java, JSP,  InterShop, PL SQL, UML

 

 

01/1997 - 12/1999

Tätigkeit als Programmierer / Consultant / Projektleiter
Schwerpunkte: Akquise und Beratung der Kunden

Von den ersten Gesprächen über eine Evaluierung von Produkten und einer technischen Konzeption bis hin zur Implementierung dieser Produkte im Projektgeschäft war ich in verschiedene Projekte eingebunden bzw. dafür verantwortlich.

Details:

  • Begleitende Akquise und Consulting von Kunden in Großprojekten
  • Kompletter Ablauf von Evaluierung, technische Konzeption, Implementierung bis hin zur Abnahme im  Projektgeschäft
  • eBusinessFrameworks: Intershop 3, InterShop 4 und Intershop enfinity
  • Volldynamische Projekte mit Java Server Pages ( JSP ) voll dynamische Erstellung und Generierung
  • Verschiedene ASP-Projekte ( MS Active Server Pages ) mit Einbindung fremder DLL?s und Programmen für diverse Berechnungen und Steuerungen von Fremdsystemen
  • Erste Prototypen für eCommercehandling von eBook-Bestellketten auf Basis von Java
  • Umfangreiche RDBMS Datenbanken ( ORACLE, OS/2, SYBASE ASE  und MS SQL) designed und durch Programme ( Java und C ) gepflegt / Daten verwaltet
  • Erste Anwendungen wurden mit Servlets auf Websphere entwickelt und in Applikationen verbaut.
  • Datenbankdesign durch Sybase PowerDesigner und Oracle SQL
  • Developer
  • Programmiersprachen: C/C++, Java, JSP, ASP, InterShop

 

06/1994 - 10/1997

Selbstständigkeit / Akquise von eigenen Projekten für Internet-Auftritte
Schwerpunkte: Freiberufliche Umsetzung von Internetauftritten.
Die Websites wurden teilweise statisch und zum Teil dynamisch erzeugt. Die Techniken umfassten Java, HTML, Javascript und die dazu notwendigen Grafikerstellungen. Serverseitig wurde primär C und Perl eingesetzt.

Details:

  • Akquise von Projekten
  • Absprache CI mit Kunden und Design mit Photoshop
  • C/C++ CGI Scripte
  • Perl Scripte
  • Java Applets für Effekte und Menüs
  • Dynamische Ausgabe von HTML auf Basis von Templates
  • Datenbankanbindung für Nutzerdaten / Bestellungen
  • Programmiersprachen: C/C++, Perl, Java, HTML

 

 

 

05/1994 - 10/1997

Freiberufliche Tätigkeit
Schwerpunkte:

Auf den Plattformen Playstation, Nintendo 64, Jaguar und MS Windows Entwicklung von 3D-Engines, Programmen zur Objektmodellierung und ?umwandlung sowie Grafik, Musik und Spielgestaltung.

Details:

  • Playstation I, Nintendo64, Jaguar, MS Windows 95
  • Entwicklung von 3D-Engines bzw. Layern zum Zugriff auf diese Funktionen ( rudimentäre Abstraktion )
  • Performance-Optimierung von Quellcode
  • Programme  zur Objektmodellierung und ?umwandlung
  • Grafik, Musik und Spielgestaltung.
  • Sfx Engine mit XM, MOD, FMOD Wiedergabe und Effektausgabe
  • Grafikengine für Menus und HUD?s
  • Programmiersprachen: C/C++ und Assembler

 

 

 

05/1991 - 05/1995

Freiberufliche Tätigkeit
Schwerpunkte: Für Spiel wurde ein Scriptingsystem sowie ein Grafiksystem entwickelt. Zudem an diversen API?s für Spiele gearbeitet und selbstentwickelte Datenbanken programmiert und bearbeitet

Details:

  • Amiga, PC
  • einfache Datenbanken entwickelt mit einfachen API?s und Programmen zur Verwaltung der Datenbanken
  • Interpreter für Scripte, die einfache Audio / Videosteuerung erlauben und auf Eingaben reagieren
  • Programmiersprachen: C/C++ und Assembler

 

 

 

12/1989 - 07/1992

Freiberufliche Tätigkeit
Schwerpunkte: Die Aufgabenbereiche umfassten ein Systemebenendebugging für Anwendungen, eine Programmierung von verschiedensten Programmcodesegmenten für Audio und Video sowie die Erstellung von Mehrschichtmodellen für Programmcode zur Optimierung der Leistungsfähigkeit.

Details:

  • Systeme: C64 Amiga und Atari ST
  • Debugging von Projekten / Fehlersuche in Assembler
  • Grafik / Audioausgabe und Interfaceerstellung
  • Programmiersprachen: Assembler / C

 

Aus- und Weiterbildung

Aus- und Weiterbildung

1995 – 2001

Studium an der Fernunsiversität Hagen ( Diplom II 09/2001) zum Diplom-Informatiker (1,9)

 

1989 – 1991

Gymnasium EOS Grevesmühlen / MV Abitur mit Abschluss (1,2)  07/1991

 

1979 – 1989

POS – Mittlere Reife 07/1989 mit Abschluss (1,1) in Schönberg / MV

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Formate:

  • HTML (3.0 bis 5)
  • CSS
  • XML ( mit XSD und XSLT )
  • UML (1 oder 2.0)
  • WML ( WAP )
  • SGML

 

Frameworks, Libraries und SDK's:

  • eSuccess
  • Java - persistence API’s ( JPA, OBJ, Hibernate )
  • Eclipse SDK / SWT
  • Java2-6 SE/EE
  • Java Swing
  • HTTPComponents (Server/Client)
  • Struts ( 1 und 2 )
  • Java Beans, EE JavaBeans, Beanutils
  • Commons (Codec, Compress, Collections. DbUtils, DBCP, EXEC, FileUpload, JCI, JCS, Launcher, Logging,
  • Math, Modeler, VFS, Validator )
  • Log4* ( Java, C )
  • Javascript Frameworks ( Bsp. jQuery, Dojo. YUI, Prototype. Script.aculo.us, GWT)
  • Protobuf
  • JTAPI
  • JSAPI
  • JSF
  • BEA WLS / WAS
  • Spring MVC
  • Spring Webflow
  • IT-Profil – [Name und Emailadresse auf Anfrage]
  • Spring Batch
  • Corba / RMI
  • Java Click
  • EmpireDB
  • Java BCEL (Bytecode Library)
  • Apache XML
  • Java Betwixt
  • Lenya
  • Lucene
  • Apache Camel
  • XFire/CXF
  • Cayenne

 

Technische Verfahren:

  • Protokolle (HTML, FTP, SMTP, MAPI, TCP/IP Datenaufbau und Byteschema)
  • Client / Server ( Socketkommunikation, Abstrahierung, Kommunikation, Implementierung)
  • Mehrschichtmodelle
  • OOP
  • Compilerprogrammierung
  • Interpreterprogrammierung
  • Kommunikation zwischen Threads, Prozessen, Servern
  • Injection
  • Programmcode-Prozessdesignerprogrammierung und Implementierung
  • Content Management Systeme
  • 1st Layer Audio und Video API auf Windows, Android und iOS
  • Echtzeit-Programmcodesteuerung
  • Debugging ( Kernel, System oder Applikationsebene)
  • Informationssysteme
  • Virtual Agents
  • Datawarehousing
  • SMS / MMS Handling ( Empfang und Senden )
  • Verschlüsselung und Dechiffrierung von OpenSSL Algorithmen und Programmierung eigener Algorithmen auf
  • Byte/Bitniveau
  • RDBMS Design und Optimierung
  • TAPI Implementierung
  • SAPI Implementierung
  • Spracherkennung
  • Sprachsynthese
  • UML Modellierung
  • Testenvironments: Nutzung und Implementierung
  • Performance Tests und Analysen, Automatische Tests

 

 

Genutzte Produkte:

  • Websphere Produktlinie
  • Apache ( Tomcat, Apache, etc.)
  • JBoss / WildFly
  • JEE-J6EE / JSE-J6SE
  • Datenbanken: DB/2, Oracle, MS SQL, Sybase ASE, SQLite, MySQL, mSQL
  • Adobe Creative Studio bis V6
  • Quest Produktlinie ( Toad, SQL Navigator)
  • Sybase Powerdesigner
  • Eclipse
  • Jbuilder
  • Powerbuilder / Embarcadero
  • MS Visual Studio
  • Rational Rose
  • Bea Produkte ( WLS / WAS )
  • JRockit
  • IT-Profil – [Name und Emailadresse auf Anfrage]
  • Java-Profiling (e.b. Yourkit)
  • Test Frameworks ( *Unit ( Junit, Cunit) )
  • AutoCad
  • MaxStudio
  • Maya
  • Apache Maven
  • Intershop 3-7, Intershop enfinity
  • Gauss CMS
  • Vignette / OpenText
  • MS Commerce Server
  • Websphere Commerce Suite
  • Interchange
  • IBM ECM
  • MS SPF
  • Apache Lenya
  • Magnolia

Betriebssysteme

Windows

Android

iOS

Linux

MacOS

Solaris

OpenVMS

AmigaOS

BeOS

MS-DOS

OS/390

Programmiersprachen

Assembler
Sehr erfahren - 680x0, 650x, 80x86 ( Intel kompatibel), PPC und MIPS
Basic
Visual Basic
C
Sehr erfahren
C#
Erfahren
C++
Sehr erfahren
Delphi
Erfahren
Java
Sehr hoher Skillsstand, SE, EE und ME ab Version 1.02 bis zur aktuellen Version
JavaScript
Sehr hohes wissen inkl. Frameworks
Perl
Normal
PHP
Normal
PL/SQL
Erfahren
Powerbuilder
Normal
Tcl/Tk
Normal

Datenbanken

Access
++
BDE
+
DB2
++
Informix
+
Interbase
++
Ms DAO
+++
MS SQL Server
++
MySQL
++
ODBC
++
Oracle
+++
PostgreSQL
+++
Quest
Sybase
+++

Datenkommunikation

CORBA
Ethernet
Fax
Internet, Intranet
ISDN
LAN, LAN Manager
Message Queuing
MMS
NetBios
parallele Schnittstelle
Proprietäre Protokolle
Router
SMTP
SNMP
TCP/IP
Voice
Windows Netzwerk
Winsock

Hardware

IBM Großrechner

MIPS Systeme

Sun Server

PC Systeme

 

Berechnung / Simulation / Versuch / Validierung

CAMel-View TestRig

Design / Entwicklung / Konstruktion

SolidEdge
SolidWorks
VectorWorks

3DMAX

MAYA

Motionbuilder

Branchen

Branchen

Handel

Automotive

Energieversorgung

Information und Kommunikation

Dienstleistungen

Einsatzorte

Einsatzorte

Stade (+150km)
Schweiz
nicht möglich

Projekte

Projekte

05/2018 ? 07/2019

Freiberufliche Anstellung als Entwickler / Software Engineer bei LOTTO24 AG

Technologien: Spring, JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Swing, JMX. JNI, Java Bytecode Modifikation, Camel, Kafka, Reflections, Kubernetes, Docker Swarm, Ingress, Helm, Hazelcast (Cache Replication / Hibernate L2), Nginx, Discoveries, Failover, Chainbreaker 

Eine bestehende, sehr komplexe Software-Applikation wurde technisch weiterentwickelt und im agilen Umfeld gearbeitet. Die bestehende teilweise monolithische Applikation wurde Stück für Stück modularisiert und diese Verbesserungen in einem hochfrequenten Release-Zyklus live gestellt. Ich habe zudem neue Micro Services primär auf Spring-Boot2 Basis auf Java bzw. Kotlin und Go erstellt und teilweise mit Eureka bzw K8s Ingress skalierbar realisiert. Das ältere Frontend auf Basis von Spring 4 MVC mit JSP und Angular-JS wurde zudem in einem Projekt mit Angular 6 neu erstellt und per Ionic ebenfalls für die App Releases genutzt. Die alte Datenbank Oracle 12 ist durch die Micro Service-Extraktion Stück für Stück auf PostgreSQL migriert worden. Services wurden multiinstanzfähig gemacht. Weiterhin habe ich auf Basis von Nginx Loadbalancern und einem Set von Upstream-Servern eine Lösung für einen unterbrechungsfreien Betrieb auch bei Releases verschiedener Versionen mit Failover und CDN (Akamai als Live und Cloudflare) Support entwickelt. Auf Basis von TensorFlow und parallel DL4J habe ich komplett eine neue Lösung entwickelt, die basierend zum einen die Email-Kommunikation mit Kunden analysiert und bei entsprechenden Treffern bestimmte Aktionen wie Spielquittungszusendungen oder Informationen automatisiert erstellt. Zudem wurden die Anfragen vorbereitet und kategorisiert. Letztendlich konnte so der Aufwand massiv reduziert werden. Parallel habe ich per Java-Bridge eine Anbindung zum Fronend erzeugt, wodurch ebenfalls per ML automatisiert Teaser oder das Frontend angepasst wurde. In 12/2018 wurde das Unternehmen übernommen 50% der internen Mitarbeiter zu 07/2019 abgebaut. - Programmiersprachen: Java8/9, PLSQL, SQL, Kotlin, XML/XSD, JavaScript, Html, JSP, TypeScript ( NG / Angular6 ) auf Windows, Linux (CentOs6/7/Ubuntu/Mint) Technologien: Spring, JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Swing, JMX. JNI, Java Bytecode Modifikation, Camel, Kafka, Reflections, Kubernetes, Docker Swarm, Ingress, Helm, Hazelcast (Cache Replication / Hibernate L2), Nginx, Discoveries, Failover, Chainbreaker

09/2014 ? 05/2018

Freiberufliche Anstellung als Entwickler / Software Engineer bei der deutschen Lufthansa Industry Solutions

Technologien: Spring, JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Swing, JMX. JNI, Java Bytecode Modifikation, Camel, Kafka, Reflections, Kubernetes, Docker Swarm, Ingress, Helm, Hazelcast (Cache Replication / Hibernate L2), Nginx, Discoveries, Failover, Chainbreaker

Softwareengineer & Softwareentwickler / LEAD Developer Schwerpunkte: Der beschäftigende Bereich entwickelt Multimedia Entertainmentsysteme, welche wahlweise auf bestehender Hardware oder auf selbstentwickelter Hardware mit integriertem WLAN und 4Kanal-Mobil-4G Interface laufen können bzw. horizontal und vertikal skalierbare Cruise & Hospitality-Entertainmentsysteme. Im Rahmen dieses Projektes umfasste meine Aufgabe anfänglich mehrere Module, Release-Planung, die operative Projektplanung und -leitung im Bereich der Entwicklung, Spezifizierung und Umsetzung / Entwicklung bis hin zur Auslieferung. Diese Module wurde von der Planung über die Erstellung bis zum Test und der QA Phase von meiner Person durchgeführt bzw. geleitet. Parallel dazu wurden kleinere Aufgaben im Umfang von ja ca. 1-2 Arbeitswochen in Teams mit 2-5 Personen realisiert. Im Laufe der Zeit wurde mir die Rolle als Lead-Developer gegeben. - Als Erstes entwickelte ich eine Library, die auf Basis eines abstrakten Persistenz Managers beliebige Datenbankobjektstrukturen in konfigurierbare Datenformate (JSON, XML) und diese Datenformate wieder zurück in Datenbankobjekte konvertieren konnte. Die Library konnte beliebige Datenbankreferenzen wie OneToOne, OneToMany und ManyToOne handhaben. Dabei wurden die Stati ?Touch?, ?Update?, ?Create? und ?Delete? von Beliebigen im Datenbankcluster verarbeiteten Datensätzen verwaltet. Intern arbeitete diese Library zusätzlich mit einer Statemachine, welche Implementierungen für objektbezogene Aufgaben ermöglichte. Ziel dieser Library war die Replikation von Datensätzen, die erstellt, geändert oder gelöscht wurden und dabei von einer beliebigen Anzahl von Systemen zu einem Server oder umgekehrt per JaxB XML / JSON per JMS transferiert wurden. - Ein bestehendes DRM System wurde komplett überarbeitet und upgedatet. Auf Basis von PlayReady DRM komplett geschützte Filme werden auf sicheren Transportwegen per Aspera zu einem Streaming Server transportiert. Auf diesen Servern werden diese Filme inkl. Ihrer Smooth Streaming-Segmente kontrolliert automatisiert eingespielt. Auf Basis von PlayReady DRM, CMLAOMA und Widevine werden die PlayReady geschützten Filme für alle Endgeräte ausgespielt (BROWSER, TV-SmartTV, Non-Smart TV durch secure Multicast Playback per TransportStream, Android, iOS, MacOS, AndroidTV, Windows Mobile). Der Content war dabei komplett gemanagt und per POS-System erfasst und eingebettet. Die Wiedergabe wurde automatisiert geprüft durch Codecprüfungen und ein Key-Management für KID Readout aus den Dateien des PlayReady geschützten Contents. - Codierung auf aufspielen von DRM Schutz per Cloud Media Services in Azure Cloud auf Filme / bzw. Umwandlung in Smooth Streaming. - Ein weiteres Modul beinhaltet die sichere Übertragung von Events und Datenbankänderungen auf Konfigurationsbasis zwischen beliebigen Netzwerken von Servern. Diese Server wurden per eindeutiger ID definiert und waren in der Lage, mit diesem Modul miteinander zu kommunizieren. Dieses Protokoll entwickelte ich auf Basis von JMS und Camel auf ActiveMQ und JMX. Die Verbindungen zwischen den einzelnen Systemen waren per Vorgabe unsicher und konnten jederzeit durch externe Einflüsse unterbrochen werden. Dabei wurden Kommunikationsmethoden wie Events, Push-Messages und Request/Reply-Messages mit je optionalem JMS unabhängigem Acknowledge implementiert. Real handelte es sich um ein System zur gebundenen transaktionale, entfernten & verteilten, konditionalen Datenbankreplikation. Multicast-Kommunikation und konfigurierbare dynamische Trigger, die zur Laufzeit geändert wurden, stellten die Möglichkeit bereit, gezielt Daten mit bestimmen Inhalten und aus gewünschten Tabellen mit Objektstrukturen zu replizieren oder von anderen Modulen per Event Nachrichten an eine Liste von Remotesystemen sicher zu übertragen und somit eine sichere, verteile, selektive Datenreplikation zu ermöglichen. - Ein Framework wurde für ein CDS (Content Distribution System) basierend auf Aspera las Transportmedium entwickelt, welcher Userinterfaces für verschiedene Inhalte Typen (VOD, AOD, etc.) generiert und anzeigt. Das Modul erzeugt auf Basis von zKoss (vergleichbar mit GWT/Vaadin) einen UI-Framework, welcher durch Setzen einer beliebigen JaxB-Klasse aus dieser JaxB Klasse eine komplexe Struktur erstellt, welche alle Felder und deren interne Abhängigkeiten und Datentypen erzeugt und ein abstraktes, performantes Eingabesystem generiert. Dieses ist per Attribute-Definitionen in den implementierten JavaKlassen komplett konfigurierbar und kann die Werte aus instanziierten JaxB-Objekten in diese UI-Forms übertragen oder die Werte aus diesem Userinterface wieder in die instanziierten JaxB Klasse schreiben inkl. voller Validierung und dynamischen Komponenten wie Datenbankinhalten und Listen. Dieser Framework hat das Ziel, als Basis für eine Reihe von implementierenden Frameworks komplexe UI Interfaces mit geringstem Zeitaufwand für wiederkehrende Aufgaben und unterschiedliche Typen der Medien (Audio, Video, PDF, Pages, Games .. ) bereitzustellen. - Ein System zur Übertragung von Content- und Navigationssystemen wurde auf Basis einer State Engine entwickelt, mit welchem beliebige Navigationsbäume aus der Datenbank ausgelesen, analysiert und alle damit verbundenen Dateien in Archive verpackt und per Aspera CDS System auf diverse Systeme verteilt wurden. - Mit Jasper Reports wurden diverse Reports erstellt, um diverse Daten zum Nutzerverhalten sowie BI zu verarbeiten und umzusetzen. Dabei wurden die Daten über das zuvor erwähnte Eventsystem von allen Satelliten-Systemen zu einem Central Server übertragen und dort per JasperReports ausgewertet. Diese Reporte inkl. der Stored Procedures, Jasper Reports, SQL-Skripte und Report-Strukturen wurden von mir entwickelt bzw. übernommen. - Auf PostgreSQL war das bestehende System extrem CPU-lastig. Das gesamte System inkl. Datenbanksettings, Treiber und Implementierung sowie ORM Framework wurden von mir überarbeitet und optimiert, um die CPU Last zu senken. - JBOSS Customer Build. Mit einem Gradle Script wurde ein JBoss aus dem MavenRepro geladen und per Konfiguration ein dedizierter Build für bestimmte Voraussetzungen geschaffen, so dass im Modules Pfad des JBoss Komponenten und Abhängigkeiten als gemanagte Abhängigkeiten als JBoss Module hinterlegt werden. - Aufsetzen einer neuen VM für zukünftige Projekte im Bereich Hospitality & Cruise mit RDBMS (PostgreSQL 9.4 BDR) active/active Replikation mit n Instanzen und einen CustomBuild Wildfly 10.x mit Multiinstanzen erweiterbar. Auf einem DS (Digital Signage) Gerät habe ich per C# eine Applikation generiert, welche per Rest-Calls und JSON-Objekt-Kommunikation auf Basis von .Net 2/2.5 eine Ansteuerung des DS-Gerätes ermöglicht, um diese zu steuern und zu verwalten und Funktionen wie Neustarts, das steuern einer Applikation durch ein zentralisiertes System (DMAC) zu ermöglichen - Des Weiteren wurde Software erstellt und gewartet, welche mobilen Devices und TV, STB und DS Geräte aktiv gewartet, gemanagt und in Relation zu Personen, Positionen und Accounts gesetzt hat. Dabei wurden Themen wie ?Locationbased Tracking? als zentrale Elemente behandelt. - Ein CMS (Magnolia5) wurde über JCR?s direkt in den gemanagten ContentLifeCycle des Entertainment Systems angebunden und eingebettet. Beliebige ContentElemente konnten per Magnolia vom Kunden als Betreiber gemanagt und editiert werden und nach Ablauf des Editierungs-Lifecycle in das Entertainmentumfeld ausgeliefert werden. - Für die Hospitality und Cruise HMS / PMS Systeme von InforHMS, Agilysys Guestware und Fidelio habe ich Schnittstellen auf Basis von XML entworfen und implementiert bzw. weiterentwickelt, um Legacy Systeme mit dem Entertainment System in einer serviceorientierten Struktur zu verbinden und somit Informationen wie Folios oder Bestellungen auf beliebigen Endgeräten wie TV, STB oder Mobile in Kundenrelation anzuzeigen. - Applikationen für TV und Smartphones wurden auf Basis von - Betreuung diverser Projekte von Betrieb bis hin zu Updates/Hotfixes - Planung und Konzeption der Software - Erstellung einer Angular2 Applikation zur schnellen Inventarisierung von Smart TV / DS Units. Zudem wurden bestehendfe monolithische Applikationen hin zu MIcroservices umgebaut und migriert und in ein Kubernetes Umfeld migriert.

Programmiersprachen: Java, Kotlin, PLSQL, SQL, Kotlin, XML/XSD, JavaScript, Html, C#/C++, TypeScript ( NG2 / Angular4 ) auf Windows, Linux (CentOs6/7) , Ubuntu 14+ Technologien: CDI, JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Serialisierung von Objekten (XML (Dom, Jax, Sax) /JSON), zKoss, Spring, Swing, JMX. JNI, Java Bytecode Modifikation, remote Replikation, Multicast via JMS, Datenbanken aktive Java Trigger / Prozeduren, Injection, JBoss, Camel, Modulgenerierung, Reflections, JEE, EE Beans, JSF 2.1, zKoss, Vaadin, C#, .NET 2.0 / 2.5 / 4 Softwareprodukte: JBoss EAP 6.3,6.4 / Wildfly 8.2, 10.x, PostgreSQL 9.x (BDR), ActiveMQ , Guestware, Fidelio, InforHMS, Infogenesis, Agilysys, Magnolia, Protel, Kubernetes

 

12/2013 ? 08/2014

Freiberufliche Tätigkeit als Entwickler / Software Engineer bei der HHLA / Hamburg

 

01/2008 ? 11/2013

Anstellung als Geschäftsführer / Leitender Entwickler

Schwerpunkte: In diesem neu gegründeten Unternehmen baute ich

einen Kundenstamm auf und akquirierte Projekte. Dabei waren wir

hauptsächlich als Subunternehmer für Teilprojekte anderer eBusiness-

Projekte aktiv. Ich leitete verschiedene Projekte als Projektleiter und

Lead-Programmer. Zudem entwickelten wir Apps für Android und iOS

sowie komplexe Frameworks mit Apps <-> Browser <->Serverkommunikation. Das oben aufgeführter eBusiness-Framework

wurde zudem weiterentwickelt und in Projekten umgesetzt. Im

Projektkreis wird aktuell ein MMORPG auf Basis der Unreal3 Engine mit

iOS/Android Unterstützung seit 2009 entwickelt. Dabei wird die

Kundendatenbank und die Anbindung von iOS / Android über den

eBusiness-Framework realisiert und bietet so eine Echtzeit interaktive

MMORPG Funktionalität zur Verfügung, das Events oder Aktionen über

den Browser oder das Handy / Tablett ausgelöst werden können und

Einfluss auf das System der Unreal Engine 3 haben. So können

Spracheingaben oder Bewegungen über das / des Telefon(s) das

gesamte System verändern und eine neuartige, hoch-interaktive

Umwelt für den Nutzer generieren. Dabei wurden die Frontends auf Windows über

die Unrealengine3 mit Flash, und über C diverse DDL eingebunden und mit der Engine kompiliert. Auf iOS und Android ist das Userinterface via Flash und der UE3 generiert worden. Systemmodule wurden über Jaca auf die jeweiligen Systeme compiliert und in die Engines als Module eingebunden, um die Bindung Server-Client umzusetzen.

In eBusiness Projekten wurden vorhandene Systeme an neue CMS

angeschlossen und bestehende Contents übertragen . Diese CMS

basierten auf IBM ECM, MS SPF, Lenya und Magnolia. Unsere Aufgaben

umfassten dabei hauptsächlich die Verbindung bestehender Systeme

an die neuen Systeme und die Bereitstellung von einer Lösung, um

aktuelle Editierungsumgebungen zu verbinden bzw. zusätzliche Quellen

anzubieten.

Neue Spin-offs bzw. Produktwechsel wurden mit den

Standardlösungen InterShop, WCS, dem Commerce Server und

Interchange gestartet. Diese wurden per Java an die bestehenden

Warenwirtschaftssysteme angeschlossen und entsprechende

Abgleiche vorgenommen. In zwei Fällen wurden die Produktdaten

verschiedener Supplier direkt vom Hersteller via XML Feed geladen und

in den Shop abgeglichen. Ja nach Anforderung wurden Verfügbarkeit

und tagesaktuell eingespielt der mit der Bedienoberfläche durch den

Kunden verwaltet. Die Bestellungen wurden via Java ausgelesen und in

die Warenwirtschaft zurück übergeben. Diese Techniken sind je nach

Produkt mit JEE bzw. automatischen Abläufen generiert worden.

Programmiersprachen: C/C++, C#, Java, JSP, Assembler , PL SQL,

UML, JSP, XSLT, UC, PERL

 

 

10/2001 ? 01/2008

Anstellung als Geschäftsführer und leitender Programmierer

Schwerpunkte: Nach der Geburt meines ersten Kindes habe ich eine neue Tätigkeit mit begrenzter Arbeitszeit gesucht, um mich mehr der Erziehung widmen zu können. Meine Ausgaben umfassten Akquise und Leitung verschiedener Projekte mit Einsatz eines selbstenwickelten eBusiness-Frameworks auf Basis von Java / XML und RDBMS.

- Softwareentwicklung für CMS eBusiness Framework auf Basis von Java. Basierend auf beliebigen Datenbanken (RDBMS bevorzugt, alle anderen z.B. SQLite , bieten die gleichen Funktionen über eine Abstraktionsschicht. Ein Kernel, der zur Laufzeit Ablauflogiken aus der Datenbank lädt, aktualisiert sich selber ständig durch diese Logiken. Verschiedene Module werden über Interfaces zur Laufzeit dynamisch eingebunden. Diese Module basieren auf Typen und Instanzen. Es wird nur eine Typ einer Anfage in das System mit einer bevorzugten Instance gegeben und dieser Auftrag dann an das entsprechende Modul weitergeleitet. Das System basierte in der Entstehung und auf J2EE und bis heute auf J6EE. Die interne Kommunikation basiert auf XML mit dynamisch generiertem Deskriptor. Das Design und die Verbindung von Aufgaben und Modulen wird per Prozessdesigner realisiert und ist komplett grafisch dargestellt. Eine persistente Datenbank API wurde entwickelt und genutzt. Alternativ sind Hibernate oder JPA nutzbar. Folgende Module wurden erstellt:

CMS mit Sicherheitssystem und Multiserversystem ( Live, Editierung, Abnahme), beliebig erweiterbar

  • eigenes UserSystem
  • LDAP Anbindung ( Anbindung an LDAP Systeme )
  • Html Connector ( Ausgabe von HTML Seiten )
  • WAP Connector ( WAP Code generation )
  • Audio Connector ( Erstellung von Audiodaten zru Laufzeit dynamisch und Sessionabhängig )
  • Video Connector ( Erstellung von Videodaten und Videostreams voll dynamisch sessionanhängig)
  • Intershop 4 Modul ( Anbindung an Intershop 3/4 Systeme und Produktdaten, Bestellungen und Kataloge zu handhaben )
  • Intershop enfinity Modul ( Zugriff auf alle relevaten Funktionen von Intershop )
  • Gauss CMS Modul ( Optionaler Ersatz für das CMS Modul )
  • Vignette CMS Adapter
  • FTP Adapter ? komplette Kommunikation mit dem FTP Protokoll
  • SMTP / MAPI Adapter ? komplette Verwaltung und Handhabung als Server / Client
  • WebDAV Modul ? Bereitstellung von einem schnellen CMS Zugriff diverser Editoren
  • Image-Module  - Dynamische Bearbeitung / Erstellung von Bilddaten
  • ShopModule ? Alternatives Shoppingmodul, das Produkte und Warenkörbe anbietet. Die Attribute können beliebige erweitert / erstellt werden.
  • System Modul ? Modul, das auf lokalen Systemen verschiedene Aufgaben wie Batches, Programmstarts oder andere Aufgaben handhabt
  • Marketplace ? Marktplatzmodul, das alle jeweils dafür zugelassenen  Shoppingmodule innerhalb des Servers als Marktplatz nutzt und verschieden Aufgaben wie Suchen oder Bestellungen verwaltet.
  • Ordermodul ? Bestellsystem, welches Bestellungebn speichert und mit Bezug auf Shop , Warenkorb und UserData verbindet.
  • UserData ? Verwaltet Kundendaten je nach Option für einen Shop oder im Marktplatz und verknüpft die Daten mit den Bestellungen oder Anmeldungen
  • HISTORY_LOGGER ? intelligentes Loggingsystem, das Kundendaten, Klickabläufe oder Abbruche erkennt und scannen kann bzw. diverse andere  analytische Aufgaben bietet.
  • EJB Modul ? Integration von EJB Funktionalität
  • CRYPT ? Verschlüsselt / Entschlüsselt  alle angeforderten Daten nach eigenen Algorithmen oder OPENSSL Library-Algorithmen
  • CORBA_RMI ? CORBA und RMI Funktionalität
  • SAPI_MOD ? Sprachgenerierung und Erkennung
  • TAPI_MOD ? Anbindung an Tapi Systeme und Verbindung mit anderen Modulen
  • AGENT_MOD ? Virtueller Agent, der einfache Abfragen und Abläufe befolgt
  • SMS_MMS ? Versand und Empfang von Nachrichten
  • IOS_MOD ? Anbindung als App auf Apple-Devices an das eBusiness-Framework als Interface. Kann als Grundlage für Neuanwendungen genutzt werden.
  • ANDROID_MOD - Anbindung als App auf Android-Devices an das eBusiness-Framework als Interface. Kann als Grundlage für Neuanwendungen genutzt werden.

 

Auf Basis von Java, C++ und C wurden unter Nutzung von Standard-OpenSource Libraries die oben aufgeführten Funktionen erstellt bzw. komplett eigenständig entwickelt. Diese Projekte / Funktionalitäten wurden durch Kundenprojekte angefragt und nach Bedarf entwickelt.  Alle Bereiche wurden über UML designed und teilweise entwickelt.  Dadurch hat sich das Knowhow in diesen Bereichen erweitert und ist mit Projekten, die bereits realisiert wurden , verfügbar mit Theorie und als Doing Prozess.

 

- Programmiersprachen: C/C++, Java, JSP, Assembler , PL SQL, UML

 

 

01/2000 ? 05/2001

Angestellte Tätigkeit als Projektbereichsleiter und Lead-Programmierer
Schwerpunkte: Bei der Entwicklung eines Produktes auf der Basis von Java war ich über einen Zeitraum von 16 Monaten eigenständig für ein Budget sowie für das Personal verantwortlich. Dieses Projekt wurde in Hamburg und Minsk / Weißrussland umgesetzt. Weitere zwei sehr umfangreiche Projekte wurden von mir unterstützt und technisch spezifiziert. Diverse andere Projekte standen durch einen Umbruch im Personalstamm vor dem aus und mussten weitergeführt bzw. durch KnowHow und Doing unterstützt werden

Details:

  • Akquise und Projektleitung mit eigenem Budget und Personalstamm
  • eBusiness-Projekte mit Intershop enfinity, Produktdatenimport, Verfügbarkeitsabgleich und Ordersourciing Logiken
  • Gauss CMS Integration für umfassendes JSP Projekt. eigenentwickelte Java.Komponenten, um diese via Gauss CMS zu nutzen. Diese Komponenten waren hochperformante Warenkörbe, Bestellhistorien und Orderhandler.
  • Vignette CMS / WCM Intergration und Ersetzen eines bestehendes Systems inklusive der Anbindung der bestehenden Redaktionssysteme an den Framework.
  • Softwareentwicklung mit Mitarbeitern aus RU, BLR und ESP entwickelten ein komplexes Softwaresystem basierend auf Java, welches eBusinessabläufe vereinfachen und Aufwände reduzieren sollte. Dies wurde mit J2EE mit EJB realisiert. Adapter boten verschiedenen Quellen wie http oder WAP Zugriff auf dieses System. Der komplette Inhalt sowie die Logik wurden in der Datenbank gespeichert.  Datenbankdesign geschah mit Sybase Powerdesigner. Erstellung mit Jbuilder und J2EE. Das Design geschah im groben mit Rational Rose via UML.
  • Für ein multinationales Projekt  ist eine Produktdatenbank mit ca. 5Mio Artikeln erstellt worden. Diese Erstellung geschah in einem langwierigen Prozess mit dem Kunden. Die Produktdaten kamen von mehreren Zulieferern. Diese Daten wurden mehrfach eingespeichert, aber auf der Kundenseite nur einmal ausgegeben. Je nach Bestellung wurde dann die optimierte Version berechnet, welche Produkte bei welchem Lieferanten bestellt werden müssen. Dabei wurden die Bestellungen auch gesplittet und von mehr als einem Lieferanten konnte an einen Kunden geliefert werden, wenn es günstiger war. Diese Logiken waren änderbar in der Datenbank gespeichert.  Die Realisierung geschah mit sehr umfangreichen J2EE Beans. Teilweise programmierte ich Teile und Module, leitete Teile von Projekten und Optimierte vor allem das System, das durch den Umfang zwischenzeitlich sehr langsam war und ein optimiertes Design benötigte.
  • Programmiersprachen: C/C++, Java, JSP,  InterShop, PL SQL, UML

 

 

01/1997 - 12/1999

Tätigkeit als Programmierer / Consultant / Projektleiter
Schwerpunkte: Akquise und Beratung der Kunden

Von den ersten Gesprächen über eine Evaluierung von Produkten und einer technischen Konzeption bis hin zur Implementierung dieser Produkte im Projektgeschäft war ich in verschiedene Projekte eingebunden bzw. dafür verantwortlich.

Details:

  • Begleitende Akquise und Consulting von Kunden in Großprojekten
  • Kompletter Ablauf von Evaluierung, technische Konzeption, Implementierung bis hin zur Abnahme im  Projektgeschäft
  • eBusinessFrameworks: Intershop 3, InterShop 4 und Intershop enfinity
  • Volldynamische Projekte mit Java Server Pages ( JSP ) voll dynamische Erstellung und Generierung
  • Verschiedene ASP-Projekte ( MS Active Server Pages ) mit Einbindung fremder DLL?s und Programmen für diverse Berechnungen und Steuerungen von Fremdsystemen
  • Erste Prototypen für eCommercehandling von eBook-Bestellketten auf Basis von Java
  • Umfangreiche RDBMS Datenbanken ( ORACLE, OS/2, SYBASE ASE  und MS SQL) designed und durch Programme ( Java und C ) gepflegt / Daten verwaltet
  • Erste Anwendungen wurden mit Servlets auf Websphere entwickelt und in Applikationen verbaut.
  • Datenbankdesign durch Sybase PowerDesigner und Oracle SQL
  • Developer
  • Programmiersprachen: C/C++, Java, JSP, ASP, InterShop

 

06/1994 - 10/1997

Selbstständigkeit / Akquise von eigenen Projekten für Internet-Auftritte
Schwerpunkte: Freiberufliche Umsetzung von Internetauftritten.
Die Websites wurden teilweise statisch und zum Teil dynamisch erzeugt. Die Techniken umfassten Java, HTML, Javascript und die dazu notwendigen Grafikerstellungen. Serverseitig wurde primär C und Perl eingesetzt.

Details:

  • Akquise von Projekten
  • Absprache CI mit Kunden und Design mit Photoshop
  • C/C++ CGI Scripte
  • Perl Scripte
  • Java Applets für Effekte und Menüs
  • Dynamische Ausgabe von HTML auf Basis von Templates
  • Datenbankanbindung für Nutzerdaten / Bestellungen
  • Programmiersprachen: C/C++, Perl, Java, HTML

 

 

 

05/1994 - 10/1997

Freiberufliche Tätigkeit
Schwerpunkte:

Auf den Plattformen Playstation, Nintendo 64, Jaguar und MS Windows Entwicklung von 3D-Engines, Programmen zur Objektmodellierung und ?umwandlung sowie Grafik, Musik und Spielgestaltung.

Details:

  • Playstation I, Nintendo64, Jaguar, MS Windows 95
  • Entwicklung von 3D-Engines bzw. Layern zum Zugriff auf diese Funktionen ( rudimentäre Abstraktion )
  • Performance-Optimierung von Quellcode
  • Programme  zur Objektmodellierung und ?umwandlung
  • Grafik, Musik und Spielgestaltung.
  • Sfx Engine mit XM, MOD, FMOD Wiedergabe und Effektausgabe
  • Grafikengine für Menus und HUD?s
  • Programmiersprachen: C/C++ und Assembler

 

 

 

05/1991 - 05/1995

Freiberufliche Tätigkeit
Schwerpunkte: Für Spiel wurde ein Scriptingsystem sowie ein Grafiksystem entwickelt. Zudem an diversen API?s für Spiele gearbeitet und selbstentwickelte Datenbanken programmiert und bearbeitet

Details:

  • Amiga, PC
  • einfache Datenbanken entwickelt mit einfachen API?s und Programmen zur Verwaltung der Datenbanken
  • Interpreter für Scripte, die einfache Audio / Videosteuerung erlauben und auf Eingaben reagieren
  • Programmiersprachen: C/C++ und Assembler

 

 

 

12/1989 - 07/1992

Freiberufliche Tätigkeit
Schwerpunkte: Die Aufgabenbereiche umfassten ein Systemebenendebugging für Anwendungen, eine Programmierung von verschiedensten Programmcodesegmenten für Audio und Video sowie die Erstellung von Mehrschichtmodellen für Programmcode zur Optimierung der Leistungsfähigkeit.

Details:

  • Systeme: C64 Amiga und Atari ST
  • Debugging von Projekten / Fehlersuche in Assembler
  • Grafik / Audioausgabe und Interfaceerstellung
  • Programmiersprachen: Assembler / C

 

Aus- und Weiterbildung

Aus- und Weiterbildung

1995 – 2001

Studium an der Fernunsiversität Hagen ( Diplom II 09/2001) zum Diplom-Informatiker (1,9)

 

1989 – 1991

Gymnasium EOS Grevesmühlen / MV Abitur mit Abschluss (1,2)  07/1991

 

1979 – 1989

POS – Mittlere Reife 07/1989 mit Abschluss (1,1) in Schönberg / MV

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Formate:

  • HTML (3.0 bis 5)
  • CSS
  • XML ( mit XSD und XSLT )
  • UML (1 oder 2.0)
  • WML ( WAP )
  • SGML

 

Frameworks, Libraries und SDK's:

  • eSuccess
  • Java - persistence API’s ( JPA, OBJ, Hibernate )
  • Eclipse SDK / SWT
  • Java2-6 SE/EE
  • Java Swing
  • HTTPComponents (Server/Client)
  • Struts ( 1 und 2 )
  • Java Beans, EE JavaBeans, Beanutils
  • Commons (Codec, Compress, Collections. DbUtils, DBCP, EXEC, FileUpload, JCI, JCS, Launcher, Logging,
  • Math, Modeler, VFS, Validator )
  • Log4* ( Java, C )
  • Javascript Frameworks ( Bsp. jQuery, Dojo. YUI, Prototype. Script.aculo.us, GWT)
  • Protobuf
  • JTAPI
  • JSAPI
  • JSF
  • BEA WLS / WAS
  • Spring MVC
  • Spring Webflow
  • IT-Profil – [Name und Emailadresse auf Anfrage]
  • Spring Batch
  • Corba / RMI
  • Java Click
  • EmpireDB
  • Java BCEL (Bytecode Library)
  • Apache XML
  • Java Betwixt
  • Lenya
  • Lucene
  • Apache Camel
  • XFire/CXF
  • Cayenne

 

Technische Verfahren:

  • Protokolle (HTML, FTP, SMTP, MAPI, TCP/IP Datenaufbau und Byteschema)
  • Client / Server ( Socketkommunikation, Abstrahierung, Kommunikation, Implementierung)
  • Mehrschichtmodelle
  • OOP
  • Compilerprogrammierung
  • Interpreterprogrammierung
  • Kommunikation zwischen Threads, Prozessen, Servern
  • Injection
  • Programmcode-Prozessdesignerprogrammierung und Implementierung
  • Content Management Systeme
  • 1st Layer Audio und Video API auf Windows, Android und iOS
  • Echtzeit-Programmcodesteuerung
  • Debugging ( Kernel, System oder Applikationsebene)
  • Informationssysteme
  • Virtual Agents
  • Datawarehousing
  • SMS / MMS Handling ( Empfang und Senden )
  • Verschlüsselung und Dechiffrierung von OpenSSL Algorithmen und Programmierung eigener Algorithmen auf
  • Byte/Bitniveau
  • RDBMS Design und Optimierung
  • TAPI Implementierung
  • SAPI Implementierung
  • Spracherkennung
  • Sprachsynthese
  • UML Modellierung
  • Testenvironments: Nutzung und Implementierung
  • Performance Tests und Analysen, Automatische Tests

 

 

Genutzte Produkte:

  • Websphere Produktlinie
  • Apache ( Tomcat, Apache, etc.)
  • JBoss / WildFly
  • JEE-J6EE / JSE-J6SE
  • Datenbanken: DB/2, Oracle, MS SQL, Sybase ASE, SQLite, MySQL, mSQL
  • Adobe Creative Studio bis V6
  • Quest Produktlinie ( Toad, SQL Navigator)
  • Sybase Powerdesigner
  • Eclipse
  • Jbuilder
  • Powerbuilder / Embarcadero
  • MS Visual Studio
  • Rational Rose
  • Bea Produkte ( WLS / WAS )
  • JRockit
  • IT-Profil – [Name und Emailadresse auf Anfrage]
  • Java-Profiling (e.b. Yourkit)
  • Test Frameworks ( *Unit ( Junit, Cunit) )
  • AutoCad
  • MaxStudio
  • Maya
  • Apache Maven
  • Intershop 3-7, Intershop enfinity
  • Gauss CMS
  • Vignette / OpenText
  • MS Commerce Server
  • Websphere Commerce Suite
  • Interchange
  • IBM ECM
  • MS SPF
  • Apache Lenya
  • Magnolia

Betriebssysteme

Windows

Android

iOS

Linux

MacOS

Solaris

OpenVMS

AmigaOS

BeOS

MS-DOS

OS/390

Programmiersprachen

Assembler
Sehr erfahren - 680x0, 650x, 80x86 ( Intel kompatibel), PPC und MIPS
Basic
Visual Basic
C
Sehr erfahren
C#
Erfahren
C++
Sehr erfahren
Delphi
Erfahren
Java
Sehr hoher Skillsstand, SE, EE und ME ab Version 1.02 bis zur aktuellen Version
JavaScript
Sehr hohes wissen inkl. Frameworks
Perl
Normal
PHP
Normal
PL/SQL
Erfahren
Powerbuilder
Normal
Tcl/Tk
Normal

Datenbanken

Access
++
BDE
+
DB2
++
Informix
+
Interbase
++
Ms DAO
+++
MS SQL Server
++
MySQL
++
ODBC
++
Oracle
+++
PostgreSQL
+++
Quest
Sybase
+++

Datenkommunikation

CORBA
Ethernet
Fax
Internet, Intranet
ISDN
LAN, LAN Manager
Message Queuing
MMS
NetBios
parallele Schnittstelle
Proprietäre Protokolle
Router
SMTP
SNMP
TCP/IP
Voice
Windows Netzwerk
Winsock

Hardware

IBM Großrechner

MIPS Systeme

Sun Server

PC Systeme

 

Berechnung / Simulation / Versuch / Validierung

CAMel-View TestRig

Design / Entwicklung / Konstruktion

SolidEdge
SolidWorks
VectorWorks

3DMAX

MAYA

Motionbuilder

Branchen

Branchen

Handel

Automotive

Energieversorgung

Information und Kommunikation

Dienstleistungen

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.