Scala + Kotlin Senior Developer / Software Architect & Technology Consultant / Coach
Aktualisiert am 17.07.2021
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 02.08.2021
Verfügbar zu: 80%
davon vor Ort: 100%
Scala
MIcroservices
Kotlin
Java
JVM
Spring
kafka
Deutsch
Muttersprache
Englisch
sehr gut
Italienisch
Grundkenntnisse
Latein
Latinum
Spanisch
Grundkenntnisse

Einsatzorte

Einsatzorte

Augsburg (+100km)
Deutschland, Österreich, Schweiz
möglich

Projekte

Projekte

4 Jahre
2020-04 - heute

Architekturunterstützung

Architekt, Senior Developer, Technology Consultant, Coach Scala 2.12 SBT Arc42 ...
Architekt, Senior Developer, Technology Consultant, Coach

Architekturunterstützung, Senior Software Development, Clean Code Coaching, Unterstützung Development Prozessoptimierung

  • Refactoring des Codes mit Fokus auf Testbarkeit und Clean Code Prinzipien und Implementierung von Unittests
  • Unterstützung der Softwarearchitektur für das Produkt Bioprozess
  • GIT Pull Request Workshop
  • Coaching des Teams für TDD und Clean Code Mentalität bei der Entwicklung
  • Dokumentation mit Arc42
Scala 2.12 SBT Arc42 GIT Gerrit Scrum Akka Akka Actors Clean Code TDD Mockito UML
11 Jahre 11 Monate
2012-05 - heute

Erstellung einer Android App

Architect & Entwickler Android 2.3 und Android 4 Google Cloud-To-Device Messaging (C2DM) Google Cloud Messaging (GCM) ...
Architect & Entwickler

Erstellung einer Android App und einer Appengine Cloud Serverkomponente zur Überwachung von Öffnungszeiten eines Sport-Trainingsgeländes

  • Überwachung des Öffnungsstatus mittels Spring MVC Anwendung innerhalb einer Google Appengine Anwendung und Veröffentlichung der Informationen als REST-Service

  • Dynamische Push Benachrichtigung vom Server zu den Androiddevices mittels C2DM/GCM

Android 2.3 und Android 4 Google Cloud-To-Device Messaging (C2DM) Google Cloud Messaging (GCM) Intellij IDEA GIT Google Appengine Spring 3.1 REST Json
MCA
Augsburg
8 Monate
2019-05 - 2019-12

Senior Software Development

Senior Developer, Technology Consultant, DevOps Java 11 Spring Boot Kafka ...
Senior Developer, Technology Consultant, DevOps

Senior Software Development & Technology Consultant mit Java 11, Spring Boot, Kafka, Microservices, Docker, OpenShift und Kubernetes

  • Implementierung eines Order Workflows als Spring Boot Microservice für LKW Mautsysteme basierend auf Daten in Kafka Topics. Verwendung von tiefergehenden Kafka Streams Konzepten wie Processors (Punctuator) zur Umsetzung von resilienten Prozessschritten
  • Implementierung von Microservices mit Deployment als Docker Container auf OpenShift
  • Aufsetzen von Gitlab und Gitlab Runnern auf Kubernetes / Google Cloud zur Verbesserung der Entwicklungsgeschwindigkeit
  • Coaching des Teams für DevOps Mentalität bei der Entwicklung. Logging, Metriken, Alerting
  • Dokumentation mit Arc42
Java 11 Spring Boot Kafka Docker Openshift Google Cloud Kubernetes Engine Google Cloud Storage Gitlab Kibana Prometheus Grafana Arc42
Deutscher Kraftfahr Verbund
5 Monate
2018-12 - 2019-04

Senior Software Development

Architekt, Senior Developer, DevOps Scala 2.12 AWS AWS Lambda ...
Architekt, Senior Developer, DevOps

Senior Software Development mit Scala in AWS mit Microservices

  • Implementierung von User Stories einer B2C Direct Sale Microservice Applikation in Scala basierend auf AWS und docker. Use case: Kunden können ihre Gebrauchtfahrzeuge direkt an Händler verkaufen
  • Anbindung von Salesforce CRM über S3 (XML) mittels AWS Lambda in Scala
  • Technologieberatung im Bereich Kafka
  • Datenbankanbindung an AWS Aurora (MySQL) mittles Framework Doobie
  • Monitoring und Alerting mittels AWS Cloudwatch und Datadog
  • Continuous Deployment mittels Jenkins
Scala 2.12 AWS AWS Lambda Microservices Doobie Slick AWS MySQL Aurora Jenkins AWS Cloudwatch Datadog docker
autoscout24
1 Jahr 9 Monate
2017-04 - 2018-12

Senior Software Development

Architekt, Senior Developer Scala 2.11 + 2.12 Akka SBT ...
Architekt, Senior Developer

Senior Software Development und Architekturberatung in einem Big Data Projekt

  • Implementierung verschiedenster Microservices auf Basis von Kafka Realtime Features
    • Kafka Stream Apps
    • Kafka Connect (Source + Sink)
    • Interactive Queries
    • KSQL
  • ETL von Google Ad-Daten mittels Spark
  • Realtime Streaming, Normalisierung und Enhancement von Ad-Click DFP Daten nach Apache Kafka mittels Implementierung eines eigenen Kafka Connectors und Weiterverarbeitung mit Kafka Streams Microservices
  • Realtime Sessionizing von User Interaktionen im Web zur Aufbereitung für Machine Learning Algorithmen
  • Implementierung eines Kafka / Interactive Query REST Services zur Bereitstellung von mittels ML erstellten User Profilen für das Frontend
  • Dockerisierung der Kafka Connect Import Module und der Kafka Stream Applikationen
  • Integrationstest der Kafka Connectoren und Kafka Streaming Apps mittels Landoop Docker Kafka Umgebung und Coyote Integrationstests. Integration in CI/CD Prozess basierend auf Docker, Gitlab und Rancher
  • Anpassung, Bugfixing + PR für OpenSource JDBC Kafka Connector um diesen mit sehr großen MySQL Datenbanken verwendbar zu machen: URL auf Anfrage
  • Realtime Übernahme von Artikelcontent aus einer großen MySQL DB in ein Apache Kafka Topic (inkl. Änderungen in Realtime)
  • Beratung für das Aufsetzen von Buildprozessen für Scala/SBT
  • Monitoring der Kafka Connect + Kafka Stream Apps
  • Mitentwicklung einer Maschine Learning Recommendation Applikation basierend auf PredictionIO
  • Mitentwicklung + Verbesserung des Open Source Projektes PredictionIO (Scala Projekt) (Recommender): URLs gerne auf Anfrage
  • Aufsetzen, Konfigurieren und Performanceverbesserungen eines Spark Standalone Clusters auf AWS Maschinen
  • Erstellung von AWS EC2 Machine Images mit Terraform
Scala 2.11 + 2.12 Akka SBT Kafka 0.10.2 ? 1.0.0 Confluent Platform 3.2.x ? 4.0 Kafka Connect Kafka Streams GIT Gitlab Docker Docker Compose Rancher Apache Spark 2.3.1 Landoop Coyote Play Framework Avro MySQL Amazon Web Services PredictionIO Recommender Machine Learning Terraform
5 Monate
2017-08 - 2017-12

Einführung Big Data Pipelines

Big Data Architect & Consultant
Big Data Architect & Consultant

Einführung Big Data Pipelines auf Basis Apache Kafka / Confluent Open Source Platform bei einer großen Internetplattform

  • Anbindung verschiedener Datenquellen mittels Kafka Connect an Kafka
    • Rabbit MQ
    • HDFS / Hadoop
    • MySQL DB
  • Auspielen von Topics nach HDFS
  • Normalisieren und Veredlen von RAW-Daten mit Einführung der Schema Registry + AVRO
  • Coaching von Mitarbeitern in Scala und Kafka
Scala 2.11 + 2.12 SBT Kafka 0.10.2 ? 1.0.0 Confluent Platform 3.2.x ? 4.0 Kafka Connect Kafka Streams GIT Jenkins Docker Docker Compose Mesos Aurora Landoop Coyote Play Framework AVRO MySQL
gutefrage.net
2 Jahre 2 Monate
2015-05 - 2017-06

Neuimplementierung

Architekt, Senior Developer, Coach Scala 2.11 Akka Akka Streams ...
Architekt, Senior Developer, Coach

Neuimplementierung einer großen internetbasierten KFZ Verkaufsplattform mittels Microservices auf Scala und AWS Cloudbasis

  •  Coaching
    • Scala Coaching
    • Technology Coaching
    • Softwaredesign + Test Driven Development Coaching
  • Mitentwicklung eines Preisbewertungstools für gebrauchte KFZ (Backend + Frontend)
  • Performanceanalyse und Optimierungen beim Umstieg auf JDK 8
  • Performanceoptimierungen und Monitoring von Microservices und deren Verwendung von Amazon Services (z.B. DynamoDB, Autoscaling)
  • Abstimmung mit AWS Technology Managern
  • Aufbau und Softwaredesign von Microservices (Template für Microservices)
  • REST API Design für Backendservices der KFZ Suche
  • Frontendentwicklung
  • Umsetzung der Infrastuktur für Consumer Driven Contract Testing
  • Implementierung Realtime Updates der Suche mittels Akka, Akka Streams und Kafka
  • High Availabilty, Resilience und Failover Konzeption der traffic-stärksten Seiten/Microservices bei AS24 ( bis zu 20.000 req/min)
  • Entwicklung und Betreuung einer Scala Bibliothek für das Erzeugen von strukturierten Events (CQRS Ansätze) aus Microservices
  • Implementierung und Betreuung eines Feature-Switching Tools
  • Aufbau von Microservices für die Registrierung und das Versenden von mobilen Push Registrierungen mit Amazon Dynamo DB und SQS
Scala 2.11 Akka Akka Streams AWS (Amazon Webservices) SBT Elasticsearch Kafka GIT Oracle DB Play Framework Dropwizard Metrics GOCD (Continuous Development Tool) HTML Javascript Ruby Docker
Autoscout24
München
5 Monate
2014-12 - 2015-04

Architektur und Entwicklung

Architekt, Developer, Coach Big Data: Apache Spark Elasticsearch Hadoop ...
Architekt, Developer, Coach

Architektur und Entwicklung von Microservices und Textähnlichkeitsanalysen für helpster.de (werbebasierte Internetseite mit redaktionellem Content)

  • Architektur und Entwicklung eines Microservices der bei der Erstellung von neuen Artikeln im CMS System unterstützt:
    Ermittlung von relevanten Keywords mittels WDF/IDF Algorithmus aus einem sehr großen Datenbestand mittlels Apache Spark um das Google Ranking von Artikeln zu verbessern und damit die Artikelerstellung zu optimieren. Umsetzung von REST Schnittstelle und einer AngularJS UI für Use-Cases im Bereich WDF-IDF

  • Microservice mit REST Interface für die Ermittlung von verwandten helpster Artikeln und Gutefrage.net Content unter Verwendung von Elasticsearch (More like this)

  • Microsservice der eine interne Suche auf Basis von Elasticsearch mit zahlreichen erweiterten Features anbietet (Synonymunterstützung, verschiedene Autokorrekturen der Eingabe) zur Ablösung der vorher verwendeten Google Suche

  • Automatisierter Erkennung und Clustering von ähnlichen Dokumenten (Near Duplicate Content) mittels MLT von Elasticsarch und Clusteringverfahren (k-means, DBSCAN) sowie mittels LDA (Latent Dirichlet Allocation)

  • Einführung von Continuous Integration/Deployment in den neu entwickelten Scala Microservices

  • Scala Coaching und Coaching der Architektur für Microservices der internen Mitarbeiter

