04.08.2026 aktualisiert

**** ******** ****
Premiumkunde
80 % teilweise verfügbar

Embedded Principal+ Engineer | Kubernetes seit 2014 | Cloud, Security & Identity | 12M+ Logins/Tag

Wentorf, Deutschland
Weltweit
Diplom Informatiker
Wentorf, Deutschland
Weltweit
Diplom Informatiker

Profilanlagen

20260715 - IT PROFIL - CV - Embedded Principal+ Engineer (IAM, K8s, C++) - DE.docx
20260715 - IT PROFIL - CV - Embedded Principal+ Engineer (IAM, K8s, C++) - EN.docx

Über mich

Hands-on Principal Engineer, der am liebsten mitten im Team baut und es dabei fachlich hebt – Pairing, Reviews, Enablement. 40 Jahre, vom CPU-Register bis zur Cloud. Kubernetes seit 2014, eigene Operators/CRDs. Zero-Trust-Identity: 12 Mio+ Logins/Tag, 900+ Banken. OSS: github.com/macstab

Skills

Argo CDGitOpsZero TrustFlutterSAP CloudJavaJavaScriptAPIsAmazon Elastic Compute CloudMicrosoft AzureBig DataC#C++UbuntuCentOSCloud ComputingCloud-EngineeringCloud FoundryCloudtestingApache CloudStackGitHubGroovyGrailsHazelcastWebserverHyper-VIBM CloudPythonKerberosMongoDBNode.jsOAuthOpenShiftOpenStackScrumCloud-ServicesAnsibleTensorFlowAzure Machine LearningNext.jsSOAPSonarqubeVagrantYAMLOpenapiAWS CDKAzure AutomationGoogle CloudCloud PlatformSpring CloudDocker SwarmReact.jsIstioGrafanaSpring BootInformatica CloudVue.jsCloud TechnologiesBackendAWS ECSGitLabGitKotlinAngularJSMaterial UIKubernetesAzure AKSReact NativeCloud IntegrationTerraformDevSecOpsVMwareMicroservices
  • Java und Spring: Kontinuierliche Nutzung seit 1996 Java / Spring 2005+ in diversen Projekten.
  • AI: Seit 2016 – (Autonome) Modele, Integration, Optimierung, Training, Overlays, Neural Networks
  • Cloud-Technologien: Umfassende Erfahrung in Google Cloud, OpenShift, Amazon AWS, Microsoft Azure.
  • Kubernetes: Extrem hohes Know-how seit 2014, inklusive Istio und GitOps (ArgoCD).
  • Microservices: Langjährige Projekterfahrung im Bereich der Cloud & Microservices-Architektur.
  • Datenbanken: 19 Jahre Projekterfahrung mit RDBMS (Oracle, PostgreSQL, etc.) und dokumentenorientierten Datenbanken (MongoDB, OrientDB).
  • Framework-Vielfalt: Umfangreiche Erfahrung mit verschiedenen Java-Frameworks (Spring, Quarkus, Hibernate, Dropwizard, etc.).
  • Web-Technologien: Erfahrung mit HTML, JavaScript, CSS, sowie Frameworks wie Angular, Vue.js, React (einschließlich TypeScript), Material UI, Storybook, Stencil
  • Native Apps / Cross Plattform: React Native, Flutter, Xamarin
  • Cloud-Events und Messaging: Tägliche Nutzung und Entwicklung im Bereich Pub/Sub, Kafka, JMS und CloudEvents.
  • OIDC/OAuth: Umfassende Erfahrung im Web-Authentication-Umfeld mit verschiedenen Anbietern wie Keycloak und Integration von OIDC/OAuth2, Flows, Token, Verschlüsselung und Customizing
  • DevOps-Tools: Regelmäßige Verwendung und Integration von Build-Systemen wie Gradle, Maven, Ant, sowie Erfahrung und Nutzung mit DevOps-Tools wie GitHub, GitLab, Jira, Bamboo, Tekton.
  • Sprachen und Plattformen: Langjährige Erfahrung mit C/C++, C#, Go, sowie iOS, Android und verschiedenen Unix-basierten Systemen.
  • AI und Machine Learning: Implementierung von AI-Anwendungen mit TensorFlow, Torch, DL4J, Weka & MOA, und AWS AI, Modelen, Nutzung und Einbindung in Applikationen
  • SAP: Erfahrung im SAP R/3 Umfeld inklusive Web, BAPI und JCO Anbindung.
  • Virtualisierung: Kenntnisse in verschiedenen Virtualisierungsplattformen wie Kubernetes, Docker, VMware/ESX, Vagrant, QEMU, HyperV etc.
  • Agiles Arbeiten: Erfahrung in SCRUM/KANBAN-Projekten mit verschiedenen Tools.
  • Architektur und Planung: Umfangreiches praktisches Wissen in der Architektur, Planung, Durchführung und Qualitätssicherung von Projekten.
  • Sprachen: Deutsch (Muttersprache), Englisch (Arbeitssprache), Russisch.

Übersicht der technischen Skills:
.Net, 4G, API, Active Directory, agiler Methoden, Akka, Amazon AWS, Android, Angular2, Angular4, Angular, AngularJS, Angular JS, Ansible, ActiveMQ, Kafka, Maven, Tomcat, Yarn, iOS, MacOS, Assembler, Authentifizierung, Autoscaling, Azure Ad, Backend, BAPI, SAP Bapi, Bash, Big-Data, große Datenmengen, C#, C/C++, C++, CSS, Centos, Cloud-Technologien, Cloud, Hybrid-Cloud, Confluence, kontinuierliche Integration, Continuous Integration, CoreOS, Cucumber, Dateien, Datenbanken, Datenbank, Datenbankreplikation, DevOps, Docker, Docker Swarm, Dom, Drools, Dropwizard, eBusiness, ETL, Eclipse, Enterprise Service Bus, XML, XML-Feeds, Failover, FastAPI, Fidelio, Flutter, Frontend, Gatling, Gauge, Geschäftslogik, Git, GitHub, GitLab, Google Cloud, Gradle, Grafana, Grails, Groovy, HTML, Hazelcast, Hibernate, HTML5, HyperV, IT Infrastruktur, InterShop, Ionic, Mobile-Apps, mobile App, Istio, JEE, Jasper Reports, JasperReports, Java, Java8, Java Connector, JMX, JMS, JPA, JavaScript, Jest, JSF, JSP, JaxB, Jenkins, Jira, JSON, Kerberos, Kibana, Kotlin, Kubernetes, K8s, Kundendaten, AI, Neural Networks, LDAP, Leistungstests, Linux, MVC, Machine Learning, Markdown, Material UI, Microservices, Microsoft Azure, Azure, Azure Cloud, Commerce Server, Windows, Windows Mobile, Entwicklung von Apps, MongoDB, Mongo, Multicast, NextJS, Nexus, Nginx, NodeJs, OAuth, OAuth2, Odoo, OpenAPI, OIDC, OpenLdap, OpenShift, Oracle, plsql, PL SQL, PERL, PostgreSQL, Prometheus, Protel, Puppeteer, Python, Python 3, Pytorch, QEMU, React Native, React, ReactJS, RHEL, RDBMS, RESTful APIs, Restful, Role-Based Access Control, RBAC, SAP, SAP R/3, SAP/R3, SOAP, SQL, SAP S/4 Hana, HANA, SCRUM, Selenium, Serialisierung, Smart TV, Smart-TV, Softwareplattform, Solaris, SonarQube, Spring Cloud, Spring, Spring Boot, SpringBoot, Azure SQL, Stored Procedures, Streaming, Tabellen, TensorFlow, Terraform, TypeScript, UML, Unix, Ubuntu, Unit-Tests, Unreal Engine, Vaadin, Vagrant, Vault, Virtualisierung, Virtualisierungsumgebung, virtuellen Maschinen, VMware, Vue.js, VueJS, WLAN, Web-App, webbasierte, Webserver, Weka, JBOSS, Wildfly, XSLT, Xamarin, XMLSpy, Yaml

