IT Consulting in Software Entwicklung (Java/J2EE) und Architektur
Aktualisiert am 01.08.2023
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.01.2024
Verfügbar zu: 100%
davon vor Ort: 100%
Java EE
Spring
MQTT
Camunda BPMN
Maven
Hibernate
Angular.js
Oauth2
Java 1.8
IBM IoT Message Sight
MariaDB
Spring Boot
SOAP
Oracle DB
SoapUI
Docker
Java Swing
Mockito
JPA
Gradle
JSF
Kubernetes
Deutsch
Muttersprache
Englisch
Konversationssicher
Russisch
Grundlagen

Einsatzorte

Einsatzorte

Frankfurt am Main (+50km)
Deutschland, Schweiz, Österreich
Möglichst Remote
möglich

Projekte

Projekte

2 Jahre 7 Monate
2021-09 - heute

Argus Authentisierung und Autorisierung

Senior Software Developer Spring Java Kubernetes ...
Senior Software Developer
Projektumfeld
Infrastrukturkomponente deren Fokus auf dem Schutz von Webanwendungen und Services liegt.
Schwerpunkte sind u.a. die Themen:
? Authentisierung
? Autorisierung
Hierzu kommen verschiedene Standards wie OAuth2, OpenId Connect und SAML zum Einsatz

Vorgehensmodell: Kanban

Übernommene Rollen
? Senior Software Developer

Eigene Tätigkeiten
? Konzeption, Erweiterung und Umsetzung der Schnittstellen (REST) inkl. Authentisierung und Autorisierung
? Anbindung an einen RabbitMQ Broker (AMQP Protokoll)
? Migration bestehender Anwendungen nach Kubernetes (Docker, Helm, Kubernetes)
? Datenbankentwicklung (JPA, SQL, Oracle DB)
? Kontinuierliche Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito, Selenium, WireMock)
? Dokumentation der Ergebnisse (Confluence)

Technologien & Tools
Java 11, Spring 5, Spring Boot 2, Kubernetes, Docker, Helm, RabbitMQ/AMQP, OAuth 2, OpenID Connect, JWT, SAML, Flyway DB Migration, WireMock, Selenium, Junit 5, Mockito
Spring Java Kubernetes OAuth2 Docker Helm SAML JWT AMQP
München
2 Jahre 6 Monate
2019-04 - 2021-09

Reisendeninformation

Senior Software Developer Spring Boot 2 Spring 5 Java 8 ...
Senior Software Developer

Projektumfeld

Die RIS Communicator App wird von ca. 30.000 Anwendern genutzt, ist in jedem Personenzug der Deutschen Bahn an Bord und versorgt die Mitarbeiter mit Reisendeninformation und erleichtert betriebliche Prozesse.

Ziel des Projektes ist es weitere fachliche Funktionen bereitzustellen. Hierzu muss das Backend (Microservice Architektur) kontinuierlich um neue Services erweitert werden.

Diese müssen unter anderem den folgenden Anforderungen genügen:

  • Skalierbarkeit
  • Performance
  • Sicherheit
  • Zukunftsfähigkeit

Tätigkeiten

  • Implementierung fachlichen Features
  • Konzeption, Erweiterung und Umsetzung der Schnittstellen (inkl. Schnittstellenbeschreibungen)
  • Konzeption und Implementierung von Microservices im Kubernetes Cluster
  • Datenbankentwicklung (JPA, MariaDB, SQL)
  • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
  • Dokumentation der Ergebnisse (Confluence, DV-Konzepte)
MQTT Kubernetes IBM Message Broker Oracle AQ AWS Prometheus
Spring Boot 2 Spring 5 Java 8 JSF 2 Docker Flyway Hibernate Gradle Kanban Scrum Swagger
Frankfurt am Main
5 Monate
2018-11 - 2019-03

OKKR - Omnikanalekundenreise

Senior Software Developer scrum
Senior Software Developer

Projektumfeld

Ziel: Die „Onlinebestellstrecke“ bietet dem Kunde schon heute die Annehmlichkeit, jederzeit und unabhängig von der Bankfiliale, von Zuhause aus einen Kredit zu bantragen.

Das Projekt „Omnikanalekundenreise“ möchte diesen zukunftsfähigen Vertriebskanal um zwei zusätzliche Features erweitern, die es sowohl dem Kunden, als auch dem Bankberater einfacher machen sollen, zwischen den Kanälen „online“ und „persönlich“ zu wechseln. 

 

Vorgehensmodell: SCRUM

Tätigkeiten

  • Implementierung fachlichen Features
  • Konzeption, Erweiterung und Umsetzung der Schnittstellen (inkl. Schnittstellenbeschreibung)
  • Erweiterung der GUI (JSF, AngularJS)
  • Datenbankanpassungen (JDBC, JPA)
  • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
  • Dokumentation der Ergebnisse (Confluence)
AngularJS JSF JavaEE JPA JMS Mockito JUnit NodeJS HTML5 Apache Ivy Ant Swagger Oracle/SQL
scrum
Eschborn, Taunus
7 Monate
2018-04 - 2018-10

Innovative Objektfinanzierung

Senior Software Developer JEE 6 JSF JavaScript ...
Senior Software Developer

Projektumfeld

  • Erweiterung des Produktes zur Innovativen Objektfinanzierung (Fachlich und Technisch) bis 250.000€.
  • Durchführung eines technischen Refactorings, um die Zukunftsfähigkeit der Anwendung zu gewährleisten.

Tätigkeiten:

  • Implementierung von Berechnungsformeln und Algorithmen für die Objektfinanzierung und Leasinggeschäfte
  • Erweiterung der GUI (JSF)
  • Datenbankanpassungen (JDBC, JPA)
  • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
  • Dokumentation der Ergebnisse (Confluence)
  • Planung und Durchführung eines größeren Refactorings
