Senior Berater JAVA, J2EE, Software-Architekt, Java Champion, Sun Certified Architect (SCEA 5)
Aktualisiert am 24.11.2023
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 01.01.2024
Verfügbar zu: 100%
davon vor Ort: 100%
Deutsch
fliessend in Wort und Schrift
Englisch
fliessend in Wort und Schrift
Türkisch
Muttersprache

Einsatzorte

Einsatzorte

Österreich, Schweiz, Deutschland
nicht möglich

Projekte

Projekte

1 Jahr 6 Monate
2022-10 - heute

Entwicklung Branchensoftware für Apotheken

Senior Software Developer Scrum Windows 10 Linux ...
Senior Software Developer

Optica entwickelt Branchensoftware für Apotheken zum Abrechnen der Rezepte (ZytoTax). Die Anwendung wird im Backend mit SpringBoot und im Frontend mit Angular entwickelt. Als Fullstackentwickler war ich sowohl im Frontend als auch im Backend tätig. Die Anwendung wird in Krankenhaus-Apotheken eingesetzt.

  • Rest API Design & Entwicklung
  • DevOps
  • Testen (E2E, Acceptance, Unit, Integration, Pact)
  • Release Management
  • Angular Entwicklung

Scrum Windows 10 Linux IntelliJ Kotlin Java 11 17 Docker Microservices Spring Spring Boot Rest API Swagger Angular Cypress Pact Mockito Junit5
Dr. Güldener GmbH .- Optica
1 Jahr 9 Monate
2021-01 - 2022-09

Transport & Organisation

Senior Software Developer Windows 10 Linux Eclipse 2021 ...
Senior Software Developer

Die von MediaMarkt/Saturn (MMS) verkauften Waren werden in Zukunft über den Transport-Orchestrator Centiro an Carrier (DHL, Hermes etc) weitergegeben. Zu diesem Zweck wird innerhalb von MMS eine auf Microservice basierende Rest-API zur verfügung gestellt. Meine Aufgabe in diesem Projekt war die Weiterentwicklung und Erweiterung der benötigen Schnittstellen, Release Management, Deployment und Troubleshooting der Live-Umgebung.

  • Rest API  Design & Entwicklung
  • DevOps
  • Testen (E2E, Acceptance, Unit, Integration)
  • Release Management
  • Deployment (Kubernetes)
Windows 10 Linux Eclipse 2021 Java Scala Java 11 Kubernetes Docker Microservices Spring Spring Boot Google Cloud Platform Rest API Swagger
Mediamarkt Saturn
3 Jahre 5 Monate
2017-08 - 2020-12

Troubleshooting

Senior Software Developer, Troubleshooter, Architekt Windows 8 Linux IntelliJ 2016 ...
Senior Software Developer, Troubleshooter, Architekt

Die Deutsche Vermögensberatung bedient mit eigens dafür entwickelter Software und Infrastruktur mehrere tausend freiberufliche Vermögensberater. Die Produktionsumgebung wird penibel überwacht. Zu diesem Zweck werden diverse Tools entwickelt und eingesetzt. Meine Aufgabe besteht darin, als Troubleshooter die Ursachen der Fehler ausfindig zu machen und zu beseitigen. Dazu gehören auch  Code-Reviews, Produktionbegleitung von Projekten, Weiterentwicklung von Monitoringtools, Einführung von neuen Technologien wie Docker, Kubernetes und Kafka. Bei der Deutschen Vermögensberatung sind die Troubleshooter Bindeglied zwischen Entwicklung und Betrieb. Sie gewährleisten den stabilen Betrieb der Produktionsumgebung. Dazu sind umfangreiche Kenntnisse in der Software Entwicklung, Release- und Deploymentmanagement, Störungs- und Problemmanagement nach ITIL notwendig. Als Java-Entwickler kümmere ich mich um die Weiterentwicklung der Tools zum Logmanagement und Auswertungen. Um das Logmanagement zu zentralisieren, habe ich mit Kafka die notwendige Infrastruktur aufgesetzt. Mit Kafka-Streams können so die Logs in Echtzeit verarbeitet und an unterschiedliche Ablageorte (ElasticSearch, Azure, DB) geschickt werden. Einige Tools sind als Microservice in Springboot implementiert und werden in Kubernetes betrieben. Die entsprechenden Build- und Releasejobs laufen über Jenkins.

  • Entwicklung
  • DevOps
  • Development- und Infrastruktur-Troubleshooting
  • Architektur von Logmanagement-Lösungen
  • Architektur der Monitoring-Lösungen
  • Root-Cause-Analysen, Codereviews
  • Optimierung von Java-Laufzeitumgebungen
Windows 8 Linux IntelliJ 2016 Eclipse Oxygen Java Groovy Bash Python Perl Java 8 9 11 Kubernetes Docker CoreOs Tomcat Apache HaProxy Microservices Spring Spring Boot Kafka ElasticSearch Kibana Filebeat Logstash
Deutsche Vermögensberatung
1 Jahr 7 Monate
2016-02 - 2017-08

SecureSafe

Senior Software Developer MacOs X Linux IntelliJ 2016 ...
Senior Software Developer

SecureSafe ist ein Produkt der Firma Swiss AG. Sie ist beheimatet in Zürich. SecureSafe ist vergleichbar mit Dropbox oder Google Drive. Allerdings liegt der Focus des Produktes auf Verschlüsselung der Daten. Ich habe an der Weiterentwicklung dieses Produktes gearbeitet. Auf Basis dieses Produktes ist auch eSafe der Deutschen Bank implementiert worden. eSafe ist vergleichbar mit einem digitalen Schliessfach. Die Kunden können dort Ihre digitalen Dokumente verschlüsselt ablegen. Ich habe an der Implementierung des eSafeBackoffice mitgewirkt.

  • Java, Rest, WS
  • Backend Entwicklung
MacOs X Linux IntelliJ 2016 Java Groovy Java 7/8 Rest Tomcat Gradle Jenkins Gitlab Git PostgreSQL 9 pl/pgsql Webservice Spring Spring Boot
S&N AG Deutschland/ Dswiss AG Schweiz
9 Monate
2016-05 - 2017-01

Smart Home mit Qivicon

Senior Software Developer Windows 8 Linux Eclipse 4 ...
Senior Software Developer

Die Deutsche Telekom bietet mit der Marke Qivicon eine Smart Home Lösung an. In diesem Projekt habe ich an OSGI-Modulen mitentwickelt, die auf Qivicion Homebase 1 und Homebase 2 deployed wurden.

  • Embedded Entwicklung mit OSGI
Windows 8 Linux Eclipse 4 Java OSGI Java 7/8 Maven 3 Git Jenkins Sonar Groovy Spock Nexus Docker Eclipse Smarthome Qivicon HomeBase 1 HomeBase 2 Speedport Smart
Deutsche Telekom
Darmstadt
1 Jahr 4 Monate
2015-01 - 2016-04

DB SQUARES Entwicklung

Senior Software Developer Windows 7 Redhat Linux Intellij Idea 14 ...
Senior Software Developer

Zum Deployment von Anwendungen entwickelt und betreibt die Deutsche Bank eine Anwendung namens SQUARES. Softwarelieferanten können über SQUARES ihre Produkte an die Deutsche Bank liefern und deployen lassen. Auch interne Projekte werden   über SQUARES deployt. Ich arbeitete an der Weiterentwicklung dieses Produktes sowohl im Frontend als auch im Backend.

  • Backend- und Frontend-Entwicklung mit Java7, Wicket, Spring 4, Nexus, OSGI
Windows 7 Redhat Linux Intellij Idea 14 Java Groovy Javascript Shell Wicket Java 7 OSGI Maven 3 Git Jenkins Subversion Sonar JSP Servlet Spock Nexus OSS Spring 4 BladeLogic
Deutsche Bank
Frankfurt/M
6 Monate
2015-07 - 2015-12

BSM Backend Entwicklung

Senior Software Developer Windows 7 Redhat Linux Eclipse Luna ...
Senior Software Developer
  • Backend-Entwicklung mit Gradle, Groovy, Spring
  • Frontend-Entwicklung mit Grails und AngularJS
Windows 7 Redhat Linux Eclipse Luna Java Groovy Javascript Shell Java 7 Gradle 2 Groovy 2.4 Git Jenkins Spring 3 Sonar Grails AngularJS
KPMG
Frankfurt/M
8 Monate
2014-11 - 2015-06

Maven Umstellung

Senior Software Developer Windows 7 Eclipse 4.4.1 Java ...
Senior Software Developer

Im Rahmen des Projektes SpringIT wurde beschlossen, das Build-Tool Ant durch Maven zu ersetzen und das Middleware MWS zu modularisieren. Es sollte möglich sein, die einzelnen Domänenmodule des MWS einzeln zu bauen und zu releasen, sodass für die Zusammenstellung des MWS kein globales Build mehr notwendig war und es aus den einzelnen Bausteinen zusammengesetzt werden konnte. Zu dem Zweck habe ich die bestehenden Ant Buildscripte modifiziert, sodass gültige Maven Artefakte gebaut und ins Nexus gestellt werden konnten. Durch Einführung von semantischer Versionierung war es möglich, das MWS aus den einzelnen Domänenartefakten, die sich in Nexus befanden zusammenzusetzen. Um automatisiert Jenkins Jobs anlegen zu können, habe ich mit Java und Spring MVC einen Rest Service implementiert. Die Implementierung erfolgte testgetrieben. Ich habe die Implementierung mit Unit-, Integrations- und Akzeptanztests abgesichert. Des weiteren habe ich den bestehenden Integration-Service erweitert, der das Deployment-Pipeline des MWS kontrolliert.

  • DevOps Tätigkeiten
  • Einführung von semantischer Versionierung
  • Vorbereitungen für Maven Umstellung
  • Rest Mikroservices Entwicklung
  • Release und Deployment Management