Erfahrung

Berufserfahrungmehr als 10 Jahre
Freelancer seit1997

Sprachen

DeutschMutterspracheEnglischverhandlungssicherRussischgut

Projekthistorie

Embedded Principal+ Cloud Engineer im regulierten Umfeld mit hochkritischen Authentifikationslösungen für 12M+ Logins/Tag

Atruvia

Internet und Informationstechnologie

5000-10.000 Mitarbeiter

Cloud Engineer, Java Backend Dev, Frontend React, Devops Entwickler und Architekt

Techem

Sonstiges

>10.000 Mitarbeiter

In meinem Team bin ich für die digitale Transformation bei unserem Kunden verantwortlich. Dabei liegt mein Fokus einerseits auf der Automatisierung von Prozessen in den Backendsystemen mittels cloudbasierter Anwendungen in Kubernetes, die eine Drools Rules Engine nutzen. Zudem arbeite ich an der vollständigen Migration des bestehenden Stacks auf die Kubernetes-Plattform. Als Leitender Entwickler habe ich die Architektur des Projekts in Abstimmung mit anderen Teams entworfen und verschiedene Technologien eingeführt.
Ein neu eingeführtes Prozess-Management-System (BSI CRM) wurde nahtlos in den Kubernetes-basierten Software-Stack integriert, der über eine auf CloudEvent basierende Event-Driven-Architektur eine äußerst stabile und nachvollziehbare Prozessautomatisierung ermöglichte. Das vorhandene Frontend, basierend auf React, wurde über RESTful APIs in den Stack integriert. Dabei wurden bei bestimmten sensiblen Schnittstellen der Prozesse Events mittels Kafka/Service Bus generiert und verarbeitet, um die garantierte Reihenfolge der Nachrichten für jeden Geschäftsvorfall (Gevo) zu gewährleisten. Die Integration erfolgte mithilfe von Graal Polyglot an unserem Kubernetes-Stack.
Externe Systeme wie SAP und andere Kernsysteme waren über eine Abstraktionsschicht (Datenzugriffsschicht) mittels GraphQL für Lesezugriffe zugänglich. Änderungen an den Entitäten der Kernsysteme bezüglich einer Order wurden ebenfalls als Events in den Stack übertragen, und die Daten wurden im zentralen Data-Store (einer relationalen PostgreSQL-/Azure SQL-Datenbank) zusammengeführt. Der Data-Store fungierte als zentraler Service zur Datenspeicherung im Stack, und verschiedene Funktionalitäten und Aktionen wurden als Services implementiert.
Die zentrale Geschäftslogik wurde mithilfe von Drools-Regeln verarbeitet, die als Artefakte in einem Nexus-Repository hinterlegt waren und vom Rules Execution Service geladen und evaluiert werden konnten. Die Geschäftslogik basierte auf den Daten im Data-Store, der basierend auf dem vorherigen und aktuellen Zustand das Change-Set erkannte und entsprechende Aktionen initiierte. Dadurch wurde die Geschäftslogik entkoppelt und konnte separat entwickelt und getestet werden.
Des Weiteren habe ich das gesamte Deployment neu aufgebaut, wobei die kontinuierliche Integration auf GitLab mit einem vollständigen GitFlow basierte. Die Container der Microservices, die auf Spring Boot 3.22 mit Webflux, Retry, Circuitbreaker, Open Telemetry, Spring Cloud Config, Spring Admin, OpenAPI und OIDC basierten, wurden mittels Unit-Tests und isolierten IT-Tests mit Wiremock überprüft, und die Code-Qualität wurde mittels SonarQube, Spotless und PMD validiert. Im Erfolgsfall wurde mittels Jib ein Container für das Branch- und Entwicklungs-Deployment erstellt. Die Spring-Konfiguration wurde in einem sicheren Git-Repository verwaltet, und im Falle eines Merges nach Master wurde mittels Semantic Release ein neuer Container als Java- und GraalVM-Multi-Arch-Binary-Image generiert. Für Entwicklungs- und Branch-Deployments wurden die Upstream-GitOps-Repositories für die Stacks mit den neu erstellten Images aktualisiert. Die versionierten Images aus dem Semantic Release wurden mittels Renovate erkannt und als Pull Requests für die Test-, Release- und Produktionsumgebungen aktualisiert. Nach dem manuellen Merge wurden die GitOps-Deployments direkt über ArgoCD bereitgestellt, wodurch ein kontinuierlicher Bereitstellungsprozess implementiert wurde. Die GitOps-Repositories basierten auf Kustomize mit Remote-Bases, und das Deployment wurde eigenständig über ArgoCD durchgeführt.
Durch die Verwendung von KEDA, Istio, Traefik und Application Gateway wurde der Kubernetes-Stack auf Basis von AKS mit einer vollständigen Implementierung von B2C AD Managed Identities, Autoscaling und Azure Vault zu einer selbstskalierenden Bereitstellung entwickelt. Diese wurde mittels EFK/Grafana überwacht, inklusive der Bereitstellung von Charts/Configs für Grafana/Kibana. Darüber hinaus wurden Kiali/Jaeger zur Analyse der Spannenverteilung im Stack eingeführt, um die Leistung, Verarbeitungsgeschwindigkeit und Prozesse des Stacks zu optimieren.
Abschließend habe ich verschiedene Automatisierungsanbindungen des Kernsystems über den neuen Stack mittels separater Automatisierungsstapel an UI Path angeschlossen, um manuelle Prozesse zu automatisieren. Zum Management des Stacks habe ich diverse Tools per NodeJs und Python zum Monitoren und Management des Stacks geschrieben.
    Die gesamte Softwarelösung wurde vorab geplant und dokumentiert. Alle erstellten Software-Komponenten wurden per Markdown und PlantUml dokumentiert.
    Eine bestehende Web-App auf Basis von React 18 wurde auf Basis von Typescript gewartet und weiterentwicklet. Dabei wurden Teile der App durch NextJS ersetzt und Storybook eingeführt.
    In einem POC habe ich teamorientiertes Model erstellt, welches auf Basis der Team-Repos erstellt wurde. Dabei wurde auf Basis von PolyCoder die Repos gefiltert, bereinigt, tokenized und getrained. Als Ergebnis habe ich basierend auf Python, MLflow, BentoML und FastAPI ein OpenAPI kompatibles Interface bereitgestellt, welches in Azure on demand via Terraform deployed werden kann. So können Teammitglieder nach meinen verlassen context-bezogene Hilfe erhalten.