SCRUM
JEE 6 JSF JavaScript RichFaces EJB 2 & 3 JPA JMS SOAP WebServices XSD XML Ivy Ant JFrog Artifactory Mockito Jira Confluence SVN Oracle Weblogic Application Server 12 Oracle 12 DB HTML CSS SonarQube
Eschborn, Taunus
1 Jahr 10 Monate
2016-06 - 2018-03

Anbindung eines Kapazitäts-Buchungs-Systems

Senior Software Developer / Technical Lead Java 8 JEE 6 Camunda BPMN ...
Senior Software Developer / Technical Lead

Projektumfeld

Als Projektvorgehensmodell wurde SCRUM und SAFe (Scaled Agile Framework) erfolgreich eingesetzt und die Entwicklung der fachlichen Features erfolgte mittels Test-Driven-Development. Um eine sehr hohe Code-Qualität zu erreichen und diese über den gesamten Entwicklungszyklus sicherstellen zu können, wurde eine Continuos-Integration-Strategie (CI) eingesetzt. Diese Strategie bestand u.a. in der Nutzung eines Jenkins-CI-Servers. Die fachlichen Prozesse wurden mittels der Camunda BPMN modelliert. Lieferartefakte wurden per Docker gepackt und ausgeliefert um eine gleichbleibende Qualität der Lieferartefakte gewährleisten zu können. Um eine hohe Skalierbarkeit der verwendeten Umgebungen zu gewährleisten wurden die verschiedenen Umgebungen durch Einsatz von Amazon AWS virtualisiert (Cloud).

Ziel:

  • Technische und fachliche Entwicklung eines Systems zur Anbindung eines Kapazitäts-Buchungs-Systems

Tätigkeiten:

  • Definition der fachlichen Anforderungen (Use Case Diagramme)
  • Architekturdokumentation (Enterprise Architect)
  • Definition und Anpassung der Prozessmodelle (BPMN Modelle, Camunda)
  • Implementierung der BPMN-Prozesse (Java 8, Camunda)
  • Test der entwickelten Features in UnitTests (Mockito) und Integration Tests (Arquillian)
  • Analyse der fachlichen Anforderungen
  • Entwicklung der fachlichen Anforderungen im SCRUM-Team (SAFe Kontext)
  • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse (Confluence, Jira)
  • Entwicklung von Docker Containern für die Anwendung und Testkomponenten
  • Erarbeitung und Umsetzung einer Datenbankmigrationsstrategie (Flyway DB Migration)
SCRUM Scaled Agile Framework
Java 8 JEE 6 Camunda BPMN Docker AWS Ama-zon Cloud Jenkins 2 Mockito Arquillian JDBC JPA H2 DB Oracle 12 Git Confluence Jira SCRUM SAFe (Scaled Agile Framework) Eclipse IDE JBoss EAP 6 Maven Suse Linux Enterprise Server 12 Flyway DB Migration
Frankfurt am Main
5 Monate
2016-01 - 2016-05

Mobile Integrationsplattform für den Personenverkehr

Senior Software Developer OSGi R4.2 (Equinox) Apache Karaf Suse Linux Enterprise Server 11/12 ...
Senior Software Developer

Ziel:

  • Fachliche und technische Weiterentwicklung des vorhandenen Systems für die Kommunikation einzelner Systeme im Zug. 
  • Das bestehende System wurde kontinuierlich fachlich und technisch weiterentwickelt.

Tätigkeiten:

  • Definition der fachlichen Anforderungen (Use Case Diagramme)
  • Definition der technischen Anforderungen in Form von TKSP´s und Schnittstellenbeschreibung (u.a. Enterprise Architect)
  • Analyse der fachlichen Anforderungen
  • Entwicklung der fachlichen Anforderungen
  • Erstellen eines Konzeptes zur Migration von Eclipse Equinox nach Apache Karaf
  • Durchführen der Migration
  • Entwickeln eines Buildsystems mit Maven
  • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse
OSGi R4.2 (Equinox) Apache Karaf Suse Linux Enterprise Server 11/12 Java 6 7 und 8 Spring 3 Apache Tomcat 7 und 8 Applikationsserver UML 2.0 JUnit Mockito Powermock JDBC JPA MySQL Oracle 11/12 Eclipse IDE Jira TortoiseSVN Enter-prise Architect Hudson
Frankfurt am Main
3 Jahre 4 Monate
2012-10 - 2016-01

Weiterentwicklung eines Dispositionssystems für den Personenverkehr

Software Developer JBoss EAP 5/6 Applikationsserver Apache Tomcat 6/7 Applikationsserver JavaEE EJB 2.1/EJB 3 ...
Software Developer

Projektumfeld

Das bestehende System eignete sich nicht für eine effiziente Weiterentwicklung mit einem großen Entwicklerteam, das auf viele kleine SCRUM-Teams verteilt werden sollte. Im Rahmen des Projekts wurde deshalb zunächst ein technisches Release durchgeführt, um die Komponenten entsprechend der fachlichen Schwerpunkte zu schneiden. Vor dem Start der fachlichen Entwicklung wurde ein Last- und PerformanceTest (LuP) durchgeführt. Dieser hatte zum Ziel die Tragfähigkeit des bestehenden Systems bezüglich der fachlichen Anforderungen zu untersuchen. Anschließend konnten die vom Kunden definierten Anforderungen erfolgreich in mehreren SCRUM-Teams parallel durchgeführt werden. Als Projektvorgehensmodell wurde SCRUM erfolgreich eingesetzt und die Entwicklung der fachlichen Features erfolgte mittels Test-Driven-Development. Um eine sehr hohe Code-Qualität zu erreichen und diese über den gesamten Entwicklungszyklus sicherstellen zu können, wurde eine Continuos-Integration-Strategie (CI) eingesetzt. Diese Strategie bestand u.a. in der Nutzung eines Jenkins-CI-Servers und von Werkzeugen für teamübergreifende Code Reviews (Atlassian FishEye und Crucible).

Ziel:

  • Durchführung eines technischen Releases um die fachliche Weiterentwicklung zu ermöglichen.