Schwerpunkt:

  • MWS Modularisierung

Windows 7 Eclipse 4.4.1 Java Groovy Bash Javascript Java 7 Maven 3 Ant Subversion Jira Git Jenkins Spring Fitnesse Spring MVC Jersey JAX-RS XML JSON JAXB JUnit Nexus Ivy
ING-Diba
Frankfurt/M
9 Monate
2014-02 - 2014-10

Rest Mikroservice Entwicklung

Senior Software Developer Suse Linux 13 Eclipse 4.2 Java ...
Senior Software Developer

Ich war daran beteiligt, fahrzeugnahen Dienste auf Basis von Rest-Services zu implementieren. Die Dienste wurden mit Servlet und JAX-RS API entwickelt. Zu meinen Aufgaben gehörte, die Kundenanforderungen zu ermitteln und die entsprechenden Rest-Schnittstellen mit XML zu modellieren. Die von mir definierten Schnittstellen habe ich mit JAX-RS implementiert. Die Implementierung erfolgte testgetrieben. Ich habe die Implementierung mit Unit-, Integrations- und Akzeptanztests abgesichert.

  • Entwicklung von Rest Mikroservices


Schwerpunkt:

Entwicklung am VW MBB-Core und Modellierung und Implementierung von Rest Mikroservices

Suse Linux 13 Eclipse 4.2 Java Java 7 Maven 3 Subversion Jira Sonar Jenkins Spring Servlet Fitnesse Jersey JAX-RS XML JAXB EXI JUnit
Valtech / Audi ? Frankfurt/M / Automotive
1 Jahr 10 Monate
2012-03 - 2013-12

Geocoder Entwicklung

Senior Software Developer Windows 7 Eclipse 3.7 Eclipse 4.2 ...
Senior Software Developer

Ich war als Java Entwickler im Search6 Team  tätig. Nach diversen Bugfixes am bestehenden Service habe ich im Rahmen des UDM (Unified Data Model) Projektes diverse Module implementiert. Neben einem Rule Engine, welches im Postprocessing Step Rules ausführt, um Daten zu modifizieren, habe ich ein  Gui Tool namens LuGu entwickelt, um nach Geoobjekten im UDM Storage zu suchen und diese auf Maps sichtbar zu machen. Zuletzt habe ich an einer webbasierten Anwendung gearbeitet, die ich in Spring MVC implementiert und getestet habe. Mit dieser Anwendung ist es möglich, Geodaten-Änderungen in verschiedenen Quartalen, die aus verschiedenen Revisionen bestehen zu vergleichen und die Unterschiede auf Maps darzustellen. Zweck der Webanwendung ist, den Datenanalyten anzuzeigen, in welchen Regionen und in welchen Maßen Änderungen an Geodaten vorliegen.

  • Entwicklung eines Rule-Engines auf Java Annotations Basis
  • Entwicklung eines Swing Gui  Tools, um Geoobjekte visuell darzustellen
  • Performansmessungen mit JMeter
  • Low level Java Programmierung mit ByteBuffer und Memory Mapped Files
  • Garbage Collector Optimierung, Thread- und Heapdump Analysen
  • Test getriebener Entwicklung
  • Aufbereiten von großen Datenmengen zur Statistikerzeugung


Schwerpunkt:

  • Entwicklung am Navteq Search6 Service (URL auf Anfrage)

Windows 7 Eclipse 3.7 Eclipse 4.2 Java Java 6 Maven 3 Subversion Jira Sonar Spring Spring MVC Swing Eclipse RCP 4
Navteq / Nokia
Frankfurt/M
2 Monate
2012-01 - 2012-02

Lean Development Infrastructure (Lean DI)

Senior Software Developer Windows 7 Eclipse 3.7 Java ...
Senior Software Developer

Ich habe ein bestehendes Projekt, welches mit Ant gebaut wurde in ein entsprechendes Maven Projekt umgewandelt. Im Rahmen des Projektes sollte für Code Reviews Gerrit eingesetzt werden. Ich habe für das bestehende Projekt die Integration mit Git, Gerrit und Egit (Eclipse Plugin) vorgenommen. Für das Continuous Integration habe ich eine Jenkins Instanz, für die statische Code Analyse eine Sonar Instanz aufgesetzt.  So entstand für das Projekt ein Lean Development Infrastructure mit Git, Gerrit, Jenkins und Sonar. Die bestehende Anwendung sollte mit SAP ID integriert werden, womit SSO ermöglicht werden sollte. Ich habe die notwendigen Anpassungen für die Anwendung vorgenommen.

  • Integration, Anpassung und Installation von Development Infrastructure Komponenten wie Git, Gerrit, Jenkins und Sonar
  • Integration einer Anwendung mit SAP ID
  • Mavenizing eines Projektes


Schwerpunkt:

  • Aufsetzen von Lean DI (Development Infrastructure)

Windows 7 Eclipse 3.7 Java Java 1.6 Maven 3 Subversion Git Gerrit Jenkins Sonar Scrum
SAP
Walldorf
5 Monate
2011-08 - 2011-12

Produktentwicklung HD+

Senior Software Developer Windows XP Eclipse 3.6 Java ...
Senior Software Developer

Die Firma Infonova entwickelt und vertreibt ein Softwareprodukt namens Infonova BSS R6. Es ermöglicht, Produkte und Services unterschiedlicher Lieferanten und Partner zu kombinieren, diese so generierten Angebote zu verrechnen und den dabei gewonnen Umsatz automatisch auf die jeweiligen Partner zu verteilen. R6 wird in Kundenprojekten an die Kundenbedürfnisse angepasst. Ich habe als Entwickler als Teil eines Scrum Teams in dem Kundenprojekt für HD+ mitgewirkt. Eine meiner ersten Aufgaben bestand darin, ein verteiltes Drucken von einer J2EE Anwendung heraus zu implementieren. HD+ hat mehrere Standorte und hat die Anforderung, die gewünschten Dokumente abhängig vom Standort des Operators zu drucken. Zu diesem Zweck habe ich mehrere Lösungen und Technologien untersucht und eine Implementierung auf Basis LPR/LPD Technologie implementiert. In der nächsten Aufgabe habe ich mich damit befasst, HD+ Kundenrechnungen, die in Word gehalten werden in das PDF Format zu konvertieren. Zu diesem Zweck habe ich das Open-Source Produkt JodConverter und OpenOffice verwendet. Im Team bestand großes Interesse für agile Entwicklungsmethoden. Meine Aufgaben habe ich mit Hilfe von TDD (Test Driven Development) implementiert. Das weckte das Interesse der Teammitglieder noch mehr. Daher bin ich gebeten worden, andere Teammitglieder in diese Thematik einzuführen. An verschiedenen Beispielen habe die die Vorgehensweise mit TDD dem Team nahegebracht.

  • Anpassung des Produktes Infonova R6 an die Bedürfnisse von HD+
  • Einführung von testgetriebener Softwareentwicklung (TDD)
  • Erweiterung Infonova R6 um verteiltes Drucken mit LPR/LPD
  • Erweiterung Infonova R6 um Word/PDF Konvertierung mit OpenOffice/JodConverter


Schwerpunkt:

  • Produktentwicklung für HD+ auf Basis des Infonova BSS R6

Windows XP Eclipse 3.6 Java Java 1.5 Maven 2 EJB 3 Subversion JUnit/TestNG Sonar Continuum Scrum XP
Infonova - Österreich / Graz / Software Entwicklung
4 Monate
2011-04 - 2011-07

Load- und Performance-Testing

Senior Software Developer, Test Ingeneer Windows XP Eclipse Loadrunner ...
Senior Software Developer, Test Ingeneer

In Credit Suisse wird als Testtool Loadrunner von HP eingesetzt. Damit ist es möglich, in verschiedenen Computersprachen (C, Java) Testscripte zu erstellen und die gewünschten Services remote zu testen. Um die Testscripte und die Vorgehensweise beim Testen einheitlich zu gestalten, wurde ich beauftragt, einen Testgenerator in Java zu entwickeln. Ich habe einen Testgenetor entwickelt, der Loadrunner Testprojekte für Webservice und Corba Services generieren kann. Für die Generierung wird entweder eine IDL (Corba) oder eine WSDL (Webservice) benötigt. Die erstellten Testscripte sind in Java gehalten. Der erste Einsazt für den genannten Testgenerator war ein internes Projekt namens XBSnet. XBSnet ist eine webbasierte Anwendung, die Kontobewegungen eines Kunden anzeigt. Dahinter wird ein Corba Service angesprochen, um die gewünschten Daten vom Hostsystem zu beziehen. Innerhalb von Credit Suisse wurde beschlossen, die Corba Services nach Webservice zu portieren. Meine Aufgabe war, den genannten Corba Service und den ersten portierten Webservice Piloten zu testen. Ich habe mit Loadrunner verschiedenen Baseline/Average und Peak Tests ausgeführt.

  • Erstellung eines Testgenerators in Java zur Standardisierung von Testscripten
  • Erstellung von Loadrunner Testscripten für einen Corba Service
  • Erstellung von Loadrunner Testscripten für einen Webservice
  • Erstellung von Tools zur Analyse von Testergebnissen
  • Ausführung von Last- und Performancetests mit Loadrunner