Technologien: Java(21), Graal VM native, SpringBoot 3.22, Webflux, Micrometer, Feign, Spring Retry, Spring Cloud, Spring Cloud Config, Spring Admin, CircuitBreaker, Open Telemetry, Kubernetes, AKS, Azure Functions, Kafka, Service Bus, Azure Vault, Terraform, Drools, BSI CRM, Polyglot, React, Cloud Events, Restful, PostgreSQL, CosmosDB / MongoDB, Azure SQL, UI Path, Gitlab, ArgoCD, Istio, Traeffik, Kustomize, Keda, Kiali, Jeger, Prometheus, Jib, Spotless, SonarQube, PMD, Semantic Release, NodeJS, Python3, Azure Ad, Oauth2, OPA

AI Developer und LLM Training, Optimierung, Integration

Macstab GmbH

Internet und Informationstechnologie

< 10 Mitarbeiter

* Erstellung und Erweiterung bestehender LLM
* Integration in bestehende Systeme
* Anbindung von AI Systemen und LLM an bestehende Kern-Systeme und Backends
* Entwicklung im Bereich OSS
* Training von spezialisierten Modelen basierend auf LLAMA 1/2/3
* Integration von OpenAI API und Assitants API

Cloud Developer, Backend-Entwickler, App-Entwicklung und diverse Delors / Architektur-Jobs

SDA SE

250-500 Mitarbeiter

Die SDA ist ein Dienstleister für Versicherungen und unterstützt diese bei der Einführung von Cloud-Technologien. Im Rahmen unserer Projekte wurden komplexe Systeme mit einem hohen Maß an Sicherheit und Stabilität entwickelt. Dazu gehören die Entwicklung und Weiterentwicklung von ODS, die in einem Pub/Sub- und Kafka-Umfeld betrieben werden, um unseren Kunden eine hochperformante Verfügbarkeit von Backendsystemen außerhalb der 24-Stunden-Zeitfenster zu bieten. Alle Lösungen wurden gezielt für Kubernetes-Umgebungen für wie die Allianz, die HUK oder Signal Iduna entwickelt. Als Basis wurde Openshift und AWS genutzt.
Des Weiteren wurden Transformationsprozesse sowie eine optimierte Deployment-Struktur implementiert, die in Verbindung mit OIDC-Authentifizierungsprozessen über Proxy-OIDC IDP standen, um eine Verbindung zur IDP des Kunden herzustellen. Die Service-Authentifizierung erfolgte ebenfalls über OIDC. Für die Autorisierung wurde eine 'Service Based Authorization' genutzt, die auf optionalen Scope-Claims basierte und eine granulare Eingrenzung der Benutzerrechte ermöglichte. Diese Claims wurden durch einen OPA (Open Policy Agent) Sidecar anhand von Richtlinien geprüft, um die Nutzung von Endpunkten basierend auf den Claims und Anfragen zu autorisieren.
Weiterhin wurden Services auf Basis von Quarkus und Spring Boot Nativ entwickelt, um eine Lösung im EPA-Umfeld bereitzustellen. Dabei wurden hochperformante native Services verwendet, die als Bindeglied zwischen EPA-Mobile-Apps und Versicherungs-Core-Systemen fungierten. Es wurden Herausforderungen wie Nichtverfügbarkeit, Zwischenspeicherung von Anfragen, Skalierbarkeit und Formatübersetzungen gelöst. Die Persistenz erfolgte über MongoDB mit einer zukünftigen Migration zur DocumentDB.
Für einen anderen Kunden wurden automatisierte Cluster und eine vollständige Infrastruktur geschaffen. Die Cluster wurden mithilfe von Terraform bereitgestellt und umfassten komplette Umgebungen mit Monitoring-Tools wie Jaeger, OpenTracing, Prometheus, Grafana und Kibana. Diese Umgebungen wurden mit GitOps-Repositories verknüpft und über eigens entwickelte Services verwaltet. Die Endbenutzer konnten über eine Angular/Stencil-WebUI nach Services suchen und diese bereitstellen. Diese Service-Deployments stellten eigenständige Use-Cases dar, die automatisch die jeweiligen Kundenkonfigurationen nutzten, um die Use-Cases mit den Kundensystemen zu verknüpfen.
Ein weiteres von mir eingeführtes Thema war die Nutzung von Istio und die Service-to-Service-Autorisierung. Durch Istio konnten wir den aufrufenden Service und den Namespace anhand des 'x-forwarded-client-cert'-Headers feststellen, was es ermöglichte, die Berechtigungen für Endpunkte und Namespaces zu steuern. Die Konfiguration erfolgte mittels Kustomize/Gitops.
Zudem wurden weitere Service-Stacks auf Basis von Dropwizard oder Quarkus entwickelt, wie z. B. ein Consent-Stack oder ein Submission-Stack. Alle Services wurden im Unternehmen nach dem Restful-Code-First-Ansatz entwickelt.
Abschließend habe ich einen Keycloak Stack entwickelt, der Versicherungen und deren Benutzergruppen automatisiert mit Applikationsstacks und einem Distributor Identity Provider gekoppelt hat, so dass Versicherungsauthentifikationssysteme wie Kerberos, AD’s, OIDC Provider oder Custom Lösungen mit einem Multistage Brokerage überverschiedene Flows in der Lage waren, dem Kunden die volle Datenkontrolle zu geben und trotzdem einen Authentifizierungsmechanismus auf Basis der Attributen, Rollen und Gruppen User aus den Versicherungs-Systemen automatisiert mit Rechten der Stacks abzugleichen und zu limitieren Dabei kamen Technologieren wie Open Policy Agents zum Einsatz, um die Authentifizierung vom Programmcode und dem Stack zu trennen.
Zudem war unser Team für die Wartung und Weiterentwicklung einer App auf Basis von Angular und Cordova verantwortlich. Diese wurde für diverse Kunden gebrandmarkt und genutzt. Im Laufe der Laufzeit des Vertrages kamen zudem Weiterentwicklungen auf Basis von Stencil unter Verwendung von Storybook hinzu. Zudem wurde im Kundenauftrag ein POC durchgeführt, um Elemente der App basierend auf Angular gegen Flutter zu evaluieren und eventuell später zu ersetzen.
Über einen längeren Zeitraum habe ich nebenbei mit bei der ML Nutzung unterstützt. Zentral wurde Pytorch eingeführt und Methoden und Lösungen evaluiert, welche für Versicherungsunternehmen in den Bestandsdaten zu einer Optimierung der Abschlüsse und zur Mustererkennung eingesetzt werden sollten, wie auch bei der AI gestützten Erkennung von Angriffsvektoren.
Im November 2022 habe ich das Unternehmen verlassen, um den für Freelancer und Selbstständige relevanten Zeitraum von zwei Jahren zu erfüllen.
Technologien: Kubernetes, Docker, Java 15/17, Istio, Kafka, Python, pgsql ( Postgresql ), MongoDB, DocumentDB, Kustomize, ArgoCD, Outh2 / Keycloak, Angular, Flutter, Storybook, Stencil, Cordova