Tätigkeiten auf technischer Ebene:

  • Definition der technischen Anforderungen (UML)
  • Analyse und Evaluation der bestehenden Systemarchitektur hinsichtlich der Tragfähigkeit für kommende fachliche Anforderungen
  • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
  • Vorbereitung, Durchführung und Dokumentation des fachlichen Komponentenschnitts
  • Konzeption eines Last und Performance Tests (LuP) für das bestehende System
  • Entwicklung von Werkzeugen für den LuP
  • Durchführung, Auswertung und Analyse sowie Dokumentation des LuP
  • Vorbereitung, Durchführung und Dokumentation des Technischen Abnahmetest (TAT)
  • Fortwährende Dokumentation der Projektergebnisse (Confluence)

Tätigkeiten auf fachlicher Ebene:

  • Definition der fachlichen Anforderungen (Use Case Diagramme)
  • Analyse der fachlichen Anforderungen
  • Entwicklung der fachlichen Anforderungen im SCRUM-Team
  • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse
JBoss EAP 5/6 Applikationsserver Apache Tomcat 6/7 Applikationsserver JavaEE EJB 2.1/EJB 3 Spring 3 UML 2.0 JUnit JMockit JDBC Oracle 11 Eclipse IDE Confluence Jira SCRUM TortoiseSVN Git Enterprise Architect Java Swing MVC Jenkins JPA FishEye Crucible
8 Monate
2012-01 - 2012-08

Realisierung von sicheren SOA und RESTful Web Anwendungen

Software Developer Glassfish V3 Applikationsserver Apache Tomcat 7.0 Applikationsserver MySQL 5.5 DBMS ...
Software Developer

Projektumfeld

Web Services, die mittels des Architekturstils REST entwickelt wurden, sind zunehmend verbreitet und werden mittlerweile auch von großen Unternehmen wie Google und Amazon eingesetzt. In diesem Zusammenhang stellt sich dem Kunden die Frage, in wie weit sich dieser neue Ansatz mit dem herkömmlichen SOAP-basierten Service orientierten Architekturansatz vergleichen lässt bzw. worin Unterschiede bestehen. Im Rahmen des Projekts wurde diese grundlegende Fragestellung auf die nichtfunktionale Anforderung Sicherheit bezogen. Anhand des Projekts wurde gezeigt, auf welche Weise es möglich ist, sichere Web Services auf Basis der beiden Architekturstile SOA und REST zu konzipieren und zu realisieren

Ziel:

Konzeption und Realisierung von sicheren Web-Anwendungen auf Basis der Architekturstile SOA und REST. Insbesondere Analyse und Evaluation der vorhandenen und verwendbaren Sicherheitslösungen.

Tätigkeiten:

  • Definition der fachlichen Anforderungen (Use Case Diagramme)
  • Erstellen des fachlichen Konzepts
  • Definition der sicherheitsrelevanten Anforderungen
  • Evaluierung und Auswahl der Sicherheitslösungen
  • Erstellen des technischen Konzepts (UML)
  • Realisierung von SOA Web Services
  • Realisierung von RESTful Web Services
  • Realisierung der sicherheitsrelevanten Anforderungen in beiden Systemen
  • Konzeption und Realisierung der Präsentationsapplikation (JSF)
  • Test der implementierten Web Services und der Sicherheitslösungen
  • Dokumentation der Projektergebnisse
Glassfish V3 Applikationsserver Apache Tomcat 7.0 Applikationsserver MySQL 5.5 DBMS Netbeans 7.1 JavaEE EJB 3.1 JAXWS MetroStack 2.2.5 SOAP JAXRS Jersey 1.1 RESTful HTTP JPA 2.0 SSl 3.1 TLS 1.0 WSSecurity (Verschlüsselung) WSPolicy Hashbased message authentication code (HMAC) Identity Management System OpenAM Microsoft Vi-sio JAXB (XML) JSP HTML/CSS SQL JDBC UML 2.0 Visual Paradigm Maven 3.0 JUnit JSF UML 2 JBoss Seam
6 Monate
2011-07 - 2011-12

Entwicklung eines Natural Language Processing Systems

Software Developer JavaEE EJB 3.0 JaxRS ...
Software Developer

Projektumfeld

Die Bearbeitung von Anfragen bezogen auf die Stadt Darmstadt nehmen sehr viel Zeit in Anspruch. Im Rahmen des Projekts wurde deshalb ein NLP-System zur Beantwortung natürlich-sprachiger Fragen, bezogen auf die Stadt Darmstadt oder den öffentlichen Nahverkehr, entwickelt. Die korrekte Beantwortung der Fragen wurde durch den dynamischen Aufbau einer Wissensdatenbank und Entwicklung der entsprechenden Suche erreicht. Hierzu wurde die eingegebene Frage einer linguistischen Analyse unterzogen und anschließend in die wichtigen Bestandteile zerlegt. In dem Projekt wurden die hierfür notwendigen Teilkomponenten entwickelt. Die erreichten Projektergebnisse wurden abschließend in einer Projektdokumentation festgehalten.

Ziel:

  • Entwicklung eines NLP Systems, das es Benutzern ermöglicht Fragen bezogen auf die Stadt Darmstadt, oder speziell den öffentlichen Nahverkehr betreffend, vom entwickelten System beantworten zu lassen.

Tätigkeiten:

  • Anforderungsanalyse (UML)
  • Workshop zum Thema Linguistik
  • Erstellen eines fachlichen Konzepts
  • Erstellen eines technischen Konzepts
  • Definition der Struktur der Wissensdatenbank
  • Konzeption der Wissensdatenbank
  • Implementierung einer Analysekomponente für das Parsen und die Durchführung struktureller Anpassungen der eingegebenen Frage
  • Implementierung des RESTful Web Services
  • Test der implementierten Analysekomponente
  • Test des Gesamtsystems
  • Dokumentation des implementierten Gesamtsystems
JavaEE EJB 3.0 JaxRS Jersey 1.1 MySQL 5.5 DBMS JBoss 6.0 Eclipse JUnit TortoiseSVN Maven ArgoUML JDBC SQL HTML CSS Java Servlets JSP Hibernate UML 2
7 Monate
2011-01 - 2011-07