Big Data: Apache Spark Elasticsearch Hadoop Scala 2.10 + 2.11 SBT GIT MySQL Chef Ruby AngularJS Bootstrap Spray Textähnlichkeitsanalysen mit Latent Dirichlet Allocation Clusteringverfahren (k-mean DBSCAN)
helpster.de
2 Monate
2014-10 - 2014-11

Architektur- und Prozessberatung

Architekt, Developer, Coach Java 8 Spring 4 Maven ...
Architekt, Developer, Coach

Architektur- und Prozessberatung in mehreren Bereichen

  • Beratung zur Einführung von Microservices inkl. Serviceauthentifizierung

  • Unterstützung und Coaching bei der Umstellung auf Java 8 mit funktionalen Paradigmen

  • Einführung eines distributed In-Memory-Datagrids (Infinispan) für das Caching von zeitintensiven Backendcalls

  • Optimierung der Continuous Integration Pipeline und Beratung zur Optimierung hin in Richtung Continuous Deployment

  • Software-Review Prozessoptimierung

Java 8 Spring 4 Maven Infinispan Cache Crucible Tomcat 7 GIT Jenkins
O2
1 Jahr 4 Monate
2013-06 - 2014-09

Umbau eines rein PHP

Architekt, Developer, Coach Scala 2.10-2.11 Twitter Finagle Stack Linux ...
Architekt, Developer, Coach

Mitwirkung bei dem Umbau eines rein PHP basierten Frage/Antwort - Forums auf eine Scala basierte Microservicearchitektur im High Traffic Bereich

  • Scala Software Development in den Services

  • Konzept und Umsetzung für die Wiederverwendung von allgemeinen Komponenten in den Services inkl. Einführung von Dependency Injection

  • Miterstellung der neuen Softwarearchitektur

    • API Thrift Design der Services

    • REST-Design der öffentlichen API

    • Konzeption der Authentifizierung und Authorisierung mittels JWT Tokens

    • Miteinführung von NoSQL (Redis) zur Speicherung von Accesstokens

  • Einarbeitung und Coaching auch neuer Mitarbeiter

  • Etablierung des Continuous Delivery Prozesses

    • regelmässige Servicereleases (weniger als 15 min nach Checkin) mit Zero Downtime

    • Mehrschichtige Testing- und Buildpipelines zur Qualitätssicherung mit automatisiertem Testing

Scala 2.10-2.11 Twitter Finagle Stack Linux Intellij Redis MySQL Memcache GIT Jenkins Rabbit MQ Spring AMQP Apache Thrift MySQL NoSQL JWT Scalatest Mockito SBT MogileFS DI mittels CakePattern Android 4.0 ? 4.4 SBT
gutefrage.net
1 Jahr 4 Monate
2013-06 - 2014-09

Architektur und Mitentwicklung einer Android App

Architekt, Developer, Coach Scala 2.10-2.11 Twitter Finagle Stack Linux ...
Architekt, Developer, Coach

Architektur und Mitentwicklung einer Android App für die führende Frage-Antwort Plattform in Deutschland

  • Durchführung einer Machbarkeitsstudie und eines Prototyps für die Umsetzung einer Android App mit Scala 2.11

  • Coaching des Teams bzgl. Scala & Android

  • Umsetzung der wichtigsten Basiskonzepte (z.B. Dependency Injection, Retries bei Verbindungsabrüchen zum Server u.v.m) der App

  • Einrichtung eines Continuous Integration Prozesses

  • Mitentwicklung bei allen Usecases der App

  • Interview mit mir bzgl. Scala auf Android: [URL auf Anfrage]

Scala 2.10-2.11 Twitter Finagle Stack Linux Intellij Redis MySQL Memcache GIT Jenkins Rabbit MQ Spring AMQP Apache Thrift MySQL NoSQL JWT Scalatest Mockito SBT MogileFS DI mittels CakePattern Android 4.0 ? 4.4 SBT
gutefrage.net
2 Jahre 5 Monate
2011-01 - 2013-05

Realisierung eines EBook Shops

Senior Developer, Architect,Scrum Master & Technology Consultant Apache CXF SOAP Webservices WS-Reliable Messaging ...
Senior Developer, Architect,Scrum Master & Technology Consultant

Realisierung eines EBook Shops für den E-Ink Reader Tolino Shine

  • Softwarearchitektur und Umsetzung der neuen Geschäftsprozesse

  • MongoDB 2 Persistenz für Kundenprofilinformationen mit Spring Data sowie Anbindung der bestehenden Oracle DB

  • Authentifizierung und Authorisierung durch Eigenimplementierung eines OAUTH2 Providers mit JSON Web Token (JWT)

  • Rest-API für bestehende und neue Services mit Resteasy

  • Umsetzung einer ESB-ähnlichen (Enterprise Service Bus) Applikation mit Spring Integration für die asynchrone Verarbeitung von Requests wie z.B. Bestellungen, digitale Auslieferungen, Abfragen der E-Bibliothek, Supportanfragen für das CCC/SAP u.v.m.
    Messaging mittels MQ Series und HornetQ

  • Coaching und Aufbau einer Continuous Delivery Build Pipeline

Apache CXF SOAP Webservices WS-Reliable Messaging WS-Addressing SoapUI JBOSS 4.3 JEE5 Spring 3.1 IBM DB2 Oracle 11g H2 DB JUnit Linux Jenkins/Hudson Continuous Integration Server Continuous Deployment Mockito JMS HornetQ Eclipse GIT Subversion Hibernate JPA Maven Ant Cargo Flyway Jira Crucible Scrum SAP VisualRules 5.1 (RuleEngine) Apache Lucene 3.4 JGroups Selenium 2 RESTful HTTP REST Resteasy JAX-RS Spring Integration Spring Data MongoDB
Weltbild, Panther (Tolino)
2 Jahre 5 Monate
2011-01 - 2013-05

FIT

Senior Developer, Architect,Scrum Master & Technology Consultant Apache CXF SOAP Webservices WS-Reliable Messaging ...
Senior Developer, Architect,Scrum Master & Technology Consultant
  • Anbindung eines großen deutschen Internetshops für Bücher, DVDs etc. an ein neues CRM- und Auftragsverwaltungssystem
    • Erstellung eines neuen annotationsbasierten Frameworks zur Kommunikation zwischen dem PHP Frontend und der Java Backend Schicht
    • Implementierung von performanten Exporten in JEE und JMS mittels HornetQ
    • Transaktionale Anbindung von JMS (MQ Series) basierten Artikelimports in die Artikel DB des Webshops inkl. Integration von Monitoring der Queues und Dead-Letter-Queues innerhalb der Anwendung mit RESTful HTTP
    • Vereinfachung der Architektur und der Infrastruktur in der Mittelschichts- und Produkt-Informationsanwendung
    • Anbindung der Bestellabwicklung des Shop Backends per SOAP Webservices an neues CRM/ Auftragsverwaltungssystem
      • Schnittstellenanalyse und –design inkl. Abstimmung mit Fachbereich und anderen Entwicklungsteams
      • Technische Umsetzung mit Apache CXF
    • Einführung von neuen Testkonzepten und Testmöglichkeiten im Produktinformationssystem
    • Technologische Beratung und Etablierung eines Prozesses für die Verbesserung der technischen Architektur
    • Einführung eines Tools (Flyway) zur Versionierung und automatisierten Erweiterung des Datenbankschemas zur Optimierung und Vereinfachung des Anwendungs-Deployments hin in Richtung Continuous Deployment
    • Optimierung der Testbarkeit der Shopanwendung durch lokale Build-Datenbanken und schneller In-Memory-DBs
    • Erstellen von Schnittstellen und deren Beschreibung zu anderen Systemen
    • Verbesserung des Continuous Integration und Einführung eines Continuous Deployment Prozesses
    • Einführung von Functional Testing der Mittelschichtsanwendung mit simulierten JSON Requests des Frontends und komplettes Testing inkl. PHP Frontend mit Selenium 2
    • Coaching und Durchführung von Schulungen der Mitarbeiter (z.B. GIT mit SVN) und Weitergabe von technischem Know How
    • Durchführung von Architektur- und Codereviews
    • SCRUM Master für ein Entwicklungsteam
    • Optimierung der Abläufe und Scrumprozesse (Beratung im Bereich agiler Methoden)
    • Fehlerbereinigung eines Regelwerks zur Warenkorbvalidierung auf Basis Visual Rules (Rule Engine) und Anbindung an den Internetshop nach Refactoring und Kapselung des alten Validierungscodes
  • Refactoring und Neuentwicklung der Suchfunktionalität (Basis Apache Lucene) des Webshops
    • Implementierung der Clusterfähigkeit der Suchagenten und Crawler
    • Verteilung von Delta-Indices im Suchcluster
    • Monitoring der Suchanwendung mittels RESTful http
Apache CXF SOAP Webservices WS-Reliable Messaging WS-Addressing SoapUI JBOSS 4.3 JEE5 Spring 3.1 IBM DB2 Oracle 11g H2 DB JUnit Linux Jenkins/Hudson Continuous Integration Server Continuous Deployment Mockito JMS HornetQ Eclipse GIT Subversion Hibernate JPA Maven Ant Cargo Flyway Jira Crucible Scrum SAP VisualRules 5.1 (RuleEngine) Apache Lucene 3.4 JGroups Selenium 2 RESTful HTTP REST Resteasy JAX-RS Spring Integration Spring Data MongoDB
Weltbild
1 Monat
2012-12 - 2012-12

Durchführung eines eintägigen Workshops

Coach
Coach

Durchführung eines eintägigen Workshops zum Thema Versionsverwaltung mit GIT inkl. Beratung zur Migration.

HUK Coburg
Coburg
5 Monate
2012-04 - 2012-08

Technologische Beratung

Architect & Coach Spring Spring MVC Spring Data ...
Architect & Coach

Technologische Beratung, Architektur, Coaching und Umsetzungstätigkeit bei einem Portal für Versicherungsvergleiche

  • Erstellung der Architektur und Beratung bei der Konzeption für ein neues Modul/eine neue Anwendung auf Basis neuer Technologien, die schrittweise auch die auf veralteten Technologien (WebObjects) basierenden Anwendungen ablösen

  • Beratung bei der Einführung der Versionsverwaltung GIT (Umstieg von CVS)

  • Einführung von Continuous Integration und Testdriven Development

Spring Spring MVC Spring Data Oracle Jenkins GIT CVS Eclipse Tomcat WebObjects Hibernate 4
Transparo
Augsburg
5 Monate
2011-11 - 2012-03

Coaching eines Entwicklers und Mitentwicklung

Coach & Architect
Coach & Architect

Coaching eines Entwicklers und Mitentwicklung (Pair-Programming) bei der Umsetzung des gesamten Projekts „Medienverteiler“, einer JEE Backendanwendung mit Swing GUI auf dem Client die u.a. zur Verwaltung der Empfänger von BG-ETEM Medien verwendet wird.

  • Beratung des Fachbereichs und der Entwicklung für die Umsetzung und Priorisierung neuer Features
  • Coaching in JEE6, JPA & Hibernate, Test Driven Development (Servicetests ohne laufenden JBoss), Transaktionen mit Datenbanken, Softwarepatterns und vielen Best Practices
  • Erstellung und Design einer Serviceschicht
  • Coaching und Mithilfe bei der Umsetzung der Swing GUI
  • Neuerstellung und Coaching: Erstellung eines Datenbankmodells
  • Einführung von QueryDSL als typsichere, kompaktere Alternative zur Criteria API
  • Einrichten einer Continuous Integration Umgebung
  • Coaching und Umsetzung bei Deployment und Packaging der Anwendung
JEE 6 JBoss 6 IBM DB2 JPA 2 Hibernate 3.6 QueryDSL Swing Citrix Soap Webservices ANT Jenkins Testdriven Development JUnit
BG ETEM
Augsburg
4 Monate
2011-11 - 2012-02

Erstellung einer Blogsoftware

Architect & Developer OpenID OpenID4Java Google AppEngine ...
Architect & Developer

