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

Einsatzorte

Einsatzorte

Deutschland
möglich

Projekte

Projekte

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)
  • Erstellung von performanten SQL-Queries (Tuning / Indices / Partitioning)
  • hohe Unittest-Abdeckung (test driven; JUnit; continuous integration)
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

Bereitstellen einer eigenen Analytics-Platform (Erstellung eines funktionsfähigen Prototypen)

Elasticsearch Kibana Apache Spark ...
  • 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

SEO-Optimierung (on-site) des Shops

.NET C# HTML ...
  • 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: "Design and Implementation of a Distributed Virtual Machine" mit Note 1

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 dem Auftraggeber eine optimale Lösung. Kosteneffizienz, Leistungsfähigkeit, Termintreue und hohe Wartbarkeit stehen im Vordergrund. Es erfolgt eine kontinuierliche Betreuung - fachlich und technisch - von der Idee bis zur Inbetriebnahme.


Zentrale Themen

  • Erarbeiten von platformübergreifenden Lösungen bei komplexer Problemstellung (vom Design bis zur Umsetzung)
  • Aufbau von verteilter, skalierbarer, hochverfügbarer Software und Systemen (cloud / on premise / hybrid)
  • Experte für webbasierte Lösungen (frontend, backend, middleware)
  • Java Platform (multilingual, insb. Java / Kotlin / Scala)
  • .NET-Plattform
  • Datenbanken / Big Data (SQL + NoSQL)
  • Funktionale Sprachen
  • Agile Methoden (Scrum / Kanban)
  • Machine Learning / KI / AI / angewandte Statistik / Mathematik


Technologien / Skills 

  • multilinguale 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-Forgery, 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 -abwehr
  • 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


Schlagwörter / Index 

Java Platform 

Apache Ant, Maven, Gradle, Kotlin, Scala, Apache Wicket seit Version 1.3, Tomcat, SQL connection pooling (c3p0, commons dbcp, hikari), CGLib, dom4j, EHCache, Caffeine, Goggle Guice, Google Web Toolkit (gwt), JDBC, JDBI, JUnit, TestNG, JMeter, JRuby, JavaMail, Logging (slf4j, commons-logging, log4j, log4j2), Spring Framework, Spring Boot, JMS, JSP, Taglibs, JNDI, multithreading, AWT, Swing, Java IO / NIO, Reflection, EJB, Servlets, Beans, JAAS, vavr


Container / Deployment 

Kubernetes, Docker, Docker Swarm


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, socket.io, bower, npm, backbone.js, angular.js, jquery, angular, webpack


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 

Eclipse, Jetbrains IntelliJ IDEA, Visual Studio, vi (vim), make, cmake, ant, msbuild, Maven, Gradle, Nexus, Hudson / Teamcity (CI, Continuous Integration, Continuous Delivery), SBT, Gradle


Apache Wicket 

Mitglied im Apache Wicket Team seit Release 1.4, mehrere Projekte


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#, ASP.NET, IIS, GAC, ildasm, nant, .NET 1.0 - 4.0, Visual Studio, ReSharper, TPL Dataflow, NUnit, Moq, NLog


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


NoSQL 

Redis, Apache Cassandra, Elasticsearch


Kommunikation 

JMS, IBM MQ Series, Windows / Unix networking, Samba (SMB), ftp, ssh, scp, java rmi, SOAP, REST, TCP, UDP, IP, ICMP, packet sniffing, protocol analysis (wireshark), vpn, openvpn, IMAP, POP3, SMTP, Active Directory / LDAP, eBay 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


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 Key, cipher operation modes (cbc / ebc / ...), one-way hashing (AES, SHA, usw.), symetric/asymetric encryption, Pseudozufallszahlen, OpenVPN, IPSec, SAML


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
Schwerpunkt: Linux (Suse, Redhat, etc.), SUN Solaris, HP-UX, IBM AIX
Windows
sehr gute Kenntnisse: Windows 9x / NT / 2000 / XP / 2003 / Vista

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

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

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

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)
  • Erstellung von performanten SQL-Queries (Tuning / Indices / Partitioning)
  • hohe Unittest-Abdeckung (test driven; JUnit; continuous integration)
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