Telephony Fraud Detection in Next Generation Networks

Software Developer Python 2.7 Python Modul matplotlib UML 2 ...
Software Developer

Projektumfeld

Da die Telefonanlagen von Unternehmen im Jahr 2010 verstärkt durch Hacker angegriffen wurden, konzentrieren sich die Anforderungen an die Angriffserkennungssoftware auf die Erkennung von Gebührenbetrug im Endkundenverhältnis. Angreifer können sich beispielsweise durch schlechte Benutzernamen und Passwörter Zugang zu den Anschlüssen der Teilnehmer verschaffen und diese für den Gebührenbetrug nutzen. Dafür werden ausgehende Telefonate über teure Leitungen, vornehmlich für Fern- oder Auslandsgespräche, geschickt. Die so entstehenden Kosten stellen Telefonanbieter dem Inhaber des Anschlusses in Rechnung, ohne dass dieser sie durchgeführt hat. Die Angriffserkennungssoftware sollte verhindern, dass die Telefonanlage durch einen Hackerangriff manipuliert werden kann.

Ziel:

  • Design und die Implementierung einer RealTime-Angriffserkennungssoftware, welche Missbrauchsfälle durch Gebührenbetrug bei Anbietern von VoIP Telefonie schnellstmöglich erkennt.

Tätigkeiten:

  • Anforderungsanalyse (UML)
  • Konzeption des Frameworks für das Einlesen und Verarbeiten von Call Detail Records (CDR)
  • Konzeption mehrerer Filterkomponenten für die Analyse der eingelesenen Daten
  • Implementierung des Frameworks
  • Implementierung der Filterkomponenten
  • Test der implementierten Filterkomponenten
  • Implementierung der Komponente zur automatischen Generierung der grafischen Darstellung der Analyseergebnisse
  • Test des Gesamtsystems
  • Integration des implementierten Systems beim Kunden
  • Darstellung der realisierten Komponente in Form eines wissenschaftlichen Papers
  • Unterstützung bei der Erstellung eines Forschungsantrages für das Projekt
  • Erstellung der Projektdokumentation
Python 2.7 Python Modul matplotlib UML 2 Eclipse Microsoft Visio Git ArgoUML

Aus- und Weiterbildung

Aus- und Weiterbildung

Zertifizierungen

  • iSAQB Certified Professional for Software Architecture ? Foundation Level (CPSA-F)
  • SAFe® 4 Practitioner
  • SCJP Sun Certified Programmer for Java 6

Kompetenzen

Kompetenzen

Top-Skills

Java EE Spring MQTT Camunda BPMN Maven Hibernate Angular.js Oauth2 Java 1.8 IBM IoT Message Sight MariaDB Spring Boot SOAP Oracle DB SoapUI Docker Java Swing Mockito JPA Gradle JSF Kubernetes

Schwerpunkte

 Fachlicher Schwerpunkt

  • Software Design und Architektur
  • Software-Entwicklung (Java/JEE)

Technikschwerpunkte

Programmierung:

  • Architektur
  • JEE / Java Entwicklung
  • Software Engineering
  • Technische Konzeption

Projektvorgehensmodelle:

  • SCRUM
  • Scaled Agile Framework (SAFe)
  • VModell XT
  • Wasserfallmodell (Royce/Boehm)

Produkte / Standards / Erfahrungen / Methoden

AJAX
Ant
Apache HTTP Server
Apache Tomcat
AWS
Confluence
Docker
Eclipse IDE
EJB 3.1
Flyway
Git
Glassfish V3
Gradle
Hibernate
IBM Message Broker
Ivy
JAXB
JAXRS und JAXWS
JBoss
JBoss Seam Framework
JEE 6
Jersey
JFrog Artifactory
JMS
JSF
JSF 2
JSP
Kanban
Log4j
Maven
Maven 3.0
Metro
Microsoft Excel
Microsoft PowerPoint
Microsoft Visio
Microsoft Word
Oracle Weblogic
Powermock
SCRUM
Servlet
Spring
Spring 5
Spring Boot 2
Subversion
Swing
TortoiseSVN
TYPO3
Web Service Security
Wiki

ARCHITEKTUREN

  • J2EE
  • SOA
  • Client / Server
  • EAI
  • Architektur- und Entwurfsmuster
  • Design Patterns
  • Event Driven Architecture
  • MVC
  • Objektorientierte Programmierung
  • Web Services
  • Webarchitekturen

OPERATIVE QUALITÄTSSICHERUNG / DURCHFÜHRUNG

  • Abnahme
  • Testfallbeschreibung
  • Testkonzepterstellung
  • Testplanung, Testvorbereitung
  • Testverfahren
  • Funktionale Testverfahren
  • Lasttestverfahren

NETZWERKINFRASTRUKTUR

  • LAN Architekturen
  • Switching und Routing
  • Verschlüsselung
  • WLAN-Architekturen

Betriebssysteme

DOS
Linux
Microsoft Windows 3.x ME
Microsoft Windows 7/8
Microsoft Windows Vista
Microsoft Windows XP

Programmiersprachen

Actionscript
AngularJS
Apache Ivy
C++
CSS
Flash
HTML
HTML5
Java
Java 6
Java 8
Java ME
J2ME, MIDP
Java Script
JavaEE
jQuery
JSP
NodeJS
Oracle/SQL
Perl
PHP
Python
ShellScript
Swagger
XML
XPATH

Datenbanken

Arquillian Integration Testing
DB2
Hibernate
Hudson
JDBC
Jira
JMockit
JPA
JUnit
Mockito
MySQL
Oracle
Oracle 12
PL/SQL
PostgreSQL
SQL

Datenkommunikation

MQTT

Design / Entwicklung / Konstruktion

ArgoUML
Eclipse
Enterprise Architect
Microsoft Visio
Microsoft Visual Studio
NetBeans IDE
UML 2.0
Visual Paradigm

Managementerfahrung in Unternehmen

