Berater, Senior Architect, Senior Developer
Aktualisiert am 25.11.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 16.12.2024
Verfügbar zu: 100%
davon vor Ort: 80%
Software Architect
Senior Developer
DevOp
Deutsch
Muttersprache
Englisch
Fließend, verhandlungssicher

Einsatzorte

Einsatzorte

Deutschland
möglich

Projekte

Projekte

2 Jahre
2023-01 - 2024-12

Weiterentwicklung einer Seggregation Of Duties (SOD) Anwendung

Java 17+ Gradle GIT ...
  • Modernisierung der Codebase durch umfangreiches Refactoring (clean code)
  • Umbau der Anwendung für einen globalen, länderübergreifenden Einsatz (go global)
  • Weiterarbeit an der Oracle-Datenbank (massives Performance Tuning)
  • Migration der Oracle-Datenbank (Cleanup; Transformation; Enrichment)
  • Oracle Performance Tuning (Partitioning; Table Statistics; Query Optimization; Datenmodell optimieren; Oracle spezifische Tuning-Mechanismen; Schema-Migrationen
  • Aufbei einer Monitoring-Umgebung (ELK stack / filebeat) für Logging / Analysi
  • Aufbau eines zeitbasiertes, revisionssicheres Datenmodells (für Auditing / historische Abfragen / Vergleich verschiedener Zeitpunkt)
  • Schaffung der Vorraussetzungen für CI/CD, Container-Services und Cloud)
  • Integration des OAuth2 Providers (Microfocus, später Miicrosoft Azure)
Java 17+ Gradle GIT Oracle SQL OAuth2 / Open ID Connect Json Web Token (JWT) Elasticsearch Kibana Filebeat Red Hat Linux Spring Boot JDBI Hibernate QueryDSL JUnit
2 Jahre 11 Monate
2021-02 - 2023-12

Ablösung eines traditionellen ERP-Systems

C# .NET Microsoft SQL-Server ...
Ablösung eines traditionellen ERP-Systems durch eine flexiblere und branchenspezifische Eigenentwicklung (part time, beratend und entwickelnd) 
  • Aufbau einer Service-Broker Architektur auf Basis von Webservices
  • Apache Kafka als Event Streaming Hub zur Koordination von Microservices
  • Handling von verteilten Datenbanken und Transaktionen
  • Anbindung neuer Microservices mit geringstmöglichen Aufwand
  • dynamischer UI-Client zur Bearbeitung neuer Daten ohne Anpassungsaufwand
  • Integration des Produkt Information System (PIM)
  • Integration des Online-Shops
  • Anbindung an die Produktionsfläch
  • Nutzung von Container-Services
C# .NET Microsoft SQL-Server PostgreSQL REST HATEOAS (Hypermedia as the Engine of Application State) Entity Framework JavaScript NUnit Docker
2 Jahre 1 Monat
2021-01 - 2023-01

Ablösung des Identity Providers einer Bank durch eine Eigenentwicklung

Java 11+ Maven GIT ...
Dekommisionierung von Oracle Identity Management (end of life) und Entwicklung einer modernen Ersatzlösung für folgende Aufgaben:
  • Import der Personaldaten aus SAP HR
  • Plausibilitätsprüfungen um Erfassungsfehler zu erkennen und zu beseitigen
  • Provisionierung von LDAP / Active Directory
  • Provisionierung des deutschlandweiten Zugangsssystems für Gebäude (SIPORT)
  • Provisionierung der bankweiten Betriebsdatenbank
  • Provisionierung des Core Banking (CORE24)
  • Provisionierung des Document Management Systems (DOXIS)
  • inkremtieller Sync mit geringer Latenz durch Verwendung eines Push-Modells
  • regelmässiger Full-Sync für zusätzlichen Konsistenz und Recovery (= Auto-Repair)
  • Synchronisation in Hin- und Rückrichtung (Soll / Ist-Abgleich)
Java 11+ Maven GIT Oracle SQL Siemens Siport Core24 Doxis Active Directory LDAP unbound ldap sdk JDBI Spring Boot JUnit
2 Jahre 2 Monate
2020-09 - 2022-10

Implementierung eines Verkaufsschnittstelle zu eBay / Aftersales im B2C-Bereich (part time)

  • automatisierter Import der BMEcat Produktdaten per Web-API
  • Provisionierung der Shop-Platform in der Cloud
  • Abgleich der eBay-Listings und Orders mit dem Händler-Datenbank
  • Anbindung und Versorgung der Ebay-API
Kotlin, Gradle, JOOQ, SQL, PostgreSQL, JUnit, eBay API, Aftersales API
5 Monate
2021-08 - 2021-12

Implementierung eines Provisionierungsservice zum Identity Management

UnboundID LDAP JDBC JDBI ...
Für das Identity-Management einer Direktbank wurde ein Service zur Provisionierung der Infrastruktur entwickelt. Dieser löst eine proprietäre Schnittstelle ab die end-of-life ist.
  • Anbindung und Provisionierung von Active Directory (LDAP)
  • Abgleich von SQL-Datenbanken mit Benutzerdaten
  • Anbindung an Datenlieferanten (Import-Batches, IAM-Webanwendung)
  • Kommunikation mit asynchronem Messaging
  • Fokus auf hohe Zuverlässigkeit und Durchsatz
UnboundID LDAP JDBC JDBI Java Messaging (JMS) Oracle Database Microsoft SQL Server Maven Java 11
3 Monate
2021-05 - 2021-07

Eigen-Implementierung eines SAML Identity Providers