Bereitstellen einer eigenen Analytics-Platform (Erstellung eines funktionsfähigen Prototypen)

Elasticsearch Kibana Apache Spark ...
  • 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

SEO-Optimierung (on-site) des Shops

.NET C# HTML ...
  • 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: "Design and Implementation of a Distributed Virtual Machine" mit Note 1

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 dem Auftraggeber eine optimale Lösung. Kosteneffizienz, Leistungsfähigkeit, Termintreue und hohe Wartbarkeit stehen im Vordergrund. Es erfolgt eine kontinuierliche Betreuung - fachlich und technisch - von der Idee bis zur Inbetriebnahme.


Zentrale Themen

  • Erarbeiten von platformübergreifenden Lösungen bei komplexer Problemstellung (vom Design bis zur Umsetzung)
  • Aufbau von verteilter, skalierbarer, hochverfügbarer Software und Systemen (cloud / on premise / hybrid)
  • Experte für webbasierte Lösungen (frontend, backend, middleware)
  • Java Platform (multilingual, insb. Java / Kotlin / Scala)
  • .NET-Plattform
  • Datenbanken / Big Data (SQL + NoSQL)
  • Funktionale Sprachen
  • Agile Methoden (Scrum / Kanban)
  • Machine Learning / KI / AI / angewandte Statistik / Mathematik


Technologien / Skills 

  • multilinguale 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-Forgery, 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 -abwehr
  • 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


Schlagwörter / Index 

Java Platform 

Apache Ant, Maven, Gradle, Kotlin, Scala, Apache Wicket seit Version 1.3, Tomcat, SQL connection pooling (c3p0, commons dbcp, hikari), CGLib, dom4j, EHCache, Caffeine, Goggle Guice, Google Web Toolkit (gwt), JDBC, JDBI, JUnit, TestNG, JMeter, JRuby, JavaMail, Logging (slf4j, commons-logging, log4j, log4j2), Spring Framework, Spring Boot, JMS, JSP, Taglibs, JNDI, multithreading, AWT, Swing, Java IO / NIO, Reflection, EJB, Servlets, Beans, JAAS, vavr


Container / Deployment 

Kubernetes, Docker, Docker Swarm


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, socket.io, bower, npm, backbone.js, angular.js, jquery, angular, webpack


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 

Eclipse, Jetbrains IntelliJ IDEA, Visual Studio, vi (vim), make, cmake, ant, msbuild, Maven, Gradle, Nexus, Hudson / Teamcity (CI, Continuous Integration, Continuous Delivery), SBT, Gradle


Apache Wicket 

Mitglied im Apache Wicket Team seit Release 1.4, mehrere Projekte


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#, ASP.NET, IIS, GAC, ildasm, nant, .NET 1.0 - 4.0, Visual Studio, ReSharper, TPL Dataflow, NUnit, Moq, NLog


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


NoSQL 

Redis, Apache Cassandra, Elasticsearch


Kommunikation 

JMS, IBM MQ Series, Windows / Unix networking, Samba (SMB), ftp, ssh, scp, java rmi, SOAP, REST, TCP, UDP, IP, ICMP, packet sniffing, protocol analysis (wireshark), vpn, openvpn, IMAP, POP3, SMTP, Active Directory / LDAP, eBay 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


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 Key, cipher operation modes (cbc / ebc / ...), one-way hashing (AES, SHA, usw.), symetric/asymetric encryption, Pseudozufallszahlen, OpenVPN, IPSec, SAML


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
Schwerpunkt: Linux (Suse, Redhat, etc.), SUN Solaris, HP-UX, IBM AIX
Windows
sehr gute Kenntnisse: Windows 9x / NT / 2000 / XP / 2003 / Vista

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

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

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 GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

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

Das GULP Freelancer-Portal

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