Aufwandschätzung: Function Point Schätzverfahren
Microsoft Project

Branchen

Branchen

  • Dienstleistung: Informationstechnologie
  • Finanzen
  • Information & Medien: Informationstechn. & Internet; Medien und Unterhaltung
  • Telekommunikation
  • Öffentlicher Sektor: Transport

Einsatzorte

Einsatzorte

Frankfurt am Main (+50km)
Deutschland, Schweiz, Österreich
Möglichst Remote
möglich

Projekte

Projekte

2 Jahre 7 Monate
2021-09 - heute

Argus Authentisierung und Autorisierung

Senior Software Developer Spring Java Kubernetes ...
Senior Software Developer
Projektumfeld
Infrastrukturkomponente deren Fokus auf dem Schutz von Webanwendungen und Services liegt.
Schwerpunkte sind u.a. die Themen:
? Authentisierung
? Autorisierung
Hierzu kommen verschiedene Standards wie OAuth2, OpenId Connect und SAML zum Einsatz

Vorgehensmodell: Kanban

Übernommene Rollen
? Senior Software Developer

Eigene Tätigkeiten
? Konzeption, Erweiterung und Umsetzung der Schnittstellen (REST) inkl. Authentisierung und Autorisierung
? Anbindung an einen RabbitMQ Broker (AMQP Protokoll)
? Migration bestehender Anwendungen nach Kubernetes (Docker, Helm, Kubernetes)
? Datenbankentwicklung (JPA, SQL, Oracle DB)
? Kontinuierliche Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito, Selenium, WireMock)
? Dokumentation der Ergebnisse (Confluence)

Technologien & Tools
Java 11, Spring 5, Spring Boot 2, Kubernetes, Docker, Helm, RabbitMQ/AMQP, OAuth 2, OpenID Connect, JWT, SAML, Flyway DB Migration, WireMock, Selenium, Junit 5, Mockito
Spring Java Kubernetes OAuth2 Docker Helm SAML JWT AMQP
München
2 Jahre 6 Monate
2019-04 - 2021-09

Reisendeninformation

Senior Software Developer Spring Boot 2 Spring 5 Java 8 ...
Senior Software Developer

Projektumfeld

Die RIS Communicator App wird von ca. 30.000 Anwendern genutzt, ist in jedem Personenzug der Deutschen Bahn an Bord und versorgt die Mitarbeiter mit Reisendeninformation und erleichtert betriebliche Prozesse.

Ziel des Projektes ist es weitere fachliche Funktionen bereitzustellen. Hierzu muss das Backend (Microservice Architektur) kontinuierlich um neue Services erweitert werden.

Diese müssen unter anderem den folgenden Anforderungen genügen:

  • Skalierbarkeit
  • Performance
  • Sicherheit
  • Zukunftsfähigkeit

Tätigkeiten

  • Implementierung fachlichen Features
  • Konzeption, Erweiterung und Umsetzung der Schnittstellen (inkl. Schnittstellenbeschreibungen)
  • Konzeption und Implementierung von Microservices im Kubernetes Cluster
  • Datenbankentwicklung (JPA, MariaDB, SQL)
  • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
  • Dokumentation der Ergebnisse (Confluence, DV-Konzepte)
MQTT Kubernetes IBM Message Broker Oracle AQ AWS Prometheus
Spring Boot 2 Spring 5 Java 8 JSF 2 Docker Flyway Hibernate Gradle Kanban Scrum Swagger
Frankfurt am Main
5 Monate
2018-11 - 2019-03

OKKR - Omnikanalekundenreise

Senior Software Developer scrum
Senior Software Developer

Projektumfeld

Ziel: Die „Onlinebestellstrecke“ bietet dem Kunde schon heute die Annehmlichkeit, jederzeit und unabhängig von der Bankfiliale, von Zuhause aus einen Kredit zu bantragen.

Das Projekt „Omnikanalekundenreise“ möchte diesen zukunftsfähigen Vertriebskanal um zwei zusätzliche Features erweitern, die es sowohl dem Kunden, als auch dem Bankberater einfacher machen sollen, zwischen den Kanälen „online“ und „persönlich“ zu wechseln. 

 

Vorgehensmodell: SCRUM

Tätigkeiten

  • Implementierung fachlichen Features
  • Konzeption, Erweiterung und Umsetzung der Schnittstellen (inkl. Schnittstellenbeschreibung)
  • Erweiterung der GUI (JSF, AngularJS)
  • Datenbankanpassungen (JDBC, JPA)
  • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
  • Dokumentation der Ergebnisse (Confluence)
AngularJS JSF JavaEE JPA JMS Mockito JUnit NodeJS HTML5 Apache Ivy Ant Swagger Oracle/SQL
scrum
Eschborn, Taunus
7 Monate
2018-04 - 2018-10

Innovative Objektfinanzierung

Senior Software Developer JEE 6 JSF JavaScript ...
Senior Software Developer

Projektumfeld

  • Erweiterung des Produktes zur Innovativen Objektfinanzierung (Fachlich und Technisch) bis 250.000€.
  • Durchführung eines technischen Refactorings, um die Zukunftsfähigkeit der Anwendung zu gewährleisten.

Tätigkeiten:

  • Implementierung von Berechnungsformeln und Algorithmen für die Objektfinanzierung und Leasinggeschäfte
  • Erweiterung der GUI (JSF)
  • Datenbankanpassungen (JDBC, JPA)
  • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
  • Dokumentation der Ergebnisse (Confluence)
  • Planung und Durchführung eines größeren Refactorings
SCRUM
JEE 6 JSF JavaScript RichFaces EJB 2 & 3 JPA JMS SOAP WebServices XSD XML Ivy Ant JFrog Artifactory Mockito Jira Confluence SVN Oracle Weblogic Application Server 12 Oracle 12 DB HTML CSS SonarQube
Eschborn, Taunus
1 Jahr 10 Monate
2016-06 - 2018-03

Anbindung eines Kapazitäts-Buchungs-Systems

