1 von 91.893 IT- und Engineering-Profilen

Fachlicher Schwerpunkt dieses Freiberuflers

Scala, Java, JEE & Spring Architect / Senior Developer & Technology Consultant / Android, Groovy und Grails

verfügbar ab
01.10.2018
verfügbar zu
100 %
davon vor Ort
100 %
Städte
Augsburg
100 km
Kontaktwunsch

Ich möchte ausschließlich für Projekte in diesen Einsatzorten kontaktiert werden.

Kommentar

Deutschland: nur Großraum München, Augsburg, Ulm, Ingolstadt

Position

Projekte

04/2017 - Heute

1 Jahr 3 Monate

Senior Software Development und Architekturberatung in einem Big Data Projekt

Rolle
Architekt, Senior Developer
Projektinhalte
  • ETL von Google Ad-Daten mittels Spark
Kenntnisse

Scala 2.12

Akka

SBT

Kafka 0.10.2

GIT

Docker

Rancher

Spark 2.1

05/2015 - Heute

3 Jahre 2 Monate

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

Rolle
Architekt, Senior Developer, Coach
Kunde
Autoscout24
Einsatzort
München
Projektinhalte
  • 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
Kenntnisse

Scala 2.11

AWS (Amazon Webservices)

SBT

Elasticsearch

GIT

Oracle DB

Playframework

Dropwizard Metrics

GOCD (Continuous Development Tool)

HTML

Javascript

Ruby

AWS

Amazon EC2

Amazon Dynamo

Kafka

Akka

Scala

05/2012 - Heute

6 Jahre 2 Monate

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

Rolle
Architect & Entwickler
Kunde
MCA Augsburg
Projektinhalte
  • Ü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

Kenntnisse

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

12/2014 - 04/2015

5 Monate

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

Rolle
Architekt, Developer, Coach
Kunde
helpster.de
Projektinhalte
  • 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

Kenntnisse

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)

10/2014 - 11/2014

2 Monate

Architektur- und Prozessberatung in mehreren Bereichen

Rolle
Architekt, Developer, Coach
Kunde
O2
Projektinhalte
  • 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

Kenntnisse

Java 8

Spring 4

Maven

Infinispan Cache

Crucible

Tomcat 7

GIT

Jenkins

06/2013 - 09/2014

1 Jahr 4 Monate

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

Rolle
Architekt, Developer, Coach
Kunde
gutefrage.net
Projektinhalte
  • 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

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]

Kenntnisse

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

01/2011 - 05/2013

2 Jahre 5 Monate

Realisierung eines EBook Shops

Rolle
Senior Developer, Architect, Scrum Master & Technology Consultan
Kunde
Weltbild
Projektinhalte

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

Projekt FIT:

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

Kenntnisse

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

12/2012 - 12/2012

1 Monat

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

Rolle
Coach
Kunde
HUK Coburg
Einsatzort
Coburg

04/2012 - 08/2012

5 Monate

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

Rolle
Architect & Coach
Kunde
Transparo
Einsatzort
Augsburg
Projektinhalte
  • 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

Kenntnisse

Spring

Spring MVC

Spring Data

Oracle

Jenkins

GIT

CVS

Eclipse

Tomcat

WebObjects

Hibernate 4

11/2011 - 03/2012

5 Monate

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.

Rolle
Coach & Architect
Kunde
BG ETEM
Einsatzort
Augsburg
Projektinhalte
  • 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

Kenntnisse

JEE 6

JBoss 6

IBM DB2

JPA 2

Hibernate 3.6

QueryDSL

Swing

Citrix

Soap Webservices

ANT

Jenkins

Testdriven Development

JUnit

01/2011 - 02/2012

1 Jahr 2 Monate

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

Rolle
Architect & Developer
Projektinhalte
  • Architektur & Konzeption

  • Implementierung

Kenntnisse

OpenID

OpenID4Java

Google AppEngine

Google Web Toolkit (GWT)

Spring 3

REST

RESTFul HTTP

JSON

Ajax

GIT

Java JDK 1.6

Gradle

10/2010 - 01/2011

4 Monate

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

Rolle
Senior Developer, Technology Consultant und Agile Coach
Kunde
GMX
Einsatzort
München
Projektinhalte
  • 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

Kenntnisse

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

05/2010 - 10/2010

6 Monate

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

Rolle
Softwarearchitekt, Senior Developer und Technology Consultant
Kunde
Lokalisten.de
Einsatzort
München
Projektinhalte

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