Big-Data Neuentwicklung aus Basis von GCP Cloud Technologierenb mit Java / Spring, Nodejs und De Tops Tätigkeiten

Edeka / Edeka-Bank

>10.000 Mitarbeiter

Im Rahmen dieses Projektes wurde eine hochmoderne Software-Plattform für eine Big-Data-Reporting-Infrastruktur entwickelt, die darauf abzielte, ein 20 Jahre altes manuell betriebenes Reporting- und Abrechnungssystem zu revolutionieren. Die Herausforderung bestand darin, sämtliche Kartenzahlungen in allen Edeka-Filialen und Online-Shops zu verarbeiten und dabei auch die Kunden-Bonusprogramme einzubeziehen, wobei jeder Edeka-Standort unterschiedliche, teilweise individuelle Konditionen aufweist. Es wurde erwartet, dass die Plattform täglich etwa 2-4 Millionen Transaktionen verarbeiten würde.
Das Backend wurde auf einer völlig neuen Google Cloud-Lösung basierend auf GKE aufgebaut und umfasste eine Docker-Containerarchitektur. Es wurde auf die Einhaltung der Clean-Code-Prinzipien mit der Nutzung von Vavr und Lombok großen Wert gelegt. Die Microservices wurden mit den neuesten Technologien wie Java 11 und Kotlin unter Verwendung von Gradle/Spring Boot 2.3 entwickelt. Die Kommunikation zwischen den Diensten erfolgte über hochperformante Messaging-Systeme wie Kafka und Pub/Sub. Die REST-Schnittstellen wurden mithilfe von OpenAPI-YAML-Dateien definiert und generiert, während ein Access-Graph per Spring HATEOAS konzipiert wurde.
Für die Datenpersistenz wurden PostgreSQL 12 und MongoDB 4.3 ausgewählt. Als Kerntechnologien wurden Camel für die Kommunikation und Akka für die verteilte Nachrichten- und Ereignisverarbeitung eingesetzt. Durch die Verwendung von Spring/Hibernate JPA wurde ein äußerst leistungsstarkes Schema entwickelt, das ein sehr selektives und effizientes Lazy-Loading ermöglichte und einen hochperformanten Zugriff auf die Daten gewährleistete. Um große Datenmengen zu bewältigen, wurden Tabellen durch PostgreSQL-Partitionierung aufgeteilt.
Die asynchrone Kommunikation innerhalb des Clusters erfolgte über Camel und Kafka-Cluster, während die Kommunikation zwischen Google Cloud Functions und den Microservices über Pub/Sub erfolgte. Sämtliche synchrone Aufrufe wurden durch eine spezielle Implementierung mit Kafka realisiert. Externe Daten wurden mithilfe von Google Cloud Functions verarbeitet, wobei sowohl Java 11 Maven Google Function Module als auch Python 3 Implementierungen und NodeJS Funktionen zum Einsatz kamen.
Ein wichtiger Bestandteil des Systems war der PDF-Generator, der auf einem NodeJS-Projekt basierte. Bei Bedarf konnte eine Google Cloud Function über Pub/Sub aufgerufen werden, um ein NodeJS-Projekt basierend auf Puppeteer dynamisch zu skalieren und PDF-Dateien zu generieren. Die BDD-Tests wurden zunächst mit Cucumber und später mit Gauge durchgeführt. Das Frontend für die Kunden wurde mithilfe von Vue.js entwickelt und mit Jest getestet, während Gatling/Scala für die Leistungstests verwendet wurde.
Technologien: Java, Kotlin, JavaScript, Typescript, VueJS, ReactJS, Docker, Docker Compose,
Google Cloud, GKE, Kubernetes, Spring Boot, JPA / Hibernate, PostgreSQL, Mongo, Google Cloud Functions, Python, Maven, Gradle, Yarn, Pub Sub, Kafka, NodeJS, Gatling, Cucumber,
Gauge, Akka, Camel, OpenAPI Yaml

Migration von ERP Lösung in die Cloud,Backend Java Developer, Python Developer im ERP Umfeld ( Odoo)

Otto / Baumarkt Direkt

>10.000 Mitarbeiter