Senior Software Developer / Technical Lead Java 8 JEE 6 Camunda BPMN ...
Senior Software Developer / Technical Lead

Projektumfeld

Als Projektvorgehensmodell wurde SCRUM und SAFe (Scaled Agile Framework) erfolgreich eingesetzt und die Entwicklung der fachlichen Features erfolgte mittels Test-Driven-Development. Um eine sehr hohe Code-Qualität zu erreichen und diese über den gesamten Entwicklungszyklus sicherstellen zu können, wurde eine Continuos-Integration-Strategie (CI) eingesetzt. Diese Strategie bestand u.a. in der Nutzung eines Jenkins-CI-Servers. Die fachlichen Prozesse wurden mittels der Camunda BPMN modelliert. Lieferartefakte wurden per Docker gepackt und ausgeliefert um eine gleichbleibende Qualität der Lieferartefakte gewährleisten zu können. Um eine hohe Skalierbarkeit der verwendeten Umgebungen zu gewährleisten wurden die verschiedenen Umgebungen durch Einsatz von Amazon AWS virtualisiert (Cloud).

Ziel:

  • Technische und fachliche Entwicklung eines Systems zur Anbindung eines Kapazitäts-Buchungs-Systems

Tätigkeiten:

  • Definition der fachlichen Anforderungen (Use Case Diagramme)
  • Architekturdokumentation (Enterprise Architect)
  • Definition und Anpassung der Prozessmodelle (BPMN Modelle, Camunda)
  • Implementierung der BPMN-Prozesse (Java 8, Camunda)
  • Test der entwickelten Features in UnitTests (Mockito) und Integration Tests (Arquillian)
  • Analyse der fachlichen Anforderungen
  • Entwicklung der fachlichen Anforderungen im SCRUM-Team (SAFe Kontext)
  • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse (Confluence, Jira)
  • Entwicklung von Docker Containern für die Anwendung und Testkomponenten
  • Erarbeitung und Umsetzung einer Datenbankmigrationsstrategie (Flyway DB Migration)
SCRUM Scaled Agile Framework
Java 8 JEE 6 Camunda BPMN Docker AWS Ama-zon Cloud Jenkins 2 Mockito Arquillian JDBC JPA H2 DB Oracle 12 Git Confluence Jira SCRUM SAFe (Scaled Agile Framework) Eclipse IDE JBoss EAP 6 Maven Suse Linux Enterprise Server 12 Flyway DB Migration
Frankfurt am Main
5 Monate
2016-01 - 2016-05

Mobile Integrationsplattform für den Personenverkehr

Senior Software Developer OSGi R4.2 (Equinox) Apache Karaf Suse Linux Enterprise Server 11/12 ...
Senior Software Developer

Ziel:

  • Fachliche und technische Weiterentwicklung des vorhandenen Systems für die Kommunikation einzelner Systeme im Zug. 
  • Das bestehende System wurde kontinuierlich fachlich und technisch weiterentwickelt.

Tätigkeiten:

  • Definition der fachlichen Anforderungen (Use Case Diagramme)
  • Definition der technischen Anforderungen in Form von TKSP´s und Schnittstellenbeschreibung (u.a. Enterprise Architect)
  • Analyse der fachlichen Anforderungen
  • Entwicklung der fachlichen Anforderungen
  • Erstellen eines Konzeptes zur Migration von Eclipse Equinox nach Apache Karaf
  • Durchführen der Migration
  • Entwickeln eines Buildsystems mit Maven
  • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse
OSGi R4.2 (Equinox) Apache Karaf Suse Linux Enterprise Server 11/12 Java 6 7 und 8 Spring 3 Apache Tomcat 7 und 8 Applikationsserver UML 2.0 JUnit Mockito Powermock JDBC JPA MySQL Oracle 11/12 Eclipse IDE Jira TortoiseSVN Enter-prise Architect Hudson
Frankfurt am Main
3 Jahre 4 Monate
2012-10 - 2016-01

Weiterentwicklung eines Dispositionssystems für den Personenverkehr

Software Developer JBoss EAP 5/6 Applikationsserver Apache Tomcat 6/7 Applikationsserver JavaEE EJB 2.1/EJB 3 ...
Software Developer

Projektumfeld

Das bestehende System eignete sich nicht für eine effiziente Weiterentwicklung mit einem großen Entwicklerteam, das auf viele kleine SCRUM-Teams verteilt werden sollte. Im Rahmen des Projekts wurde deshalb zunächst ein technisches Release durchgeführt, um die Komponenten entsprechend der fachlichen Schwerpunkte zu schneiden. Vor dem Start der fachlichen Entwicklung wurde ein Last- und PerformanceTest (LuP) durchgeführt. Dieser hatte zum Ziel die Tragfähigkeit des bestehenden Systems bezüglich der fachlichen Anforderungen zu untersuchen. Anschließend konnten die vom Kunden definierten Anforderungen erfolgreich in mehreren SCRUM-Teams parallel durchgeführt werden. Als Projektvorgehensmodell wurde SCRUM erfolgreich eingesetzt und die Entwicklung der fachlichen Features erfolgte mittels Test-Driven-Development. Um eine sehr hohe Code-Qualität zu erreichen und diese über den gesamten Entwicklungszyklus sicherstellen zu können, wurde eine Continuos-Integration-Strategie (CI) eingesetzt. Diese Strategie bestand u.a. in der Nutzung eines Jenkins-CI-Servers und von Werkzeugen für teamübergreifende Code Reviews (Atlassian FishEye und Crucible).

Ziel:

  • Durchführung eines technischen Releases um die fachliche Weiterentwicklung zu ermöglichen.

Tätigkeiten auf technischer Ebene:

  • Definition der technischen Anforderungen (UML)
  • Analyse und Evaluation der bestehenden Systemarchitektur hinsichtlich der Tragfähigkeit für kommende fachliche Anforderungen
  • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
  • Vorbereitung, Durchführung und Dokumentation des fachlichen Komponentenschnitts
  • Konzeption eines Last und Performance Tests (LuP) für das bestehende System
  • Entwicklung von Werkzeugen für den LuP
  • Durchführung, Auswertung und Analyse sowie Dokumentation des LuP
  • Vorbereitung, Durchführung und Dokumentation des Technischen Abnahmetest (TAT)
  • Fortwährende Dokumentation der Projektergebnisse (Confluence)