Kenntnisse

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

08/2009 - 05/2010

10 Monate

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

Rolle
Senior JEE Developer, Senior Consultant
Kunde
Loyalty Partner Solutions (Payback)
Einsatzort
München
Projektinhalte
  • 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

Kenntnisse

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

01/2009 - 07/2009

7 Monate

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

Rolle
Senior JEE & Spring Developer, Architect
Kunde
Loyalty Partner Solutions (Payback)
Einsatzort
München
Projektinhalte

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)
Kenntnisse

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

Projekthistorie

Mai 2008 – Dezember 2008

Rolle: Senior Developer, Berater in Architektur & Technologiefragen, Spring & Webservice Experte

Kunde: KVB

Standort: München

Komplette Neuimplementierung inkl. Refactoring der technischen Architektur eines Dokumentenverwaltungs- und Dokumentenworkflowsystems (Webanwendung) auf IOC Konzepte und Spring Webflow.
Verbesserung der Wart- und Testbarkeit von bestehenden Bibliotheken und Realisierung der Anwendung mit Spring 2.5 und Spring Webflow unter Einsatz von AspectJ Features.

  • Umsetzung von zahlreichen neuen fachlichen Anforderungen, inkl. Implementierung mehrerer neuer Workflows

  • Einführung von Spring Security 2 für das Berechtigungskonzept der Anwendung & Coaching der internen Mitarbeiter

  • Einführung von Ajax Technologien für eine Rich UI mittels Spring-Javascript und Dojo

  • Einrichten eines Continuous Integration Servers (Hudson) inkl. Reporting