Schwerpunkt:

  • Load- und Performance-Testing von Webservice und Corba Services

Windows XP Eclipse Loadrunner Java Java 1.5 Maven 2 Spring 3 Subversion Soap-UI
Credit Suisse
Zürich
1 Jahr 1 Monat
2010-02 - 2011-02

Corebanking Projekt

Lead-Developer, Architect Windows XP RAD 7 Java ...
Lead-Developer, Architect

Die Isbank ist einer der ältesten und größten Banken in der Türkei. Das Backend-System basiert auf IMS. Das Corebanking Projekt wurde ins Leben gerufen, um IMS mit offenen Systemen (auf Java Basis) abzulösen. Zu diesem Zweck wurde das Software Paket Corebank von Fidelity gekauft. Darauf aufsetzen wurde eine SOA Architetur entworfen, um IMS Funktionen zu portieren.

  • Einführung von agiler Software-Entwicklung und Methodencoaching
  • Transformation des Teams von herkömmlicher Vorgehensweise auf Agil
  • Einführung User-Stories, Iterationen, Release Planung
  • Einführung Cruise Control
  • AOP Entwicklung für Performance-Messungen und -testing
  • Implementierung einer Cache Lösung mit Hazelcast
  • Einführeung Kanban-Charts, Projektmanagement mit Storycards (Scrum)
  • Erstelllung von Build Scripten mit Ant fürs Bauen und Deployen der Anwendung
  • Umstrukturierung des Projektes mit Maven um das ?Programming in the Large? Model umzusetzen.
  • Einführung und Umsetzung von testgetriebener Software Entwicklung
  • Einführung und Umsetzung von komponentenbasierter Software Entwicklung
  • Einführung und Umsetzung von automatisiertes Testen der Anwendung (Unit-Tests, Integrationstests, Acceptance Tests, Lasttests)
  • Schulung, Coaching und Know-How-Transfer für interne Mitarbeiter
  • Migration von Java 1.4 nach Java 5
  • Eclipse Plugin-Entwicklung für einen RCP Client


Schwerpunkt:

  • Umsetzung Backend für Corebanking

Windows XP RAD 7 Java Java 1.5 Websphere 6.1 Ejb2 TDD mit JUnit SQLJ Swing DB2 Datenbank XML JAXB 2.0 Ant 1.7 Maven 2 Spring 2.5 Clear-Case Soap-UI JMeter AOP mit AspectJ Hibernate Spring JPA Eclipse RCP 3.5
Isbank A.S.
Istanbul
6 Monate
2009-07 - 2009-12

Wohnriester 2009

Lead-Developer Windows XP Eclipse 3.4 Java ...
Lead-Developer

Die Kreditwerk AG ist eine Tochter der Bausparkasse Schwäbisch Hall (BSH). Mit dem Wohnriester bietet BSH ihren Kunden ein vom Staat gefördertes Produkt. Meine Aufgabe bestand darin, eine Architektur für die Verarbeitung von Daten für dieses Projekt zu entwerfen und zu implementieren. BSH besitzt Host-basierte Backendsysteme (IBM). Um die Zulagen vom Staat zu verarbeiten, muss das Host-basierte Bestandssystem mit der ZFA Behörde über JMS gekoppelt werden. Die Kommunikation zwischen den Systemen läuft über festgelegte XML Strukturen.  Ich habe für die Implementierung der XML Daten JAXB 2.0 eingesetzt. Der Zugrff auf das Bestandssystem erfolgte über Corba (Hostanbindung). Ich habe die Verarbeitungseinheiten (intern Robot genannt)  testgetrieben (TDD ? Test Driven Development) entwickelt. Für die Implementierung der Robots habe ich EJB 3.0 verwendet. Codeabdeckung des Projektes lag über 85%.

  • Einführung und Umsetzung von testgetriebener Software Entwicklung
  • Einführung und Umsetzung von Tools für Code Coverage
  • Einführung und Umsetzung von komponentenbasierter Software Entwicklung
  • Einführung und Umsetzung von automatisiertes Testen der Anwendung (Unit-Tests, Integrationstests, Acceptance Tests, Lasttests)
  • Refactoring der bestehenden Codeeinheiten und Überführung in neue Strukturen
  • Erstellung, Implementierung und Kapselung von System-Schnittstellen und testen dieser Stellen mit Mock-Implementierungen
  • Einführung von Code-Generierungstools, um XML Inhalte in Java abbilden zu können (JAXB 2)
  • Konzeption und Erstellung von Dokumenten, die die Testbarkeit der Anwendung und verschiedene Testszenarien beschreiben
  • Dokumentation der Anwendung mittels Javadoc und Erstellung DV-Konzept-Dokument
  • Schulung, Coaching und Know-How-Transfer für interne Mitarbeiter


Schwerpunkt:

  • Backend-Entwicklung von Wohnriester 2009

Windows XP Eclipse 3.4 Java Java 1.5 Ecipse 3.4.0 Weblogic 10.3 Ejb3 TDD mit JUnit Hostanbidung über Corba SQLJ DB2 Datenbank XML JAXB 2.0 Host Copybooks und Erzeugen von Flat-Datein Ant 1.7 Spring 2.5 RUP Bash Programmierung UML mit Ratinal Rose Clear-Case
Kreditwerk AG
6 Monate
2009-01 - 2009-06

Zentrales Authentifizierungsmodul

Senior Java Developer Windows XP Eclipse 3.4 Java ...
Senior Java Developer

Dekra verwendet im hauseigenen Intranet verschiedene webbasierte Anwendungen, um Geschäftsprozesse zu unterstützen. Diese Anwendungen  können nur von authentifizierten Mitarbeitern benutzt werden. Die Authentifizierung wird mittels ZAM genannten Webanwendung durchgeführt. ZAM (zentrales Auth. Modul) wird, falls eine Authentifizierung notwendig ist der eigentlichen Zeilanwendung vorgeschaltet, so dass zuerst die Authentifizierung durchgeführt werden muss, um die Zielanwendung zu benutzen. Meine Aufgabe bestand darin, ZAM für alle vorhandenen Webanwendungen nutzbar zu machen und die neuene Anforderungen umzusetzen. Außerdem habe ich serverseitige Module für die  Dekra Hauptanwendung  entwickelt.

  • Einführung und Umsetzung von testgetriebener Software Entwicklung
  • Weiterentwicklung der bestehenden Webapplikation mit JSF
  • Einführung von Techniken, um die Sicherheit der Webanwendung zu erhöhen
  • Anbindung von verschiedenen LDAP Servern zwecks Authentifizierung der Benutzer
  • Konzeption und Erstellung von Dokumenten, die die Testbarkeit der Anwendung und verschiedene Testszenarien beschreiben
  • Dokumentation der Anwendung mittels Javadoc und DV-Konzept-Dokument
Windows XP Eclipse 3.4 Java LDAP Java 5 JSF XML Junit Ant 1.7 Subversion Glassfish. Spring 2.5 Hibernate
Dekra AG / Automobile

Aus- und Weiterbildung

Aus- und Weiterbildung

10 Jahre 4 Monate
2013-12 - heute

SpringSource Certified Spring Professional


14 Jahre 7 Monate
2009-09 - heute

Java Champion


1 Monat
2013-05 - 2013-05

SpringSource Certified Enterprise Integration Specialist


Position

Position

  • Site Reliability Engineer
  • Senior Software Entwickler
  • Tech. Team Lead
  • Software Architekt
  • Software Designer
  • Agiler Coach (Scrum/XP)

Kompetenzen

Kompetenzen

Schwerpunkte

  • Software Entwicklung (Clean Code Development; Software Craftsman)
  • Software Testing (Unit-, Blackbox-, Regression-, Last-, Akzeptanz- und Performancetests) (Seit 2001)
  • Test Driven Development (TDD, ATDD, BDD)
  • Coaching für Extreme Programming / Scrum / Agile Software Entwicklung / Test Driven Development (TDD) (Seit 2002)
  • Implementierung von schlanken Entwicklungsumgebungen (Lean Development Infrastructure) mit Git, Gerrit, Sonar, Jenkins,Wiki, Bugzilla, Jira
  • Platformübergreifende Systemintegration
  • Objektorientierte Software Entwicklung (OOP/OOD) (seit 1997)
  • Software Architektur (seit 2001)
  • Client Entwicklung mit Swing (seit 2004)
  • Performance Architektur, Performance-Testing, Lösen von Performance Problemen seit 2005)
  • Extreme Programming (XP)
  • Versions- und Releasemanagement (Subversion, Cvs, Git)
  • Java 1.3.x, 1.4.x, 5.x, 6.x, 7.x, 8.x, 9.x, 11.x, 16.x  (seit 1997)                     
  • J2EE 1.3.x, 5, 6 (seit 1999)
  • EJB 2.1, 3.x (seit 1999)
  • Spring 2.x, 3.x, 4.x, 5.x (seit 2004), Spring Cloud, SpringBoot, Spring Cloud Streams (seit 2008)
  • Hibernate, IBatis, EclipseLink, JPA (seit 2004)
  • JavaMail (seit 2002)
  • Relationale Datenbanken, SQL (seit 1998)
  • Servlet, JSP (seit 1998)
  • JSF (seit 2003)
  • Aspect Oriented Programming (AOP) (seit 2002)
  • Webentwicklung mit HTML, CSS, Javascript (seit 1996)
  • XML, XSD, XSL, Sax, Dom, JAXB (seit 1999)
  • JDBC (seit 1999)
  • JMS (seit 2001)
  • JMX (seit 2003)
  • JTA, JTS (seit 2000)
  • Webservices (seit 2000)
  • Perl (seit 1997)
  • PHP (seit 1997)
  • Java Profiling (OptimizeIt und Jprobe) (seit 1999)
  • Client/Server Entwicklung (Socket) (seit 1999)
  • Suse Linux  6.x, 7.x, 8.x, 9.x,10.x, 11.x, 12.x, 13.x (seit 1996)
  • Framework Entwicklung (seit 2000)
  • Einsatz SW Design Patterns (seit 2002)
  • Einsatz SW Design Principles (DIP, OCP, ISP, SRP,LSP,REP, CCP, CRP, ADP, ACD) (seit 2002)
  • Netzwerksicherheit unter Linux
  • LDAP, JNDI (seit 2000)
  • Caching mit EhCache, Hazelcast
  • Load- und Performance-Testing mit Loadrunner, Jmeter
  • Java Entwicklung im Smart Home Umfeld.
  • OSGI im Embedded-Umfeld.
  • Cloud Entwicklung mit Docker, Kubernetes, Spring Cloud
  • Eclipse Smarthome, OpenHab, Embedded Linux Entwicklung
  • Microservice Architekturen
  • Echtzeitverarbeitung von Streams mit Kafka, Kafka Streams, Spring Cloud Streams