Kotlin Ktor Java Cryptography Architecture (JCA) ...
Eigen-Implementierung eines SAML Identity Providers:
  • Implementierung von SAML Core (Bindings, Protocol, Verwaltung der Sessions, Signature)
  • Implementierung von Kerberos als Authentication Context
  • Windows-Authentifizierung mit SPNEGO (Kerberos-Ticket) im Browser (low-leve Implementierung mit Java Crypto Architecture und Ktor)
  • User-Lookup in Active Directory mit LDAP Client Binding
  • Handling von Zertifikaten und Keys (X.509, RSA, EC, DSA keypairs
  • XML-Signatur und XML-Encryption
  • Migration bestehender SAML-Clients aus WSO2 Identity Provider
  • Import / Export von SAML-Metadata
Kotlin Ktor Java Cryptography Architecture (JCA) Bouncy Castle Security Provider Unbound LDAP Java XML API X.509 ASN.1 Certificate und Key Encoding (DER/PEM/PFX/PKCS) Apache Santuario Oracle PostgreSQL
8 Monate
2020-10 - 2021-05

Neuentwicklung eines API Gateway

Java Kotlin Maven ...
  • Planung und technische Umsetzung
  • Management von APIs (Lifecycle, Security, Subscriptions, Publishing, Versioning, etc.)
  • Verarbeitung von Backend-Calls über API Processor (Security, Traffic Monitoring, Hig Availability, Security, Load Balancing)
  • Definition der APIs per OpenAPI v3 Spezifikat
  • flexible Backend-Anbindung (Authentication, Connection Pooling, Request / Respons Streaming, Failover Handling)
  • Anbindung der Firmen-Infrastruktur (Services, Users, Mainframe System)
  • Horizontale Skalierung und Ausfallsicherheit (No Single Point of Failure, Shared State)
  • Seamless migration von WSO2 API Identity Provider auf Eigenimplementierung 
  • Testen in Container Images mit Docker Compose
  • Deployment auf Windows / Cent OS (linux)
Java Kotlin Maven Gradle WSO2 API Gateway OAuth2 OpenID Connect PostgreSQL Oracle IBM CICS SQL Kotlin Exposed Kotlin coroutines kotlinx.serialization Apache Jackson OpenAPI v3 Docker (Compose) WSO2 Api Manager Apache Ignite jUnit kotest mockk Jenkins
7 Monate
2020-03 - 2020-09

Neuentwicklung eines Identity Providers

  • Evaluieren von existierenden Lösungen (Ergebnis: Eigenimplementierung)
  • Management von Clients (OAuth2, Single Sign On, Subscriptions, Permissions)
  • Token Management (Access tokens, Refresh Tokens, Json Web Tokens (JWT), Consent Management, Token Revocations, Monitoring)
  • Anbindung von PSD2 TPP Clients (AIS / PIS / PIIS) mit X.509 Client Certificates
  • Ablösung des bestehenden WSO2 Identity Providers im laufenden Betrieb
  • Deployment auf Windows und Cent OS (Linux)
  • Einführen von Kotlin als Programmiersprache und Migration von Java Code
  • Testen in Container Images mit Docker Compose
  • Deployment auf Windows / Cent OS (linux)



Java Kotlin Maven Gradle WSO2 API Gateway OAuth2 OpenID Connect PostgreSQL Oracle IBM CICS SQL Kotlin Exposed Kotlin coroutines kotlinx.serialization Apache Jackson Docker (Compose) Apache Ignite JUnit kotest mockk Jenkins Kotlin
1 Jahr 3 Monate
2019-01 - 2020-03

Umsetzung des PSD2-Standard

PSD2 OAuth2 OpenID Connect (OIDC) ...
  • Umsetzung der PSD2-Schnittstelle
  • Technical Lead
  • Umsetzen einer Identity Management Infrastruktur (OAuth2, OpenID Connect)
  • Anbindung der Third Party Provider (TPP)
  • Schaffung von robusten und hochsicheren Services (Verfügbarkeit 24/7)
  • Integration der bestehenden Infrastruktur in die Abläufe (API-Endpunkte, IBM CICS)
  • Anbindung der hauseigenen API-Schnittstellen
PSD2 OAuth2 OpenID Connect (OIDC) SAML WSO2 Identity Provider WSO2 Application Manager HTTP REST Anbindung an IBM/CICS Kanban Java 11 CI/CD Pipeline Oracle Database Redis Apache Ignite Thymeleaf JUnit Mockit
Bankendienstleister
4 Monate
2018-09 - 2018-12

Weiterentwicklung eines Systems zur Berechtigungsverwaltung

Java Apache Wicket Hibernate ...
  • Beseitigung von Performance-Bottlenecks (insb. in Hibernate)
  • Erweiterung des Systems zur Verwaltung von automatisierten Systemkonten
  • Umsetzung interner Banken-Prozesse
  • Migration von Wicket 7 auf Wicket 8
  • Verbesserung der Test-Coverage und Testability
Java Apache Wicket Hibernate JUnit Mockito; Scrum; JUnit; Jenkins
Bank
10 Monate
2018-03 - 2018-12

Implementierung eines Systems zur Analyse von Transaktionen

Java Spring Boot RESTful Services ...
  • Aufbau einer skalierbaren Architektur
  • Anbindung eines Fintech-Service zur Klassifizierung der Transaktionen
  • DSGVO-konforme Speicherung der Kundendaten
  • Analyse der Transaktionsdaten zur Bestimmung von Metriken für den Bankkunden
  • Verwendung von Spring Boot 2 zur Bereitstellung von RESTful Services
  • Anbindung an Transaktions-Provider per Apache Kafka
  • API-Dokumentation mit Swagger
  • Speicherung und Aggregation in Oracle Database (Anbindung per Spring JDBC)
  • Tuning und Partitioning des Oracle-Systems 
Java Spring Boot RESTful Services Oracle SQL Database Apache HTTP Client Spring JDBC JUnit Mockito; Scrum; Jenkins
Bank
11 Monate
2018-02 - 2018-12

Weiterentwicklung eines Services zur Kontenanbindung an Fremdbanken

Java Spring Boot HTTP ...
  • Verwendung z.B. in der Kontenansicht der Bankkunden ("Multibanking")
  • Erweiterung der bankeninternen HTTP-Schnittstelle
  • DSGVO-konforme Speicherung der Kundendaten
  • Migration Spring Boot von 1.x auf 2.x
  • Anbindung an SQL-Datenbank mit Hibernate
  • hohe Unittest-Abdeckung (test driven development; JUnit; continuous integration)
Java Spring Boot HTTP RESTful Services Hibernate JUnit Mockito Scrum Jenkins
1 Jahr 2 Monate
2017-11 - 2018-12

Weiterentwicklung der Online-Platform für die Konto/-Depotinhaber

Java Apache Wicket Rest-Services (HTTP-Client) ...
  • Umsetzung neuer Features
  • kontinuierliche Verbesserung der Usability
  • Anbindung neuer Schnittstellen per REST
  • Berücksichtigung von Lastverhältnissen (z.B. bei Zugriff auf Umgebungs-Systeme)
  • Anwenden von Best Practices (clean code, test driven development, refactoring)
Java Apache Wicket Rest-Services (HTTP-Client) HTML CSS JavaScript Spring Boot 2
Bank
2 Jahre 3 Monate
2015-08 - 2017-10

Implementierung eines Media-Service

C# .NET Windows Service ...
  • Um die Verwaltung von Medien (Bilder / Dokumente) innnerhalb der Webseite, aber auch in den zahlreichen firmeninternen Anwendungen zu erleichtern und zu vereinheitlichen, wurden
    dies in die SQL-Datenbank verlagert (einheitliches Backup / Transaktionale Sicherheit / hohe Performance durch SQL-Filestreams)
  • Speicherung von Bildern + Dokumenten in SQL Server (mit File Tables / File Streams Support)
  • sehr schnelles Laden der Bilder mit hochoptimierten Routinen
  • Transformieren der Bilder je "Kanal" (Auftragen von Wasserzeichen, skalieren, Schärfefilter anwenden, Meta-Daten einfügen, etc.)
  • schnelle Bildtransformationen (z.B. keine globalen GDI-Locks in Windows, multi threading)
  • Integration eines Frontend Proxy (nginx) zum Langzeit-Caching dieser Bilder
  • Erzeugen von Crypto-Hashes innerhalb von "pretty" URLs um diese Bilder mit maximaler Cache-Dauer auszuliefern (ein Jahr, maximaler Wert gemäß RFC)
  • sofortiges Invalidieren des Caches bei Veränderung des Bildes oder dessen kanalabhängiger Bildtransformation (z.B. neues Wasserzeichen, anderer Schärfefilter)
  • Auslieferung aller benötigten Größen eines Bildes (welche aus einem hochaufgelösten Original errechnet werden)
    aktuell werden mit diesem Service die komplette eBay Platform, Preisportale, Amazon, mehrere Shops und die zahlreichen internen Anwendungen versorgt
C# .NET Windows Service ASP.NET Web API GIT NUnit
Autoteileversender
7 Monate
2017-03 - 2017-09

Neuimplementierung einer Online-Platform für einen großen Autoteileversender

Elasticsearch Kibana Apache Spark ...
Bereitstellen einer eigenen Analytics-Platform (Erstellung eines funktionsfähigen Prototypen)
  • Beratung der Fachseite; Definition der KPI Metriken; Erstellen einer Zieldefinition
  • datenschutzkonforme Analyse des Live-Traffic
  • Echtzeitdarstellung der Analytics-Daten mit Elasticsearch + Kibana
  • Provisionierung von den benachbarten Systemen (Data Warehouse, ERP, etc.)
  • Logging von firmenweiten Events auf einem Kafka Event Bus (add to cart, exit site, convert to checkout / order, place order, ship packet, cancel order, etc.)
  • Aggregation von User-Sessions, Conversions, cross-device tracking
  • Verarbeitung großer Datenmengen (big data: batch / stream based)
  • Geo-Lokation berücksichtigen (Tracking + Anwendungsverhalten + DoS-Erkennung)
Elasticsearch Kibana Apache Spark Apache Flink Apache Kafka Machine Learning Java Kotlin Scala C# IntelliJ IDEA Maven Apache Kafka Apache Cassandra GIT NUnit JUnit
Autoteileversender
9 Monate
2017-01 - 2017-09

Neuimplementierung eines Online-Platform für einen großen Autoteileversender

.NET C# HTML ...
SEO-Optimierung (on-site) des Shops
  • Sicherstellen und Optimieren der Crawlability der Seite (geringer Seitentiefe, Berücksichtigung diverser Filterkriterien, etc.)
  • Analyse von Analytics-Daten zur Verbesserung des Shops
  • Vermeidung von Duplicate Content bei mehrsprachigen Seiten resp. Domains
.NET C# HTML TypeScript Google Analytics + eigene Analytics-Plattform GIT NUnit Projekthistorie
Autoteileversender
2 Jahre 2 Monate
2015-08 - 2017-09

Entwicklung der Shop-internen Suche mit Elasticsearch

Elasticsearch (v2.x später v5.x) SQL Server ...
  • Findung der idealen Lösung in enger Kommunikation mit Fachseite
  • Findung der geeigneten Mechanismen zur Umsetzung (Score, Relevanz, Latenz bei Live-Suche, Aggregationen über Gruppen, Facetten, usw.)
  • Unterstützung von Mehrsprachigkeit (Texte, language fallback, natural language processing (NLP), word stemming)
  • Synchronisation der SQL-Daten mit dem Suchindex in ca. 2 Sekunden (lambda-Architektur); Full-Resync (periodisch), Delta-Sync (je SQL change, row-based); Full-Rebuild (z.B. bei Schema-Änderungen)
  • Suche wird explizit durch Besucher verwendet aber auch intern für den Seitenaufbau (schneller + kostengünstiger als die SQL-Datenbank (SAAS) in der Cloud)
  • schnelle Antwortzeiten (meist 2-40 ms für die Suche über ca. 1.000.000+ Artikel, anhängig von den jeweiligen Parametern der Suche); dadurch zufriedene Kunden und
    gutes Ranking in Suchmaschinen
  • Ähnlichkeitssuche (n-Gram, edge-Gram, prefix, fuzzy, Levenshtein-Damerau, Keyword Aggregations, Boosting, Mehrsprachigkeit, Stemming, TF-IDF vs. BM25)
  • Autosuggest (auf Basis von Kategorie, Fahrzeug, Produkt)
  • Filterung über alle Artikel, Ermittlung aktiver Kategorien unter Berücksichtigung von Verfügbarkeit + aktueller Fahrzeugauswahl (ganz und teilweise)
  • Priorisierung der Suchergebnisse (Top-Seller, Umsatzbringer, Produkte mit kurzer Lieferzeit) ohne dabei die Suchkriterien zu ignorieren
  • zahlreiche Filtermethoden + Aggregationen (Benachbarte Werte mit Proximity-Score; vonbis Abfragen; Unterelement von; , z.B. Anzahl der Produkte je Kategorie unter
    Berücksichtigung von Kindkategorien, Alle Fahrzeuge einer bestimmen Gruppe, z.B. Model oder Antriebsart, und vieles mehr)
  • Optimierung der Suchrelevanz entsprechend den Wünschen der Geschäftsleitung
Elasticsearch (v2.x später v5.x) SQL Server C# Azure Cloud Java Windows Service GIT NUnit JUnit Teamcity
Autoteileversender
2 Jahre 2 Monate
2015-08 - 2017-09

Neuimplementierung des Shop-Frontends

Elasticsearch JavaScript / TypeScript SCSS / SASS ...
  • Implementierung der Anwendungslogik (Data-Layer, Service, App); modularer, wartbarer Code; hohes Maß an Typsicherheit (auch in den Views); TypeScript (Codegenerierung für typsichere API-XHR-Calls von JavaScript an den Shop; hohe Refactoring-Sicherheit für
    schneller Anpassungen)
  • Anbindung an die Suche (eigenes Unterprojekt)
  • Mehrsprachigkeit des Shops auf allen Ebenen (Oberflächentexte HTML / JavaScript, Berücksichtigung der Browsersprache incl. Fallback, mehrsprachige Produktdaten und Suche); Unterstützung von verschiedenen Shop-Layouts für verschiedene Brands
  • Caching-Layer (1st level in memory, 2nd level in NoSQL-Store; JSON-Serialisierung)
  • massives Caching der gerenderten Views und Resourcen durch Frontend-Proxy (nginx); optimale Antwortzeiten, auch um DDoS-Attacken besser zu bewältigen
  • Share nothing Architektur; no single point of failure; Horizontale Skalierung aller Komponenten (scale out)
  • SQL Datenbank: In Production Code durch SQL Prozeduren (hohes Maß an Optimierung), Unit Testing mit Entity Framework (viele Freiheiten, geringer Testaufwand); viel Erfahrung mit Datenbank-Bottlenecks, Optimierung, Execution Plans
  • Bundling der Anwendung erst mit gulp, später mit Webpack (obfuscation, optimization, SCSS to CSS, JavaScript Bundles, TypeScript to JavaScript, multi-layout CSS)
  • Umsetzung der Views (Responsive Design, Semantic Markup wg. SEO, Rich Snippets, typesafe Razor Views); Integrieren von Designs von Medien-Agenturen
  • Testing (Unit + Integration Testing, Continuous Integration + Test + Delivery mit Teamcity) ASP.NET MVC, ASP.NET Web API, C#, Redis, SQL Server, hand-crafted SQL
Elasticsearch JavaScript / TypeScript SCSS / SASS CSS HTML Entity Framework (unit test only) JSON.NET GIT Visual Studio + Resharper GIT NUnit
Autoteileversender
2 Jahre 2 Monate
2015-08 - 2017-09

Neuimplementierung eines Synchronisationsdienst

C# Windows Service SQL Server ...

Neuimplementierung eines Synchronisationsdienst zum Abgleich der Shop-Daten in der Cloud mit den Stammdaten der Firma im lokalen Rechenzentrum

  • Vorhalten und Abgleichen von operativen Daten in der Cloud (Microsoft Azure)
  • automatisiertes Recovery & Installation neuerder Cloud-Daten aus den Firmendaten möglich
  • effiziente Erkennung von Datenbankänderungen (Zeitstempel, trigger / event-based, Master-Master-Replikationskonflikte, Entities mit Abhängigkeiten auflösen, Race- Conditions, etc.)
  • Datensynchronisation auf logischer Ebene (master-slave, master-master-Szenarien)
  • Verteilen der multi-channel Daten auf die jeweiligen Synchronisationspartner (= Channel)
  • Low-Level Implementierung auf TCP/IP-Ebene mit eigenem Serialisierungscode und ereignisbasiert System um maximale Performance zu erzielen
  • Auto-Discovery der Peers und robustes, fehlertolerantes Verhalten
  • Minimierung der benötigten Bandbreite / Maximierung des Durchsatzes
  • fehlerresistentes Verhalten (Recovery / Replay)
C# Windows Service SQL Server low level TCP/IP GIT NUnit
Autoteileversender
1 Jahr 6 Monate
2014-01 - 2015-06

Modernisieren der eBay-Schnittstelle

.NET C# eBay API ...
  • Refactoring des Code (Clean Code, Einführung einer Layer-Architektur); Erhöhung des Durchsatzes (über 1 Million eBay API-Calls pro Tag); Optimierung der ERP-Anbindung, Fehlertoleranz
  • Schnittstellen: Orders von eBay abholen, Auktionen aktualisieren mit kurzer Latenz ( bei über 100.000 gleichzeitig laufenden Auktionen), Wettbewerbsanalyse, periodische
    Integritätsprüfungund Abgleich von Firmen-Stammdaten und laufenden eBay-Auktionen
.NET C# eBay API TPL Dataflow Windows-Service GIT NUnit
Autoteileversender
2 Monate
2014-03 - 2014-04

Berechung des aktuellen Lagerbestandes

.NET C# SQL-Server ...

  • Aktualisierung der Verfügbarkeit von Set-Artikeln unter Berücksichtigung von Gewinnmarge, Kombinationsmöglichkeiten, technischen Einschränkungen, Abverkaufsreihenfolge zur Gewinnmaximierung und Sicherstellen kurzer Lieferzeiten
  • Artikelanzahl ca. 800.000+ (auf Lager bzw. kurzfristig lieferbar)

.NET C# SQL-Server Windows Service SVN NUnit
Online-Sellers
7 Monate
2013-09 - 2014-03

Pflege des Alt-Shops bei einem Online-Händler vor dessen Ablösung

.NET C# VB.NET ...
  • Refactoring der Codebasis (bessere Wartbarkeit, leichtere Migration zum neuen Shop); Performance Tuning (wg. schlecher Conversion Rate); Extraktion von Funktionalität in
    Microservices, Libraries + neuere Systeme; Fehlerbehebung; bessere Anbindung an externen Datenprovider (+ Caching)
  • Ablösung / Neuimplementierung von Fremdmodulen (closed-source, 3rd party) im Rahmen der bevorstehenden Ablösung
.NET C# VB.NET SQL Server ASP.NET Web Forms Sage ERP GIT NUnit
1 Jahr 7 Monate
2012-01 - 2013-07

Datenbankgestützte Intranet-Anwendung

Berater und Entwickler Java 6 Apache Wicket 5 + 6 Spring Framework 3 ...
Berater und Entwickler

Beratung zu und Weiterentwicklung an einer Intranet-Webanwendung zum Identy-Management der Mitarbeiter

  • Zur firmeninternen Verwaltung von Rollen, Berechtigungen und Zugehörigkeit der Mitarbeiter wird eine datenbankgestützte Intranet-Anwendung eingesetzt. Neben der Provisionierung und dem Abgleich von Rechten auf die Umsysteme (Domain-Controller, LDAP, SAP, Datenbanken, usw.) wird Wert auf Reporting und Monitoring gelegt wie es insbesondere bei börsennotierten Unternehmen üblich ist
  • Optimierung der Performance aufgrund der zahlreichen Berechtigungen und Anbindung der Umsysteme stellten besondere Herausforderungen dar. Auch eine hohe Codequalität war sehr wichtig da es eine offizielle Aufgabe der Abteilung darstellt, Best Practices an andere Abteilungen als Referenz herauszugeben und selbst vorzuleben.

Java 6 Apache Wicket 5 + 6 Spring Framework 3 Hibernate QueryDSL Apache Maven 3 JUnit SAP JCo Velocity LDAP Native SQL (Spring JDBC) jQuery Eclipse IntelliJ IDEA
Direktbank
1 Jahr 7 Monate
2010-06 - 2011-12

Middleware-Integration und Anbindung Business Logic

  • Telekommunikationsdienstleister: diverse Java-Adapter zur Anbindung an Message Queues (message driven middleware) + ABAP Application Server (business logic) per JCo zur Integration von SAP-Prozessen, Anbindung von Datenlieferanten, Qualitätsauswertungen


Java SAP Java Connector Apache Wicket Tomcat Maven IntelliJ IDEA JUnit
2 Jahre 3 Monate
2008-04 - 2010-06

Erweiterungen am SAP-System

  • Entwicklung und Änderung von ABAP-Bausteinen, Integration mit Java


ABAP SAPGUI Java JCo UML
3 Jahre 2 Monate
2007-05 - 2010-06

Entwicklung einer konzernweiten Anwendung zur vollständigen Verwaltung der Identität eines Benutzers und der zugehörigen Kennungen vom Firmeneintritt bis zum Verlassen

Berater, Architekt, Entwickler
Berater, Architekt, Entwickler

  • Die Besonderheiten der SAP-Umgebung müssen im Web benutzerfreundlich präsentiert werden. Die Verwaltung der User entspricht den SOXRichtlinien und erlaubt jederzeit eine Kontrolle der Abläufe durch externe SOX-Prüfer.
  • Rollenbasierte Rechteverwaltung steuert den Zugriff auf die Funktionalität

Java 5 ABAP SAP-Funktionsbausteine (rfc calls) Jetty 6 SAP J2EE Web Engine Apache Wicket 1.3 XHTML CSS Barrierefreiheit Apache Ant IntelliJ IDEA 7/8/9 SAP Java Connector (SAP JCo) SAPGUI Retrotranslator Subversion SSO (Single Sign On) mit Kerberos bzw. SPNEGO und LDAP-Usern
5 Monate
2009-11 - 2010-03

Migration von Geschäftsdaten in SAP

z.B. Erstellen von Reports zur Migration von SM-Aufträgen, wegen fehlender BAPIFunktionalität auch unter Verwendung von Batch-Input, Erstellen von Auswertungen, Datenanalyse

Technologie: Eclipse, Java, SAP R3, ABAP, SAPGUI, SAP JCo, UML

Aus- und Weiterbildung

Aus- und Weiterbildung

  • Abitur am Kepler-Gymnasium Weiden
  • Abschluß: Diplom-Informatiker (FH) mit Abschlußnote: 2,1 (Studienort: Regensburg)
  • Abschluß: Vertriebsingenieur
  • Ein Jahr Auslandsstudium in den USA an der University of Connecticut
  • In Englisch verfasste Diplomarbeit: Titel auf Anfrage

Position

Position

  • Technical Lead
  • Senior Developer
  • Senior Architect

Kompetenzen

Kompetenzen

Top-Skills

Software Architect Senior Developer DevOp

Produkte / Standards / Erfahrungen / Methoden

CV

Profil
Mit einem Fokus auf Softwareentwicklung und Technologie erarbeite ich mit ihnen verständlich und zielgerichtet eine optimale Lösung. Leistungsfähigkeit, Kosteneffizienz, Termintreue und hohe Wartbarkeit stehen im Vordergrund. Es erfolgt eine kontinuierliche Betreuung - sowohl fachlich als auch technisch - von der Idee bis zur Inbetriebnahme.

Zentrale Themen

  • Erarbeiten von platformübergreifenden, komplexen Softwarelösungen (vom Design bis zur Umsetzung)
  • Aufbau von verteilter, skalierbarer, sicherer, hochverfügbarer Software
  • Umsetzung fachlicher Anforderungen in technische Konzepte
  • Experte für webbasierte Lösungen (frontend; backend; middleware; api services)
  • Cloud-basierte Lösungen (cloud first / on premise / hybrid / edge
  • Machine + Deep Learning / AI / KI / angewandte Statistik / höhere Mathematik
  • Java Platform (Java / Kotlin / Scala)
  • .NET-Plattform
  • Datenbanken / Big Data (SQL + NoSQL)
  • Clean Code / Refactoring / Functional Programming
  • Agile Methoden (Scrum / Kanban)


Technologien / Skills 

  • ale Entwicklung auf der Java VM
  • Elasticsearch (Textsuche per Ähnlichkeit (nGrams, Fuzzy, Levensthein-Damerau, TF-IDF / BM25), Aggregation, Denormalisierung, Visualisierung mit Kibana, Performance-Optimierung, Live-Betrieb)
  • Sicherheit im Web: HTTPS, Zertifikate, webspezifische Probleme wie Cookie-Hijacking, Cross-Site-Request-Forge javascript-eval(), Zertifikate, DNS, usw
  • Apache Wicket (Mitglied des Apache-Wicket-Entwicklerteams, Apache Committer)
  • angewandte Statistik / KI / neural networks: lineare Algebra, Statistik; linear / logistic regression, decision / random / boosted trees, support vector machines (SVM), naive Bayes; gradient descent; backpropagation; Metriken; clustering; dimensionality reduction; analytics; feature engineering; data cleaning; explorative data analysis (EDA); anomaly detection; PCA; multilayer, recurrent, convolutional neural network (CNN); natural language processing (NLP); Apache Mahout; Spark-ML; Flink-ML; pytorch; keras; numpy; pandas; seaborn; scikit-learn; scipy; deeplearning4j; nd4j 
  • Asynchrones Messaging: Apache Kafka, Java Messaging Services (JMS), IBM MQSeries
  • Clean Code Evangelist: Refactoring großer Codebasen, Static Typing, DRY (don?t repeat yourself)
  • skalierbare Umgebungen (Load-Balancing, Sticky-Sessions, share nothing, Clustering, Cloud, Datenbank, verteilter Cache, Session-Failover)
  • Web-Services / Micro-Services: SOAP, REST, async-I/O, WebSockets, OAuth, stateless services, scaling out, fault resilience
  • SQL-Anbindung per native JDBC, Spring-JDBC, Spring-Transactions, J2EE DataSources, XA-Transaktionen, Hibernate, jOOQ, QueryDSL, JPA
  • TCP/IP (Protokolle, Verwendung, Schwachstellen, Protokollanalyse mit Wireshark, IPv4, IPv6, UDP, DNS, ARP, etc.)
  • funktionale Programmierung (starker Fokus)
  • Netzwerksicherheit: Routing, VPN, Verschlüsselung, Authentifizierung, Integrität, Angriffserkennung und -abweh
  • Analyse des Datenverkehrs / Fehlersuche: u.a. Protokollebene mit Traffic-Analyzer (z.B. mit Etherreal / Wireshark
  • Verständnis zahlreicher Netzwerkschichten, auch bis auf Protokollebene: z.B. TCP, UDP, IP, SMTP, POP3, IMAP, FTP
  • Security: TLS, Kryptographie, X.509-Zertifikate, Public- / Private Key, Signatur, Zufallszahlen


Java Platform

Java, Kotlin, Scala, Apache Ant, Maven, Gradle, Kotlin, Scala, Apache Wicket, Tomcat, CGLib, EHCache, Caffeine, Goggle Guice, JDBC, JDBI, JUnit, TestNG, JavaMail, Spring + Spring Boot, JMS, JNDI, J2E, Servlets, vavr, jooq


Container / Deployment 

Kubernetes, Docker, Docker Swarm, cloud services


Functional Programming

Scala; Haskell; immutability; Monads; functional state; pure functions; side effects 


Kotlin 

kotlin.coroutines, kotlinx.serialization, Scala, Apache Wicket seit Version 1.3, Tomcat, CGLib, xom, dom4j, xom, EHCache, Caffeine, kotlin coroutines, kotest, mockk, Goggle Guice, Google Web Toolkit (gwt), JDBC, JUnit, TestNG, JMeter, JRuby, JavaMail, Logging (slf4j, commons-logging, log4j), Spring Framework, Struts, Tapestry, JMS, Applets, JSP, Taglibs, JNDI, multithreading, AWT, Swing, Java IO / NIO, Reflection, EJB, Servlets, Beans, JAAS


Javascript 

node.js; vite; npm; angular; jquery; webpack, solid.js, svelte.js; react.js


Inversion of Control / Dependency Injection 

Spring Framework, AOP, IoC, Google Guice, pico container, bytecode instrumentation (salve), Autofac, Ninject, inversion of control, mocking, proxy


Entwicklungswerkzeuge / -tools und IDEs 

Jetbrains IntelliJ IDEA, Jetbrains Rider, Jetbrains pyCharm, Jetbrains Data Grip; Jetbrains WebStorm; Jetbrains RustRover; Visual Studio, vi (vim), make, cmake, ant, msbuild, Maven, Gradle, Nexus, Hudson / Teamcity (CI, Continuous Integration, Continuous Delivery), SBT, Gradle, Eclipse


Apache Wicket 

Mitglied im Apache Wicket Team seit Release 1.4, mehrere Projekte mit Wicket realisiert


Elasticsearch / Opensearch 

ELK-Stack, Kibana, Logstash, Apache Lucene, Facets, Aggregations, TF-IDF, Okapi BM25, levenshtein, fuzzy, natural language processing (NLP), clustering, n-grams, relevance scoring, data preprocessing, debug score via explain API, handcrafted JSON


.NET Framework 

C#, Blazer; ASP.NET, IIS; .NET 1.0 - current; Visual Studior; Jetbrains Rider; TPL Dataflow; Entity Framework


Big Data / Clustered Computing 

Apache Spark; Apache Flink; Scala; Apache Cassandra; Apache Kafka; Elasticsearch; Hadoop FS (hdfs)


Clean Code 

Best Practices, Refactoring, Patterns, Wartbarkeit / Refactoring großer Codebasen, Testability; typesafe refactoring


NoSQL 

Redis; Apache Cassandra; Elasticsearch; MongoDB; Apache Kafka


Kommunikation 

Rabbit MQ, Apache Kafka, Java Message Services (JMS=, IBM MQ Series, Windows / Unix networking, secure shell (ssh), REST, TCP, UDP, IP, ICMP, IPv6, Packet Sniffing + Analysis, OpenVPN, IPsec, IMAP; SMTP, Active Directory / LDAP; eBa API; SAP Java Connector (SAP JCo) 


Machine Learning 

angewandte Mathematik: lineare Algebra, Statistik; Hypothesen; Verteilungen; statistische Tests; Regressionsverfahren; Validierung; linear / logistic regression, decision trees, support vector machines (SVM), naive Bayes; gradient descent; Metriken; clustering; dimensionality reduction; analytics; feature engineering; data cleaning; explorative data analysis (EDA); anomaly detection; principal component analysis (PCA); ensemble learning; multilayer, recurrent neural network (RNN), convolutional neural network (CNN); natural language processing (NLP); Apache Mahout; Spark-ML; Flink-ML; pyTorch; keras; numpy; pandas; seaborn; scikit-learn; scipy; deeplearning4j; nd4j, jax, flax


SEO 

on site optimization, Google Analytics, Google Tag Manager, Google Page Speed Optimierung, crawlability, site architecture, link design, change frequency, multi-lingual sites, canonical urls; TF/IDF


Security 

Verschlüsselung, Authentifizierungsmechanismen, synchrone / asynchrone Verschlüsselung, Zertifikate, Signaturen, HashVerfahren, Trust-Management, TLS / SSL, X.509, Public / Private Ky, Pseudozufallszahlen (PRNG), OpenVPN, IPS SAML, JWT (Json Web Token); PKIX (Public Key Infrastructure)


Single-Sign-On (SSO) 

OAuth 2, OpenID Connect (OIDC), JWT, SAML, SPNEGO, NTLM, Kerberos


Softwaredesign 

design patterns, clean code, agile best practices, continuous Integration, continuous delivery, top-down / bottom-up design, pragmatic development, pair programming, continuous refactoring, test-driven development, strict type safety, scalable and maintainable software


Testing 

JUnit, NUnit, TestNG, Mockito, Moq


Versionskontrolle (SCM) 

GIT, gitlab, gitflow, github, gitea, Subversion (SVN), CVS


Web / Frontend 

stateless architecture (share nothing); HTML 5, CSS 3, Javascript, jQuery, JavaScript, TypeScript; CSS, JSON, SEO optimization, semantic markup, jetty, netty, Tomcat, Microsoft IIS, Apache httpd, nginx, haproxy, JBoss / Wildfly / J2E-app servers, webpack, gulp, ASP.NET Razor, webpack, gulp, SCSS / SASS


XML 

Push- und Pull-Parser, XML, XSL, DTD, XML-Schema, WSDL, Stream-/DOM-Parser, Stax, SAX, SOAP incl. Extensions: Verschlüsselung, Signatur, Routin


Betriebssysteme

HPUX
sehr gute Kenntnisse, u.a. Softwareportierung von Version 10.20 auf 11.00
Mac OS
seit Mac OS X 10.4 (Tiger, Leopard, Snow Leopard)
MS-DOS
OS/2
PalmOS
SUN OS, Solaris
gute Kenntnisse, Berufserfahrung mit Solaris 7 und 8 (sparc-Architektur)
Unix
Solaris, HP-UX, AIX, FreeBSD
Windows
sehr gute Kenntnisse: Windows 9x / NT / 2000 / XP / 2003 / Vista
Linux
Debian, Ubuntu, RedHat, Gentoo, Slackware, Suse, CentOS
Android
Apple iOS

Programmiersprachen

ABAP4
Assembler
Basic
QBasic, Visual Basic, VBA
C
C#
C++
dBase
Groovy
Imake, GNU-Make, Make-Maker etc...
insbesondere durch breiten UNIX-Hintergrund
Java
Java - Schwerpunkt: sehr gute Kenntnisse in Sprache, Laufzeitumgebung und Frameworks, Java Script: sehr gute Kenntnisse, insbesondere mit Ajax / DHTML / DOM / jQuery
JavaScript
Java - Schwerpunkt: sehr gute Kenntnisse in Sprache, Laufzeitumgebung und Frameworks, Java Script: sehr gute Kenntnisse, insbesondere mit Ajax / DHTML / DOM / jQuery
Lisp
Scheme (Dialekt von Lisp)
Maschinensprachen
Objective C
gute Kenntnisse (Apple iPhone + iPad, OS X)
Perl
PHP
PL/SQL
sehr gute Kenntnisse: Oracle Forms Designer + Report Writer, Datenbanktrigger, Scripts, etc.
Scala
Scheme
Scriptsprachen
Shell
sh, ksh, tcsh, bash
TeX, LaTeX
Diplomarbeit damit verfasst
yacc/lex
Java (seit Version 1.0)
Kotlin
SQL
verschiedene Dialekte: PostgreSQL, SQL Server, Oracle
HTML 5, CSS, SCSS / SASS, LESS, JavaScript, TypeScript
Rust
Python
Haskell
Go

Datenbanken

Access
gute Kenntnisse
DAO
DB2
gute Kenntnisse auf verschiedenen Systemebenen
Interbase
JDBC
sehr gute Kenntnisse
MS SQL Server
sehr gute Kenntnisse
MySQL
MySQL: gute Kenntnisse
ODBC
Oracle
sehr viel Erfahrung: Administration, Konfiguration/Installation, Entwicklung mit Forms Designer + Reports Writer, SQL-Skripten, Low Level, Tuning
Postgres
gute Kenntnisse
Proprietäre DB
SQL
sehr gute Kenntnisse
xBase
SQL Server
PostgreSQL
SQL Server Message Broker
hand crafted SQL (strong skill)
T-SQL
PL/SQL
Hibernate
jooq
QueryDSL
Stored Procedures
Performance Tuning (insb. Oracle)

Datenkommunikation

Ethernet
Internet, Intranet
LAN, LAN Manager
Lightweight Directory Access Protocol (LDAP)
(u.a OpenLDAP)
Message Queuing
Java Messaging Service (JMS), IBM MQSeries
NetBeui
NetBios
parallele Schnittstelle
PC-Anywhere
Remote Method Invocation (RMI)
Router
RPC
SUN / Windows RPC; auch Java RMI und SOAP
Simple Object Access Protocol (SOAP)
SMTP
TCP/IP
sehr gute Kenntnis von Protokoll und Anwendung, Sicherheitsaspekte (Exploits etc.)
Token Ring
Windows Netzwerk
Winsock

Hardware

Emulatoren
HP
Silicon-Graphics
SUN

Einsatzorte

Einsatzorte

Deutschland
möglich

Projekte

Projekte

2 Jahre
2023-01 - 2024-12

Weiterentwicklung einer Seggregation Of Duties (SOD) Anwendung

Java 17+ Gradle GIT ...
  • Modernisierung der Codebase durch umfangreiches Refactoring (clean code)
  • Umbau der Anwendung für einen globalen, länderübergreifenden Einsatz (go global)
  • Weiterarbeit an der Oracle-Datenbank (massives Performance Tuning)
  • Migration der Oracle-Datenbank (Cleanup; Transformation; Enrichment)
  • Oracle Performance Tuning (Partitioning; Table Statistics; Query Optimization; Datenmodell optimieren; Oracle spezifische Tuning-Mechanismen; Schema-Migrationen
  • Aufbei einer Monitoring-Umgebung (ELK stack / filebeat) für Logging / Analysi
  • Aufbau eines zeitbasiertes, revisionssicheres Datenmodells (für Auditing / historische Abfragen / Vergleich verschiedener Zeitpunkt)
  • Schaffung der Vorraussetzungen für CI/CD, Container-Services und Cloud)
  • Integration des OAuth2 Providers (Microfocus, später Miicrosoft Azure)
Java 17+ Gradle GIT Oracle SQL OAuth2 / Open ID Connect Json Web Token (JWT) Elasticsearch Kibana Filebeat Red Hat Linux Spring Boot JDBI Hibernate QueryDSL JUnit
2 Jahre 11 Monate
2021-02 - 2023-12

Ablösung eines traditionellen ERP-Systems

C# .NET Microsoft SQL-Server ...
Ablösung eines traditionellen ERP-Systems durch eine flexiblere und branchenspezifische Eigenentwicklung (part time, beratend und entwickelnd) 
  • Aufbau einer Service-Broker Architektur auf Basis von Webservices
  • Apache Kafka als Event Streaming Hub zur Koordination von Microservices
  • Handling von verteilten Datenbanken und Transaktionen
  • Anbindung neuer Microservices mit geringstmöglichen Aufwand
  • dynamischer UI-Client zur Bearbeitung neuer Daten ohne Anpassungsaufwand
  • Integration des Produkt Information System (PIM)
  • Integration des Online-Shops
  • Anbindung an die Produktionsfläch
  • Nutzung von Container-Services
C# .NET Microsoft SQL-Server PostgreSQL REST HATEOAS (Hypermedia as the Engine of Application State) Entity Framework JavaScript NUnit Docker
2 Jahre 1 Monat
2021-01 - 2023-01

Ablösung des Identity Providers einer Bank durch eine Eigenentwicklung

Java 11+ Maven GIT ...
Dekommisionierung von Oracle Identity Management (end of life) und Entwicklung einer modernen Ersatzlösung für folgende Aufgaben:
  • Import der Personaldaten aus SAP HR
  • Plausibilitätsprüfungen um Erfassungsfehler zu erkennen und zu beseitigen
  • Provisionierung von LDAP / Active Directory
  • Provisionierung des deutschlandweiten Zugangsssystems für Gebäude (SIPORT)
  • Provisionierung der bankweiten Betriebsdatenbank
  • Provisionierung des Core Banking (CORE24)
  • Provisionierung des Document Management Systems (DOXIS)
  • inkremtieller Sync mit geringer Latenz durch Verwendung eines Push-Modells
  • regelmässiger Full-Sync für zusätzlichen Konsistenz und Recovery (= Auto-Repair)
  • Synchronisation in Hin- und Rückrichtung (Soll / Ist-Abgleich)
Java 11+ Maven GIT Oracle SQL Siemens Siport Core24 Doxis Active Directory LDAP unbound ldap sdk JDBI Spring Boot JUnit
2 Jahre 2 Monate
2020-09 - 2022-10

Implementierung eines Verkaufsschnittstelle zu eBay / Aftersales im B2C-Bereich (part time)

  • automatisierter Import der BMEcat Produktdaten per Web-API
  • Provisionierung der Shop-Platform in der Cloud
  • Abgleich der eBay-Listings und Orders mit dem Händler-Datenbank
  • Anbindung und Versorgung der Ebay-API
Kotlin, Gradle, JOOQ, SQL, PostgreSQL, JUnit, eBay API, Aftersales API
5 Monate
2021-08 - 2021-12

Implementierung eines Provisionierungsservice zum Identity Management

UnboundID LDAP JDBC JDBI ...
Für das Identity-Management einer Direktbank wurde ein Service zur Provisionierung der Infrastruktur entwickelt. Dieser löst eine proprietäre Schnittstelle ab die end-of-life ist.
  • Anbindung und Provisionierung von Active Directory (LDAP)
  • Abgleich von SQL-Datenbanken mit Benutzerdaten
  • Anbindung an Datenlieferanten (Import-Batches, IAM-Webanwendung)
  • Kommunikation mit asynchronem Messaging
  • Fokus auf hohe Zuverlässigkeit und Durchsatz
UnboundID LDAP JDBC JDBI Java Messaging (JMS) Oracle Database Microsoft SQL Server Maven Java 11
3 Monate
2021-05 - 2021-07

Eigen-Implementierung eines SAML Identity Providers

Kotlin Ktor Java Cryptography Architecture (JCA) ...
Eigen-Implementierung eines SAML Identity Providers:
  • Implementierung von SAML Core (Bindings, Protocol, Verwaltung der Sessions, Signature)
  • Implementierung von Kerberos als Authentication Context
  • Windows-Authentifizierung mit SPNEGO (Kerberos-Ticket) im Browser (low-leve Implementierung mit Java Crypto Architecture und Ktor)
  • User-Lookup in Active Directory mit LDAP Client Binding
  • Handling von Zertifikaten und Keys (X.509, RSA, EC, DSA keypairs
  • XML-Signatur und XML-Encryption
  • Migration bestehender SAML-Clients aus WSO2 Identity Provider
  • Import / Export von SAML-Metadata
Kotlin Ktor Java Cryptography Architecture (JCA) Bouncy Castle Security Provider Unbound LDAP Java XML API X.509 ASN.1 Certificate und Key Encoding (DER/PEM/PFX/PKCS) Apache Santuario Oracle PostgreSQL
8 Monate
2020-10 - 2021-05

Neuentwicklung eines API Gateway

Java Kotlin Maven ...
  • Planung und technische Umsetzung
  • Management von APIs (Lifecycle, Security, Subscriptions, Publishing, Versioning, etc.)
  • Verarbeitung von Backend-Calls über API Processor (Security, Traffic Monitoring, Hig Availability, Security, Load Balancing)
  • Definition der APIs per OpenAPI v3 Spezifikat
  • flexible Backend-Anbindung (Authentication, Connection Pooling, Request / Respons Streaming, Failover Handling)
  • Anbindung der Firmen-Infrastruktur (Services, Users, Mainframe System)
  • Horizontale Skalierung und Ausfallsicherheit (No Single Point of Failure, Shared State)
  • Seamless migration von WSO2 API Identity Provider auf Eigenimplementierung 
  • Testen in Container Images mit Docker Compose
  • Deployment auf Windows / Cent OS (linux)
Java Kotlin Maven Gradle WSO2 API Gateway OAuth2 OpenID Connect PostgreSQL Oracle IBM CICS SQL Kotlin Exposed Kotlin coroutines kotlinx.serialization Apache Jackson OpenAPI v3 Docker (Compose) WSO2 Api Manager Apache Ignite jUnit kotest mockk Jenkins
7 Monate
2020-03 - 2020-09

Neuentwicklung eines Identity Providers

  • Evaluieren von existierenden Lösungen (Ergebnis: Eigenimplementierung)
  • Management von Clients (OAuth2, Single Sign On, Subscriptions, Permissions)
  • Token Management (Access tokens, Refresh Tokens, Json Web Tokens (JWT), Consent Management, Token Revocations, Monitoring)
  • Anbindung von PSD2 TPP Clients (AIS / PIS / PIIS) mit X.509 Client Certificates
  • Ablösung des bestehenden WSO2 Identity Providers im laufenden Betrieb
  • Deployment auf Windows und Cent OS (Linux)
  • Einführen von Kotlin als Programmiersprache und Migration von Java Code
  • Testen in Container Images mit Docker Compose
  • Deployment auf Windows / Cent OS (linux)



Java Kotlin Maven Gradle WSO2 API Gateway OAuth2 OpenID Connect PostgreSQL Oracle IBM CICS SQL Kotlin Exposed Kotlin coroutines kotlinx.serialization Apache Jackson Docker (Compose) Apache Ignite JUnit kotest mockk Jenkins Kotlin
1 Jahr 3 Monate
2019-01 - 2020-03

Umsetzung des PSD2-Standard

PSD2 OAuth2 OpenID Connect (OIDC) ...
  • Umsetzung der PSD2-Schnittstelle
  • Technical Lead
  • Umsetzen einer Identity Management Infrastruktur (OAuth2, OpenID Connect)
  • Anbindung der Third Party Provider (TPP)
  • Schaffung von robusten und hochsicheren Services (Verfügbarkeit 24/7)
  • Integration der bestehenden Infrastruktur in die Abläufe (API-Endpunkte, IBM CICS)
  • Anbindung der hauseigenen API-Schnittstellen
PSD2 OAuth2 OpenID Connect (OIDC) SAML WSO2 Identity Provider WSO2 Application Manager HTTP REST Anbindung an IBM/CICS Kanban Java 11 CI/CD Pipeline Oracle Database Redis Apache Ignite Thymeleaf JUnit Mockit
Bankendienstleister
4 Monate
2018-09 - 2018-12

Weiterentwicklung eines Systems zur Berechtigungsverwaltung

Java Apache Wicket Hibernate ...
  • Beseitigung von Performance-Bottlenecks (insb. in Hibernate)
  • Erweiterung des Systems zur Verwaltung von automatisierten Systemkonten
  • Umsetzung interner Banken-Prozesse
  • Migration von Wicket 7 auf Wicket 8
  • Verbesserung der Test-Coverage und Testability
Java Apache Wicket Hibernate JUnit Mockito; Scrum; JUnit; Jenkins
Bank
10 Monate
2018-03 - 2018-12

Implementierung eines Systems zur Analyse von Transaktionen

Java Spring Boot RESTful Services ...
  • Aufbau einer skalierbaren Architektur
  • Anbindung eines Fintech-Service zur Klassifizierung der Transaktionen
  • DSGVO-konforme Speicherung der Kundendaten
  • Analyse der Transaktionsdaten zur Bestimmung von Metriken für den Bankkunden
  • Verwendung von Spring Boot 2 zur Bereitstellung von RESTful Services
  • Anbindung an Transaktions-Provider per Apache Kafka
  • API-Dokumentation mit Swagger
  • Speicherung und Aggregation in Oracle Database (Anbindung per Spring JDBC)
  • Tuning und Partitioning des Oracle-Systems 
Java Spring Boot RESTful Services Oracle SQL Database Apache HTTP Client Spring JDBC JUnit Mockito; Scrum; Jenkins
Bank
11 Monate
2018-02 - 2018-12

Weiterentwicklung eines Services zur Kontenanbindung an Fremdbanken

Java Spring Boot HTTP ...
  • Verwendung z.B. in der Kontenansicht der Bankkunden ("Multibanking")
  • Erweiterung der bankeninternen HTTP-Schnittstelle
  • DSGVO-konforme Speicherung der Kundendaten
  • Migration Spring Boot von 1.x auf 2.x
  • Anbindung an SQL-Datenbank mit Hibernate
  • hohe Unittest-Abdeckung (test driven development; JUnit; continuous integration)
Java Spring Boot HTTP RESTful Services Hibernate JUnit Mockito Scrum Jenkins
1 Jahr 2 Monate
2017-11 - 2018-12

Weiterentwicklung der Online-Platform für die Konto/-Depotinhaber

Java Apache Wicket Rest-Services (HTTP-Client) ...
  • Umsetzung neuer Features
  • kontinuierliche Verbesserung der Usability
  • Anbindung neuer Schnittstellen per REST
  • Berücksichtigung von Lastverhältnissen (z.B. bei Zugriff auf Umgebungs-Systeme)
  • Anwenden von Best Practices (clean code, test driven development, refactoring)
Java Apache Wicket Rest-Services (HTTP-Client) HTML CSS JavaScript Spring Boot 2
Bank
2 Jahre 3 Monate
2015-08 - 2017-10

Implementierung eines Media-Service

C# .NET Windows Service ...
  • Um die Verwaltung von Medien (Bilder / Dokumente) innnerhalb der Webseite, aber auch in den zahlreichen firmeninternen Anwendungen zu erleichtern und zu vereinheitlichen, wurden
    dies in die SQL-Datenbank verlagert (einheitliches Backup / Transaktionale Sicherheit / hohe Performance durch SQL-Filestreams)
  • Speicherung von Bildern + Dokumenten in SQL Server (mit File Tables / File Streams Support)
  • sehr schnelles Laden der Bilder mit hochoptimierten Routinen
  • Transformieren der Bilder je "Kanal" (Auftragen von Wasserzeichen, skalieren, Schärfefilter anwenden, Meta-Daten einfügen, etc.)
  • schnelle Bildtransformationen (z.B. keine globalen GDI-Locks in Windows, multi threading)
  • Integration eines Frontend Proxy (nginx) zum Langzeit-Caching dieser Bilder
  • Erzeugen von Crypto-Hashes innerhalb von "pretty" URLs um diese Bilder mit maximaler Cache-Dauer auszuliefern (ein Jahr, maximaler Wert gemäß RFC)
  • sofortiges Invalidieren des Caches bei Veränderung des Bildes oder dessen kanalabhängiger Bildtransformation (z.B. neues Wasserzeichen, anderer Schärfefilter)
  • Auslieferung aller benötigten Größen eines Bildes (welche aus einem hochaufgelösten Original errechnet werden)
    aktuell werden mit diesem Service die komplette eBay Platform, Preisportale, Amazon, mehrere Shops und die zahlreichen internen Anwendungen versorgt
C# .NET Windows Service ASP.NET Web API GIT NUnit
Autoteileversender
7 Monate
2017-03 - 2017-09

Neuimplementierung einer Online-Platform für einen großen Autoteileversender

Elasticsearch Kibana Apache Spark ...
Bereitstellen einer eigenen Analytics-Platform (Erstellung eines funktionsfähigen Prototypen)
  • Beratung der Fachseite; Definition der KPI Metriken; Erstellen einer Zieldefinition
  • datenschutzkonforme Analyse des Live-Traffic
  • Echtzeitdarstellung der Analytics-Daten mit Elasticsearch + Kibana
  • Provisionierung von den benachbarten Systemen (Data Warehouse, ERP, etc.)
  • Logging von firmenweiten Events auf einem Kafka Event Bus (add to cart, exit site, convert to checkout / order, place order, ship packet, cancel order, etc.)
  • Aggregation von User-Sessions, Conversions, cross-device tracking
  • Verarbeitung großer Datenmengen (big data: batch / stream based)
  • Geo-Lokation berücksichtigen (Tracking + Anwendungsverhalten + DoS-Erkennung)
Elasticsearch Kibana Apache Spark Apache Flink Apache Kafka Machine Learning Java Kotlin Scala C# IntelliJ IDEA Maven Apache Kafka Apache Cassandra GIT NUnit JUnit
Autoteileversender
9 Monate
2017-01 - 2017-09

Neuimplementierung eines Online-Platform für einen großen Autoteileversender

.NET C# HTML ...
SEO-Optimierung (on-site) des Shops
  • Sicherstellen und Optimieren der Crawlability der Seite (geringer Seitentiefe, Berücksichtigung diverser Filterkriterien, etc.)
  • Analyse von Analytics-Daten zur Verbesserung des Shops
  • Vermeidung von Duplicate Content bei mehrsprachigen Seiten resp. Domains
.NET C# HTML TypeScript Google Analytics + eigene Analytics-Plattform GIT NUnit Projekthistorie
Autoteileversender
2 Jahre 2 Monate
2015-08 - 2017-09

Entwicklung der Shop-internen Suche mit Elasticsearch

Elasticsearch (v2.x später v5.x) SQL Server ...
  • Findung der idealen Lösung in enger Kommunikation mit Fachseite
  • Findung der geeigneten Mechanismen zur Umsetzung (Score, Relevanz, Latenz bei Live-Suche, Aggregationen über Gruppen, Facetten, usw.)
  • Unterstützung von Mehrsprachigkeit (Texte, language fallback, natural language processing (NLP), word stemming)
  • Synchronisation der SQL-Daten mit dem Suchindex in ca. 2 Sekunden (lambda-Architektur); Full-Resync (periodisch), Delta-Sync (je SQL change, row-based); Full-Rebuild (z.B. bei Schema-Änderungen)
  • Suche wird explizit durch Besucher verwendet aber auch intern für den Seitenaufbau (schneller + kostengünstiger als die SQL-Datenbank (SAAS) in der Cloud)
  • schnelle Antwortzeiten (meist 2-40 ms für die Suche über ca. 1.000.000+ Artikel, anhängig von den jeweiligen Parametern der Suche); dadurch zufriedene Kunden und
    gutes Ranking in Suchmaschinen
  • Ähnlichkeitssuche (n-Gram, edge-Gram, prefix, fuzzy, Levenshtein-Damerau, Keyword Aggregations, Boosting, Mehrsprachigkeit, Stemming, TF-IDF vs. BM25)
  • Autosuggest (auf Basis von Kategorie, Fahrzeug, Produkt)
  • Filterung über alle Artikel, Ermittlung aktiver Kategorien unter Berücksichtigung von Verfügbarkeit + aktueller Fahrzeugauswahl (ganz und teilweise)
  • Priorisierung der Suchergebnisse (Top-Seller, Umsatzbringer, Produkte mit kurzer Lieferzeit) ohne dabei die Suchkriterien zu ignorieren
  • zahlreiche Filtermethoden + Aggregationen (Benachbarte Werte mit Proximity-Score; vonbis Abfragen; Unterelement von; , z.B. Anzahl der Produkte je Kategorie unter
    Berücksichtigung von Kindkategorien, Alle Fahrzeuge einer bestimmen Gruppe, z.B. Model oder Antriebsart, und vieles mehr)
  • Optimierung der Suchrelevanz entsprechend den Wünschen der Geschäftsleitung
Elasticsearch (v2.x später v5.x) SQL Server C# Azure Cloud Java Windows Service GIT NUnit JUnit Teamcity
Autoteileversender
2 Jahre 2 Monate
2015-08 - 2017-09

Neuimplementierung des Shop-Frontends

Elasticsearch JavaScript / TypeScript SCSS / SASS ...
  • Implementierung der Anwendungslogik (Data-Layer, Service, App); modularer, wartbarer Code; hohes Maß an Typsicherheit (auch in den Views); TypeScript (Codegenerierung für typsichere API-XHR-Calls von JavaScript an den Shop; hohe Refactoring-Sicherheit für
    schneller Anpassungen)
  • Anbindung an die Suche (eigenes Unterprojekt)
  • Mehrsprachigkeit des Shops auf allen Ebenen (Oberflächentexte HTML / JavaScript, Berücksichtigung der Browsersprache incl. Fallback, mehrsprachige Produktdaten und Suche); Unterstützung von verschiedenen Shop-Layouts für verschiedene Brands
  • Caching-Layer (1st level in memory, 2nd level in NoSQL-Store; JSON-Serialisierung)
  • massives Caching der gerenderten Views und Resourcen durch Frontend-Proxy (nginx); optimale Antwortzeiten, auch um DDoS-Attacken besser zu bewältigen
  • Share nothing Architektur; no single point of failure; Horizontale Skalierung aller Komponenten (scale out)
  • SQL Datenbank: In Production Code durch SQL Prozeduren (hohes Maß an Optimierung), Unit Testing mit Entity Framework (viele Freiheiten, geringer Testaufwand); viel Erfahrung mit Datenbank-Bottlenecks, Optimierung, Execution Plans
  • Bundling der Anwendung erst mit gulp, später mit Webpack (obfuscation, optimization, SCSS to CSS, JavaScript Bundles, TypeScript to JavaScript, multi-layout CSS)
  • Umsetzung der Views (Responsive Design, Semantic Markup wg. SEO, Rich Snippets, typesafe Razor Views); Integrieren von Designs von Medien-Agenturen
  • Testing (Unit + Integration Testing, Continuous Integration + Test + Delivery mit Teamcity) ASP.NET MVC, ASP.NET Web API, C#, Redis, SQL Server, hand-crafted SQL
Elasticsearch JavaScript / TypeScript SCSS / SASS CSS HTML Entity Framework (unit test only) JSON.NET GIT Visual Studio + Resharper GIT NUnit
Autoteileversender
2 Jahre 2 Monate
2015-08 - 2017-09

Neuimplementierung eines Synchronisationsdienst

C# Windows Service SQL Server ...

Neuimplementierung eines Synchronisationsdienst zum Abgleich der Shop-Daten in der Cloud mit den Stammdaten der Firma im lokalen Rechenzentrum

  • Vorhalten und Abgleichen von operativen Daten in der Cloud (Microsoft Azure)
  • automatisiertes Recovery & Installation neuerder Cloud-Daten aus den Firmendaten möglich
  • effiziente Erkennung von Datenbankänderungen (Zeitstempel, trigger / event-based, Master-Master-Replikationskonflikte, Entities mit Abhängigkeiten auflösen, Race- Conditions, etc.)
  • Datensynchronisation auf logischer Ebene (master-slave, master-master-Szenarien)
  • Verteilen der multi-channel Daten auf die jeweiligen Synchronisationspartner (= Channel)
  • Low-Level Implementierung auf TCP/IP-Ebene mit eigenem Serialisierungscode und ereignisbasiert System um maximale Performance zu erzielen
  • Auto-Discovery der Peers und robustes, fehlertolerantes Verhalten
  • Minimierung der benötigten Bandbreite / Maximierung des Durchsatzes
  • fehlerresistentes Verhalten (Recovery / Replay)
C# Windows Service SQL Server low level TCP/IP GIT NUnit
Autoteileversender
1 Jahr 6 Monate
2014-01 - 2015-06

Modernisieren der eBay-Schnittstelle

.NET C# eBay API ...
  • Refactoring des Code (Clean Code, Einführung einer Layer-Architektur); Erhöhung des Durchsatzes (über 1 Million eBay API-Calls pro Tag); Optimierung der ERP-Anbindung, Fehlertoleranz
  • Schnittstellen: Orders von eBay abholen, Auktionen aktualisieren mit kurzer Latenz ( bei über 100.000 gleichzeitig laufenden Auktionen), Wettbewerbsanalyse, periodische
    Integritätsprüfungund Abgleich von Firmen-Stammdaten und laufenden eBay-Auktionen
.NET C# eBay API TPL Dataflow Windows-Service GIT NUnit
Autoteileversender
2 Monate
2014-03 - 2014-04

Berechung des aktuellen Lagerbestandes

.NET C# SQL-Server ...

  • Aktualisierung der Verfügbarkeit von Set-Artikeln unter Berücksichtigung von Gewinnmarge, Kombinationsmöglichkeiten, technischen Einschränkungen, Abverkaufsreihenfolge zur Gewinnmaximierung und Sicherstellen kurzer Lieferzeiten
  • Artikelanzahl ca. 800.000+ (auf Lager bzw. kurzfristig lieferbar)

.NET C# SQL-Server Windows Service SVN NUnit
Online-Sellers
7 Monate
2013-09 - 2014-03

Pflege des Alt-Shops bei einem Online-Händler vor dessen Ablösung

.NET C# VB.NET ...
  • Refactoring der Codebasis (bessere Wartbarkeit, leichtere Migration zum neuen Shop); Performance Tuning (wg. schlecher Conversion Rate); Extraktion von Funktionalität in
    Microservices, Libraries + neuere Systeme; Fehlerbehebung; bessere Anbindung an externen Datenprovider (+ Caching)
  • Ablösung / Neuimplementierung von Fremdmodulen (closed-source, 3rd party) im Rahmen der bevorstehenden Ablösung
.NET C# VB.NET SQL Server ASP.NET Web Forms Sage ERP GIT NUnit
1 Jahr 7 Monate
2012-01 - 2013-07

Datenbankgestützte Intranet-Anwendung

Berater und Entwickler Java 6 Apache Wicket 5 + 6 Spring Framework 3 ...
Berater und Entwickler

Beratung zu und Weiterentwicklung an einer Intranet-Webanwendung zum Identy-Management der Mitarbeiter

  • Zur firmeninternen Verwaltung von Rollen, Berechtigungen und Zugehörigkeit der Mitarbeiter wird eine datenbankgestützte Intranet-Anwendung eingesetzt. Neben der Provisionierung und dem Abgleich von Rechten auf die Umsysteme (Domain-Controller, LDAP, SAP, Datenbanken, usw.) wird Wert auf Reporting und Monitoring gelegt wie es insbesondere bei börsennotierten Unternehmen üblich ist
  • Optimierung der Performance aufgrund der zahlreichen Berechtigungen und Anbindung der Umsysteme stellten besondere Herausforderungen dar. Auch eine hohe Codequalität war sehr wichtig da es eine offizielle Aufgabe der Abteilung darstellt, Best Practices an andere Abteilungen als Referenz herauszugeben und selbst vorzuleben.

Java 6 Apache Wicket 5 + 6 Spring Framework 3 Hibernate QueryDSL Apache Maven 3 JUnit SAP JCo Velocity LDAP Native SQL (Spring JDBC) jQuery Eclipse IntelliJ IDEA
Direktbank
1 Jahr 7 Monate
2010-06 - 2011-12

Middleware-Integration und Anbindung Business Logic

  • Telekommunikationsdienstleister: diverse Java-Adapter zur Anbindung an Message Queues (message driven middleware) + ABAP Application Server (business logic) per JCo zur Integration von SAP-Prozessen, Anbindung von Datenlieferanten, Qualitätsauswertungen


Java SAP Java Connector Apache Wicket Tomcat Maven IntelliJ IDEA JUnit
2 Jahre 3 Monate
2008-04 - 2010-06

Erweiterungen am SAP-System

  • Entwicklung und Änderung von ABAP-Bausteinen, Integration mit Java


ABAP SAPGUI Java JCo UML
3 Jahre 2 Monate
2007-05 - 2010-06

Entwicklung einer konzernweiten Anwendung zur vollständigen Verwaltung der Identität eines Benutzers und der zugehörigen Kennungen vom Firmeneintritt bis zum Verlassen

Berater, Architekt, Entwickler
Berater, Architekt, Entwickler

  • Die Besonderheiten der SAP-Umgebung müssen im Web benutzerfreundlich präsentiert werden. Die Verwaltung der User entspricht den SOXRichtlinien und erlaubt jederzeit eine Kontrolle der Abläufe durch externe SOX-Prüfer.
  • Rollenbasierte Rechteverwaltung steuert den Zugriff auf die Funktionalität

Java 5 ABAP SAP-Funktionsbausteine (rfc calls) Jetty 6 SAP J2EE Web Engine Apache Wicket 1.3 XHTML CSS Barrierefreiheit Apache Ant IntelliJ IDEA 7/8/9 SAP Java Connector (SAP JCo) SAPGUI Retrotranslator Subversion SSO (Single Sign On) mit Kerberos bzw. SPNEGO und LDAP-Usern
5 Monate
2009-11 - 2010-03

Migration von Geschäftsdaten in SAP

z.B. Erstellen von Reports zur Migration von SM-Aufträgen, wegen fehlender BAPIFunktionalität auch unter Verwendung von Batch-Input, Erstellen von Auswertungen, Datenanalyse

Technologie: Eclipse, Java, SAP R3, ABAP, SAPGUI, SAP JCo, UML

Aus- und Weiterbildung

Aus- und Weiterbildung

  • Abitur am Kepler-Gymnasium Weiden
  • Abschluß: Diplom-Informatiker (FH) mit Abschlußnote: 2,1 (Studienort: Regensburg)
  • Abschluß: Vertriebsingenieur
  • Ein Jahr Auslandsstudium in den USA an der University of Connecticut
  • In Englisch verfasste Diplomarbeit: Titel auf Anfrage

Position

Position

  • Technical Lead
  • Senior Developer
  • Senior Architect

Kompetenzen

Kompetenzen

Top-Skills

Software Architect Senior Developer DevOp

Produkte / Standards / Erfahrungen / Methoden

CV

Profil
Mit einem Fokus auf Softwareentwicklung und Technologie erarbeite ich mit ihnen verständlich und zielgerichtet eine optimale Lösung. Leistungsfähigkeit, Kosteneffizienz, Termintreue und hohe Wartbarkeit stehen im Vordergrund. Es erfolgt eine kontinuierliche Betreuung - sowohl fachlich als auch technisch - von der Idee bis zur Inbetriebnahme.

Zentrale Themen

  • Erarbeiten von platformübergreifenden, komplexen Softwarelösungen (vom Design bis zur Umsetzung)
  • Aufbau von verteilter, skalierbarer, sicherer, hochverfügbarer Software
  • Umsetzung fachlicher Anforderungen in technische Konzepte
  • Experte für webbasierte Lösungen (frontend; backend; middleware; api services)
  • Cloud-basierte Lösungen (cloud first / on premise / hybrid / edge
  • Machine + Deep Learning / AI / KI / angewandte Statistik / höhere Mathematik
  • Java Platform (Java / Kotlin / Scala)
  • .NET-Plattform
  • Datenbanken / Big Data (SQL + NoSQL)
  • Clean Code / Refactoring / Functional Programming
  • Agile Methoden (Scrum / Kanban)


Technologien / Skills 

  • ale Entwicklung auf der Java VM
  • Elasticsearch (Textsuche per Ähnlichkeit (nGrams, Fuzzy, Levensthein-Damerau, TF-IDF / BM25), Aggregation, Denormalisierung, Visualisierung mit Kibana, Performance-Optimierung, Live-Betrieb)
  • Sicherheit im Web: HTTPS, Zertifikate, webspezifische Probleme wie Cookie-Hijacking, Cross-Site-Request-Forge javascript-eval(), Zertifikate, DNS, usw
  • Apache Wicket (Mitglied des Apache-Wicket-Entwicklerteams, Apache Committer)
  • angewandte Statistik / KI / neural networks: lineare Algebra, Statistik; linear / logistic regression, decision / random / boosted trees, support vector machines (SVM), naive Bayes; gradient descent; backpropagation; Metriken; clustering; dimensionality reduction; analytics; feature engineering; data cleaning; explorative data analysis (EDA); anomaly detection; PCA; multilayer, recurrent, convolutional neural network (CNN); natural language processing (NLP); Apache Mahout; Spark-ML; Flink-ML; pytorch; keras; numpy; pandas; seaborn; scikit-learn; scipy; deeplearning4j; nd4j 
  • Asynchrones Messaging: Apache Kafka, Java Messaging Services (JMS), IBM MQSeries
  • Clean Code Evangelist: Refactoring großer Codebasen, Static Typing, DRY (don?t repeat yourself)
  • skalierbare Umgebungen (Load-Balancing, Sticky-Sessions, share nothing, Clustering, Cloud, Datenbank, verteilter Cache, Session-Failover)
  • Web-Services / Micro-Services: SOAP, REST, async-I/O, WebSockets, OAuth, stateless services, scaling out, fault resilience
  • SQL-Anbindung per native JDBC, Spring-JDBC, Spring-Transactions, J2EE DataSources, XA-Transaktionen, Hibernate, jOOQ, QueryDSL, JPA
  • TCP/IP (Protokolle, Verwendung, Schwachstellen, Protokollanalyse mit Wireshark, IPv4, IPv6, UDP, DNS, ARP, etc.)
  • funktionale Programmierung (starker Fokus)
  • Netzwerksicherheit: Routing, VPN, Verschlüsselung, Authentifizierung, Integrität, Angriffserkennung und -abweh
  • Analyse des Datenverkehrs / Fehlersuche: u.a. Protokollebene mit Traffic-Analyzer (z.B. mit Etherreal / Wireshark
  • Verständnis zahlreicher Netzwerkschichten, auch bis auf Protokollebene: z.B. TCP, UDP, IP, SMTP, POP3, IMAP, FTP
  • Security: TLS, Kryptographie, X.509-Zertifikate, Public- / Private Key, Signatur, Zufallszahlen


Java Platform

Java, Kotlin, Scala, Apache Ant, Maven, Gradle, Kotlin, Scala, Apache Wicket, Tomcat, CGLib, EHCache, Caffeine, Goggle Guice, JDBC, JDBI, JUnit, TestNG, JavaMail, Spring + Spring Boot, JMS, JNDI, J2E, Servlets, vavr, jooq


Container / Deployment 

Kubernetes, Docker, Docker Swarm, cloud services


Functional Programming

Scala; Haskell; immutability; Monads; functional state; pure functions; side effects 


Kotlin 

kotlin.coroutines, kotlinx.serialization, Scala, Apache Wicket seit Version 1.3, Tomcat, CGLib, xom, dom4j, xom, EHCache, Caffeine, kotlin coroutines, kotest, mockk, Goggle Guice, Google Web Toolkit (gwt), JDBC, JUnit, TestNG, JMeter, JRuby, JavaMail, Logging (slf4j, commons-logging, log4j), Spring Framework, Struts, Tapestry, JMS, Applets, JSP, Taglibs, JNDI, multithreading, AWT, Swing, Java IO / NIO, Reflection, EJB, Servlets, Beans, JAAS


Javascript 

node.js; vite; npm; angular; jquery; webpack, solid.js, svelte.js; react.js


Inversion of Control / Dependency Injection 

Spring Framework, AOP, IoC, Google Guice, pico container, bytecode instrumentation (salve), Autofac, Ninject, inversion of control, mocking, proxy


Entwicklungswerkzeuge / -tools und IDEs 

Jetbrains IntelliJ IDEA, Jetbrains Rider, Jetbrains pyCharm, Jetbrains Data Grip; Jetbrains WebStorm; Jetbrains RustRover; Visual Studio, vi (vim), make, cmake, ant, msbuild, Maven, Gradle, Nexus, Hudson / Teamcity (CI, Continuous Integration, Continuous Delivery), SBT, Gradle, Eclipse


Apache Wicket 

Mitglied im Apache Wicket Team seit Release 1.4, mehrere Projekte mit Wicket realisiert


Elasticsearch / Opensearch 

ELK-Stack, Kibana, Logstash, Apache Lucene, Facets, Aggregations, TF-IDF, Okapi BM25, levenshtein, fuzzy, natural language processing (NLP), clustering, n-grams, relevance scoring, data preprocessing, debug score via explain API, handcrafted JSON


.NET Framework 

C#, Blazer; ASP.NET, IIS; .NET 1.0 - current; Visual Studior; Jetbrains Rider; TPL Dataflow; Entity Framework


Big Data / Clustered Computing 

Apache Spark; Apache Flink; Scala; Apache Cassandra; Apache Kafka; Elasticsearch; Hadoop FS (hdfs)


Clean Code 

Best Practices, Refactoring, Patterns, Wartbarkeit / Refactoring großer Codebasen, Testability; typesafe refactoring


NoSQL 

Redis; Apache Cassandra; Elasticsearch; MongoDB; Apache Kafka


Kommunikation 

Rabbit MQ, Apache Kafka, Java Message Services (JMS=, IBM MQ Series, Windows / Unix networking, secure shell (ssh), REST, TCP, UDP, IP, ICMP, IPv6, Packet Sniffing + Analysis, OpenVPN, IPsec, IMAP; SMTP, Active Directory / LDAP; eBa API; SAP Java Connector (SAP JCo) 


Machine Learning 

angewandte Mathematik: lineare Algebra, Statistik; Hypothesen; Verteilungen; statistische Tests; Regressionsverfahren; Validierung; linear / logistic regression, decision trees, support vector machines (SVM), naive Bayes; gradient descent; Metriken; clustering; dimensionality reduction; analytics; feature engineering; data cleaning; explorative data analysis (EDA); anomaly detection; principal component analysis (PCA); ensemble learning; multilayer, recurrent neural network (RNN), convolutional neural network (CNN); natural language processing (NLP); Apache Mahout; Spark-ML; Flink-ML; pyTorch; keras; numpy; pandas; seaborn; scikit-learn; scipy; deeplearning4j; nd4j, jax, flax


SEO 

on site optimization, Google Analytics, Google Tag Manager, Google Page Speed Optimierung, crawlability, site architecture, link design, change frequency, multi-lingual sites, canonical urls; TF/IDF


Security 

Verschlüsselung, Authentifizierungsmechanismen, synchrone / asynchrone Verschlüsselung, Zertifikate, Signaturen, HashVerfahren, Trust-Management, TLS / SSL, X.509, Public / Private Ky, Pseudozufallszahlen (PRNG), OpenVPN, IPS SAML, JWT (Json Web Token); PKIX (Public Key Infrastructure)


Single-Sign-On (SSO) 

OAuth 2, OpenID Connect (OIDC), JWT, SAML, SPNEGO, NTLM, Kerberos


Softwaredesign 

design patterns, clean code, agile best practices, continuous Integration, continuous delivery, top-down / bottom-up design, pragmatic development, pair programming, continuous refactoring, test-driven development, strict type safety, scalable and maintainable software


Testing 

JUnit, NUnit, TestNG, Mockito, Moq


Versionskontrolle (SCM) 

GIT, gitlab, gitflow, github, gitea, Subversion (SVN), CVS


Web / Frontend 

stateless architecture (share nothing); HTML 5, CSS 3, Javascript, jQuery, JavaScript, TypeScript; CSS, JSON, SEO optimization, semantic markup, jetty, netty, Tomcat, Microsoft IIS, Apache httpd, nginx, haproxy, JBoss / Wildfly / J2E-app servers, webpack, gulp, ASP.NET Razor, webpack, gulp, SCSS / SASS


XML 

Push- und Pull-Parser, XML, XSL, DTD, XML-Schema, WSDL, Stream-/DOM-Parser, Stax, SAX, SOAP incl. Extensions: Verschlüsselung, Signatur, Routin


Betriebssysteme

HPUX
sehr gute Kenntnisse, u.a. Softwareportierung von Version 10.20 auf 11.00
Mac OS
seit Mac OS X 10.4 (Tiger, Leopard, Snow Leopard)
MS-DOS
OS/2
PalmOS
SUN OS, Solaris
gute Kenntnisse, Berufserfahrung mit Solaris 7 und 8 (sparc-Architektur)
Unix
Solaris, HP-UX, AIX, FreeBSD
Windows
sehr gute Kenntnisse: Windows 9x / NT / 2000 / XP / 2003 / Vista
Linux
Debian, Ubuntu, RedHat, Gentoo, Slackware, Suse, CentOS
Android
Apple iOS

Programmiersprachen

ABAP4
Assembler
Basic
QBasic, Visual Basic, VBA
C
C#
C++
dBase
Groovy
Imake, GNU-Make, Make-Maker etc...
insbesondere durch breiten UNIX-Hintergrund
Java
Java - Schwerpunkt: sehr gute Kenntnisse in Sprache, Laufzeitumgebung und Frameworks, Java Script: sehr gute Kenntnisse, insbesondere mit Ajax / DHTML / DOM / jQuery
JavaScript
Java - Schwerpunkt: sehr gute Kenntnisse in Sprache, Laufzeitumgebung und Frameworks, Java Script: sehr gute Kenntnisse, insbesondere mit Ajax / DHTML / DOM / jQuery
Lisp
Scheme (Dialekt von Lisp)
Maschinensprachen
Objective C
gute Kenntnisse (Apple iPhone + iPad, OS X)
Perl
PHP
PL/SQL
sehr gute Kenntnisse: Oracle Forms Designer + Report Writer, Datenbanktrigger, Scripts, etc.
Scala
Scheme
Scriptsprachen
Shell
sh, ksh, tcsh, bash
TeX, LaTeX
Diplomarbeit damit verfasst
yacc/lex
Java (seit Version 1.0)
Kotlin
SQL
verschiedene Dialekte: PostgreSQL, SQL Server, Oracle
HTML 5, CSS, SCSS / SASS, LESS, JavaScript, TypeScript
Rust
Python
Haskell
Go

Datenbanken

Access
gute Kenntnisse
DAO
DB2
gute Kenntnisse auf verschiedenen Systemebenen
Interbase
JDBC
sehr gute Kenntnisse
MS SQL Server
sehr gute Kenntnisse
MySQL
MySQL: gute Kenntnisse
ODBC
Oracle
sehr viel Erfahrung: Administration, Konfiguration/Installation, Entwicklung mit Forms Designer + Reports Writer, SQL-Skripten, Low Level, Tuning
Postgres
gute Kenntnisse
Proprietäre DB
SQL
sehr gute Kenntnisse
xBase
SQL Server
PostgreSQL
SQL Server Message Broker
hand crafted SQL (strong skill)
T-SQL
PL/SQL
Hibernate
jooq
QueryDSL
Stored Procedures
Performance Tuning (insb. Oracle)

Datenkommunikation

Ethernet
Internet, Intranet
LAN, LAN Manager
Lightweight Directory Access Protocol (LDAP)
(u.a OpenLDAP)
Message Queuing
Java Messaging Service (JMS), IBM MQSeries
NetBeui
NetBios
parallele Schnittstelle
PC-Anywhere
Remote Method Invocation (RMI)
Router
RPC
SUN / Windows RPC; auch Java RMI und SOAP
Simple Object Access Protocol (SOAP)
SMTP
TCP/IP
sehr gute Kenntnis von Protokoll und Anwendung, Sicherheitsaspekte (Exploits etc.)
Token Ring
Windows Netzwerk
Winsock

Hardware

Emulatoren
HP
Silicon-Graphics
SUN

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.