Implementierung einer Anwendung zur Synchronisation zweier Datenbanken mit unterschiedlichen Schematas:
Das Datenbankschema des Dokumenten-workflowsystems musste aufgrund fachlicher und gesetzlicher Anforderungen angepasst werden, dabei wurden die Daten migriert, ein Teil der Anwendungen musste jedoch noch auf dem alten Schema (und damit der alten DB-Instanz) arbeiten

  • Design und Implementierung der Synchronisationsanwendung mit Hibernate 3.3, JPA Annotations auf Oracle 10g

  • Optimierungen in Hinblick auf Massendatenverarbeitung der Dokumente

  • Massiver Einsatz von AspectJ zusammen mit Spring 2.5 für verschiedenste Bereiche der Anwendung

  • Einsatz von DBUnit und HSQLDB für automatisiertes Integrationtesting inkl. Integration von Testcoveragetools in den Buildprozess

  • Spring Batch mit Quartz als Batch-Execution Wrapper

  • Integration von JMX und Spring`s JMX-Support zur Fernwartung mittels JConsole

Architektur und Implementierung (Durchstich) eines Frameworks für automatisiertes Functional Testing von Webapplikationen auf Basis von Selenium, Maven2 und Jetty

Technische Beratung zu den Themen Spring, Maven 2, Schnittstellendesign, Webservices und modularsierter Architektur

Einführung eines Bugtracking- und Releasemanagement-Prozesses für die Zusammenarbeit der Entwicklungsteams untereinander und mit den Fachbereichen basierend auf JIRA

Tools & Umgebung:

Spring 2.5 (z.b. Spring AOP, AspectJ, Transactionmanagment, Spring ORM, Spring Testframework), Spring Webflow 2.0, Spring Security 2.0, Spring Batch 1.1, Apache Tomcat 6, Eclipse 3.3 & 3.4, Enterprise Architect, UML, Java 1.6, AspectJ, Oracle 10, HSQLDB (für Integrationtesting), DBUnit, Hibernate 3.3, JPA Annotations, Maven 2, Cobertura, Emma, Junit 4.4, EasyMock, Spring Batch, Hudson CI Server, Continuum CI Server, JIRA, FindBugs, Selenium, Jetty 6.1, Ajax (Dojo, Spring-Javascript)


Februar 2006 – April 2008

Rolle: Senior Developer & Architekt

Kunde: O2

Standort: München

Dauer: 24 Monate

Hauptaufgabe: Implementierung und technische Architektur des Middletiers für die Anbindung des neuen CRM-Systems an die Portallandschaft bei O2.

  • Anbindung des Backend CRMs mittels Webservices und Contract-First Ansatz

    • Fachliches und technisches Design der Webservice-Schnittstelle, die das Backendsystem implementieren muss

    • JAX-WS 2.x

    • Nachrüsten der fehlenden Validierungsfunktionalität in JAX-WS für Rpc/Literal und Document-/Literal&Wrapped-Webservices

    • Einbau von WS-I (Web Services Interoperability)-Validierung im Buildprozess mittels Maven-Plugin

    • Integration von WS-Security (OASIS Simple Username Token Profile)

    • JAXB 2.x

  • Mitwirkung bei der Konzeption und der technischen Architektur der Service-, Persistenzschicht sowie bei der Anbindung der Backends (z.B. CRM).

    • Einsatz von UML und entsprechenden Tools (Rational Rose, Omondo UML)

  • Massiver Einsatz von Spring 1 und Spring 2 im gesamten Middletier und Frontend:
    JMX-Bean-Exposing, Transaktionssteuerung, Interceptoren, Aspektorientierung mit Spring 1 AOP und AspectJ (nach Spring 2 Umstellung), Dependency Injection auch bei von Legacy-Frameworks (z.B. Abaxx) erzeugten Objekten, Spring Testsupport, Spring ORM

  • Implementierung von Business-Services als POJOs und Remoting per EJB über Stateless Session Beans mit Spring-Unterstützung

  • Unittesting mit Einsatz des Mockframeworks EasyMock zum Mocken von Abhängigkeiten der zu testenden Klasse

  • Implementierung von Webservice-Endpoints mittels JAX-WS, die anderen Systemen zur Verfügung gestellt werden

  • Analyse und Evaluation des einzusetzenden Webservice-Frameworks (JAX-WS, Axis 1+2)

  • Umstellung der gesamten JEE Anwendung von Spring 1 auf Spring 2

  • Aufsetzen der Infrastruktur und Implementierung von Integrationtesting in Containern (Tomcat und Jboss 4, je nach Anwendung) mittels Cargo

  • Einführung und Coaching von Tools zur Unterstützung von agilen Prozessen (Cruisecontrol)

  • Ablösung von ANT und Einführung von Maven 2 inkl. Coaching bei Fragen zur Modularisierung von großen JEE Anwendungen und Fragen zu Maven allgemein

  • Implementierung einer Vielzahl von Maven 2 Plugins und Bugfixing/Analyse von bestehenden Plugins

  • Frontendentwicklung mit JSP, JSTL und Abaxx (Struts-ähnlich)

    • Design & Entwicklung einer minimalen Abstraktionsschicht für das proprietäre Webframework zur Erleichterung des Unittestings von Frontend-Controllern

  • Einsatz von SCRUM im Projekt

  • Implementierung der Persistenzschicht für Hochverfügbarkeit der Portalanwendung mit Hibernate 2 und 3 (Upgrade im Laufe des Projektes)

    • Erstellung des Domainmodells in Java, Annotation mit JPA- und Hibernate-spezifischen Annotationen

    • Generierung des DB-Schemas aus dem Modell und Feintuning (Datenbanken: Oracle 9.2 und für Testzwecke: HSQLDB)

    • Implementierung von DAOs für die Business-Services u.a. mittels Spring-Templates

    • deklarative Transaktionssteuerung über Spring

  • Umstellung der Enterprise Applikation von JBoss 3 auf JBoss 4

  • Analyse und Beratung bei Classloader-Isolationen/Hierarchien im JBoss

  • Eclipse EMF + ECore Einsatz zur dynamischen Erzeugung einer DSL und Codegenerierung von Java Klassen mittels Eclipse JET2

  • Java-to-XML Binding mittels JAXB 2.x

  • Breiter Einsatz von XML Schema für Webservices und zur Definition von DSLs

  • XSLT für kleinere Transformationsaufgaben

  • Implementierung einer Loganalyse-Webanwendung mit Groovy und Grails

Tools & Umgebung:

Spring 1 + 2, Java 1.5, Maven 2 inkl Pluginentwicklung, ClearCase, XMLSpy, Eclipse 3, Rational Rose, UML, Omondo UML, JBoss 3 + 4, Apache Tomcat 5.5, JAXB, SOAP, JAX-WS, Axis 1+2, WS-Security, WS-I, SoapUI, SCRUM, Oracle 9.2 DB, HSQLDB, Hibernate 2+3, Eclipse EMF + ECore, XML Schema, XSLT, EasyMock, Cargo, Groovy, Grails



Weitere Projekte auf Anfrage

Branchen

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

Kompetenzen

Programmiersprachen
Ajax
Android
AngularJS
AngularJS
C
C++
Java
Java 1.6
Java 8
JavaScript
JAX-RS
JEE 6
JEE5
JMS
JPA
Json
JSP
Ruby
Scala
VRML

Betriebssysteme
Linux
MacOS X
Unix
Windows

Datenbanken
Access
DB2
Hazelcast
IBM DB2
Informix
JDBC
MongoDB
MongoDb
MySQL
NoSQL
Oracle
Oracle 10
Oracle 11g
Oracle DB
SQL
Alle hier aufgeführten Kenntnisse sind Entwicklerkenntnisse (d.h. Anbindung einer DB an eine Anwendung inkl. ER-Analyse mit Schemaerzeugung) und keine DB-Adminkenntnisse (z.B. DB-Optimierung)

Sprachkenntnisse
Deutsch
Muttersprache
Englisch
sehr gut
Italienisch
Grundkenntnisse
Latein
Latinum
Spanisch
Grundkenntnisse

Hardware
PC

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

Produkte / Standards / Erfahrungen
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
Big Data: Apache Spark
Bootstrap
Bootstrap
Cargo
Chef
Chef
Citrix
Clusteringverfahren (k-mean
Clusteringverfahren (k-mean
Continuous Deployment
Crucible
CVS
DBSCAN)
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
Playframework
QueryDSL
Rabbit MQ
Redis
REST
Resteasy
RESTful HTTP
SAP
SBT
Scala 2.10 + 2.11
Scala 2.10 + 2.11
Scala 2.10-2.11
Scala 2.11
Scalatest
Scrum
Selenium
Selenium 2
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
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: Erstellen eines modular erweiterbaren Soundeditors unter Windows mit Visual C++

 

Weitere Sprachen

C, PASCAL, 80x86 Assembler, Visual Basic/Visual Basic für Applikationen, JavaScript

 

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)

 

Betriebssysteme

Gute Kenntnisse in Linux / Shellprogrammierung und Windows NT/2000/XP

 

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

 

Komponentenframeworks

  • OSGI (Equinox)

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

05/2000 – 052001

Anstellung bei Infomatec Media Augsburg als Software –Entwickler

 

06/2001 - 102001

Anstellung bei Wistec GmbH Augsburg als Java-Software-Entwickler

 

11/2001 – 02/2002

Freiberuflich (Arsdigita, jetzt RedHat):

Java Entwickler im Projekt Workflow/CMS Intranet System für die Deutsche Post

 

03/2002 – 01/2006

Angestellt bei CSC Ploenzke als Application Designer:

Projekte bei CSC:

 

03/2002–05/2004: Avanti

Kunde: WWK

 

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

 

0/2004 – 07/2005: QEC-Tool

Kunde: DaimlerChrysler

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

 

8/2005 – 11/2005:Gismo

Kunde: AMB Generali

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

 

12/2005 – 01/2006: Webbox Update

Kunde: Schüco

Fachlich/Technisches Upgrade einer Webanwendung für eine Vertriebslösung der Firma Schüco (B2B)

Umstellung der Anwendung auf Spring/Hibernate

 

02/2006 – heute

Freiberuflicher Consultant in verschiedenen Projekten und Firmen


Design / Entwicklung / Konstruktion
Prototype

Ausbildungshistorie

April 2000

Abschluss des Informatikstudium als Diplom-Informatiker FH

 

März 1998 – September 1998

2. Praxissemester bei Infomatec AG Augsburg, anschließend dort Tätigkeit als Freelancer

 

Januar 1998

Freiberuflicher Berater/Entwickler der NCR Augsburg für eine DB Lösung in Access

 

Juni 1997 – September 1997

Freiberufliches Projekt: Erstellung einer Mitarbeiter-/Kundenverwaltungsapplikation für die Zeitarbeitsfirma „Diwa Montagen

 

September 1996 - März 1997

1. Praxissemester bei Siemens-Nixdorf Augsburg, anschließende Tätigkeit als Werkstudent

 

Oktober 1995 - März 2000

Diplom-Informatikstudium an der FH Augsburg

 

Mai – September 1995

Praktikum und Werkstudent bei Siemens-Nixdorf

 

November 1994 - Mai 1995

Studium der Physik an der Universität Augsburg

 

August 1993 – Oktober 1994

Zivildienst (Malteser Hilfsdienst)

 

Juli 1993

Abschluss der Allgemeinen Hochschulreife

 

September 1984 – Juli 1993

Besuch des Holbein-Gymnasiums Augsburg

 

September 1979 – Juli 1984

Besuch der Schillerschule in Augsburg

×
×