Im Verlauf dieses Projekts wurde ein vollständig neues Enterprise Resource Planning (ERP)-System entwickelt und implementiert. Das Unternehmen, das sich in den Bereichen Streckengeschäft, Lagerverkauf und dem Vertrieb von selbstvermarkteter Importware positioniert, stieß auf Herausforderungen, da diese Prozesse nicht nahtlos in die bestehende Systemstruktur von Otto passten. Aus diesem Grund wurde ein ERP-System auf Basis von OSS Odoo entwickelt, das als Schnittstelle zwischen dem Lager und Otto fungiert und die Synchronisierung von Artikeldaten, Bestellungen, Beständen und Buchungen ermöglichte.
Technologisch betrachtet basiert das System auf der leistungsstarken Softwareplattform Odoo in Kombination mit einem Enterprise Service Bus (ESB). Über den ESB wurden diverse Datenquellen mithilfe von Camel angesprochen und durch Services oder XSLT transformiert. Die Kommunikation erfolgte über verschiedene Protokolle wie SOAP, XML (Endpoint oder Datei), MQ (Kafka und ActiveMQ). Dieses anspruchsvolle Projekt wurde von einem Team von drei Personen, einschließlich meiner Person, umgesetzt.
Des Weiteren habe ich eine neue Virtualisierungsumgebung auf Basis von Kubernetes eingeführt, um die gesamte Infrastruktur des Unternehmens zu transformieren. Alle Services und Schnittstellen wurden in Container umgewandelt, und spezielle Scheduled-Container wurden für Aufgaben wie den Abgleich von Artikeln und Backups konfiguriert und bereitgestellt. Zudem habe ich eine umfassende Continuous Integration (CI)-Pipeline mithilfe von Jenkins OSS implementiert und automatisierte Release-Prozesse ermöglicht.
Die Trennung von Test- und Produktionsumgebungen wurde auf Netzwerkebene mithilfe von Role-Based Access Control (RBAC) in Calico realisiert, um eine saubere Trennung und Sicherheit zu gewährleisten. Weiterhin habe ich die komplette Anwendung von Baumarkt Direkt in die Cloud migriert, wobei ein On-Premise Cluster mit Kubernetes 1.14 und die Integration mit dem Active Directory (AD) von Otto und dem eigenen AD implementiert wurden.
Die Benutzerauthentifizierung erfolgte über KeyCloak, wodurch nicht nur Otto-Benutzer, sondern auch technische Benutzer mit spezifischen Zugriffsrechten authentifiziert werden konnten. Die Zugriffsstrukturen waren äußerst komplex und wurden über KeyCloak verwaltet, wodurch eine granulare Kontrolle über die bereitgestellten Inhalte im ERP-System ermöglicht wurde.
Darüber hinaus wurde ein dedizierter Kafka-Cluster für die Verarbeitung von Bestell- und Produktdaten implementiert, und über Kafka und Spring wurde ein leistungsstarkes Messaging- und Benachrichtigungssystem eingerichtet. Zusätzlich wurden Dropwizard und CloudFunctions für kleinere, hochskalierbare Services genutzt, um kosteneffiziente Lösungen zu erreichen.
Abschließend habe ich maßgeblich zur Einrichtung und Konfiguration des Kubernetes-On-Premise-Clusters unter RHEL beigetragen, sowie zur Implementierung einer Hybrid-Cloud-Lösung mit OpenShift 4. Ich bin vertraut mit Themen wie dem Service Mesh mit Istio und Jaeger, Multi-Cloud- und Hybrid-Cloud-Szenarien unter OpenShift sowie weiteren relevanten Aspekten wie Prometheus/Grafana und der OpenShift CLI.
Aufgrund einer neuen Richtlinie der Rechtsabteilung bei Otto, die seit Dezember 2019 in Kraft ist und die Verlängerung von Freelancern untersagt, werde ich das Unternehmen verlassen.
Technologien: Kubernetes, Docker, Java, XSLT, Python, pgsql ( Postgresql ), plsql ( Oracle), diverse Tools (bsp. PDI (ETL)), C/C++, Groovy, Platformen Windows und Linux ( RHEL, Centos, Ubuntu und CoreOS), Bash/ Dash Skripte, KeyClock, Dropwizard

Java Entwickler, SAP BAPI Progranmmierung, RDBMS Systeme, Anbindung SAP R/3 an dedizierte Factoring Lösung und Migration und Umsetzung der Daten und dauerhafte Migration,

DFormat

10-50 Mitarbeiter

Für ein führendes Unternehmen im Factoring-Sektor im Bereich Gesundheit, das seit zwei Jahrzehnten auf SAP setzte, wurde die Entscheidung getroffen, auf eine neue Lösung umzusteigen. Das Ziel war es, die umfangreichen Kundendaten nahtlos in das neue System zu migrieren. In dieser hochkomplexen Aufgabe habe ich mich eingebracht, indem ich Microservices auf Basis von Spring Boot entwickelte. Diese Microservices kommunizierten sowohl über JCO-Schnittstellen mit einer SAP/R3- als auch direkt mit einer SAP S/4 Hana-Instanz mittels Java. Die JCO-Anbindung wurde durch Nutzung von BAPI-Aufrufen realisiert, wobei zusätzlich maßgeschneiderte BAPI-Funktionen entwickelt werden mussten, um die Daten logisch aus SAP zu extrahieren.
Aufgrund des Echtzeitansatzes für die Migration musste ein äußerst raffiniertes System implementiert werden. Es erfolgte die Extraktion sämtlicher Bestandsdaten aus den SAP-Modulen FI, CO und SD sowie einem eigens entwickelten Factoring-Modul, die dann in einen PostgreSQL11-Cluster geschrieben wurden. Dieser Aktualisierungsprozess wurde parallelisiert mit 200 Threads ausgeführt, was eine nahezu sofortige Kopie der SAP-Daten mit einer minimalen Latenz von lediglich einer Sekunde ermöglichte.
Des Weiteren habe ich eine innovative Lösung entwickelt, um die Datenmigration in die neue Software-Datenbank nahtlos zu gestalten. Durch Hinzufügen einer speziellen Bibliothek in das neue Software-Produkt konnte ich beim Zugriff auf die Datenbank dynamisch Daten aus der SAP-Kopie aggregieren und in die neue Datenbank migrieren. Dieser umfangreiche Migrationsprozess dauerte insgesamt 120 Minuten und ermöglichte einen unterbrechungsfreien Übergang in den produktiven Betrieb.
Einige spezifische Daten wurden mithilfe von Selenium, SOAP und REST ausgetauscht und direkt in die neue Softwarelösung importiert, um einen reibungslosen Übergang sicherzustellen.
In Bezug auf die Infrastruktur habe ich eine signifikante Transformation durchgeführt. Zuvor war Virtualisierung im Unternehmen lediglich im Rahmen eines ESX-Clusters mit virtuellen Maschinen implementiert. Im Zuge dieses Projekts habe ich die gesamte Lösung dockerisiert und auf Basis eines eigenen K8s 1.14-Clusters implementiert. Durch eine sorgfältige Netzwerkkonfiguration basierend auf RBAC und Calico wurden zwei virtuelle Netzwerke für Test- und Produktionsumgebungen auf dem physischen Cluster erstellt, um maximale Sicherheit und Isolierung zu gewährleisten.
Technologien:  Java, Grails, SAP Bapi, Jco, S/4 Java Connector, Kubernetes, Calico, Docker, Oracle, PostgreSQL, Spring Boot, JPA, PostgreSQL PLSQL

Java-Backend und Cloud Developer, Frontend Angular Developer, Umstellung einer komplexen Lösung von monolithischer Struktur hin zu Cloud basierender Technologie.

Lotto24 / ZEAL

500-1000 Mitarbeiter