Tätigkeiten auf fachlicher Ebene:

  • Definition der fachlichen Anforderungen (Use Case Diagramme)
  • Analyse der fachlichen Anforderungen
  • Entwicklung der fachlichen Anforderungen im SCRUM-Team
  • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse
JBoss EAP 5/6 Applikationsserver Apache Tomcat 6/7 Applikationsserver JavaEE EJB 2.1/EJB 3 Spring 3 UML 2.0 JUnit JMockit JDBC Oracle 11 Eclipse IDE Confluence Jira SCRUM TortoiseSVN Git Enterprise Architect Java Swing MVC Jenkins JPA FishEye Crucible
8 Monate
2012-01 - 2012-08

Realisierung von sicheren SOA und RESTful Web Anwendungen

Software Developer Glassfish V3 Applikationsserver Apache Tomcat 7.0 Applikationsserver MySQL 5.5 DBMS ...
Software Developer

Projektumfeld

Web Services, die mittels des Architekturstils REST entwickelt wurden, sind zunehmend verbreitet und werden mittlerweile auch von großen Unternehmen wie Google und Amazon eingesetzt. In diesem Zusammenhang stellt sich dem Kunden die Frage, in wie weit sich dieser neue Ansatz mit dem herkömmlichen SOAP-basierten Service orientierten Architekturansatz vergleichen lässt bzw. worin Unterschiede bestehen. Im Rahmen des Projekts wurde diese grundlegende Fragestellung auf die nichtfunktionale Anforderung Sicherheit bezogen. Anhand des Projekts wurde gezeigt, auf welche Weise es möglich ist, sichere Web Services auf Basis der beiden Architekturstile SOA und REST zu konzipieren und zu realisieren

Ziel:

Konzeption und Realisierung von sicheren Web-Anwendungen auf Basis der Architekturstile SOA und REST. Insbesondere Analyse und Evaluation der vorhandenen und verwendbaren Sicherheitslösungen.

Tätigkeiten:

  • Definition der fachlichen Anforderungen (Use Case Diagramme)
  • Erstellen des fachlichen Konzepts
  • Definition der sicherheitsrelevanten Anforderungen
  • Evaluierung und Auswahl der Sicherheitslösungen
  • Erstellen des technischen Konzepts (UML)
  • Realisierung von SOA Web Services
  • Realisierung von RESTful Web Services
  • Realisierung der sicherheitsrelevanten Anforderungen in beiden Systemen
  • Konzeption und Realisierung der Präsentationsapplikation (JSF)
  • Test der implementierten Web Services und der Sicherheitslösungen
  • Dokumentation der Projektergebnisse
Glassfish V3 Applikationsserver Apache Tomcat 7.0 Applikationsserver MySQL 5.5 DBMS Netbeans 7.1 JavaEE EJB 3.1 JAXWS MetroStack 2.2.5 SOAP JAXRS Jersey 1.1 RESTful HTTP JPA 2.0 SSl 3.1 TLS 1.0 WSSecurity (Verschlüsselung) WSPolicy Hashbased message authentication code (HMAC) Identity Management System OpenAM Microsoft Vi-sio JAXB (XML) JSP HTML/CSS SQL JDBC UML 2.0 Visual Paradigm Maven 3.0 JUnit JSF UML 2 JBoss Seam
6 Monate
2011-07 - 2011-12

Entwicklung eines Natural Language Processing Systems

Software Developer JavaEE EJB 3.0 JaxRS ...
Software Developer

Projektumfeld

Die Bearbeitung von Anfragen bezogen auf die Stadt Darmstadt nehmen sehr viel Zeit in Anspruch. Im Rahmen des Projekts wurde deshalb ein NLP-System zur Beantwortung natürlich-sprachiger Fragen, bezogen auf die Stadt Darmstadt oder den öffentlichen Nahverkehr, entwickelt. Die korrekte Beantwortung der Fragen wurde durch den dynamischen Aufbau einer Wissensdatenbank und Entwicklung der entsprechenden Suche erreicht. Hierzu wurde die eingegebene Frage einer linguistischen Analyse unterzogen und anschließend in die wichtigen Bestandteile zerlegt. In dem Projekt wurden die hierfür notwendigen Teilkomponenten entwickelt. Die erreichten Projektergebnisse wurden abschließend in einer Projektdokumentation festgehalten.

Ziel:

  • Entwicklung eines NLP Systems, das es Benutzern ermöglicht Fragen bezogen auf die Stadt Darmstadt, oder speziell den öffentlichen Nahverkehr betreffend, vom entwickelten System beantworten zu lassen.

Tätigkeiten:

  • Anforderungsanalyse (UML)
  • Workshop zum Thema Linguistik
  • Erstellen eines fachlichen Konzepts
  • Erstellen eines technischen Konzepts
  • Definition der Struktur der Wissensdatenbank
  • Konzeption der Wissensdatenbank
  • Implementierung einer Analysekomponente für das Parsen und die Durchführung struktureller Anpassungen der eingegebenen Frage
  • Implementierung des RESTful Web Services
  • Test der implementierten Analysekomponente
  • Test des Gesamtsystems
  • Dokumentation des implementierten Gesamtsystems
JavaEE EJB 3.0 JaxRS Jersey 1.1 MySQL 5.5 DBMS JBoss 6.0 Eclipse JUnit TortoiseSVN Maven ArgoUML JDBC SQL HTML CSS Java Servlets JSP Hibernate UML 2
7 Monate
2011-01 - 2011-07

Telephony Fraud Detection in Next Generation Networks

Software Developer Python 2.7 Python Modul matplotlib UML 2 ...
Software Developer

Projektumfeld