Erstellung einer personalisierten, cloudfähigen Blogsoftware mit Schnittstellen zu verschiedenen Plattformen

  • Architektur & Konzeption
  • Implementierung
OpenID OpenID4Java Google AppEngine Google Web Toolkit (GWT) Spring 3 REST RESTFul HTTP JSON Ajax GIT Java JDK 1.6 Gradle
Augsburg
4 Monate
2010-10 - 2011-01

Rekonzeption, Refactoring und Weiterentwicklung der Internet Registrierungsanwendung eines großen deutschen Mailanbieters (basierend auf Apache Wicket)

Senior Developer, Technology Consultant und Agile Coach Wicket 1.4 JSON Ajax ...
Senior Developer, Technology Consultant und Agile Coach
  • Technologieberatung und Kurzvorträge/Tutorials für Entwickler

  • SCRUM - Einführung und Prozessberatung

  • Refactoring und Bereinigung der Architektur und des Build- & Deploymentprozesses

  • Design und Implementierung neuer Features

  • Anbindung von Drittsystemen mittels Webservices (Spring WS)

  • Analyse und Lösung von bestehenden Problemen im Bereich Memoryleaks (PermGen Space), sowie beim Loadbalancing der geclusterten Anwendung

Wicket 1.4 JSON Ajax JQuery HTML+CSS Spring 2.5 und 3 Tomcat 5.5 & 7 Apache Webserver Oracle Maven 3 JUnit EasyMock Mockito GIT (git-svn) SVN Hudson JDK 1.6 Eclipse 3.6 Linux Drools JSR 303 (Bean Validation) Loadbalancing + Clustering (bei Sticky Sessions) VisualVM YourKit Profiler Spring Webservices Axis
GMX
München
6 Monate
2010-05 - 2010-10

Neuimplementierung und Refactoring eines kommentierbaren Activityfeeds einer großen Social Network Plattform mit extremen Near-Realtime und Performanceanforderungen

Softwarearchitekt, Senior Developer und Technology Consultant Spring Memcache Hazelcast ...
Softwarearchitekt, Senior Developer und Technology Consultant

Neuimplementierung und Refactoring eines kommentierbaren Activityfeeds einer großen Social Network Plattform mit extremen Near-Realtime und Performanceanforderungen

Implementierung einer Kommentarfunktionalität der Statusmeldungen innerhalb des Activityfeeds mit Darstellung für alle Benutzer in Fast-Echtzeit

  • Technologische Beratung
  • Architektur und Implementierung (UseCase orientiert, Backend (DB/NoSQL) bis Frontend)
  • MongoDB: Ausführliche Evaluation und Machbarkeit einer weichen Migration zu performanten und skalierbaren NoSQL Technologien
    • Einführung, Architektur und weiche Migration auf die NoSQL Datenbank
      MongoDB mit Ablösung einiger zentraler Standard Datenbank-Tabellen
      (MySQL)
    • Verwendung des Shardingfeatures der MongoDB (Segmentierung von Daten
      auf verschieden MongoDB Instanzen)
    • Durchführung von Lasttestszenarien und intensive Fehleranalyse im
      Hochlastbetrieb mit den Entwicklern von MongoDB
    • Performanceanalyse in einem Umfeld mit einer Tomcatfarm von 80
      Servern und 2 MongoDB Instanzen, die im Shardingmodus arbeiten
    • Evaluation von Alternativen zu SQL und NoSQL, wie z.B. In-Memory-Datagrids
  • Umsetzung mit verteiltem In-Memory-Datagrid (Hazelcast) und Memcache
  • Performanceoptimierung und Testerstellung
  • Aufbau von Continuous Integration, Continuous Deployment und Buildprozessoptimierung
  • Planung und Durchführung des Umstiegs von CVS auf GIT
Spring Memcache Hazelcast EhCache Hibernate NoSQL MongoDB MySQL Tomcat 6 Struts HTML JSTL JSP Javascript Ajax JQuery Prototype Ant Eclipse (STS) JMeter Selenium Linux MacOS X GIT CVS Hudson
Lokalisten.de
München
10 Monate
2009-08 - 2010-05

Umsetzung eines neuen Kundenbindungssystems für eine große deutsche Fluggesellschaft auf Basis von OSGI und JEE

Senior JEE Developer, Senior Consultant Scrum Oracle 10 Hibernate 3.3 ...
Senior JEE Developer, Senior Consultant
  • Anbindung von Drittsystemen mittels Batchverarbeitung, EJB und Webservices

  • Umsetzung von Workflows mit JBPM

  • Umsetzung der Business Logik unter Verwendung von austauschbaren OSGI -Bundles

  • Optimierung der Roundtripzeiten bei der Entwicklung

  • Mitwirkung beim Refactoring des Loyality Cores (Reduzierung von DTOs, Verwendung eines einheitlichen Domainmodels mit Hibernate Mappings auch bei internen Schnittstellen)

  • Unterstützung bei der Einführung des funktionalen Testframeworks „Fitnesse“ zur Umsetzung von Akzeptanztests (auch automatisiert im Rahmen des CI-Prozesses)

  • Beratung zur Verbesserung der Continuous Integration Umgebung inkl. Umsetzung: Ablösung von Cruisecontrol, Umstellung auf Hudson

Scrum Oracle 10 Hibernate 3.3 Hudson Unix Eclipse Java 1.6 OSGI Equinox JUnit Mockito Weblogic 10 EJB 3 JMS Fitnesse Hudson Maven 2.2.1 JBPM Magic Draw AndroMDA
Loyalty Partner Solutions (Payback)
München
7 Monate
2009-01 - 2009-07

Erweiterung und Fertigstellung einer komplexen Loyality Plattform auf JEE Basis für ein europäisches Land bestehend aus Internetshop

Senior JEE & Spring Developer, Architect Scrum Eclipse 3.4 Bea Weblogic 10.1 ...
Senior JEE & Spring Developer, Architect

Refactoring, Erweiterung und Fertigstellung einer komplexen Loyality Plattform auf JEE Basis für ein europäisches Land bestehend aus Internetshop, Callcenter-App und Backendimplementierung für die Prozess- und Workflowunterstützung und Module für die Batch- und Jobverarbeitung.

  • Refactoring der Architektur (vor allem Komplexitätsreduzierung und Verbesserung der automatischen Testbarkeit und der Konfiguration) und der Infrastruktur.
  • Schnittstellenspezifikation und deren Abstimmung für den Datenaustausch mit Partnern über Flatfiles, XML und Webservices. Implementierung und Test der Schnittstellen.
  • Design und Implementierung mehrerer komplexer Prozesse im Backendbereich inkl. Datenbankanbindung u.a. mit EJB 3
  • Refactoring des bestehenden Batch- und Jobframeworks weg von einer von dem Rest der Anwendung getrennten Mule Standalone-Anwendung zu einer in die JEE Applikation integrierten Lösung mit erheblich vereinfachter Konfiguration über Spring
  • Performanceanalyse des Code, Optimierung und Fehlerbehebung unter anderem im Bereich der Verwendung von XA Transaktionen
  • Optimierung von Continuous Integration im Projekt (Cruisecontrol)
Scrum Eclipse 3.4 Bea Weblogic 10.1 Spring 2.5 Hibernate 3 AndroMDA UML MagicDraw EJB 2.1 und EJB 3 Mule ESB 1.3.3 JMS XA Transactions Maven Cruisecontrol JAX-WS SOAP XML Schema Oracle 10
Loyalty Partner Solutions (Payback)
München

Aus- und Weiterbildung

Aus- und Weiterbildung

04/2000:

Ausbildung: Informatikstudium 

Abschluss: Diplom-Informatiker FH

 

03/1998 ? 09/1998:

Institution: Infomatec AG Augsburg

Ausbildung: 2. Praxissemester

 

09/1996 - 03/1997:

Institution: Siemens-Nixdorf Augsburg

Ausbildung: 1. Praxissemester

 

10/1995 - 03/2000:

Institution: FH Augsburg

Abschluss: Diplom-Informatikstudium

 

11/1994 - 05/1995:

Institution: Universität Augsburg

Ausbildung: Studium der Physik

07/1993:

Abschluss: Allgemeinen Hochschulreife

 

09/1984 ? 07/1993:

Institution: Holbein-Gymnasiums Augsburg

 

09/1979 ? 07/1984:

Institution: Schillerschule in Augsburg

Kompetenzen

Kompetenzen

Top-Skills

Scala MIcroservices Kotlin Java JVM Spring kafka

Produkte / Standards / Erfahrungen / Methoden

Akka
Amazon Dynamo
Amazon EC2
Android
2.3 und Android 4
Android
4.0 ? 4.4
AndroMDA
Ant
Apache CXF
Apache Lucene 3.4
Apache Thrift
Apache Webserver
AWS
AWS
Amazon Webservices
Axis
Big Data
Apache Spark
Bootstrap
Bootstrap
Cargo
Chef
Citrix
Clusteringverfahren
k-mean
Continuous Deployment
Crucible
CVS
DBSCAN
DI mittels CakePattern
Drools
Dropwizard Metrics
EasyMock
Eclipse
Eclipse
STS
Eclipse 3.6
EhCache
EJB 3
Elasticsearch
Equinox
Fitnesse
Flyway
GIT
GIT
git-svn
GOCD
Continuous Development Tool
Google Appengine
Google Cloud Messaging
GCM
Google Cloud-To-Device Messaging
C2DM
Google Web Toolkit
GWT
Gradle
H2 DB
Hadoop
Hadoop
Hibernate
Hibernate 3.3
Hibernate 3.6
Hibernate 4
HornetQ
HTML
HTML+CSS
Hudson
Infinispan Cache
Intellij
Intellij IDEA
Java JDK 1.6
JBOSS 4.3
JBoss 6
JBPM
JDK 1.6
Jenkins
Jenkins/ Hudson Continuous Integration Server
JGroups
Jira
JMeter
JPA 2
JQuery
JSR 303
Bean Validation
JSTL
JUnit
JWT
Kafka
Loadbalancing + Clustering
bei Sticky Sessions
Magic Draw
Maven
Maven 2.2.1
Maven 3
Memcache
Mockito
MogileFS
OpenID
OpenID4Java
OSGI
Equinox
Playframework
QueryDSL
Rabbit MQ
Redis
REST
Resteasy
RESTful HTTP
SAP
SBT
Scala 2.10 + 2.11
Scala 2.11
Scalatest
Scrum
Selenium
SOAP Webservices
SoapUI
Spray
Spray
Spring
Spring 2.5 und 3
Spring 3
Spring 3.1
Spring 4
Spring AMQP
Spring Data
Spring Integration
Spring MVC
Spring Webservices
Struts
Subversion
SVN
Swing
Testdriven Development
Textähnlichkeitsanalysen mit Latent Dirichlet Allocation
Tomcat
Tomcat 5.5 & 7
Tomcat 6
Tomcat 7
Twitter Finagle Stack
VisualRules 5.1
RuleEngine
VisualVM
Weblogic 10
WebObjects
Wicket 1.4
WS-Addressing
WS-Reliable Messaging
YourKit Profiler

Java:

Umsetzung von komplexen Softwarelösungen in Java/J2EE

  • Loyality Partner: Java 1.6, Umsetzung von Business Logik, Schnittstellenimplementierung, Datenbankanbindung und intensive Refactorings zur Komplexitätsreduzierung
  • KVB: Realisierung von zwei Webanwendungen, siehe Projektbeschreibung
  • O2, Projekt Galileo: Middletier Software für die Anbindung von Backendsystemen an das Internetportal (Soap Webservices, SOA, Hibernate, JBOSS 3+4); Migration von JBOSS 3 auf Version 4, Einführung von Maven
  • Projekt Webbox: Erweiterung einer Webanwendung mit Umstellung auf Spring, Einsatz von Hibernate
  • Projekt Gismo: Desktop und Webanwendung
  • Zentrale, eingesetzte Produkte: Hibernate, Spring, Eclipse RCP
  • Projekt QEC-Tool: J2EE Webanwendung mit Hibernate als Persistenzlösung auf IBM Websphere mit IBM DB2 Datenbank
  • Einsatz von Struts als Web-Frameworks
  • Projekt Avanti : Desktop- und Internetanwendung zur Erstellung von personalisierten Versicherungsangeboten für die WWK Versicherungen (Swinganwendung & J2EE-Internetapplikation auf BEA Weblogic)
  • Projekt Workflow/CMS Intranet System für die Deutsche Post auf J2EE Basis
  • Erstellung eines Reportgenerator-Application-Programming-Interfaces für das Kassensystem K2 und das Warenwirtschaftssystem F3 der Firma Infomatec AG
  • Virtueller Chatroom als Praktika während des Studiums
  • Realisierung eines Prototyps einer virtuellen Mall in Java3D als Diplomarbeit
  • Application-Beans und JSP/Servlets in der Web-Applikation (Online-Shop) ?SKL-Holzscheiter? der Firma Infomatec Media
  • Konzeption und Durchführung eines EJB 2.0 Lehrganges
  • Konzeption und Erstellung einer sicheren Server-Daten-Transferkomponente in Java 2 unter anderem mit Einsatz von Servlets und des JNI für eine C++-Schnittstelle (Protokolle: HTTP, HTTPS, FTP, POP3, SMTP)
  • Vielzahl von kleineren Softwareprojekten

 

Android:

Umsetzung einer App zur Überwachung eines Trainingsgeländes [URL auf Anfrage]

 

C++:

Spezielle Vorlesung, sowie intensive Anwendung in einer 2-semestrigen Projektarbeit

Thema: Gerne auf Anfrage

 

UML:

Objektorientierter Analyse und Entwurf, vorwiegend mit Anwendung der Tools Together und Rational Rose, sowie Omondo Eclipse UML

 

Design Patterns:

Häufige Anwendung in allen OO-Softwareprojekten

HTML / JavaScript und Java Server Pages (JSP) /Servlets:

Einsatz  in einer Vielzahl der Projekte, z.B. in der Web-Applikation ?SKL-Holzscheiter? der Firma Infomatec Media, dem Projekt Avanti und dem Projekt QEC-Tool, bei O2 und bei der KVB

 

Webapp-Standards:

  • Struts 1.2.x: Projekterfahrung (Projekt QEC-Tool, Webbox)
  • Java Server Faces (Projekt QEC-Tool)
  • Abaxx (Projekt Galileo)
  • Spring MVC
  • Spring Webflow

 

Webapp-Standards:

  • Struts 1.2.x: Projekterfahrung (Projekt QEC-Tool, Webbox)
  • Java Server Faces (Projekt QEC-Tool)
  • Abaxx (Projekt Galileo)
  • Spring MVC
  • Spring Webflow

 

Internet Protokolle:

HTTP, HTTPS, FTP, POP3, SMTP: Kenntnisse durch Einsatz von entsprechenden Java APIs bzw. Drittprodukte (Jetty, Tomcat, Servlets)

 

Datenbanken/Objektrelationale Mappingtools:

  • Spring Data
  • Hibernate: Projekterfahrung in zahlreichen Projekten
  • JPA
  • DB2: Einsatz im Projekt QEC-Tool in Verbindung mit Hibernate 2.1
  • Datenbankvorlesungen (Grund- und weiterführende)
  • Gute SQL-Kenntnisse
  • Erstellen von Datenbankanwendungen mit SQL-Windows (1997)
  • mit Informix Version 7: intensives Arbeiten, während meines 1. Praxissemesters bei Siemens-Nixdorf
  • mit Access: Auftragsarbeit für die Zeitarbeitsfirma DIWA-Montagen in Augsburg, 1997
  • mit MySQL: Web-Applikation mit JSP, Datenbankanbindung mittels JDBC im SKL-Holzscheiter-Projekt der Firma Infomatec Media
  • mit HsqlDB: Einsatz im Projekt Gismo, zusammen mit Hibernate 3.0
  • mit Oracle: Einsatz in zahlreichen Projekten (Version 8-10)
  • Oracle-Fortgeschrittenen-Schulung im Oktober 2001; häufiger Einsatz von Oracle mittels JDBC

 

Enterprise Java Beans/ J2EE-Plattform:

Einsatz im:

  • Projekt Avanti (Bea Weblogic)
  • QEC-Tool (IBM Websphere)
  • Projekt Gismo und Webbox
  • O2 (JBOSS 3 + 4)
  • Loyality Partner (Weblogic 9 und 10, EJB 3)
  • Konzeption und Durchführung eines EJB 2.0 Lehrganges (Juni ? August 2001)
  • Schulung im Java Competence Center der Infomatec AG (1 Woche im Dezember 2000)

 

Spring Framework (Version 1,2 & 3):

Vielfacher Einsatz und Einführung von Spring Core und begleitender Projekte (Spring Webflow, Spring Batch, Spring Dynamic Modules, Spring Integration, Spring Data)

 

J2EE Webserver:

  • Apache Tomcat ? Version 3 ? 7.x
  • Bea/Oracle Weblogic 6.1, 9 und 10
  • IBM Websphere 5
  • JBoss 3.x, 4.x, 6

Softwarearchitektur:

  • KVB: Modulare Architektur inkl. Schnittstellendesign, Beratung zu Designfragen für Springprojekte und Webservices
  • Konzeption und Design vieler Middletier-Modulen inklusive Interface-Design im Projekt Galileo bei O2
  • Reddesign und Refactoring der gesamten Webanwendung im Projekt Webbox bei Schüco
  • Weiterentwicklung der Plattformarchitektur und Implementierung der Desktop- und Webversion, insbesondere der Prozessengine und der Dialogablaufsteuerung im Avanti Projekt
  • Konzeption und Entwicklung verschiedener Plattformservices im QEC-Tool
  • Umstrukturierung und Reorganisation der Architektur der Schüco Webbox Anwendung

 

3D-Visualisierung:

  • Java3D: Erstellung der Diplomarbeit ?Eine virtuelle Mall in Java 3D? und einer CEBIT-Demo im Jahr 2001
  • VRML: Erstellung von Funktionalität für virtuelle Community-Räume in Java in einem Blaxxun-System mittels des EAI-Interfaces von VRML
  • OpenGL und Open Inventor: Einarbeitung und Erstellung von Demos

 

XML Technologien und XML-Java Binding:

  • XML-Apis: JDom, dom4j, Castor, JAXB, Digester
  • XSLT: Stylesheet-Entwicklung, Xalan Know-How
  • XML-Schema
  • XSL-FO: dynamische PDF-Generierung mittels Apache FOP
  • JAXB 2.x
  • XML-Spy (Tool)

 

JSON:

Einsatz von Jackson zur Umsetzung einiger REST-APIs

 

Versionsverwaltung:

  • GIT
  • CVS (auch Installation + Repositoryaufbau)
  • Subversion (auch Installation + Repositoryaufbau)
  • PVCS
  • Perforce
  • Clearcase

 

Buildsysteme / Continuous Integration:

  • Gradle
  • Ant
  • Maven 1 - 3 (kompletter Aufbau Buildsystem/Nightly Builds im QEC-Tool, Gismo Webbox)
  • Cruisecontrol
  • Continuum
  • Jenkins / Hudson

 

Entwicklungs- Umgebungen / Case Tools:

  • Intellij Idea
  • Eclipse 1.x ? 3.x
  • WSAD 5.1
  • JBuilder
  • NetBeans / Forte
  • TogetherJ
  • Visual Studio
  • Rational Rose
  • Magic Draw

 