In einem äußerst anspruchsvollen Umfeld habe ich eine bestehende hochkomplexe Software-Applikation technisch weiterentwickelt. Unter Einsatz agiler Methoden wurde die teilweise monolithische Struktur der Anwendung schrittweise modularisiert, wobei die Verbesserungen in einem äußerst dynamischen Release-Zyklus kontinuierlich live gestellt wurden. Dabei lag mein Schwerpunkt auf der Entwicklung neuer Microservices, die vorrangig auf der Basis von Spring Boot2 implementiert wurden und teilweise mittels Eureka und Kubernetes Ingress skalierbar gemacht wurden. Darüber hinaus wurde das veraltete Frontend, basierend auf Spring 4 MVC mit JSP und AngularJS, in einem aufwendigen Projekt mit Angular 6 neu gestaltet und auch für mobile App-Releases mittels Ionic genutzt. Zusätzlich wurden einige kleinere Teilapplikationen als Single-Page-Apps unter Verwendung von Vue.js umgesetzt.
Eine herausragende Aufgabe war die schrittweise Migration der bestehenden Oracle 12-Datenbank auf PostgreSQL im Zuge der Microservice-Extraktion. Dabei wurden die Services multiinstanzfähig gemacht, um eine höhere Skalierbarkeit zu gewährleisten. Des Weiteren habe ich eine Lösung für den unterbrechungsfreien Betrieb der Anwendung bei Releases verschiedener Versionen mit Failover und CDN-Support entwickelt, wobei Nginx Loadbalancer und ein Set von Upstream-Servern zum Einsatz kamen.
Ein weiteres Projekt war die Entwicklung einer neuen Lösung auf Basis von TensorFlow und parallel DL4J, die die automatisierte Analyse der E-Mail-Kommunikation mit Kunden ermöglichte. Diese Lösung identifizierte bestimmte Muster und führte automatisiert entsprechende Aktionen wie das Versenden von Spielquittungen oder Informationen durch. Gleichzeitig habe ich eine Java-Bridge implementiert, um die Anwendung mit dem Frontend zu verbinden und auf Basis von Machine Learning automatisiert Teaser oder das Frontend anzupassen.
In all diesen Projekten war ich maßgeblich an der Planung, Gestaltung der Architektur, Implementierung und Qualitätssicherung beteiligt. Zudem habe ich wesentlich zur erfolgreichen Migration der Infrastruktur auf Kubernetes beigetragen, wobei die Entscheidung für diese Technologie bereits vor meiner Tätigkeit gefallen war. Ich war an der Konzeption und Umsetzung beteiligt und habe zur Gewährleistung eines unterbrechungsfreien Betriebs der CI/Produktionsumgebung beigetragen, sowohl auf Bare-Metal- als auch auf AWS-Basis.
Bei Lotto24 haben wir regelmäßig Projekte durchgeführt, um Technologien und neue Ideen zu evaluieren. Ein Projekt, das ich durchführen durfte, war die Implementierung von KeyCloak innerhalb von nur drei Tagen. Dabei habe ich die bestehende Legacy-Lösung durch KeyCloak ersetzt und die Migration der Benutzerdatenbank getestet. Zusätzlich habe ich die Authentication per Web/Mobile umgesetzt und Social Logins integriert. Trotz des erfolgreichen Tests wurde das Projekt nach einer Unternehmensübernahme nicht weiterverfolgt.
Um den Memory-Impact zu reduzieren, habe ich ein dreitägiges Entwicklungsprojekt initiiert, um einige Services von Spring nach Quarkus zu migrieren. Dadurch konnte der Ressourcenverbrauch einiger intensiver Services erheblich reduziert werden.
Programmiersprachen: Java8/9, PLSQL, SQL, Kotlin, XML/XSD, JavaScript (Angular JS, Vue.js), Html, JSP, TypeScript (NG/Angular6) auf Windows, Linux (CentOs6/7/Ubuntu/Mint), Bash/ Dash Skripte
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, KeyCloak, DropWizard, Oauth, Oauth2, Jaeger

Java Backend Dev, Cloud-Entwickler, Frontend Entwickler mit Angular / Ng2, Erstellung und Weiterentwicklung von Entertainment Systemen für Luftfahrt, Hospitality und Cruise

Lufthansa / Lufthansa Industry Solutions

>10.000 Mitarbeiter

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. Die Applikationen für Smart-TV, TV Boxes und Smartphones wurden auf Basis von AngularSJ entwickelt. Zudem betreute ich diverse Projekte auch beim Kunden bis hin zu Updates/Hotfixes. Ich plante und entwarf die Weiterentwicklung der Software. Zudem ertstellte ich eine Angular2 Applikation und deren Backend zur schnellen Inventarisierung von Digital Signage und Smart TV / Smartphones / Tablets für Kreuzfahrtschiffe und über SNMP aus den level 2 Switches die Devices erkannte und diese sehr schnell einem Raum zuordnen konnte. In allen aufgeführten Projekten mussten die Projekte über die Implementierung auf Basis der fachlichen Anforderungen geplant, deren Architektur gestaltet, umgesetzt und deren Qualität gesichert werden. Bei LH wurde für das Backend und die Authentifizierung der Container und der Docker-Registry Keycloak und die Erstellung von Containern via Ansible eingesetzt. Dabei wurde LDAP (OpenLdap Oroxy zur Lufthansa AD ( Active Directory) ) einsetzt. Der OpenLdap wurde verwendet, um zusätzlich zu den im AD berechtigten Usern auf Basis von Gruppen noch technische User zusätzlich im OpenLdap zu konfigurieren. Anschließend wurde der OpenLdap als Quelle für KeyCloak eingesetzt, um die Authentifizierung des Frontend und der Apps zu ermöglichen. Im Enwicklungsumfeld wurde ein K8s Cluster genutzt. Alle Aktionen wie Deployments und die angebundenen Applikationen (Jenkins, Confluence, Nexus, Jira) wurden ebenfalls per KeyCloak angebunden. Parallel dazu wurden Endusern die Möglichkeit gegeben, sich per Web/App(iOs/Android) zu authentifizieren oder zu regisrtieren. Per Oauth waren social Logins via KeyCloak möglich. Die Token der User / Anwender wurden dabei im Browser / App(Ios, Android) im secure Storage persistiert. Um erhöhte Datenmengen und eine sichere Persistierung sowie die Verwendung der Streams API zu ermöglichen, wurde 2017/2018 ein Teaser mit Kafka implementiert, die die komplette Kommunikation umstellte. Dies wurde nicht in Produktion genommen. - Ich habe Dropwizard erstmalig produktiv bei der Lufthansa getestet. Es wurden Multimedia-Boxen mit Internet-Zugang in Bussen verbaut. Diese hatten ein komplexes System auf Basis eines JBoss EAP 6.1 mit den shared Modules. Die Memory Usage war teilweise für die Boxen zu hoch, da alle Module auf Basis von Spring Boot basierten. Diese Module habe ich seit 2014 auch mit entwickelt. 2017 habe ich die Aufgabe bekommen, den JBoss EAP durch den Wildfly zu ersetzen. Dies machte ich auch mit diversen Updates und Verbesserungen. Leider War die Memory Usage immer noch viel zu groß. Ich kannte Dropwizard aus meinem persönlichen Umfeld. In einem POC habe ich das Memory-Intensive Modul für die Content-Management umgeschrieben und auf DropBox umgestellt. Dies war in allen Belangen ein Erfolg. Das Projekt wurde nie live genommen, da das Projekt 6 Monate später gestopped wurde. Die Lufthansa ist ein strategischer Partner von IBM für mehr als 4 Jahre habe ich im OpenShift Umfeld gearbeitet und dort mit VM's, Cluster und Containern gearbeitet. Ich bin mit Openshift und gerade auch mit RHEL und CentOs als Bertriebssystem vertraut. Zudem wurden erste Tests mit Kubernetes seit 2015 gestartet und von mir umgesetzt, da ich seit 2014 mit Kubernetes arbeite.