Aufgabenbereiche

  • In erster Linie Software Entwicklung; Im Kern bin ich Software Entwickler.
  • Einführung von agiler Software-Entwicklung und Methodencoaching (Scrum/XP)
  • Konzeption und Implementierung von mehrschichtigen Software Architekturen
  • Software Design mit OOP unter Einhaltung von Design Patterns und Principles
  • Architektur und Implementierung von High-Trafic Websites.
  • Lösen von Performance Problemen, Erstellung von Performance Architekturen
  • Code- und Architektur-Reviews
  • Performance-Analyse und ?Optimierung
  • Entwicklung von Internet-Applikationen (e-Commerce)
  • Extreme Programming / Scrum / TDD / BDD
  • Entwicklung von verteilten Anwendungen mittels Application-Server
  • Entwicklung von Datenbank-Applikationen
  • Web Services mittels SOAP, Axis, CXF, Java WS
  • Microservices mittels Spring Cloud, Kubernetes
  • Spring-Anwendungen
  • Struts-Anwendungen
  • JFS Anwendungen
  • Wicket Anwendungen
  • Web Service Anwendungen
  • Persistenz mittels Hibernate, JDBC, EJB, Ibatis, Eclipse Link
  • OOA, OOD, UML
  • Java Profiling und Memory Debugging mit Jprobe, Optimize-It
  • Client/Server Entwicklung
  • Entwicklung und Einbundung von E-Payment Lösungen (Tpay, Paysafecard, Paypal, Micropayment.de, Zaypay.de etc.)
  • AOP mit AspectJ
  • Version und Release Management (Subversion, Maven, Ant)   
  • DevOps und Site Reliability Engineering,
  • Beratung des Auftraggebers zur technischen Architektur der IT-Systeme im Themenumfeld sowie deren Weiterentwicklung.
  • Analysieren der fachlichen Anforderungen an die IT-Systeme sowie Ableiten und Erarbeiten von technischen Umsetzungsmöglichkeiten
  • Technische Leitung der Softwareentwicklung
  • Aufwandsschätzung für die technische Lösung im Projekt
  • Präsentationen zu technisch komplexen Themenstellungen
  • Moderation/Erstellung von Workshops zu technischen Architektur- und Softwarethemen

Produkte / Standards / Erfahrungen / Methoden

Persönliches Vorwort

  • Für mich ist Software-Entwicklung als ganzheitliches Gebilde zu betrachten, welches Konzeption, Entwicklung, Testen, Dokumentation, Release und Betrieb umfasst. Dabei liegt mein Augenmerk sehr stark auf agilen Vorgehensweisen wie Scrum und Extreme Programming. Mein erworbenes praktisches Wissen auf diesem Arbeitsgebiet habe ich  unter dem Titel ?Agile Software Entwicklung ? Extreme Programming? als Buch zusammengefasst (siehe Publikationen). Dabei betrachte ich testgetriebene Ansätze wie TDD (Test Driven Development) und Tools wie Sonar und Jenkins für den gesamten Softwareentwicklungsprozess als essenziell. Das sollte mit Clean Code Methoden zur Gewährleistung der Erweiterbarkeit der Software ergänzt werden. 
  • Mir ist die Termintreue gepaart mit dem von meinem Kunden definierten Level der Softwarequalität extrem wichtig. Denn nur so kann ich meine Aufgabe als "erfolgreich abgeschlossen" betrachten.


Build Tools

  • Ant
  • Ivy
  • Maven
  • Gradle


Application -  Webserver

  • Websphere
  • Weblogic
  • JBoss
  • Tomcat
  • Apache
  • IIS
  • Resin
  • Borland Application Server (BES)
  • Apache James
  • Apache Felix
  • Spring DM Server
  • Equinox, SAP Netweaver


Entwicklungsumgebung (IDE)

  • Eclipse
  • JBuilder
  • IBM RAD
  • IntelliJ


Versionskontrolle

  • CVS
  • Subversion
  • Clear Case
  • Harvest
  • Git


Frameworks

  • Struts
  • Wicket
  • Cactus
  • JUnit
  • JGroup
  • Axis
  • CXF
  • Apache Commons
  • log4j
  • Nutch Search Engine
  • Hibernate
  • Ant
  • Spring
  • Axis
  • AspectJ
  • Apache Commons
  • Spring
  • Spring MVC
  • OSGI
  • Sprint Cloud
  • Docker


Big Data & Streaming

  • Elasticsearch
  • Kibana
  • Apache Kafka
  • Kafka Streams
  • Spring Cloud Stream
  • Hadoop


Netzwerke / Protokolle:

  • TCP/IP
  • UDP/IP
  • FTP
  • HTTP
  • SSL


Standardsoftware:

  • MS-Office (Winword, Excel)
  • Star Office 5.2
  • Internet Explorer 5.x,6.x,7.x
  • Netscape Communicator 
  • Adobe Photoshop
  • Paintshop Pro
  • Dreamweaver ¾, Photo Impact


Hardware Plattformen:

  • PC
  • 3Com Superstack Switch
  • 3Com Superstack Firewall III
  • Cisco PIX 525 Firewall
  • Alteon


OO-Modellierungtolls (UML)

  • Innovator
  • ArgoUML
  • EclipseUML
  • Poseidon for UML
  • Rational Rose
  • Together


Cloud

  • Azure
  • AWS
  • Google Cloud


Container Technologien

  • Docker
  • Kubernetes
  • CoreOS
  • Microservices mit Java/SpringBoot


Logging & Monitoring

  • Prometheus
  • Grafana
  • Azure LogAnalytics
  • Nagios
  • Dynatrace
  • AppDynamics
  • Splunk
  • Kibana
  • ElasticSearch (ELK Stack)
  • FileBeat
  • Beats
  • Logstash
  • FluentD


Troubleshooting

  • Threaddump Analysen
  • Heapdump Analysen
  • Garbage-Collector-Optimierungen
  • Memory Leak Analysen
  • Nutzung on top, fee, mem, vmstat, netstat, strace, tcpdump, wireshark, nc auf OS-Ebene
  • Nutzung von VisualVM
  • Eclipse Mat
  • Jconsole
  • Jprofiler auf Java VM-Ebene
  • Optimierung JVM
  • Optimierung von Java Anwendungen in Container-Laufzeitumgebungen
  • Fehlersuche und Analyse mit Dynatrace
  • AppDynamics
  • Grafana
  • Prometheus
  • statische Code Analysen mit Sonar
  • FindBugs
  • Checkstyle
  • PMD
  • Code Coverage mit Jacoco
  • Emma


Testen

  • Entwickler-Tests mit Junit
  • Jmock
  • Mockito
  • Integrationstests mit Junit
  • Spring Test
  • TestNG
  • DBUnit
  • Acceptance-Tests mit Spock
  • Gatling
  • Fitnesse
  • EasyB
  • Cucumber
  • JDave
  • Last- und Performance mit Jmeter
  • Gatling
  • RoadRunner

Betriebssysteme

CoreOS
Debian
Dos
HPUX
Lynx
MS-DOS
Novell
OS/2
SUN OS, Solaris
SuSe Linux
Ubuntu
Unix
Solaris
Windows
NT 4/XP/7/8/10

Programmiersprachen

ASP
Bash
Clojure
Cold Fusion
Groovy
HTML
Java
JavaScript
Perl
PHP
Ruby
SQL
Typescript

Datenbanken

Access
DAO
DB2
H2
IMS
Ingres
Interbase
LDAP
MS SQL Server
MySQL
ODBC
Oracle
Oracle SQL Tools
Postgres
SQL Navigator
Toad

Datenkommunikation

CORBA
Ethernet
Fax
Internet, Intranet
ISO/OSI
LAN, LAN Manager
Message Queuing
PC-Anywhere
Router
SMTP
SNMP
TCP/IP
Windows Netzwerk

Hardware

Design / Entwicklung / Konstruktion

Innovator
ArgoUML
EclipseUML
Poseidon for UML
Rational Rose
Together