Webservices / SOAP:

  • Axis 1.4 / 2.0 (Projekt Galileo O2 + eigene Projekte)
  • JAX-WS 2.0-2.2 (Projekt Galileo O2 und Loyality Partner
  • Apache CXF
  • Spring WS

 

Unit- und Integrationtesting:

  • JUnit
  • EasyMock
  • DBunit
  • Mockito
  • Fitnesse (Functional Tests)
  • Selenium 1+2

Erfahrung in agilen Methoden & Prozesse:

  • TDD (Test driven Development)
  • Scrum
  • Pairprogramming

Beruflicher Werdegang:

02/2006 ? heute:

Rolle: Freiberuflicher Consultant

 

Aufgaben:

verschiedenen Projekten und Firmen

12/2005 ? 01/2006:

Kunde: Schüco

 

Aufgaben:

  • Webbox Update
  • Fachlich/Technisches Upgrade einer Webanwendung für eine Vertriebslösung der Firma Schüco (B2B)
  • Umstellung der Anwendung auf Spring/Hibernate

03/2002 ? 01/2006:

Kunde: CSC Ploenzke

Rolle: Application Designer

08/2005 ? 11/2005:

Kunde: AMB Generali

Aufgaben:

  • Gismo
  • Desktop- und Internetanwendung einer Versicherungsangebotslösung auf Basis EclipseRCP / Spring / Tomcat

06/2004 ? 07/2005: 

Kunde: DaimlerChrysler

 

Aufgaben:

  • QEC-Tool
  • Internet-/Intranet-Anwendung zur Umsetzung des Qualitätssicherungsprozesses bei DaimlerChrysler

 

03/2002?05/2004:

Kunde: WWK

Aufgaben:

  • Avanti 
  • Desktop- und Internetanwendung zur Erstellung von personalisierten Versicherungsangeboten für die WWK-Versicherungen (Swinganwendung & J2EE)

11/2001 ? 02/2002:

Kunde: Arsdigita, jetzt RedHat

Rolle: Java Entwickler 

 

Aufgaben:

  • Freiberuflich
  • Projekt Workflow/CMS Intranet System für die Deutsche Post

06/2001 - 10/2001:

Kunde: Wistec GmbH Augsburg

Rolle: Java-Software-Entwickler

05/2000 ? 05/2001:

Kunde: Infomatec Media Augsburg

Rolle: Software ?Entwickler

03/1998 ? 09/1998:

Kunde: Infomatec AG Augsburg

Rolle: Freelancer

01/1998 - 01/1998:

Kunde: NCR Augsburg

Rolle: Freiberuflicher Berater/ Entwickler

 

Aufgaben:

DB Lösung in Access

06/1997 ? 09/1997:

Kunde: Diwa Montagen

 

Aufgaben:

Freiberufliches Projekt: Erstellung einer Mitarbeiter-/Kundenverwaltungsapplikation

09/1996 - 03/1997:

Kunde: Siemens-Nixdorf Augsburg

Rolle: Werkstudent

Praktika:

05/1995 - 09/1995:

Kunde: Siemens-Nixdorf

Rolle: Werkstudent 

Aufgaben:

Praktikum

Zivildienst:

08/1993 ? 10/1994:

Malteser Hilfsdienst

Scala:

  • 7 wöchiger Kurs bei Coursera.org beginnend im März 2013
  • Einsatz im Projekt ab Juni 2013

Betriebssysteme

Linux / Shellprogrammierung
Gute Kenntnisse
MacOS X
Unix
Windows
NT/2000/XP

Programmiersprachen

80x86 Assembler
Ajax
Android
AngularJS
C
C++
Java
Java 1.6
Java 8
JavaScript
JAX-RS
JEE 6
JEE5
JMS
JPA
Json
JSP
PASCAL
Ruby
Scala
Visual Basic/ Visual Basic für Applikationen
VRML

Datenbanken

Access
DB2
Hazelcast
IBM DB2
Informix
JDBC
MongoDB
MongoDb
MySQL
NoSQL
Oracle
Oracle 10
Oracle 11g
Oracle DB
SQL

Datenkommunikation

Internet, Intranet
Http, https, ftp, mail
Message Queuing
JMS, AMQP (Rabbit MQ)
TCP/IP
Windows Netzwerk

Hardware

PC

Design / Entwicklung / Konstruktion

Prototype

Branchen

Branchen

  • E-Commerce
  • Software
  • Internet
  • Mobilfunk
  • Telekomunikation
  • Versicherungen
  • Automobilindustrie
  • Onlineshops

Einsatzorte

Einsatzorte

Augsburg (+100km)
Deutschland, Österreich, Schweiz
möglich

Projekte

Projekte

4 Jahre
2020-04 - heute

Architekturunterstützung

Architekt, Senior Developer, Technology Consultant, Coach Scala 2.12 SBT Arc42 ...
Architekt, Senior Developer, Technology Consultant, Coach

Architekturunterstützung, Senior Software Development, Clean Code Coaching, Unterstützung Development Prozessoptimierung

  • Refactoring des Codes mit Fokus auf Testbarkeit und Clean Code Prinzipien und Implementierung von Unittests
  • Unterstützung der Softwarearchitektur für das Produkt Bioprozess
  • GIT Pull Request Workshop
  • Coaching des Teams für TDD und Clean Code Mentalität bei der Entwicklung
  • Dokumentation mit Arc42
Scala 2.12 SBT Arc42 GIT Gerrit Scrum Akka Akka Actors Clean Code TDD Mockito UML
11 Jahre 11 Monate
2012-05 - heute

Erstellung einer Android App

Architect & Entwickler Android 2.3 und Android 4 Google Cloud-To-Device Messaging (C2DM) Google Cloud Messaging (GCM) ...
Architect & Entwickler

Erstellung einer Android App und einer Appengine Cloud Serverkomponente zur Überwachung von Öffnungszeiten eines Sport-Trainingsgeländes

  • Überwachung des Öffnungsstatus mittels Spring MVC Anwendung innerhalb einer Google Appengine Anwendung und Veröffentlichung der Informationen als REST-Service

  • Dynamische Push Benachrichtigung vom Server zu den Androiddevices mittels C2DM/GCM

Android 2.3 und Android 4 Google Cloud-To-Device Messaging (C2DM) Google Cloud Messaging (GCM) Intellij IDEA GIT Google Appengine Spring 3.1 REST Json
MCA
Augsburg
8 Monate
2019-05 - 2019-12

Senior Software Development

Senior Developer, Technology Consultant, DevOps Java 11 Spring Boot Kafka ...
Senior Developer, Technology Consultant, DevOps

Senior Software Development & Technology Consultant mit Java 11, Spring Boot, Kafka, Microservices, Docker, OpenShift und Kubernetes

  • Implementierung eines Order Workflows als Spring Boot Microservice für LKW Mautsysteme basierend auf Daten in Kafka Topics. Verwendung von tiefergehenden Kafka Streams Konzepten wie Processors (Punctuator) zur Umsetzung von resilienten Prozessschritten
  • Implementierung von Microservices mit Deployment als Docker Container auf OpenShift
  • Aufsetzen von Gitlab und Gitlab Runnern auf Kubernetes / Google Cloud zur Verbesserung der Entwicklungsgeschwindigkeit
  • Coaching des Teams für DevOps Mentalität bei der Entwicklung. Logging, Metriken, Alerting
  • Dokumentation mit Arc42
Java 11 Spring Boot Kafka Docker Openshift Google Cloud Kubernetes Engine Google Cloud Storage Gitlab Kibana Prometheus Grafana Arc42
Deutscher Kraftfahr Verbund
5 Monate
2018-12 - 2019-04

Senior Software Development

Architekt, Senior Developer, DevOps Scala 2.12 AWS AWS Lambda ...
Architekt, Senior Developer, DevOps

Senior Software Development mit Scala in AWS mit Microservices

  • Implementierung von User Stories einer B2C Direct Sale Microservice Applikation in Scala basierend auf AWS und docker. Use case: Kunden können ihre Gebrauchtfahrzeuge direkt an Händler verkaufen
  • Anbindung von Salesforce CRM über S3 (XML) mittels AWS Lambda in Scala
  • Technologieberatung im Bereich Kafka
  • Datenbankanbindung an AWS Aurora (MySQL) mittles Framework Doobie
  • Monitoring und Alerting mittels AWS Cloudwatch und Datadog
  • Continuous Deployment mittels Jenkins
Scala 2.12 AWS AWS Lambda Microservices Doobie Slick AWS MySQL Aurora Jenkins AWS Cloudwatch Datadog docker
autoscout24
1 Jahr 9 Monate
2017-04 - 2018-12

Senior Software Development

Architekt, Senior Developer Scala 2.11 + 2.12 Akka SBT ...
Architekt, Senior Developer

Senior Software Development und Architekturberatung in einem Big Data Projekt

  • Implementierung verschiedenster Microservices auf Basis von Kafka Realtime Features
    • Kafka Stream Apps
    • Kafka Connect (Source + Sink)
    • Interactive Queries
    • KSQL
  • ETL von Google Ad-Daten mittels Spark
  • Realtime Streaming, Normalisierung und Enhancement von Ad-Click DFP Daten nach Apache Kafka mittels Implementierung eines eigenen Kafka Connectors und Weiterverarbeitung mit Kafka Streams Microservices
  • Realtime Sessionizing von User Interaktionen im Web zur Aufbereitung für Machine Learning Algorithmen
  • Implementierung eines Kafka / Interactive Query REST Services zur Bereitstellung von mittels ML erstellten User Profilen für das Frontend
  • Dockerisierung der Kafka Connect Import Module und der Kafka Stream Applikationen
  • Integrationstest der Kafka Connectoren und Kafka Streaming Apps mittels Landoop Docker Kafka Umgebung und Coyote Integrationstests. Integration in CI/CD Prozess basierend auf Docker, Gitlab und Rancher
  • Anpassung, Bugfixing + PR für OpenSource JDBC Kafka Connector um diesen mit sehr großen MySQL Datenbanken verwendbar zu machen: URL auf Anfrage
  • Realtime Übernahme von Artikelcontent aus einer großen MySQL DB in ein Apache Kafka Topic (inkl. Änderungen in Realtime)
  • Beratung für das Aufsetzen von Buildprozessen für Scala/SBT
  • Monitoring der Kafka Connect + Kafka Stream Apps
  • Mitentwicklung einer Maschine Learning Recommendation Applikation basierend auf PredictionIO
  • Mitentwicklung + Verbesserung des Open Source Projektes PredictionIO (Scala Projekt) (Recommender): URLs gerne auf Anfrage
  • Aufsetzen, Konfigurieren und Performanceverbesserungen eines Spark Standalone Clusters auf AWS Maschinen
  • Erstellung von AWS EC2 Machine Images mit Terraform
Scala 2.11 + 2.12 Akka SBT Kafka 0.10.2 ? 1.0.0 Confluent Platform 3.2.x ? 4.0 Kafka Connect Kafka Streams GIT Gitlab Docker Docker Compose Rancher Apache Spark 2.3.1 Landoop Coyote Play Framework Avro MySQL Amazon Web Services PredictionIO Recommender Machine Learning Terraform
5 Monate
2017-08 - 2017-12

Einführung Big Data Pipelines

Big Data Architect & Consultant
Big Data Architect & Consultant

Einführung Big Data Pipelines auf Basis Apache Kafka / Confluent Open Source Platform bei einer großen Internetplattform

  • Anbindung verschiedener Datenquellen mittels Kafka Connect an Kafka
    • Rabbit MQ
    • HDFS / Hadoop
    • MySQL DB
  • Auspielen von Topics nach HDFS
  • Normalisieren und Veredlen von RAW-Daten mit Einführung der Schema Registry + AVRO
  • Coaching von Mitarbeitern in Scala und Kafka
Scala 2.11 + 2.12 SBT Kafka 0.10.2 ? 1.0.0 Confluent Platform 3.2.x ? 4.0 Kafka Connect Kafka Streams GIT Jenkins Docker Docker Compose Mesos Aurora Landoop Coyote Play Framework AVRO MySQL
gutefrage.net
2 Jahre 2 Monate
2015-05 - 2017-06

Neuimplementierung

Architekt, Senior Developer, Coach Scala 2.11 Akka Akka Streams ...
Architekt, Senior Developer, Coach

Neuimplementierung einer großen internetbasierten KFZ Verkaufsplattform mittels Microservices auf Scala und AWS Cloudbasis

  •  Coaching
    • Scala Coaching
    • Technology Coaching
    • Softwaredesign + Test Driven Development Coaching
  • Mitentwicklung eines Preisbewertungstools für gebrauchte KFZ (Backend + Frontend)
  • Performanceanalyse und Optimierungen beim Umstieg auf JDK 8
  • Performanceoptimierungen und Monitoring von Microservices und deren Verwendung von Amazon Services (z.B. DynamoDB, Autoscaling)
  • Abstimmung mit AWS Technology Managern
  • Aufbau und Softwaredesign von Microservices (Template für Microservices)
  • REST API Design für Backendservices der KFZ Suche
  • Frontendentwicklung
  • Umsetzung der Infrastuktur für Consumer Driven Contract Testing
  • Implementierung Realtime Updates der Suche mittels Akka, Akka Streams und Kafka
  • High Availabilty, Resilience und Failover Konzeption der traffic-stärksten Seiten/Microservices bei AS24 ( bis zu 20.000 req/min)
  • Entwicklung und Betreuung einer Scala Bibliothek für das Erzeugen von strukturierten Events (CQRS Ansätze) aus Microservices
  • Implementierung und Betreuung eines Feature-Switching Tools
  • Aufbau von Microservices für die Registrierung und das Versenden von mobilen Push Registrierungen mit Amazon Dynamo DB und SQS
Scala 2.11 Akka Akka Streams AWS (Amazon Webservices) SBT Elasticsearch Kafka GIT Oracle DB Play Framework Dropwizard Metrics GOCD (Continuous Development Tool) HTML Javascript Ruby Docker
Autoscout24
München
5 Monate
2014-12 - 2015-04

Architektur und Entwicklung

Architekt, Developer, Coach Big Data: Apache Spark Elasticsearch Hadoop ...
Architekt, Developer, Coach

Architektur und Entwicklung von Microservices und Textähnlichkeitsanalysen für helpster.de (werbebasierte Internetseite mit redaktionellem Content)

  • Architektur und Entwicklung eines Microservices der bei der Erstellung von neuen Artikeln im CMS System unterstützt:
    Ermittlung von relevanten Keywords mittels WDF/IDF Algorithmus aus einem sehr großen Datenbestand mittlels Apache Spark um das Google Ranking von Artikeln zu verbessern und damit die Artikelerstellung zu optimieren. Umsetzung von REST Schnittstelle und einer AngularJS UI für Use-Cases im Bereich WDF-IDF

  • Microservice mit REST Interface für die Ermittlung von verwandten helpster Artikeln und Gutefrage.net Content unter Verwendung von Elasticsearch (More like this)

  • Microsservice der eine interne Suche auf Basis von Elasticsearch mit zahlreichen erweiterten Features anbietet (Synonymunterstützung, verschiedene Autokorrekturen der Eingabe) zur Ablösung der vorher verwendeten Google Suche

  • Automatisierter Erkennung und Clustering von ähnlichen Dokumenten (Near Duplicate Content) mittels MLT von Elasticsarch und Clusteringverfahren (k-means, DBSCAN) sowie mittels LDA (Latent Dirichlet Allocation)

  • Einführung von Continuous Integration/Deployment in den neu entwickelten Scala Microservices

  • Scala Coaching und Coaching der Architektur für Microservices der internen Mitarbeiter

Big Data: Apache Spark Elasticsearch Hadoop Scala 2.10 + 2.11 SBT GIT MySQL Chef Ruby AngularJS Bootstrap Spray Textähnlichkeitsanalysen mit Latent Dirichlet Allocation Clusteringverfahren (k-mean DBSCAN)
helpster.de
2 Monate
2014-10 - 2014-11

Architektur- und Prozessberatung

Architekt, Developer, Coach Java 8 Spring 4 Maven ...
Architekt, Developer, Coach

Architektur- und Prozessberatung in mehreren Bereichen

  • Beratung zur Einführung von Microservices inkl. Serviceauthentifizierung

  • Unterstützung und Coaching bei der Umstellung auf Java 8 mit funktionalen Paradigmen

  • Einführung eines distributed In-Memory-Datagrids (Infinispan) für das Caching von zeitintensiven Backendcalls

  • Optimierung der Continuous Integration Pipeline und Beratung zur Optimierung hin in Richtung Continuous Deployment

  • Software-Review Prozessoptimierung

Java 8 Spring 4 Maven Infinispan Cache Crucible Tomcat 7 GIT Jenkins
O2
1 Jahr 4 Monate
2013-06 - 2014-09

Umbau eines rein PHP

Architekt, Developer, Coach Scala 2.10-2.11 Twitter Finagle Stack Linux ...
Architekt, Developer, Coach

Mitwirkung bei dem Umbau eines rein PHP basierten Frage/Antwort - Forums auf eine Scala basierte Microservicearchitektur im High Traffic Bereich

  • Scala Software Development in den Services

  • Konzept und Umsetzung für die Wiederverwendung von allgemeinen Komponenten in den Services inkl. Einführung von Dependency Injection

  • Miterstellung der neuen Softwarearchitektur

    • API Thrift Design der Services

    • REST-Design der öffentlichen API

    • Konzeption der Authentifizierung und Authorisierung mittels JWT Tokens

    • Miteinführung von NoSQL (Redis) zur Speicherung von Accesstokens

  • Einarbeitung und Coaching auch neuer Mitarbeiter

  • Etablierung des Continuous Delivery Prozesses

    • regelmässige Servicereleases (weniger als 15 min nach Checkin) mit Zero Downtime

    • Mehrschichtige Testing- und Buildpipelines zur Qualitätssicherung mit automatisiertem Testing

Scala 2.10-2.11 Twitter Finagle Stack Linux Intellij Redis MySQL Memcache GIT Jenkins Rabbit MQ Spring AMQP Apache Thrift MySQL NoSQL JWT Scalatest Mockito SBT MogileFS DI mittels CakePattern Android 4.0 ? 4.4 SBT
gutefrage.net
1 Jahr 4 Monate
2013-06 - 2014-09

Architektur und Mitentwicklung einer Android App

Architekt, Developer, Coach Scala 2.10-2.11 Twitter Finagle Stack Linux ...
Architekt, Developer, Coach

Architektur und Mitentwicklung einer Android App für die führende Frage-Antwort Plattform in Deutschland

  • Durchführung einer Machbarkeitsstudie und eines Prototyps für die Umsetzung einer Android App mit Scala 2.11

  • Coaching des Teams bzgl. Scala & Android

  • Umsetzung der wichtigsten Basiskonzepte (z.B. Dependency Injection, Retries bei Verbindungsabrüchen zum Server u.v.m) der App

  • Einrichtung eines Continuous Integration Prozesses

  • Mitentwicklung bei allen Usecases der App

  • Interview mit mir bzgl. Scala auf Android: [URL auf Anfrage]

Scala 2.10-2.11 Twitter Finagle Stack Linux Intellij Redis MySQL Memcache GIT Jenkins Rabbit MQ Spring AMQP Apache Thrift MySQL NoSQL JWT Scalatest Mockito SBT MogileFS DI mittels CakePattern Android 4.0 ? 4.4 SBT
gutefrage.net
2 Jahre 5 Monate
2011-01 - 2013-05

Realisierung eines EBook Shops

Senior Developer, Architect,Scrum Master & Technology Consultant Apache CXF SOAP Webservices WS-Reliable Messaging ...
Senior Developer, Architect,Scrum Master & Technology Consultant

Realisierung eines EBook Shops für den E-Ink Reader Tolino Shine

  • Softwarearchitektur und Umsetzung der neuen Geschäftsprozesse

  • MongoDB 2 Persistenz für Kundenprofilinformationen mit Spring Data sowie Anbindung der bestehenden Oracle DB

  • Authentifizierung und Authorisierung durch Eigenimplementierung eines OAUTH2 Providers mit JSON Web Token (JWT)

  • Rest-API für bestehende und neue Services mit Resteasy

  • Umsetzung einer ESB-ähnlichen (Enterprise Service Bus) Applikation mit Spring Integration für die asynchrone Verarbeitung von Requests wie z.B. Bestellungen, digitale Auslieferungen, Abfragen der E-Bibliothek, Supportanfragen für das CCC/SAP u.v.m.
    Messaging mittels MQ Series und HornetQ

  • Coaching und Aufbau einer Continuous Delivery Build Pipeline

Apache CXF SOAP Webservices WS-Reliable Messaging WS-Addressing SoapUI JBOSS 4.3 JEE5 Spring 3.1 IBM DB2 Oracle 11g H2 DB JUnit Linux Jenkins/Hudson Continuous Integration Server Continuous Deployment Mockito JMS HornetQ Eclipse GIT Subversion Hibernate JPA Maven Ant Cargo Flyway Jira Crucible Scrum SAP VisualRules 5.1 (RuleEngine) Apache Lucene 3.4 JGroups Selenium 2 RESTful HTTP REST Resteasy JAX-RS Spring Integration Spring Data MongoDB
Weltbild, Panther (Tolino)
2 Jahre 5 Monate
2011-01 - 2013-05

FIT

Senior Developer, Architect,Scrum Master & Technology Consultant Apache CXF SOAP Webservices WS-Reliable Messaging ...
Senior Developer, Architect,Scrum Master & Technology Consultant
  • Anbindung eines großen deutschen Internetshops für Bücher, DVDs etc. an ein neues CRM- und Auftragsverwaltungssystem
    • Erstellung eines neuen annotationsbasierten Frameworks zur Kommunikation zwischen dem PHP Frontend und der Java Backend Schicht
    • Implementierung von performanten Exporten in JEE und JMS mittels HornetQ
    • Transaktionale Anbindung von JMS (MQ Series) basierten Artikelimports in die Artikel DB des Webshops inkl. Integration von Monitoring der Queues und Dead-Letter-Queues innerhalb der Anwendung mit RESTful HTTP
    • Vereinfachung der Architektur und der Infrastruktur in der Mittelschichts- und Produkt-Informationsanwendung
    • Anbindung der Bestellabwicklung des Shop Backends per SOAP Webservices an neues CRM/ Auftragsverwaltungssystem
      • Schnittstellenanalyse und –design inkl. Abstimmung mit Fachbereich und anderen Entwicklungsteams
      • Technische Umsetzung mit Apache CXF
    • Einführung von neuen Testkonzepten und Testmöglichkeiten im Produktinformationssystem
    • Technologische Beratung und Etablierung eines Prozesses für die Verbesserung der technischen Architektur
    • Einführung eines Tools (Flyway) zur Versionierung und automatisierten Erweiterung des Datenbankschemas zur Optimierung und Vereinfachung des Anwendungs-Deployments hin in Richtung Continuous Deployment
    • Optimierung der Testbarkeit der Shopanwendung durch lokale Build-Datenbanken und schneller In-Memory-DBs
    • Erstellen von Schnittstellen und deren Beschreibung zu anderen Systemen
    • Verbesserung des Continuous Integration und Einführung eines Continuous Deployment Prozesses
    • Einführung von Functional Testing der Mittelschichtsanwendung mit simulierten JSON Requests des Frontends und komplettes Testing inkl. PHP Frontend mit Selenium 2
    • Coaching und Durchführung von Schulungen der Mitarbeiter (z.B. GIT mit SVN) und Weitergabe von technischem Know How
    • Durchführung von Architektur- und Codereviews
    • SCRUM Master für ein Entwicklungsteam
    • Optimierung der Abläufe und Scrumprozesse (Beratung im Bereich agiler Methoden)
    • Fehlerbereinigung eines Regelwerks zur Warenkorbvalidierung auf Basis Visual Rules (Rule Engine) und Anbindung an den Internetshop nach Refactoring und Kapselung des alten Validierungscodes
  • Refactoring und Neuentwicklung der Suchfunktionalität (Basis Apache Lucene) des Webshops
    • Implementierung der Clusterfähigkeit der Suchagenten und Crawler
    • Verteilung von Delta-Indices im Suchcluster
    • Monitoring der Suchanwendung mittels RESTful http
Apache CXF SOAP Webservices WS-Reliable Messaging WS-Addressing SoapUI JBOSS 4.3 JEE5 Spring 3.1 IBM DB2 Oracle 11g H2 DB JUnit Linux Jenkins/Hudson Continuous Integration Server Continuous Deployment Mockito JMS HornetQ Eclipse GIT Subversion Hibernate JPA Maven Ant Cargo Flyway Jira Crucible Scrum SAP VisualRules 5.1 (RuleEngine) Apache Lucene 3.4 JGroups Selenium 2 RESTful HTTP REST Resteasy JAX-RS Spring Integration Spring Data MongoDB
Weltbild
1 Monat
2012-12 - 2012-12

Durchführung eines eintägigen Workshops

Coach
Coach

Durchführung eines eintägigen Workshops zum Thema Versionsverwaltung mit GIT inkl. Beratung zur Migration.

HUK Coburg
Coburg
5 Monate
2012-04 - 2012-08

Technologische Beratung

Architect & Coach Spring Spring MVC Spring Data ...
Architect & Coach

Technologische Beratung, Architektur, Coaching und Umsetzungstätigkeit bei einem Portal für Versicherungsvergleiche

  • Erstellung der Architektur und Beratung bei der Konzeption für ein neues Modul/eine neue Anwendung auf Basis neuer Technologien, die schrittweise auch die auf veralteten Technologien (WebObjects) basierenden Anwendungen ablösen

  • Beratung bei der Einführung der Versionsverwaltung GIT (Umstieg von CVS)

  • Einführung von Continuous Integration und Testdriven Development

Spring Spring MVC Spring Data Oracle Jenkins GIT CVS Eclipse Tomcat WebObjects Hibernate 4
Transparo
Augsburg
5 Monate
2011-11 - 2012-03

Coaching eines Entwicklers und Mitentwicklung

Coach & Architect
Coach & Architect

Coaching eines Entwicklers und Mitentwicklung (Pair-Programming) bei der Umsetzung des gesamten Projekts „Medienverteiler“, einer JEE Backendanwendung mit Swing GUI auf dem Client die u.a. zur Verwaltung der Empfänger von BG-ETEM Medien verwendet wird.

  • Beratung des Fachbereichs und der Entwicklung für die Umsetzung und Priorisierung neuer Features
  • Coaching in JEE6, JPA & Hibernate, Test Driven Development (Servicetests ohne laufenden JBoss), Transaktionen mit Datenbanken, Softwarepatterns und vielen Best Practices
  • Erstellung und Design einer Serviceschicht
  • Coaching und Mithilfe bei der Umsetzung der Swing GUI
  • Neuerstellung und Coaching: Erstellung eines Datenbankmodells
  • Einführung von QueryDSL als typsichere, kompaktere Alternative zur Criteria API
  • Einrichten einer Continuous Integration Umgebung
  • Coaching und Umsetzung bei Deployment und Packaging der Anwendung
JEE 6 JBoss 6 IBM DB2 JPA 2 Hibernate 3.6 QueryDSL Swing Citrix Soap Webservices ANT Jenkins Testdriven Development JUnit
BG ETEM
Augsburg
4 Monate
2011-11 - 2012-02

Erstellung einer Blogsoftware

Architect & Developer OpenID OpenID4Java Google AppEngine ...
Architect & Developer

Erstellung einer personalisierten, cloudfähigen Blogsoftware mit Schnittstellen zu verschiedenen Plattformen

  • Architektur & Konzeption
  • Implementierung
OpenID OpenID4Java Google AppEngine Google Web Toolkit (GWT) Spring 3 REST RESTFul HTTP JSON Ajax GIT Java JDK 1.6 Gradle
Augsburg
4 Monate
2010-10 - 2011-01

Rekonzeption, Refactoring und Weiterentwicklung der Internet Registrierungsanwendung eines großen deutschen Mailanbieters (basierend auf Apache Wicket)

Senior Developer, Technology Consultant und Agile Coach Wicket 1.4 JSON Ajax ...
Senior Developer, Technology Consultant und Agile Coach
  • Technologieberatung und Kurzvorträge/Tutorials für Entwickler

  • SCRUM - Einführung und Prozessberatung

  • Refactoring und Bereinigung der Architektur und des Build- & Deploymentprozesses

  • Design und Implementierung neuer Features

  • Anbindung von Drittsystemen mittels Webservices (Spring WS)

  • Analyse und Lösung von bestehenden Problemen im Bereich Memoryleaks (PermGen Space), sowie beim Loadbalancing der geclusterten Anwendung

Wicket 1.4 JSON Ajax JQuery HTML+CSS Spring 2.5 und 3 Tomcat 5.5 & 7 Apache Webserver Oracle Maven 3 JUnit EasyMock Mockito GIT (git-svn) SVN Hudson JDK 1.6 Eclipse 3.6 Linux Drools JSR 303 (Bean Validation) Loadbalancing + Clustering (bei Sticky Sessions) VisualVM YourKit Profiler Spring Webservices Axis
GMX
München
6 Monate
2010-05 - 2010-10

Neuimplementierung und Refactoring eines kommentierbaren Activityfeeds einer großen Social Network Plattform mit extremen Near-Realtime und Performanceanforderungen

Softwarearchitekt, Senior Developer und Technology Consultant Spring Memcache Hazelcast ...
Softwarearchitekt, Senior Developer und Technology Consultant

Neuimplementierung und Refactoring eines kommentierbaren Activityfeeds einer großen Social Network Plattform mit extremen Near-Realtime und Performanceanforderungen

Implementierung einer Kommentarfunktionalität der Statusmeldungen innerhalb des Activityfeeds mit Darstellung für alle Benutzer in Fast-Echtzeit

  • Technologische Beratung
  • Architektur und Implementierung (UseCase orientiert, Backend (DB/NoSQL) bis Frontend)
  • MongoDB: Ausführliche Evaluation und Machbarkeit einer weichen Migration zu performanten und skalierbaren NoSQL Technologien
    • Einführung, Architektur und weiche Migration auf die NoSQL Datenbank
      MongoDB mit Ablösung einiger zentraler Standard Datenbank-Tabellen
      (MySQL)
    • Verwendung des Shardingfeatures der MongoDB (Segmentierung von Daten
      auf verschieden MongoDB Instanzen)
    • Durchführung von Lasttestszenarien und intensive Fehleranalyse im
      Hochlastbetrieb mit den Entwicklern von MongoDB
    • Performanceanalyse in einem Umfeld mit einer Tomcatfarm von 80
      Servern und 2 MongoDB Instanzen, die im Shardingmodus arbeiten
    • Evaluation von Alternativen zu SQL und NoSQL, wie z.B. In-Memory-Datagrids
  • Umsetzung mit verteiltem In-Memory-Datagrid (Hazelcast) und Memcache
  • Performanceoptimierung und Testerstellung
  • Aufbau von Continuous Integration, Continuous Deployment und Buildprozessoptimierung
  • Planung und Durchführung des Umstiegs von CVS auf GIT
Spring Memcache Hazelcast EhCache Hibernate NoSQL MongoDB MySQL Tomcat 6 Struts HTML JSTL JSP Javascript Ajax JQuery Prototype Ant Eclipse (STS) JMeter Selenium Linux MacOS X GIT CVS Hudson
Lokalisten.de
München
10 Monate
2009-08 - 2010-05

Umsetzung eines neuen Kundenbindungssystems für eine große deutsche Fluggesellschaft auf Basis von OSGI und JEE

Senior JEE Developer, Senior Consultant Scrum Oracle 10 Hibernate 3.3 ...
Senior JEE Developer, Senior Consultant
  • Anbindung von Drittsystemen mittels Batchverarbeitung, EJB und Webservices

  • Umsetzung von Workflows mit JBPM

  • Umsetzung der Business Logik unter Verwendung von austauschbaren OSGI -Bundles

  • Optimierung der Roundtripzeiten bei der Entwicklung

  • Mitwirkung beim Refactoring des Loyality Cores (Reduzierung von DTOs, Verwendung eines einheitlichen Domainmodels mit Hibernate Mappings auch bei internen Schnittstellen)

  • Unterstützung bei der Einführung des funktionalen Testframeworks „Fitnesse“ zur Umsetzung von Akzeptanztests (auch automatisiert im Rahmen des CI-Prozesses)

  • Beratung zur Verbesserung der Continuous Integration Umgebung inkl. Umsetzung: Ablösung von Cruisecontrol, Umstellung auf Hudson

Scrum Oracle 10 Hibernate 3.3 Hudson Unix Eclipse Java 1.6 OSGI Equinox JUnit Mockito Weblogic 10 EJB 3 JMS Fitnesse Hudson Maven 2.2.1 JBPM Magic Draw AndroMDA
Loyalty Partner Solutions (Payback)
München
7 Monate
2009-01 - 2009-07

Erweiterung und Fertigstellung einer komplexen Loyality Plattform auf JEE Basis für ein europäisches Land bestehend aus Internetshop

Senior JEE & Spring Developer, Architect Scrum Eclipse 3.4 Bea Weblogic 10.1 ...
Senior JEE & Spring Developer, Architect

Refactoring, Erweiterung und Fertigstellung einer komplexen Loyality Plattform auf JEE Basis für ein europäisches Land bestehend aus Internetshop, Callcenter-App und Backendimplementierung für die Prozess- und Workflowunterstützung und Module für die Batch- und Jobverarbeitung.

  • Refactoring der Architektur (vor allem Komplexitätsreduzierung und Verbesserung der automatischen Testbarkeit und der Konfiguration) und der Infrastruktur.
  • Schnittstellenspezifikation und deren Abstimmung für den Datenaustausch mit Partnern über Flatfiles, XML und Webservices. Implementierung und Test der Schnittstellen.
  • Design und Implementierung mehrerer komplexer Prozesse im Backendbereich inkl. Datenbankanbindung u.a. mit EJB 3
  • Refactoring des bestehenden Batch- und Jobframeworks weg von einer von dem Rest der Anwendung getrennten Mule Standalone-Anwendung zu einer in die JEE Applikation integrierten Lösung mit erheblich vereinfachter Konfiguration über Spring
  • Performanceanalyse des Code, Optimierung und Fehlerbehebung unter anderem im Bereich der Verwendung von XA Transaktionen
  • Optimierung von Continuous Integration im Projekt (Cruisecontrol)
Scrum Eclipse 3.4 Bea Weblogic 10.1 Spring 2.5 Hibernate 3 AndroMDA UML MagicDraw EJB 2.1 und EJB 3 Mule ESB 1.3.3 JMS XA Transactions Maven Cruisecontrol JAX-WS SOAP XML Schema Oracle 10
Loyalty Partner Solutions (Payback)
München

Aus- und Weiterbildung

Aus- und Weiterbildung

04/2000:

Ausbildung: Informatikstudium 

Abschluss: Diplom-Informatiker FH

 

03/1998 ? 09/1998:

Institution: Infomatec AG Augsburg

Ausbildung: 2. Praxissemester

 

09/1996 - 03/1997:

Institution: Siemens-Nixdorf Augsburg

Ausbildung: 1. Praxissemester

 

10/1995 - 03/2000:

Institution: FH Augsburg

Abschluss: Diplom-Informatikstudium

 

11/1994 - 05/1995:

Institution: Universität Augsburg

Ausbildung: Studium der Physik

07/1993:

Abschluss: Allgemeinen Hochschulreife

 

09/1984 ? 07/1993:

Institution: Holbein-Gymnasiums Augsburg

 

09/1979 ? 07/1984:

Institution: Schillerschule in Augsburg

Kompetenzen

Kompetenzen

Top-Skills

Scala MIcroservices Kotlin Java JVM Spring kafka

Produkte / Standards / Erfahrungen / Methoden

Akka
Amazon Dynamo
Amazon EC2
Android
2.3 und Android 4
Android
4.0 ? 4.4
AndroMDA
Ant
Apache CXF
Apache Lucene 3.4
Apache Thrift
Apache Webserver
AWS
AWS
Amazon Webservices
Axis
Big Data
Apache Spark
Bootstrap
Bootstrap
Cargo
Chef
Citrix
Clusteringverfahren
k-mean
Continuous Deployment
Crucible
CVS
DBSCAN
DI mittels CakePattern
Drools
Dropwizard Metrics
EasyMock
Eclipse
Eclipse
STS
Eclipse 3.6
EhCache
EJB 3
Elasticsearch
Equinox
Fitnesse
Flyway
GIT
GIT
git-svn
GOCD
Continuous Development Tool
Google Appengine
Google Cloud Messaging
GCM
Google Cloud-To-Device Messaging
C2DM
Google Web Toolkit
GWT
Gradle
H2 DB
Hadoop
Hadoop
Hibernate
Hibernate 3.3
Hibernate 3.6
Hibernate 4
HornetQ
HTML
HTML+CSS
Hudson
Infinispan Cache
Intellij
Intellij IDEA
Java JDK 1.6
JBOSS 4.3
JBoss 6
JBPM
JDK 1.6
Jenkins
Jenkins/ Hudson Continuous Integration Server
JGroups
Jira
JMeter
JPA 2
JQuery
JSR 303
Bean Validation
JSTL
JUnit
JWT
Kafka
Loadbalancing + Clustering
bei Sticky Sessions
Magic Draw
Maven
Maven 2.2.1
Maven 3
Memcache
Mockito
MogileFS
OpenID
OpenID4Java
OSGI
Equinox
Playframework
QueryDSL
Rabbit MQ
Redis
REST
Resteasy
RESTful HTTP
SAP
SBT
Scala 2.10 + 2.11
Scala 2.11
Scalatest
Scrum
Selenium
SOAP Webservices
SoapUI
Spray
Spray
Spring
Spring 2.5 und 3
Spring 3
Spring 3.1
Spring 4
Spring AMQP
Spring Data
Spring Integration
Spring MVC
Spring Webservices
Struts
Subversion
SVN
Swing
Testdriven Development
Textähnlichkeitsanalysen mit Latent Dirichlet Allocation
Tomcat
Tomcat 5.5 & 7
Tomcat 6
Tomcat 7
Twitter Finagle Stack
VisualRules 5.1
RuleEngine
VisualVM
Weblogic 10
WebObjects
Wicket 1.4
WS-Addressing
WS-Reliable Messaging
YourKit Profiler

Java:

Umsetzung von komplexen Softwarelösungen in Java/J2EE

  • Loyality Partner: Java 1.6, Umsetzung von Business Logik, Schnittstellenimplementierung, Datenbankanbindung und intensive Refactorings zur Komplexitätsreduzierung
  • KVB: Realisierung von zwei Webanwendungen, siehe Projektbeschreibung
  • O2, Projekt Galileo: Middletier Software für die Anbindung von Backendsystemen an das Internetportal (Soap Webservices, SOA, Hibernate, JBOSS 3+4); Migration von JBOSS 3 auf Version 4, Einführung von Maven
  • Projekt Webbox: Erweiterung einer Webanwendung mit Umstellung auf Spring, Einsatz von Hibernate
  • Projekt Gismo: Desktop und Webanwendung
  • Zentrale, eingesetzte Produkte: Hibernate, Spring, Eclipse RCP
  • Projekt QEC-Tool: J2EE Webanwendung mit Hibernate als Persistenzlösung auf IBM Websphere mit IBM DB2 Datenbank
  • Einsatz von Struts als Web-Frameworks
  • Projekt Avanti : Desktop- und Internetanwendung zur Erstellung von personalisierten Versicherungsangeboten für die WWK Versicherungen (Swinganwendung & J2EE-Internetapplikation auf BEA Weblogic)
  • Projekt Workflow/CMS Intranet System für die Deutsche Post auf J2EE Basis
  • Erstellung eines Reportgenerator-Application-Programming-Interfaces für das Kassensystem K2 und das Warenwirtschaftssystem F3 der Firma Infomatec AG
  • Virtueller Chatroom als Praktika während des Studiums
  • Realisierung eines Prototyps einer virtuellen Mall in Java3D als Diplomarbeit
  • Application-Beans und JSP/Servlets in der Web-Applikation (Online-Shop) ?SKL-Holzscheiter? der Firma Infomatec Media
  • Konzeption und Durchführung eines EJB 2.0 Lehrganges
  • Konzeption und Erstellung einer sicheren Server-Daten-Transferkomponente in Java 2 unter anderem mit Einsatz von Servlets und des JNI für eine C++-Schnittstelle (Protokolle: HTTP, HTTPS, FTP, POP3, SMTP)
  • Vielzahl von kleineren Softwareprojekten

 

Android:

Umsetzung einer App zur Überwachung eines Trainingsgeländes [URL auf Anfrage]

 

C++:

Spezielle Vorlesung, sowie intensive Anwendung in einer 2-semestrigen Projektarbeit

Thema: Gerne auf Anfrage

 

UML:

Objektorientierter Analyse und Entwurf, vorwiegend mit Anwendung der Tools Together und Rational Rose, sowie Omondo Eclipse UML

 

Design Patterns:

Häufige Anwendung in allen OO-Softwareprojekten

HTML / JavaScript und Java Server Pages (JSP) /Servlets:

Einsatz  in einer Vielzahl der Projekte, z.B. in der Web-Applikation ?SKL-Holzscheiter? der Firma Infomatec Media, dem Projekt Avanti und dem Projekt QEC-Tool, bei O2 und bei der KVB

 

Webapp-Standards:

  • Struts 1.2.x: Projekterfahrung (Projekt QEC-Tool, Webbox)
  • Java Server Faces (Projekt QEC-Tool)
  • Abaxx (Projekt Galileo)
  • Spring MVC
  • Spring Webflow

 

Webapp-Standards:

  • Struts 1.2.x: Projekterfahrung (Projekt QEC-Tool, Webbox)
  • Java Server Faces (Projekt QEC-Tool)
  • Abaxx (Projekt Galileo)
  • Spring MVC
  • Spring Webflow

 

Internet Protokolle:

HTTP, HTTPS, FTP, POP3, SMTP: Kenntnisse durch Einsatz von entsprechenden Java APIs bzw. Drittprodukte (Jetty, Tomcat, Servlets)

 

Datenbanken/Objektrelationale Mappingtools:

  • Spring Data
  • Hibernate: Projekterfahrung in zahlreichen Projekten
  • JPA
  • DB2: Einsatz im Projekt QEC-Tool in Verbindung mit Hibernate 2.1
  • Datenbankvorlesungen (Grund- und weiterführende)
  • Gute SQL-Kenntnisse
  • Erstellen von Datenbankanwendungen mit SQL-Windows (1997)
  • mit Informix Version 7: intensives Arbeiten, während meines 1. Praxissemesters bei Siemens-Nixdorf
  • mit Access: Auftragsarbeit für die Zeitarbeitsfirma DIWA-Montagen in Augsburg, 1997
  • mit MySQL: Web-Applikation mit JSP, Datenbankanbindung mittels JDBC im SKL-Holzscheiter-Projekt der Firma Infomatec Media
  • mit HsqlDB: Einsatz im Projekt Gismo, zusammen mit Hibernate 3.0
  • mit Oracle: Einsatz in zahlreichen Projekten (Version 8-10)
  • Oracle-Fortgeschrittenen-Schulung im Oktober 2001; häufiger Einsatz von Oracle mittels JDBC

 

Enterprise Java Beans/ J2EE-Plattform:

Einsatz im:

  • Projekt Avanti (Bea Weblogic)
  • QEC-Tool (IBM Websphere)
  • Projekt Gismo und Webbox
  • O2 (JBOSS 3 + 4)
  • Loyality Partner (Weblogic 9 und 10, EJB 3)
  • Konzeption und Durchführung eines EJB 2.0 Lehrganges (Juni ? August 2001)
  • Schulung im Java Competence Center der Infomatec AG (1 Woche im Dezember 2000)

 

Spring Framework (Version 1,2 & 3):

Vielfacher Einsatz und Einführung von Spring Core und begleitender Projekte (Spring Webflow, Spring Batch, Spring Dynamic Modules, Spring Integration, Spring Data)

 

J2EE Webserver:

  • Apache Tomcat ? Version 3 ? 7.x
  • Bea/Oracle Weblogic 6.1, 9 und 10
  • IBM Websphere 5
  • JBoss 3.x, 4.x, 6

Softwarearchitektur:

  • KVB: Modulare Architektur inkl. Schnittstellendesign, Beratung zu Designfragen für Springprojekte und Webservices
  • Konzeption und Design vieler Middletier-Modulen inklusive Interface-Design im Projekt Galileo bei O2
  • Reddesign und Refactoring der gesamten Webanwendung im Projekt Webbox bei Schüco
  • Weiterentwicklung der Plattformarchitektur und Implementierung der Desktop- und Webversion, insbesondere der Prozessengine und der Dialogablaufsteuerung im Avanti Projekt
  • Konzeption und Entwicklung verschiedener Plattformservices im QEC-Tool
  • Umstrukturierung und Reorganisation der Architektur der Schüco Webbox Anwendung

 

3D-Visualisierung:

  • Java3D: Erstellung der Diplomarbeit ?Eine virtuelle Mall in Java 3D? und einer CEBIT-Demo im Jahr 2001
  • VRML: Erstellung von Funktionalität für virtuelle Community-Räume in Java in einem Blaxxun-System mittels des EAI-Interfaces von VRML
  • OpenGL und Open Inventor: Einarbeitung und Erstellung von Demos

 

XML Technologien und XML-Java Binding:

  • XML-Apis: JDom, dom4j, Castor, JAXB, Digester
  • XSLT: Stylesheet-Entwicklung, Xalan Know-How
  • XML-Schema
  • XSL-FO: dynamische PDF-Generierung mittels Apache FOP
  • JAXB 2.x
  • XML-Spy (Tool)

 

JSON:

Einsatz von Jackson zur Umsetzung einiger REST-APIs

 

Versionsverwaltung:

  • GIT
  • CVS (auch Installation + Repositoryaufbau)
  • Subversion (auch Installation + Repositoryaufbau)
  • PVCS
  • Perforce
  • Clearcase

 

Buildsysteme / Continuous Integration:

  • Gradle
  • Ant
  • Maven 1 - 3 (kompletter Aufbau Buildsystem/Nightly Builds im QEC-Tool, Gismo Webbox)
  • Cruisecontrol
  • Continuum
  • Jenkins / Hudson

 

Entwicklungs- Umgebungen / Case Tools:

  • Intellij Idea
  • Eclipse 1.x ? 3.x
  • WSAD 5.1
  • JBuilder
  • NetBeans / Forte
  • TogetherJ
  • Visual Studio
  • Rational Rose
  • Magic Draw

 

Webservices / SOAP:

  • Axis 1.4 / 2.0 (Projekt Galileo O2 + eigene Projekte)
  • JAX-WS 2.0-2.2 (Projekt Galileo O2 und Loyality Partner
  • Apache CXF
  • Spring WS

 

Unit- und Integrationtesting:

  • JUnit
  • EasyMock
  • DBunit
  • Mockito
  • Fitnesse (Functional Tests)
  • Selenium 1+2

Erfahrung in agilen Methoden & Prozesse:

  • TDD (Test driven Development)
  • Scrum
  • Pairprogramming

Beruflicher Werdegang:

02/2006 ? heute:

Rolle: Freiberuflicher Consultant

 

Aufgaben:

verschiedenen Projekten und Firmen

12/2005 ? 01/2006:

Kunde: Schüco

 

Aufgaben:

  • Webbox Update
  • Fachlich/Technisches Upgrade einer Webanwendung für eine Vertriebslösung der Firma Schüco (B2B)
  • Umstellung der Anwendung auf Spring/Hibernate

03/2002 ? 01/2006:

Kunde: CSC Ploenzke

Rolle: Application Designer

08/2005 ? 11/2005:

Kunde: AMB Generali

Aufgaben:

  • Gismo
  • Desktop- und Internetanwendung einer Versicherungsangebotslösung auf Basis EclipseRCP / Spring / Tomcat

06/2004 ? 07/2005: 

Kunde: DaimlerChrysler

 

Aufgaben:

  • QEC-Tool
  • Internet-/Intranet-Anwendung zur Umsetzung des Qualitätssicherungsprozesses bei DaimlerChrysler

 

03/2002?05/2004:

Kunde: WWK

Aufgaben:

  • Avanti 
  • Desktop- und Internetanwendung zur Erstellung von personalisierten Versicherungsangeboten für die WWK-Versicherungen (Swinganwendung & J2EE)

11/2001 ? 02/2002:

Kunde: Arsdigita, jetzt RedHat

Rolle: Java Entwickler 

 

Aufgaben:

  • Freiberuflich
  • Projekt Workflow/CMS Intranet System für die Deutsche Post

06/2001 - 10/2001:

Kunde: Wistec GmbH Augsburg

Rolle: Java-Software-Entwickler

05/2000 ? 05/2001:

Kunde: Infomatec Media Augsburg

Rolle: Software ?Entwickler

03/1998 ? 09/1998:

Kunde: Infomatec AG Augsburg

Rolle: Freelancer

01/1998 - 01/1998:

Kunde: NCR Augsburg

Rolle: Freiberuflicher Berater/ Entwickler

 

Aufgaben:

DB Lösung in Access

06/1997 ? 09/1997:

Kunde: Diwa Montagen

 

Aufgaben:

Freiberufliches Projekt: Erstellung einer Mitarbeiter-/Kundenverwaltungsapplikation

09/1996 - 03/1997:

Kunde: Siemens-Nixdorf Augsburg

Rolle: Werkstudent

Praktika:

05/1995 - 09/1995:

Kunde: Siemens-Nixdorf

Rolle: Werkstudent 

Aufgaben:

Praktikum

Zivildienst:

08/1993 ? 10/1994:

Malteser Hilfsdienst

Scala:

  • 7 wöchiger Kurs bei Coursera.org beginnend im März 2013
  • Einsatz im Projekt ab Juni 2013

Betriebssysteme

Linux / Shellprogrammierung
Gute Kenntnisse
MacOS X
Unix
Windows
NT/2000/XP

Programmiersprachen

80x86 Assembler
Ajax
Android
AngularJS
C
C++
Java
Java 1.6
Java 8
JavaScript
JAX-RS
JEE 6
JEE5
JMS
JPA
Json
JSP
PASCAL
Ruby
Scala
Visual Basic/ Visual Basic für Applikationen
VRML

Datenbanken

Access
DB2
Hazelcast
IBM DB2
Informix
JDBC
MongoDB
MongoDb
MySQL
NoSQL
Oracle
Oracle 10
Oracle 11g
Oracle DB
SQL

Datenkommunikation

Internet, Intranet
Http, https, ftp, mail
Message Queuing
JMS, AMQP (Rabbit MQ)
TCP/IP
Windows Netzwerk

Hardware

PC

Design / Entwicklung / Konstruktion

Prototype

Branchen

Branchen

  • E-Commerce
  • Software
  • Internet
  • Mobilfunk
  • Telekomunikation
  • Versicherungen
  • Automobilindustrie
  • Onlineshops

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.