Programmiersprachen: Java, 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, Javascript, iOS App, Android , OAuth, Token, DropWizard, OpenShift, Kubernertes
Softwareprodukte: JBoss EAP 6.3,6.4 / Wildfly 8.2, 10.x,  PostgreSQL 9.x (BDR), ActiveMQ , Guestware, Fidelio, InforHMS, Infogenesis, Agilysys, Magnolia, Protel, KeyCloak

Projektgeschöft , Backendentwicklung im Bereich C/C++ und Java in Verbindung mit RDBMS

Macstab GmbH

10-50 Mitarbeiter

In einer neugegründeten Unternehmensumgebung habe ich einen Kundenstamm aufgebaut und eine Projekte akquiriert. Dabei habe ich hauptsächlich als Subunternehmer fungiert, Teilprojekte geleitet und eBusiness-Projekte als Lead-Programmierer umgesetzt. Unser Tätigkeitsfeld umfasste die Entwicklung von Apps für Android und iOS sowie die Gestaltung komplexer Frameworks zur Kommunikation zwischen Apps, Browsern und Servern.
Ein wesentlicher Schwerpunkt lag zudem auf der Migration von SAP R/3 Anwendungen in webbasierte Umgebungen sowie der Anbindung von CMS/eCommerce-Frameworks an SAP R/3 oder HANA-Systeme mittels JCO/BAPI oder direkter Integration mit HANA. Darüber hinaus haben wir ein eBusiness-Framework weiterentwickelt und in verschiedenen Projekten implementiert.
Besonders war die Entwicklung eines MMORPG auf Basis der Unreal Engine 4 mit Unterstützung für iOS und Android seit 2009, das ab 2016 an Projektpartner verkauft wurde. Dieses Projekt ermöglicht eine Echtzeit-Interaktion über das eBusiness-Framework, wodurch Ereignisse oder Aktionen über den Browser oder mobile Geräte ausgelöst werden können und direkten Einfluss auf das Spielgeschehen haben.
Des Weiteren haben wir in eBusiness-Projekten bestehende Systeme an neue CMS angeschlossen und Inhalte übertragen. Dabei haben wir mit verschiedenen CMS gearbeitet, darunter IBM ECM, MS SPF, Lenya und Magnolia. Unsere Aufgaben umfassten die nahtlose Integration bestehender Systeme in die neuen Umgebungen sowie die Bereitstellung von Lösungen zur Erweiterung der Bearbeitungsmöglichkeiten oder zur Integration zusätzlicher Datenquellen.
Darüber hinaus haben wir neue Produkteinführungen und Produktwechsel mit bewährten Lösungen wie InterShop, WCS, Commerce Server und Interchange gestaltet. Diese wurden mittels Java an vorhandene Warenwirtschaftssysteme angebunden, und Produktdaten von Lieferanten wurden in einigen Fällen direkt über XML-Feeds synchronisiert. Abhängig von den Anforderungen wurden Verfügbarkeitsdaten und Aktualisierungen täglich in die Bedienoberfläche integriert und Bestellungen automatisiert in die Warenwirtschaft zurückgespielt.
Parallel dazu war ich in verschiedenen Projekten bei diversen Kunden tätig, wodurch ich ein breites Spektrum an Erfahrungen und Fachkenntnissen sammeln konnte.
Programmiersprachen: C/C++, C#, Java, JSP, Assembler, PL SQL, UML, JSP, XSLT, UC, PERL, BAPI

Java-Backend-Entwicklung mit Neuentwicklung IT Leitstand.

HHLA AG

>10.000 Mitarbeiter

In den SCRUM-Projekten übernahm ich die Verantwortung für die Entiwcklung und Konzeption verschiedener zentraler Lösungen in der HHLA. Dabei stand Java als primäre Entwicklungssprache im Mittelpunkt. Ein bestehendes Kommunikationsframework, das einen Großteil der internen IT-Kommunikation der HHLA abdeckte und auf JMS basierte, wurde von mir einer umfassenden Analyse unterzogen, grundsätzlich dokumentiert und weiterentwickelt. Ich behob Fehler und implementierte diverse Anforderungen, wobei eine besonders komplexe Integration von in XML serialisierten Objekten stattfand.
Zusätzlich habe ich eigenständig eine hochkomplexe Softwarelösung entwickelt: Ein IT-Leitstand auf Java-Basis, der einen integrierten Webserver, eine Datenbank und eine komplexe SSH-basierte Kommunikation mit einem HTML5-UI über Vaadin (GWT-Erweiterung) umfasste. Diese Entwicklung erfolgte unter Verwendung von UML (Magic Draw) und begleitete den gesamten Entwicklungs-LifeCycle.
Darüber hinaus führte ich weitere bedeutende Entwicklungen durch, wie die Schaffung eines Frameworks zur Unterstützung asynchroner Kommunikation bei ansonsten synchronen, bidirektionalen Kommunikationsanforderungen mit Callback-Mechanismus. Zudem identifizierte ich und behebe Kommunikations- und Encoding-Fehler in einer äußerst komplexen Softwarelandschaft, deren Ursachen zuvor unbekannt waren.
In sämtlichen genannten Projekten war ich maßgeblich daran beteiligt, von der Planung über die Architekturgestaltung bis hin zur Umsetzung und Sicherung der Qualität der Implementierungen entsprechend den fachlichen Anforderungen.
Programmiersprachen: Java, PLSQL, SQL, XML/XSD, M, C/C#/C++ auf Windows, Solaris,  Linux 
Technologien: JaxB, Hibernate, XML/XSD, JMS (1.0/2.0), Serialisierung von Objekten,  Vaadin/GWT, Spring, Swing, JMX. JNI, J2I, Instrumentation / Java Bytecode Modifikation, Buildsysteme mit Maven, Jenkins, Git
Produkte: Maven, Jenkins, Git, CVS, Vaadin, XMLSpy, Eclipse, Lumberjack, Tomcat, Derby, Jersey/Grizzly, Oracle, Magic Draw

Software Produktentwicklung eines JAVA eCommerce / eBusiness-Frameworks

Pathfinder AG

10-50 Mitarbeiter