Branchen

Branchen

  • Banken
  • Startup-Firmen
  • Telekommunikation
  • Touristik
  • Kreditwesen
  • Versicherungen
  • Automobile

Einsatzorte

Einsatzorte

Österreich, Schweiz, Deutschland
nicht möglich

Projekte

Projekte

1 Jahr 6 Monate
2022-10 - heute

Entwicklung Branchensoftware für Apotheken

Senior Software Developer Scrum Windows 10 Linux ...
Senior Software Developer

Optica entwickelt Branchensoftware für Apotheken zum Abrechnen der Rezepte (ZytoTax). Die Anwendung wird im Backend mit SpringBoot und im Frontend mit Angular entwickelt. Als Fullstackentwickler war ich sowohl im Frontend als auch im Backend tätig. Die Anwendung wird in Krankenhaus-Apotheken eingesetzt.

  • Rest API Design & Entwicklung
  • DevOps
  • Testen (E2E, Acceptance, Unit, Integration, Pact)
  • Release Management
  • Angular Entwicklung

Scrum Windows 10 Linux IntelliJ Kotlin Java 11 17 Docker Microservices Spring Spring Boot Rest API Swagger Angular Cypress Pact Mockito Junit5
Dr. Güldener GmbH .- Optica
1 Jahr 9 Monate
2021-01 - 2022-09

Transport & Organisation

Senior Software Developer Windows 10 Linux Eclipse 2021 ...
Senior Software Developer

Die von MediaMarkt/Saturn (MMS) verkauften Waren werden in Zukunft über den Transport-Orchestrator Centiro an Carrier (DHL, Hermes etc) weitergegeben. Zu diesem Zweck wird innerhalb von MMS eine auf Microservice basierende Rest-API zur verfügung gestellt. Meine Aufgabe in diesem Projekt war die Weiterentwicklung und Erweiterung der benötigen Schnittstellen, Release Management, Deployment und Troubleshooting der Live-Umgebung.

  • Rest API  Design & Entwicklung
  • DevOps
  • Testen (E2E, Acceptance, Unit, Integration)
  • Release Management
  • Deployment (Kubernetes)
Windows 10 Linux Eclipse 2021 Java Scala Java 11 Kubernetes Docker Microservices Spring Spring Boot Google Cloud Platform Rest API Swagger
Mediamarkt Saturn
3 Jahre 5 Monate
2017-08 - 2020-12

Troubleshooting

Senior Software Developer, Troubleshooter, Architekt Windows 8 Linux IntelliJ 2016 ...
Senior Software Developer, Troubleshooter, Architekt

Die Deutsche Vermögensberatung bedient mit eigens dafür entwickelter Software und Infrastruktur mehrere tausend freiberufliche Vermögensberater. Die Produktionsumgebung wird penibel überwacht. Zu diesem Zweck werden diverse Tools entwickelt und eingesetzt. Meine Aufgabe besteht darin, als Troubleshooter die Ursachen der Fehler ausfindig zu machen und zu beseitigen. Dazu gehören auch  Code-Reviews, Produktionbegleitung von Projekten, Weiterentwicklung von Monitoringtools, Einführung von neuen Technologien wie Docker, Kubernetes und Kafka. Bei der Deutschen Vermögensberatung sind die Troubleshooter Bindeglied zwischen Entwicklung und Betrieb. Sie gewährleisten den stabilen Betrieb der Produktionsumgebung. Dazu sind umfangreiche Kenntnisse in der Software Entwicklung, Release- und Deploymentmanagement, Störungs- und Problemmanagement nach ITIL notwendig. Als Java-Entwickler kümmere ich mich um die Weiterentwicklung der Tools zum Logmanagement und Auswertungen. Um das Logmanagement zu zentralisieren, habe ich mit Kafka die notwendige Infrastruktur aufgesetzt. Mit Kafka-Streams können so die Logs in Echtzeit verarbeitet und an unterschiedliche Ablageorte (ElasticSearch, Azure, DB) geschickt werden. Einige Tools sind als Microservice in Springboot implementiert und werden in Kubernetes betrieben. Die entsprechenden Build- und Releasejobs laufen über Jenkins.

  • Entwicklung
  • DevOps
  • Development- und Infrastruktur-Troubleshooting
  • Architektur von Logmanagement-Lösungen
  • Architektur der Monitoring-Lösungen
  • Root-Cause-Analysen, Codereviews
  • Optimierung von Java-Laufzeitumgebungen
Windows 8 Linux IntelliJ 2016 Eclipse Oxygen Java Groovy Bash Python Perl Java 8 9 11 Kubernetes Docker CoreOs Tomcat Apache HaProxy Microservices Spring Spring Boot Kafka ElasticSearch Kibana Filebeat Logstash
Deutsche Vermögensberatung
1 Jahr 7 Monate
2016-02 - 2017-08

SecureSafe

Senior Software Developer MacOs X Linux IntelliJ 2016 ...
Senior Software Developer

SecureSafe ist ein Produkt der Firma Swiss AG. Sie ist beheimatet in Zürich. SecureSafe ist vergleichbar mit Dropbox oder Google Drive. Allerdings liegt der Focus des Produktes auf Verschlüsselung der Daten. Ich habe an der Weiterentwicklung dieses Produktes gearbeitet. Auf Basis dieses Produktes ist auch eSafe der Deutschen Bank implementiert worden. eSafe ist vergleichbar mit einem digitalen Schliessfach. Die Kunden können dort Ihre digitalen Dokumente verschlüsselt ablegen. Ich habe an der Implementierung des eSafeBackoffice mitgewirkt.

  • Java, Rest, WS
  • Backend Entwicklung
MacOs X Linux IntelliJ 2016 Java Groovy Java 7/8 Rest Tomcat Gradle Jenkins Gitlab Git PostgreSQL 9 pl/pgsql Webservice Spring Spring Boot
S&N AG Deutschland/ Dswiss AG Schweiz
9 Monate
2016-05 - 2017-01

Smart Home mit Qivicon

Senior Software Developer Windows 8 Linux Eclipse 4 ...
Senior Software Developer

Die Deutsche Telekom bietet mit der Marke Qivicon eine Smart Home Lösung an. In diesem Projekt habe ich an OSGI-Modulen mitentwickelt, die auf Qivicion Homebase 1 und Homebase 2 deployed wurden.

  • Embedded Entwicklung mit OSGI
Windows 8 Linux Eclipse 4 Java OSGI Java 7/8 Maven 3 Git Jenkins Sonar Groovy Spock Nexus Docker Eclipse Smarthome Qivicon HomeBase 1 HomeBase 2 Speedport Smart
Deutsche Telekom
Darmstadt
1 Jahr 4 Monate
2015-01 - 2016-04

DB SQUARES Entwicklung

Senior Software Developer Windows 7 Redhat Linux Intellij Idea 14 ...
Senior Software Developer

Zum Deployment von Anwendungen entwickelt und betreibt die Deutsche Bank eine Anwendung namens SQUARES. Softwarelieferanten können über SQUARES ihre Produkte an die Deutsche Bank liefern und deployen lassen. Auch interne Projekte werden   über SQUARES deployt. Ich arbeitete an der Weiterentwicklung dieses Produktes sowohl im Frontend als auch im Backend.

  • Backend- und Frontend-Entwicklung mit Java7, Wicket, Spring 4, Nexus, OSGI
Windows 7 Redhat Linux Intellij Idea 14 Java Groovy Javascript Shell Wicket Java 7 OSGI Maven 3 Git Jenkins Subversion Sonar JSP Servlet Spock Nexus OSS Spring 4 BladeLogic
Deutsche Bank
Frankfurt/M
6 Monate
2015-07 - 2015-12

BSM Backend Entwicklung

Senior Software Developer Windows 7 Redhat Linux Eclipse Luna ...
Senior Software Developer
  • Backend-Entwicklung mit Gradle, Groovy, Spring
  • Frontend-Entwicklung mit Grails und AngularJS
Windows 7 Redhat Linux Eclipse Luna Java Groovy Javascript Shell Java 7 Gradle 2 Groovy 2.4 Git Jenkins Spring 3 Sonar Grails AngularJS
KPMG
Frankfurt/M
8 Monate
2014-11 - 2015-06

Maven Umstellung

Senior Software Developer Windows 7 Eclipse 4.4.1 Java ...
Senior Software Developer

Im Rahmen des Projektes SpringIT wurde beschlossen, das Build-Tool Ant durch Maven zu ersetzen und das Middleware MWS zu modularisieren. Es sollte möglich sein, die einzelnen Domänenmodule des MWS einzeln zu bauen und zu releasen, sodass für die Zusammenstellung des MWS kein globales Build mehr notwendig war und es aus den einzelnen Bausteinen zusammengesetzt werden konnte. Zu dem Zweck habe ich die bestehenden Ant Buildscripte modifiziert, sodass gültige Maven Artefakte gebaut und ins Nexus gestellt werden konnten. Durch Einführung von semantischer Versionierung war es möglich, das MWS aus den einzelnen Domänenartefakten, die sich in Nexus befanden zusammenzusetzen. Um automatisiert Jenkins Jobs anlegen zu können, habe ich mit Java und Spring MVC einen Rest Service implementiert. Die Implementierung erfolgte testgetrieben. Ich habe die Implementierung mit Unit-, Integrations- und Akzeptanztests abgesichert. Des weiteren habe ich den bestehenden Integration-Service erweitert, der das Deployment-Pipeline des MWS kontrolliert.

  • DevOps Tätigkeiten
  • Einführung von semantischer Versionierung
  • Vorbereitungen für Maven Umstellung
  • Rest Mikroservices Entwicklung
  • Release und Deployment Management