Da die Telefonanlagen von Unternehmen im Jahr 2010 verstärkt durch Hacker angegriffen wurden, konzentrieren sich die Anforderungen an die Angriffserkennungssoftware auf die Erkennung von Gebührenbetrug im Endkundenverhältnis. Angreifer können sich beispielsweise durch schlechte Benutzernamen und Passwörter Zugang zu den Anschlüssen der Teilnehmer verschaffen und diese für den Gebührenbetrug nutzen. Dafür werden ausgehende Telefonate über teure Leitungen, vornehmlich für Fern- oder Auslandsgespräche, geschickt. Die so entstehenden Kosten stellen Telefonanbieter dem Inhaber des Anschlusses in Rechnung, ohne dass dieser sie durchgeführt hat. Die Angriffserkennungssoftware sollte verhindern, dass die Telefonanlage durch einen Hackerangriff manipuliert werden kann.

Ziel:

  • Design und die Implementierung einer RealTime-Angriffserkennungssoftware, welche Missbrauchsfälle durch Gebührenbetrug bei Anbietern von VoIP Telefonie schnellstmöglich erkennt.

Tätigkeiten:

  • Anforderungsanalyse (UML)
  • Konzeption des Frameworks für das Einlesen und Verarbeiten von Call Detail Records (CDR)
  • Konzeption mehrerer Filterkomponenten für die Analyse der eingelesenen Daten
  • Implementierung des Frameworks
  • Implementierung der Filterkomponenten
  • Test der implementierten Filterkomponenten
  • Implementierung der Komponente zur automatischen Generierung der grafischen Darstellung der Analyseergebnisse
  • Test des Gesamtsystems
  • Integration des implementierten Systems beim Kunden
  • Darstellung der realisierten Komponente in Form eines wissenschaftlichen Papers
  • Unterstützung bei der Erstellung eines Forschungsantrages für das Projekt
  • Erstellung der Projektdokumentation
Python 2.7 Python Modul matplotlib UML 2 Eclipse Microsoft Visio Git ArgoUML

Aus- und Weiterbildung

Aus- und Weiterbildung

Zertifizierungen

  • iSAQB Certified Professional for Software Architecture ? Foundation Level (CPSA-F)
  • SAFe® 4 Practitioner
  • SCJP Sun Certified Programmer for Java 6

Kompetenzen

Kompetenzen

Top-Skills

Java EE Spring MQTT Camunda BPMN Maven Hibernate Angular.js Oauth2 Java 1.8 IBM IoT Message Sight MariaDB Spring Boot SOAP Oracle DB SoapUI Docker Java Swing Mockito JPA Gradle JSF Kubernetes

Schwerpunkte

 Fachlicher Schwerpunkt

  • Software Design und Architektur
  • Software-Entwicklung (Java/JEE)

Technikschwerpunkte

Programmierung:

  • Architektur
  • JEE / Java Entwicklung
  • Software Engineering
  • Technische Konzeption

Projektvorgehensmodelle:

  • SCRUM
  • Scaled Agile Framework (SAFe)
  • VModell XT
  • Wasserfallmodell (Royce/Boehm)

Produkte / Standards / Erfahrungen / Methoden

AJAX
Ant
Apache HTTP Server
Apache Tomcat
AWS
Confluence
Docker
Eclipse IDE
EJB 3.1
Flyway
Git
Glassfish V3
Gradle
Hibernate
IBM Message Broker
Ivy
JAXB
JAXRS und JAXWS
JBoss
JBoss Seam Framework
JEE 6
Jersey
JFrog Artifactory
JMS
JSF
JSF 2
JSP
Kanban
Log4j
Maven
Maven 3.0
Metro
Microsoft Excel
Microsoft PowerPoint
Microsoft Visio
Microsoft Word
Oracle Weblogic
Powermock
SCRUM
Servlet
Spring
Spring 5
Spring Boot 2
Subversion
Swing
TortoiseSVN
TYPO3
Web Service Security
Wiki

ARCHITEKTUREN

  • J2EE
  • SOA
  • Client / Server
  • EAI
  • Architektur- und Entwurfsmuster
  • Design Patterns
  • Event Driven Architecture
  • MVC
  • Objektorientierte Programmierung
  • Web Services
  • Webarchitekturen

OPERATIVE QUALITÄTSSICHERUNG / DURCHFÜHRUNG

  • Abnahme
  • Testfallbeschreibung
  • Testkonzepterstellung
  • Testplanung, Testvorbereitung
  • Testverfahren
  • Funktionale Testverfahren
  • Lasttestverfahren

NETZWERKINFRASTRUKTUR

  • LAN Architekturen
  • Switching und Routing
  • Verschlüsselung
  • WLAN-Architekturen

Betriebssysteme

DOS
Linux
Microsoft Windows 3.x ME
Microsoft Windows 7/8
Microsoft Windows Vista
Microsoft Windows XP

Programmiersprachen

Actionscript
AngularJS
Apache Ivy
C++
CSS
Flash
HTML
HTML5
Java
Java 6
Java 8
Java ME
J2ME, MIDP
Java Script
JavaEE
jQuery
JSP
NodeJS
Oracle/SQL
Perl
PHP
Python
ShellScript
Swagger
XML
XPATH

Datenbanken

Arquillian Integration Testing
DB2
Hibernate
Hudson
JDBC
Jira
JMockit
JPA
JUnit
Mockito
MySQL
Oracle
Oracle 12
PL/SQL
PostgreSQL
SQL

Datenkommunikation

MQTT

Design / Entwicklung / Konstruktion

ArgoUML
Eclipse
Enterprise Architect
Microsoft Visio
Microsoft Visual Studio
NetBeans IDE
UML 2.0
Visual Paradigm

Managementerfahrung in Unternehmen

Aufwandschätzung: Function Point Schätzverfahren
Microsoft Project

Branchen

Branchen

  • Dienstleistung: Informationstechnologie
  • Finanzen
  • Information & Medien: Informationstechn. & Internet; Medien und Unterhaltung
  • Telekommunikation
  • Öffentlicher Sektor: Transport

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.