Nach der Geburt meiner ersten zwei Kinder 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 selbstentwickelten 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 Ablauf-Logik 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 ein Typ einer Anfrage 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 werden per visuellem Prozessdesigner realisiert und sind komplett grafisch über einen Browser dargestellt. Eine persistente Datenbank API wurde entwickelt und genutzt. Alternativ sind Hibernate oder JPA nutzbar.
Folgende Module wurden erstellt:  
-           LDAP Anbindung (Anbindung an LDAP Systeme) 
-           Html Connector (Ausgabe von HTML Seiten) 
-           WAP Connector (WAP Code generation ) 
-           Audio Connector (Erstellung von Audiodaten zur Laufzeit dynamisch und sessionabhängig) 
-           Video Connector (Erstellung von Videodaten und Videostreams voll dynamisch Session anhängig) 
-           Intershop 4 Modul  Anbindung an Intershop 3/4 Systeme und Produktdaten, Bestellungen und Kataloge zu handhaben) 
-           Intershop enfinity Modul (Zugriff auf alle relevanten 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 
-           Shop-Module – 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 zugelassene Shoppingmodule innerhalb des Servers als Marktplatz nutzt und verschieden Aufgaben wie Suchen oder Bestellungen verwaltet. 
-           Ordermodul – Bestellsystem, welches Bestellungen speichert und mit Bezug auf Shop, Warenkorb und User-Data verbindet. 
-           User-Data – 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     Logging            -           System,            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 StandardOpenSource 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

Backend-Entwicklung als Java / C/C++ Entwicklung im RDBMS Umfeld mit Intershop3/4 und enfinity, Gauss CMS

pdv / Logica plc

>10.000 Mitarbeiter

Neben   dem     Fernstudium     habe    ich     in  Vollzeit    bei     der     PDV Unternehmensberatung gearbeitet. Bei der Entwicklung eines Produktes auf der Basis von Java war ich über 2 Jahre einem Zeitraum von 30 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 Know-How und Doing unterstützt werden.  
-   Akquise     und     Projektleitung  mit     eigenem     Budget  und Personalstamm 
-   eBusiness-Projekte mit Intershop enfinity, Produktdatenimport, Verfügbarkeitsabgleich und Ordersourcing Logiken 
-   Gauss CMS Integration für umfassendes JSP Projekt. eigenentwickelte Java Komponenten, um diese via Gauss CMS zu nutzen. Diese   Komponenten     waren   hoch    performante     Warenkörbe,
Bestellhistorien und Orderhandler. 
-   Vignette CMS / WCM Integration und Ersetzen eines bestehenden 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 verschiedene Quellen wie http oder WAP Zugriffe auf dieses System an. Der komplette Inhalt sowie die Logik wurden in der Datenbank   gespeichert.        Das Datenbankdesign     wurde mit     Sybase Powerdesigner umgesetzt. Die Umsetzung mit Jbuilder/Powerbuilder und J2EE. Das Design  geschah im groben mit Rational Rose via UML. 

-   Für ein multinationales Projekt (Bertelsmann / BOL) ist eine Produktdatenbank mit ca.
5Mio Artikeln erstellt worden. Diese Erstellung geschah in einem sehr langwierigen Prozess mit dem Kunden. Die Produktdaten kamen von mehreren Zulieferern. Diese Daten wurden mehrfach versioniert eingespeichert, aber auf der Kundenseite nur einmal ausgegeben. Je nach Bestellung wurde die optimierte Version berechnet, welche Produkte bei welchem
Lieferanten in welcher Kombination den höchsten Gewinn erzielten. bestellt werden müssen. Dabei wurden die Bestellungen auch gesplittet und von mehr als einem Lieferanten konnten die Artikel in einer Sendung  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 Prozessdesign benötigte. 
-   Begleitende Akquise und Consulting von Kunden in Großprojekten 
-   Kompletter Ablauf von Evaluierung, technische Konzeption, Implementierung bis hin zur 
-   Abnahme im Projektgeschäft 
-   eBusiness Frameworks: InterShop 3, InterShop 4 und InterShopenfinity 
-   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     eCommerce   Handling    von     eBook-Bestellketten auf Basis von Javaa
- Umfangreiche RDBMS Datenbanken ( ORACLE, OS/2, SYBASE ASE  und MS SQL)
- Erste Anwendungen wurden mit Servlets auf WebSphere  entwickelt und in Applikationen verbaut. 
- Datenbankdesign durch Sybase PowerDesigner und Oracle SQL  Developer, SQL Navigator, TOAD
- Programmiersprachen: C/C++, Java, JSP, InterShop ML, PL SQL,
UML
 
In allen aufgeführten Projekten mussten die Projekte über die Implementierung auf Basis der fachlichen Anforderungen geplant, deren Architektur gestaltet, umgesetzt und deren Qualität gesichert werden.

Support für bestehende Systeme und Devops-Tätogkeiten

Diverse Game-Studios ( Software 2000, Rainbow Arts, Psygnosis

10-50 Mitarbeiter

-   Auf den Plattformen Playstation, Nintendo 64, Jaguar und MS Windows Entwicklung von 3D-Engines, Programmen zur Objektmodellierung und –Umwandlung sowie Grafik, Musik und
Spielgestaltung.
-   Für Spiel wurde ein Scripting System sowie ein Grafiksystem entwickelt. Zudem  wurde an  diversen    APIs    für     Spiele  gearbeitet  und eine selbstentwickelte hochperfomante Datenbank programmiert und bearbeitet.
-   Die Aufgabenbereiche umfassten ein „System Level“ Debugging 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.
-   PlayStation I, Nintendo64, Jaguar, MS Windows 95 
-   Entwicklung von 3D-Engines bzw. Layer zum Zugriff auf diese Funktionen (rudimentäre Abstraktion) 
-   Performance-Optimierung von Quellcode 
-   Programme zur Objektmodellierung und Objektumwandlung  
-   Grafik,     Musik   und     Spielgestaltung.    Konverter   zur Objekttransformation aus Maya3D / Lightwave
-   SOUND   Engine  mit     XM,     MOD,    FMOD    Wiedergabe  und Effektausgabe 
-   Grafikengine für Menus und HUD 
-   Amiga, PC 
-   einfache Datenbanken entwickelt mit einfachen APIs und Programmen zur Verwaltung der Datenbanken mit sehr hoher Performance und extrem geringem Speicherverbrauch auf Medien / Arbeitsspeicher
-   Interpreter für Skripte, die einfache Audio / Videosteuerung erlauben und auf Eingaben reagieren
-   Debugging von Projekten / Fehlersuche in Assembler 
-   Grafik / Audioausgabe und Interfaceerstellung
Programmiersprachen: C/C++ und Assembler
Systeme: C64, Amiga(OC/SE/AGA), Atari Falcon, PS I, N64, Jaguar, Windows 95

Kontaktanfrage

Einloggen & anfragen.

Das Kontaktformular ist nur für eingeloggte Nutzer verfügbar.

RegistrierenAnmelden