Schwerpunkt:

  • MWS Modularisierung

Windows 7 Eclipse 4.4.1 Java Groovy Bash Javascript Java 7 Maven 3 Ant Subversion Jira Git Jenkins Spring Fitnesse Spring MVC Jersey JAX-RS XML JSON JAXB JUnit Nexus Ivy
ING-Diba
Frankfurt/M
9 Monate
2014-02 - 2014-10

Rest Mikroservice Entwicklung

Senior Software Developer Suse Linux 13 Eclipse 4.2 Java ...
Senior Software Developer

Ich war daran beteiligt, fahrzeugnahen Dienste auf Basis von Rest-Services zu implementieren. Die Dienste wurden mit Servlet und JAX-RS API entwickelt. Zu meinen Aufgaben gehörte, die Kundenanforderungen zu ermitteln und die entsprechenden Rest-Schnittstellen mit XML zu modellieren. Die von mir definierten Schnittstellen habe ich mit JAX-RS implementiert. Die Implementierung erfolgte testgetrieben. Ich habe die Implementierung mit Unit-, Integrations- und Akzeptanztests abgesichert.

  • Entwicklung von Rest Mikroservices


Schwerpunkt:

Entwicklung am VW MBB-Core und Modellierung und Implementierung von Rest Mikroservices

Suse Linux 13 Eclipse 4.2 Java Java 7 Maven 3 Subversion Jira Sonar Jenkins Spring Servlet Fitnesse Jersey JAX-RS XML JAXB EXI JUnit
Valtech / Audi ? Frankfurt/M / Automotive
1 Jahr 10 Monate
2012-03 - 2013-12

Geocoder Entwicklung

Senior Software Developer Windows 7 Eclipse 3.7 Eclipse 4.2 ...
Senior Software Developer

Ich war als Java Entwickler im Search6 Team  tätig. Nach diversen Bugfixes am bestehenden Service habe ich im Rahmen des UDM (Unified Data Model) Projektes diverse Module implementiert. Neben einem Rule Engine, welches im Postprocessing Step Rules ausführt, um Daten zu modifizieren, habe ich ein  Gui Tool namens LuGu entwickelt, um nach Geoobjekten im UDM Storage zu suchen und diese auf Maps sichtbar zu machen. Zuletzt habe ich an einer webbasierten Anwendung gearbeitet, die ich in Spring MVC implementiert und getestet habe. Mit dieser Anwendung ist es möglich, Geodaten-Änderungen in verschiedenen Quartalen, die aus verschiedenen Revisionen bestehen zu vergleichen und die Unterschiede auf Maps darzustellen. Zweck der Webanwendung ist, den Datenanalyten anzuzeigen, in welchen Regionen und in welchen Maßen Änderungen an Geodaten vorliegen.

  • Entwicklung eines Rule-Engines auf Java Annotations Basis
  • Entwicklung eines Swing Gui  Tools, um Geoobjekte visuell darzustellen
  • Performansmessungen mit JMeter
  • Low level Java Programmierung mit ByteBuffer und Memory Mapped Files
  • Garbage Collector Optimierung, Thread- und Heapdump Analysen
  • Test getriebener Entwicklung
  • Aufbereiten von großen Datenmengen zur Statistikerzeugung


Schwerpunkt:

  • Entwicklung am Navteq Search6 Service (URL auf Anfrage)

Windows 7 Eclipse 3.7 Eclipse 4.2 Java Java 6 Maven 3 Subversion Jira Sonar Spring Spring MVC Swing Eclipse RCP 4
Navteq / Nokia
Frankfurt/M
2 Monate
2012-01 - 2012-02

Lean Development Infrastructure (Lean DI)

Senior Software Developer Windows 7 Eclipse 3.7 Java ...
Senior Software Developer

Ich habe ein bestehendes Projekt, welches mit Ant gebaut wurde in ein entsprechendes Maven Projekt umgewandelt. Im Rahmen des Projektes sollte für Code Reviews Gerrit eingesetzt werden. Ich habe für das bestehende Projekt die Integration mit Git, Gerrit und Egit (Eclipse Plugin) vorgenommen. Für das Continuous Integration habe ich eine Jenkins Instanz, für die statische Code Analyse eine Sonar Instanz aufgesetzt.  So entstand für das Projekt ein Lean Development Infrastructure mit Git, Gerrit, Jenkins und Sonar. Die bestehende Anwendung sollte mit SAP ID integriert werden, womit SSO ermöglicht werden sollte. Ich habe die notwendigen Anpassungen für die Anwendung vorgenommen.

  • Integration, Anpassung und Installation von Development Infrastructure Komponenten wie Git, Gerrit, Jenkins und Sonar
  • Integration einer Anwendung mit SAP ID
  • Mavenizing eines Projektes


Schwerpunkt:

  • Aufsetzen von Lean DI (Development Infrastructure)

Windows 7 Eclipse 3.7 Java Java 1.6 Maven 3 Subversion Git Gerrit Jenkins Sonar Scrum
SAP
Walldorf
5 Monate
2011-08 - 2011-12

Produktentwicklung HD+

Senior Software Developer Windows XP Eclipse 3.6 Java ...
Senior Software Developer

Die Firma Infonova entwickelt und vertreibt ein Softwareprodukt namens Infonova BSS R6. Es ermöglicht, Produkte und Services unterschiedlicher Lieferanten und Partner zu kombinieren, diese so generierten Angebote zu verrechnen und den dabei gewonnen Umsatz automatisch auf die jeweiligen Partner zu verteilen. R6 wird in Kundenprojekten an die Kundenbedürfnisse angepasst. Ich habe als Entwickler als Teil eines Scrum Teams in dem Kundenprojekt für HD+ mitgewirkt. Eine meiner ersten Aufgaben bestand darin, ein verteiltes Drucken von einer J2EE Anwendung heraus zu implementieren. HD+ hat mehrere Standorte und hat die Anforderung, die gewünschten Dokumente abhängig vom Standort des Operators zu drucken. Zu diesem Zweck habe ich mehrere Lösungen und Technologien untersucht und eine Implementierung auf Basis LPR/LPD Technologie implementiert. In der nächsten Aufgabe habe ich mich damit befasst, HD+ Kundenrechnungen, die in Word gehalten werden in das PDF Format zu konvertieren. Zu diesem Zweck habe ich das Open-Source Produkt JodConverter und OpenOffice verwendet. Im Team bestand großes Interesse für agile Entwicklungsmethoden. Meine Aufgaben habe ich mit Hilfe von TDD (Test Driven Development) implementiert. Das weckte das Interesse der Teammitglieder noch mehr. Daher bin ich gebeten worden, andere Teammitglieder in diese Thematik einzuführen. An verschiedenen Beispielen habe die die Vorgehensweise mit TDD dem Team nahegebracht.

  • Anpassung des Produktes Infonova R6 an die Bedürfnisse von HD+
  • Einführung von testgetriebener Softwareentwicklung (TDD)
  • Erweiterung Infonova R6 um verteiltes Drucken mit LPR/LPD
  • Erweiterung Infonova R6 um Word/PDF Konvertierung mit OpenOffice/JodConverter


Schwerpunkt:

  • Produktentwicklung für HD+ auf Basis des Infonova BSS R6

Windows XP Eclipse 3.6 Java Java 1.5 Maven 2 EJB 3 Subversion JUnit/TestNG Sonar Continuum Scrum XP
Infonova - Österreich / Graz / Software Entwicklung
4 Monate
2011-04 - 2011-07

Load- und Performance-Testing

Senior Software Developer, Test Ingeneer Windows XP Eclipse Loadrunner ...
Senior Software Developer, Test Ingeneer

In Credit Suisse wird als Testtool Loadrunner von HP eingesetzt. Damit ist es möglich, in verschiedenen Computersprachen (C, Java) Testscripte zu erstellen und die gewünschten Services remote zu testen. Um die Testscripte und die Vorgehensweise beim Testen einheitlich zu gestalten, wurde ich beauftragt, einen Testgenerator in Java zu entwickeln. Ich habe einen Testgenetor entwickelt, der Loadrunner Testprojekte für Webservice und Corba Services generieren kann. Für die Generierung wird entweder eine IDL (Corba) oder eine WSDL (Webservice) benötigt. Die erstellten Testscripte sind in Java gehalten. Der erste Einsazt für den genannten Testgenerator war ein internes Projekt namens XBSnet. XBSnet ist eine webbasierte Anwendung, die Kontobewegungen eines Kunden anzeigt. Dahinter wird ein Corba Service angesprochen, um die gewünschten Daten vom Hostsystem zu beziehen. Innerhalb von Credit Suisse wurde beschlossen, die Corba Services nach Webservice zu portieren. Meine Aufgabe war, den genannten Corba Service und den ersten portierten Webservice Piloten zu testen. Ich habe mit Loadrunner verschiedenen Baseline/Average und Peak Tests ausgeführt.

  • Erstellung eines Testgenerators in Java zur Standardisierung von Testscripten
  • Erstellung von Loadrunner Testscripten für einen Corba Service
  • Erstellung von Loadrunner Testscripten für einen Webservice
  • Erstellung von Tools zur Analyse von Testergebnissen
  • Ausführung von Last- und Performancetests mit Loadrunner


Schwerpunkt:

  • Load- und Performance-Testing von Webservice und Corba Services

Windows XP Eclipse Loadrunner Java Java 1.5 Maven 2 Spring 3 Subversion Soap-UI
Credit Suisse
Zürich
1 Jahr 1 Monat
2010-02 - 2011-02

Corebanking Projekt

Lead-Developer, Architect Windows XP RAD 7 Java ...
Lead-Developer, Architect

Die Isbank ist einer der ältesten und größten Banken in der Türkei. Das Backend-System basiert auf IMS. Das Corebanking Projekt wurde ins Leben gerufen, um IMS mit offenen Systemen (auf Java Basis) abzulösen. Zu diesem Zweck wurde das Software Paket Corebank von Fidelity gekauft. Darauf aufsetzen wurde eine SOA Architetur entworfen, um IMS Funktionen zu portieren.

  • Einführung von agiler Software-Entwicklung und Methodencoaching
  • Transformation des Teams von herkömmlicher Vorgehensweise auf Agil
  • Einführung User-Stories, Iterationen, Release Planung
  • Einführung Cruise Control
  • AOP Entwicklung für Performance-Messungen und -testing
  • Implementierung einer Cache Lösung mit Hazelcast
  • Einführeung Kanban-Charts, Projektmanagement mit Storycards (Scrum)
  • Erstelllung von Build Scripten mit Ant fürs Bauen und Deployen der Anwendung
  • Umstrukturierung des Projektes mit Maven um das ?Programming in the Large? Model umzusetzen.
  • Einführung und Umsetzung von testgetriebener Software Entwicklung
  • Einführung und Umsetzung von komponentenbasierter Software Entwicklung
  • Einführung und Umsetzung von automatisiertes Testen der Anwendung (Unit-Tests, Integrationstests, Acceptance Tests, Lasttests)
  • Schulung, Coaching und Know-How-Transfer für interne Mitarbeiter
  • Migration von Java 1.4 nach Java 5
  • Eclipse Plugin-Entwicklung für einen RCP Client


Schwerpunkt:

  • Umsetzung Backend für Corebanking

Windows XP RAD 7 Java Java 1.5 Websphere 6.1 Ejb2 TDD mit JUnit SQLJ Swing DB2 Datenbank XML JAXB 2.0 Ant 1.7 Maven 2 Spring 2.5 Clear-Case Soap-UI JMeter AOP mit AspectJ Hibernate Spring JPA Eclipse RCP 3.5
Isbank A.S.
Istanbul
6 Monate
2009-07 - 2009-12

Wohnriester 2009

Lead-Developer Windows XP Eclipse 3.4 Java ...
Lead-Developer

Die Kreditwerk AG ist eine Tochter der Bausparkasse Schwäbisch Hall (BSH). Mit dem Wohnriester bietet BSH ihren Kunden ein vom Staat gefördertes Produkt. Meine Aufgabe bestand darin, eine Architektur für die Verarbeitung von Daten für dieses Projekt zu entwerfen und zu implementieren. BSH besitzt Host-basierte Backendsysteme (IBM). Um die Zulagen vom Staat zu verarbeiten, muss das Host-basierte Bestandssystem mit der ZFA Behörde über JMS gekoppelt werden. Die Kommunikation zwischen den Systemen läuft über festgelegte XML Strukturen.  Ich habe für die Implementierung der XML Daten JAXB 2.0 eingesetzt. Der Zugrff auf das Bestandssystem erfolgte über Corba (Hostanbindung). Ich habe die Verarbeitungseinheiten (intern Robot genannt)  testgetrieben (TDD ? Test Driven Development) entwickelt. Für die Implementierung der Robots habe ich EJB 3.0 verwendet. Codeabdeckung des Projektes lag über 85%.

  • Einführung und Umsetzung von testgetriebener Software Entwicklung
  • Einführung und Umsetzung von Tools für Code Coverage
  • Einführung und Umsetzung von komponentenbasierter Software Entwicklung
  • Einführung und Umsetzung von automatisiertes Testen der Anwendung (Unit-Tests, Integrationstests, Acceptance Tests, Lasttests)
  • Refactoring der bestehenden Codeeinheiten und Überführung in neue Strukturen
  • Erstellung, Implementierung und Kapselung von System-Schnittstellen und testen dieser Stellen mit Mock-Implementierungen
  • Einführung von Code-Generierungstools, um XML Inhalte in Java abbilden zu können (JAXB 2)
  • Konzeption und Erstellung von Dokumenten, die die Testbarkeit der Anwendung und verschiedene Testszenarien beschreiben
  • Dokumentation der Anwendung mittels Javadoc und Erstellung DV-Konzept-Dokument
  • Schulung, Coaching und Know-How-Transfer für interne Mitarbeiter


Schwerpunkt:

  • Backend-Entwicklung von Wohnriester 2009

Windows XP Eclipse 3.4 Java Java 1.5 Ecipse 3.4.0 Weblogic 10.3 Ejb3 TDD mit JUnit Hostanbidung über Corba SQLJ DB2 Datenbank XML JAXB 2.0 Host Copybooks und Erzeugen von Flat-Datein Ant 1.7 Spring 2.5 RUP Bash Programmierung UML mit Ratinal Rose Clear-Case
Kreditwerk AG
6 Monate
2009-01 - 2009-06

Zentrales Authentifizierungsmodul

Senior Java Developer Windows XP Eclipse 3.4 Java ...
Senior Java Developer

Dekra verwendet im hauseigenen Intranet verschiedene webbasierte Anwendungen, um Geschäftsprozesse zu unterstützen. Diese Anwendungen  können nur von authentifizierten Mitarbeitern benutzt werden. Die Authentifizierung wird mittels ZAM genannten Webanwendung durchgeführt. ZAM (zentrales Auth. Modul) wird, falls eine Authentifizierung notwendig ist der eigentlichen Zeilanwendung vorgeschaltet, so dass zuerst die Authentifizierung durchgeführt werden muss, um die Zielanwendung zu benutzen. Meine Aufgabe bestand darin, ZAM für alle vorhandenen Webanwendungen nutzbar zu machen und die neuene Anforderungen umzusetzen. Außerdem habe ich serverseitige Module für die  Dekra Hauptanwendung  entwickelt.

  • Einführung und Umsetzung von testgetriebener Software Entwicklung
  • Weiterentwicklung der bestehenden Webapplikation mit JSF
  • Einführung von Techniken, um die Sicherheit der Webanwendung zu erhöhen
  • Anbindung von verschiedenen LDAP Servern zwecks Authentifizierung der Benutzer
  • Konzeption und Erstellung von Dokumenten, die die Testbarkeit der Anwendung und verschiedene Testszenarien beschreiben
  • Dokumentation der Anwendung mittels Javadoc und DV-Konzept-Dokument
Windows XP Eclipse 3.4 Java LDAP Java 5 JSF XML Junit Ant 1.7 Subversion Glassfish. Spring 2.5 Hibernate
Dekra AG / Automobile

Aus- und Weiterbildung

Aus- und Weiterbildung

10 Jahre 4 Monate
2013-12 - heute

SpringSource Certified Spring Professional


14 Jahre 7 Monate
2009-09 - heute

Java Champion


1 Monat
2013-05 - 2013-05

SpringSource Certified Enterprise Integration Specialist


Position

Position

  • Site Reliability Engineer
  • Senior Software Entwickler
  • Tech. Team Lead
  • Software Architekt
  • Software Designer
  • Agiler Coach (Scrum/XP)

Kompetenzen

Kompetenzen

Schwerpunkte

  • Software Entwicklung (Clean Code Development; Software Craftsman)
  • Software Testing (Unit-, Blackbox-, Regression-, Last-, Akzeptanz- und Performancetests) (Seit 2001)
  • Test Driven Development (TDD, ATDD, BDD)
  • Coaching für Extreme Programming / Scrum / Agile Software Entwicklung / Test Driven Development (TDD) (Seit 2002)
  • Implementierung von schlanken Entwicklungsumgebungen (Lean Development Infrastructure) mit Git, Gerrit, Sonar, Jenkins,Wiki, Bugzilla, Jira
  • Platformübergreifende Systemintegration
  • Objektorientierte Software Entwicklung (OOP/OOD) (seit 1997)
  • Software Architektur (seit 2001)
  • Client Entwicklung mit Swing (seit 2004)
  • Performance Architektur, Performance-Testing, Lösen von Performance Problemen seit 2005)
  • Extreme Programming (XP)
  • Versions- und Releasemanagement (Subversion, Cvs, Git)
  • Java 1.3.x, 1.4.x, 5.x, 6.x, 7.x, 8.x, 9.x, 11.x, 16.x  (seit 1997)                     
  • J2EE 1.3.x, 5, 6 (seit 1999)
  • EJB 2.1, 3.x (seit 1999)
  • Spring 2.x, 3.x, 4.x, 5.x (seit 2004), Spring Cloud, SpringBoot, Spring Cloud Streams (seit 2008)
  • Hibernate, IBatis, EclipseLink, JPA (seit 2004)
  • JavaMail (seit 2002)
  • Relationale Datenbanken, SQL (seit 1998)
  • Servlet, JSP (seit 1998)
  • JSF (seit 2003)
  • Aspect Oriented Programming (AOP) (seit 2002)
  • Webentwicklung mit HTML, CSS, Javascript (seit 1996)
  • XML, XSD, XSL, Sax, Dom, JAXB (seit 1999)
  • JDBC (seit 1999)
  • JMS (seit 2001)
  • JMX (seit 2003)
  • JTA, JTS (seit 2000)
  • Webservices (seit 2000)
  • Perl (seit 1997)
  • PHP (seit 1997)
  • Java Profiling (OptimizeIt und Jprobe) (seit 1999)
  • Client/Server Entwicklung (Socket) (seit 1999)
  • Suse Linux  6.x, 7.x, 8.x, 9.x,10.x, 11.x, 12.x, 13.x (seit 1996)
  • Framework Entwicklung (seit 2000)
  • Einsatz SW Design Patterns (seit 2002)
  • Einsatz SW Design Principles (DIP, OCP, ISP, SRP,LSP,REP, CCP, CRP, ADP, ACD) (seit 2002)
  • Netzwerksicherheit unter Linux
  • LDAP, JNDI (seit 2000)
  • Caching mit EhCache, Hazelcast
  • Load- und Performance-Testing mit Loadrunner, Jmeter
  • Java Entwicklung im Smart Home Umfeld.
  • OSGI im Embedded-Umfeld.
  • Cloud Entwicklung mit Docker, Kubernetes, Spring Cloud
  • Eclipse Smarthome, OpenHab, Embedded Linux Entwicklung
  • Microservice Architekturen
  • Echtzeitverarbeitung von Streams mit Kafka, Kafka Streams, Spring Cloud Streams

Aufgabenbereiche

  • In erster Linie Software Entwicklung; Im Kern bin ich Software Entwickler.
  • Einführung von agiler Software-Entwicklung und Methodencoaching (Scrum/XP)
  • Konzeption und Implementierung von mehrschichtigen Software Architekturen
  • Software Design mit OOP unter Einhaltung von Design Patterns und Principles
  • Architektur und Implementierung von High-Trafic Websites.
  • Lösen von Performance Problemen, Erstellung von Performance Architekturen
  • Code- und Architektur-Reviews
  • Performance-Analyse und ?Optimierung
  • Entwicklung von Internet-Applikationen (e-Commerce)
  • Extreme Programming / Scrum / TDD / BDD
  • Entwicklung von verteilten Anwendungen mittels Application-Server
  • Entwicklung von Datenbank-Applikationen
  • Web Services mittels SOAP, Axis, CXF, Java WS
  • Microservices mittels Spring Cloud, Kubernetes
  • Spring-Anwendungen
  • Struts-Anwendungen
  • JFS Anwendungen
  • Wicket Anwendungen
  • Web Service Anwendungen
  • Persistenz mittels Hibernate, JDBC, EJB, Ibatis, Eclipse Link
  • OOA, OOD, UML
  • Java Profiling und Memory Debugging mit Jprobe, Optimize-It
  • Client/Server Entwicklung
  • Entwicklung und Einbundung von E-Payment Lösungen (Tpay, Paysafecard, Paypal, Micropayment.de, Zaypay.de etc.)
  • AOP mit AspectJ
  • Version und Release Management (Subversion, Maven, Ant)   
  • DevOps und Site Reliability Engineering,
  • Beratung des Auftraggebers zur technischen Architektur der IT-Systeme im Themenumfeld sowie deren Weiterentwicklung.
  • Analysieren der fachlichen Anforderungen an die IT-Systeme sowie Ableiten und Erarbeiten von technischen Umsetzungsmöglichkeiten
  • Technische Leitung der Softwareentwicklung
  • Aufwandsschätzung für die technische Lösung im Projekt
  • Präsentationen zu technisch komplexen Themenstellungen
  • Moderation/Erstellung von Workshops zu technischen Architektur- und Softwarethemen

Produkte / Standards / Erfahrungen / Methoden

Persönliches Vorwort

  • Für mich ist Software-Entwicklung als ganzheitliches Gebilde zu betrachten, welches Konzeption, Entwicklung, Testen, Dokumentation, Release und Betrieb umfasst. Dabei liegt mein Augenmerk sehr stark auf agilen Vorgehensweisen wie Scrum und Extreme Programming. Mein erworbenes praktisches Wissen auf diesem Arbeitsgebiet habe ich  unter dem Titel ?Agile Software Entwicklung ? Extreme Programming? als Buch zusammengefasst (siehe Publikationen). Dabei betrachte ich testgetriebene Ansätze wie TDD (Test Driven Development) und Tools wie Sonar und Jenkins für den gesamten Softwareentwicklungsprozess als essenziell. Das sollte mit Clean Code Methoden zur Gewährleistung der Erweiterbarkeit der Software ergänzt werden. 
  • Mir ist die Termintreue gepaart mit dem von meinem Kunden definierten Level der Softwarequalität extrem wichtig. Denn nur so kann ich meine Aufgabe als "erfolgreich abgeschlossen" betrachten.


Build Tools

  • Ant
  • Ivy
  • Maven
  • Gradle


Application -  Webserver

  • Websphere
  • Weblogic
  • JBoss
  • Tomcat
  • Apache
  • IIS
  • Resin
  • Borland Application Server (BES)
  • Apache James
  • Apache Felix
  • Spring DM Server
  • Equinox, SAP Netweaver


Entwicklungsumgebung (IDE)

  • Eclipse
  • JBuilder
  • IBM RAD
  • IntelliJ


Versionskontrolle

  • CVS
  • Subversion
  • Clear Case
  • Harvest
  • Git


Frameworks

  • Struts
  • Wicket
  • Cactus
  • JUnit
  • JGroup
  • Axis
  • CXF
  • Apache Commons
  • log4j
  • Nutch Search Engine
  • Hibernate
  • Ant
  • Spring
  • Axis
  • AspectJ
  • Apache Commons
  • Spring
  • Spring MVC
  • OSGI
  • Sprint Cloud
  • Docker


Big Data & Streaming

  • Elasticsearch
  • Kibana
  • Apache Kafka
  • Kafka Streams
  • Spring Cloud Stream
  • Hadoop


Netzwerke / Protokolle:

  • TCP/IP
  • UDP/IP
  • FTP
  • HTTP
  • SSL


Standardsoftware:

  • MS-Office (Winword, Excel)
  • Star Office 5.2
  • Internet Explorer 5.x,6.x,7.x
  • Netscape Communicator 
  • Adobe Photoshop
  • Paintshop Pro
  • Dreamweaver ¾, Photo Impact


Hardware Plattformen:

  • PC
  • 3Com Superstack Switch
  • 3Com Superstack Firewall III
  • Cisco PIX 525 Firewall
  • Alteon


OO-Modellierungtolls (UML)

  • Innovator
  • ArgoUML
  • EclipseUML
  • Poseidon for UML
  • Rational Rose
  • Together


Cloud

  • Azure
  • AWS
  • Google Cloud


Container Technologien

  • Docker
  • Kubernetes
  • CoreOS
  • Microservices mit Java/SpringBoot


Logging & Monitoring

  • Prometheus
  • Grafana
  • Azure LogAnalytics
  • Nagios
  • Dynatrace
  • AppDynamics
  • Splunk
  • Kibana
  • ElasticSearch (ELK Stack)
  • FileBeat
  • Beats
  • Logstash
  • FluentD


Troubleshooting

  • Threaddump Analysen
  • Heapdump Analysen
  • Garbage-Collector-Optimierungen
  • Memory Leak Analysen
  • Nutzung on top, fee, mem, vmstat, netstat, strace, tcpdump, wireshark, nc auf OS-Ebene
  • Nutzung von VisualVM
  • Eclipse Mat
  • Jconsole
  • Jprofiler auf Java VM-Ebene
  • Optimierung JVM
  • Optimierung von Java Anwendungen in Container-Laufzeitumgebungen
  • Fehlersuche und Analyse mit Dynatrace
  • AppDynamics
  • Grafana
  • Prometheus
  • statische Code Analysen mit Sonar
  • FindBugs
  • Checkstyle
  • PMD
  • Code Coverage mit Jacoco
  • Emma


Testen

  • Entwickler-Tests mit Junit
  • Jmock
  • Mockito
  • Integrationstests mit Junit
  • Spring Test
  • TestNG
  • DBUnit
  • Acceptance-Tests mit Spock
  • Gatling
  • Fitnesse
  • EasyB
  • Cucumber
  • JDave
  • Last- und Performance mit Jmeter
  • Gatling
  • RoadRunner

Betriebssysteme

CoreOS
Debian
Dos
HPUX
Lynx
MS-DOS
Novell
OS/2
SUN OS, Solaris
SuSe Linux
Ubuntu
Unix
Solaris
Windows
NT 4/XP/7/8/10

Programmiersprachen

ASP
Bash
Clojure
Cold Fusion
Groovy
HTML
Java
JavaScript
Perl
PHP
Ruby
SQL
Typescript

Datenbanken

Access
DAO
DB2
H2
IMS
Ingres
Interbase
LDAP
MS SQL Server
MySQL
ODBC
Oracle
Oracle SQL Tools
Postgres
SQL Navigator
Toad

Datenkommunikation

CORBA
Ethernet
Fax
Internet, Intranet
ISO/OSI
LAN, LAN Manager
Message Queuing
PC-Anywhere
Router
SMTP
SNMP
TCP/IP
Windows Netzwerk

Hardware

Design / Entwicklung / Konstruktion

Innovator
ArgoUML
EclipseUML
Poseidon for UML
Rational Rose
Together

Branchen

Branchen

  • Banken
  • Startup-Firmen
  • Telekommunikation
  • Touristik
  • Kreditwesen
  • Versicherungen
  • Automobile

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.