Profileimage by Anonymous profile, Software-Architektur und IT-Security.  Spring und Java EE. Agile Prozesse und Clean Code.
not available until 05/01/2024

Last update: 28.02.2024

Software-Architektur und IT-Security. Spring und Java EE. Agile Prozesse und Clean Code.

Graduation: Dipl.-Informatiker (FH)
Hourly-/Daily rates: show
Languages: German (Native or Bilingual) | English (Limited professional) | Spanish (Elementary)

Skills


KEY FACTS UND LEITMOTIVE

Beratung und Konzeption
  • Unterstützung und Beratung großer und kleiner Unternehmen seit fast 20 Jahren in nahezu allen Bereichen der Softwareentwicklung. 
  • Durchdachte Lösungskonzeptionen mit umfassender und verständlicher Dokumentation fachlicher und technischer Aspekte.
  • Beratende und tatkräftige Begleitung von IT-Projekten in allen Projektphasen.
Software-Architektur und Domain Driven Design
  • Konzeption, Entwurf und Koordination der Entwicklung komplexer Anwendungs- und Systemarchitekturen in heterogenen IT-Landschaften. 
  • Enge Zusammenarbeit mit fachlichen und technischen Stakeholdern zur gemeinsamen Erarbeitung der Fachdomäne mit dem Ziel einer effizienten softwaretechnischen Umsetzung.
  • Durchführung von Architekturreviews und Vermittlung von Designprinzipien.
  • Architekturmanagement und Architekturdokumentation.
IT Security
  • Bewertung und Optimierung des Software-entwicklungsprozesses in Bezug auf IT-Sicherheit in allen Phasen der Softwareentwicklung.
  • Einbeziehung verschiedener Standards zur Implementierung eines sicheren Entwick-lungsprozesses wie OWASP SAMM und ASVS,  ISO/IEC 27001, BSI IT-Grundschutz.
Softwarequalität
  • Ganzheitlicher Blick auf die äußere und innere Qualität von Softwaresystemen.
  • Ausrichtung und Optimierung der Softwarequalität hinsichtlich ISO-Qualitätskriterien wie Funktionalität, Verständlichkeit, Wartbarkeit und Langlebigkeit.
  • Praktizieren und vermitteln der Prinzipien von Clean Code und Clean Test. 
  • Durchführung von Codereviews und Vermittlung von Coding-Guidelines.
Agilität
  • Certified Scrum Master® der Scrum Alliance® 2019.
  • Langjährige Erfahrung in agilen IT-Projekten.
  • Zielorientierte Verbesserung agiler Softwareentwicklungsprozesse unter Berücksichtigung des gegebenen Umfeldes.
Softskills
  • Konsequenter Teamplayer mit Fokus auf transparenter Kommunikation und konstruktiver Zusammenarbeit.
  • Professionelle, qualitäts- und zielorientierte Arbeitsweise mit der Fähigkeit, komplexe Sachverhalte anschaulich zu vermitteln. 


Hinweis zum Urheberrecht:
Bitte benachrichtigen Sie mich vor Weiterreichung meines Profils. Inhaltliche Änderungen sind im Voraus mit mir abzusprechen. 


 

KENNTNISSE 

Methodisch

Systemanalyse
Objektorientierte Analyse (OOA) · Geschäftsprozessanalyse · UML · C4 model · BPMN

Software-Architektur
Microservice-Architektur · Self-contained Systems (SCS) · Hexagonale Architektur · Modulare (“modulithische”) Mehrschichten-Architektur

Software-Qualität
Clean Code · Clean Test · Code Reviews · Test Driven Development (TDD) · Pair Programming · Continuous Integration (CI/CD)

IT-Security-Standards
OWASP SAMM · OWASP ASVS · BSI IT-Grundschutz · ISO 27001:2022

Agilität
Agile Prozesse · Projektorganisation mit Scrum und Kanban · Domain Driven Design · Event Storming · Team Estimation · Durchführung von Meetings und Workshops · Moderation & Nachverfolgung

Prosa
Spezifikation und Dokumentation · fachlich und technisch · auf Deutsch oder Englisch

Technisch

Backend
Java · Python · Spring Framework · Spring Boot · Spring Web · Spring Data · Spring Batch · Spring Integration · Spring Actuator · Spring Cloud · Micrometer · Java EE · CDI · JPA · REST · JAX-RS · JMS · RabbitMQ · Apache Kafka

Frontend
JavaScript · Bootstrap · Vue.js · Angular · HTML · CSS

Virtualisierung & Cloud
Docker · Kubernetes · Vagrant · VirtualBox

Tools und Frameworks

Java
Lombok · Quartz · Hibernate · Flyway · Jackson · Gson · etc. pp.

Logging & Monitoring
Kibana · Grafana · Elasticsearch · Prometheus

Organisation & Dokumentation
Atlassian (Jira, Confluence) · Swagger/OpenAPI

Development-Tools 

IDE
IntelliJ IDEA · Eclipse · Netbeans

Build & CI
Maven · Gradle · Ant · Jenkins · GitLab · TeamCity · CruiseControl · SonarQube · Sonatype Lifecycle

SCM
Git · Mercurial · Subversion · Crucible

Testing
Junit 5 · Mockito · WireMock · Cucumber · Cypress · Selenium WebDriver · Selenium Grid

Application-Server

JBoss / WildFly · Tomcat · Glassfish · WebSphere

Datenbanken

SQL
MySQL · PostgreSQL · Oracle · DB2 · MS SQL-Server · H2 · HSQLDB

noSQL
MongoDB · Elasticsearch · Neo4J

Sprachen

Deutsch (Muttersprache)
Sehr gutes Deutsch in Wort und Schrift

Englisch
Schriftlich sehr gut · mündlich gut (z.Zt. etwas aus der Übung, aber konversationstauglich)

Spanisch
Grundkenntnisse
 

REFERENZEN

IBM Deutschland · Ebay/Mobile.de · Daimler Financial Services · Bundesdruckerei · Bundesagentur für Arbeit · Deutsche Bahn Station&Service · Euler Hermes Deutschland · Openwave Messaging · Landesbank Berlin · John Deere Company · UniAssist · Governikus · Quibiq

WEITERBILDUNG

01/2023 IT Security (selbständige Weiterbildung in OWASP SAMM/ASVS, BSI IT-Grundschutz, ISO 27001)
05/2020 IT Security Camp, Schulung der Entwickler Akademie
04/2019 APM – Agiles Projektmanagement, Schulung durch OOSE
02/2019 Certified Scrum Master®, Schulung durch agile.coach und Cansult
 

PROJEKTERFAHRUNG 

2012 - heute:
wird hier nicht mehr aktualisiert, ich darf Sie höflich auf die strukturierte Projekthistorie weiter unten verweisen.

Ältere Projekte

2010 – 2012: E-Commerce-Plattform für den Automobilhandel

Projekt: Neuentwicklung des Workflows zum Inserieren von Gebrauchtfahrzeugen für Privatkunden
Zeitraum: 10/2011 – 10/2012
Beschreibung: 
Der „Sell Your Item“-Workflow wird vollständig neu entwickelt und löst die bestehende Legacy-Anwendung schrittweise ab. Dabei müssen die Fahrzeugtypen PKW, Motorrad, Wohnmobil und LKW jeweils unterschiedlich dargestellt und nach spezifischen Regeln behandelt werden.
Aufgaben: 
  • Entwurf und Implementierung von CQRS-Architektur und Komponenten.
  • Spezifikation und Umsetzung von JSON-basierten Schnittstellen zur Kommunikation zwischen Frontend und zustandslosem Backend.
  • Spezifikation und Implementierung von Eingabevalidierung, Exception-Handling und Error-Reporting.
  • Migration der API zur Anbindung von Payment-Service-Providern wie PayPal und BFS.
  • Migration der API zur Anbindung des Autokatalog-Services von Schwacke.
  • Durchführung von Peer-Reviews.
  • Implementierung umfangreicher Akzeptanztests mit Selenium WebDriver.
Tools: Java · UML · J2EE · JSF · Bean Validation · CDI · Spring · Spring MVC · Hibernate · MySQL · Freemarker · XML · XHTML · Tomcat · Maven · TeamCity · Jenkins · JUnit · Selenium · Jira · Git

Projekt: SEO – automatisierte Suchmaschinenoptimierung
Zeitraum: 05/2011 – 09/2011
Beschreibung: 
Zur Optimierung des Suchmaschinen-Rankings werden verschiedene Tools:  entwickelt und gepflegt, die Content für die Websites der internationalen Marktplätze generiert und SEO-gerecht aufbereitet.
Aufgaben: 
  • Entwicklung von Tools:  zur automatisierten Suchmaschinen-Optimierung für die Marktplätze DE, FR, IT, PL, RO nach den Vorgaben des Kunden. 
  • Implementierung und Wartung von vielen Akzeptanztests mit Concordion.
Tools: Java · J2EE · Spring · Freemarker · Hibernate · MySQL · Tomcat · Maven · TeamCity · Jenkins · JUnit · Concordion · Jira · OpenCMS · Git

Projekt: Geo-Search – Umkreissuche mit Autocomplete-Funktion
Zeitraum: 02/2011 – 04/2011
Beschreibung: 
Um Kunden eine komfortablere Einschränkung ihres Suchgebiets bieten zu können, wird ein Sucheingabefeld für die Ortssuche eingeführt. Die Eingabe von Postleitzahlen oder Ortsnamen wird durch eine Autovervollständigung á la Google unterstützt.
Aufgaben: 
  • Analyse der Postleitzahlensysteme für Frankreich und Italien und Import der Postleitzahlen in das Marktplatz-System.
  • Analyse der benötigten Datenstrukturen, um Ortsnamen und PLZ-Bereiche aufeinander abbilden zu können.
  • Migration bestehender Ortsdaten auf die neue Struktur. 
  • Integration einer trie-basierten JavaScript-Datenstruktur für die Autocomplete-Funktionalität im Frontend (de.wikipedia.org/wiki/Trie).
  • Rollout der neuen Features für die Marktplätze Italien und Frankreich. 
  • Dokumentation mit Confluence.
Tools: Java · UML · J2EE · Spring · Hibernate · MySQL · Freemarker · JavaScript · Tomcat · Maven · TeamCity · JUnit · Jira · SVN/Git · Confluence

Projekt: Keyword-Search mit Autocomplete-Funktion
Zeitraum: 10/2010 – 01/2012
Beschreibung: 
Über ein Freitext-Sucheingabefeld erhält der Benutzer ein exaktes Suchergebnis, das möglichst identisch mit dem Ergebnis der formularbasierten Detail-Suchfunktion ist. Außerdem werden dem Benutzer während der Eingabe Vorschläge zur automatischen Vervollständigung angezeigt.
Aufgaben: 
  • Entwurf und Implementierung der Keyword-Search als Aufsatz für die Detailsuchfunktion.
  • Freitexteingaben werden mit Hilfe von Lucene analysiert, anhand eines Dictionarys klassifiziert und auf die vorhandene Such-API abgebildet.
  • Durchführung von Codereviews mit Crucible.
  • Dokumentation mit Confluence.
Tools: Java · UML · J2EE · Spring · Lucene · Freemarker · Hibernate · MySQL · Tomcat · Maven · TeamCity · JUnit · Jira · SVN

Projekt: Dealer-Billing – Abrechnungsläufe für Autohändler
Zeitraum: 07/2010 – 09/2010
Beschreibung: 
Änderungen im Leistungs- und Verrechnungsmodell erfordern Anpassungen in verschiedenen Billing-Komponenten, um die Fakturierung der Autohändler durchführen zu können. Je nach gebuchten Anzeigenpaketen, Features und Laufzeiten werden die Rechnungsdaten für jeden Händler gesammelt, aufbereitet und an den Billing-Provider und das CRM übermittelt.
Aufgaben: 
  • Entwurf von Teilen des Domain-Modells.
  • Neu- und Weiterentwicklung von Features für das Dealer-Billing.
  • Integration der neuen Billing-Features in das Softwaretool für den Customer-Support.
  • Wartung und Weiterentwicklung zeitgesteuerter Backend-Jobs und Job-Queues zur zeitabschnittsbasierten Abrechnung der Händler.
  • Wartung und Weiterentwicklung einer REST-API zur Durchführung von Integrationstests.
Tools: Java · J2EE · UML · Spring · Spring MVC · JAX-RS (REST) · Quartz · Freemarker · JavaScript · Hibernate · MySQL · XML · Tomcat · Maven · TeamCity · JUnit · Jira · SVN


2010: Schnittstellenmigration für ein Bankensystem

Projekt: EAI/ETL – Migration mehrerer hundert Schnittstellen auf Talend Integration Suite
Zeitraum: 12/2009 – 06/2010
Beschreibung: 
Im Zuge der Umstellung der heterogenen Systemlandschaft auf ein neues Kernbankensystem wird eine Vielzahl an Integrations-Schnittstellen migriert. Teile der Message-Broker-Architektur werden von Java-basierten Talend-Komponenten abgelöst.
Aufgaben: 
  • Spezifikation und Dokumentation von Alt-Schnittstellen mittels Reverse-Engineering zur Vorbereitung der Migration.
  • Review und Abnahme von Schnittstellen-Spezifikationen.
  • Ablösung von Legacy-Schnittstellen durch Migration auf Talend Integration Suite (TIS) und Java.
  • Coaching der internen Mitarbeiter bzgl. der Umstellung auf TIS/Java.
  • Wartung von Legacy-Schnittstellen auf der Basis von IBM MQSeries / Websphere Message Broker und ESQL (Extended Structured Query Language).
Tools: Talend Integration Suite (TIS) · Java · Oracle · DB2 · SQL-Server · Sybase · IBM Websphere Message Broker · MQ Series · Websphere MQ · SQL · ESQL · Websphere Message Broker Toolkit · MQJ-Explorer · ClearCase · JUnit · SVN


2007 – 2009: Buchungssystem als Intranet-Anwendung für einen Automobilkonzern

Projekt: Neuentwicklung eines Buchungssystems zur Mitarbeiterqualifikation
Zeitraum: 04/2007 – 09/2009
Beschreibung: 
Entwicklung einer Intranet-Software zur Erstellung und Pflege eines Katalogs von Bildungsmaßnahmen. Diese Maßnahmen, „Events“ genannt, werden von Mitarbeitern selbst oder von deren zuständigen Eventmanagern gebucht. Eventmanager können außerdem externe Teilnehmer auf ein Event buchen.
Sowohl das Einpflegen der Events als auch die Durchführung von Buchungen wird von einem Genehmigungsprozess begleitet, der von einem hierarchischen Rollensystem gesteuert wird. Im Verlauf der Prozesse durchlaufen Events und Buchungen verschiedene Zustände. Nach Abschluss eines Events erfolgt die Fakturierung über die Kostenstellen mit Hilfe von Schnittstellen zu SAP-Systemen. 
Etwa 200.000 Konzernmitarbeiter arbeiten mit dieser Software.
Aufgaben: 
  • Analyse von Geschäftsprozessen, Entwurf des Domänenmodells und Spezifikation von Anwendungsfällen für das Pflichtenheft nach den Anforderungen des Kunden
  • Implementierung der Benutzerverwaltung mit komplexem Rollen- und Berechtigungs-konzept. Implementierung der Zustandsverwaltung dafür.
  • Implementierung eines ereignisgesteuerten Benachrichtigungssystems. Bei eintretenden Ereignissen werden jeweils relevante Benutzer per Mail benachrichtigt.
  • Entwurf und Implementierung eines Umfrage-Tools:  zur Erstellung und Auswertung von Fragebögen zur Bewertung der Bildungs-Events und der Trainer.
  • Definition und Implementierung von Schnittstellen zur Integration von SAP-Systemen.
Tools: Java · UML · J2EE · IBM Websphere · DB2 · JDO · JavaScript · XML · XHTML · AJAX (V4) · JUnit · WSAD/RAD · MKS · CruiseControl


Projekt: Maintenance Calculator
Zeitraum: 03/2006 - 12/2006
Beschreibung: 
Zur Berechnung von Serviceplänen und -kosten für individuell konfigurierte Landwirtschaftsmaschinen wird eine komplexen Software entwickelt. Der Rollout erfolgt weltweit für alle an den Konzern angeschlossenen Händler.
Aufgaben:
  • Softwaretechnische Abbildung von UseCase-Spezifikationen. Implementierung von
  • Benutzerschnittstelle und Controllerlogik der MVC-Architektur.
  • Konfiguration von Spring und Hibernate auf IBM Websphere und DB2.
  • Refaktorierung, funktionelle Erweiterung und Dokumentation (Reverse Engineering) bestehender Komponenten.
Tools: Java, J2EE, JSP, Servlets, JUnit, IBM Websphere, DB2, JDBC, Spring, Hibernate, WebServices, HTML, CSS, JavaScript, XML, XSLT, XSL-FO, FOP, Web-MVC-Framework (Eigenentwicklung).
 

(Projekte zwischen 2003 - 2006 werden mangels Relevanz nicht mehr aufgeführt)

Project history

04/2023 - 08/2023
IT-Security-Beratung für ein mittelständisches Unternehmen im B2B-Umfeld
Dienstleister für B2B-Integration (Consumer goods and retail, 50-250 employees)

Projektbeschreibung

Vorbereitung der ISO-27001-Zertifizierung für den sicheren Cloud-Betrieb.

Zur Erlangung der ISO-27001-Zertifizierung muss der sichere Betrieb einer SaaS-Lösung auf der Azure-Cloud-Plattform nachgewiesen werden. Der Nachweis wird unter anderem dadurch erbracht, dass der sicherheitsorientierte Aufbau von Cloudplattform-Infrastruktur und Soft­ware-Sicherheitsarchitektur, sowie der sichere Ablauf von Betriebs- und Administrations­pro­zes­sen dokumentiert ist. Zu diesem Zweck wird ein Betriebs- und Administrationskonzept erstellt.

Bei diesem Projekt bin ich Teil des externen IT-Security-Consulting-Teams, dessen Aufgabe die Konzeption und Implementierung eines Informationssicherheits-Managementsystems (ISMS) für den Kunden ist.
Meine Aufgabe ist dabei die Konzeption bzw. Dokumentation des sicheren Betriebs einer SaaS-Lösung auf einer Cloudcomputing-Infrastruktur.

Aufgaben
  • Abstimmung mit architektur- und sicherheitsrelevanten organisatorischen Einheiten des Kunden.
  • Ermittlung des IST-Zustandes der System­ar­chi­tektur und Bewertung der bestehenden Sicherheitsarchitektur. Konzeption und Dokumentation des SOLL-Zustandes in enger Abstimmung mit dem Kunden sowie mit dem Informationssicherheitsbeauftragten (ISB).
  • Dokumentation der Cloud-Architektur. Anfertigen von Architekturdiagrammen für Kontextsicht, Bausteinsicht, Verteilungssicht etc. unter Berücksich­tigung sicherheits­rele­vanter Architekturbausteine.
  • Dokumentation der externen Schnittstellen des SaaS-Systems. Darstellung der Datenflüsse und der verwendeten Protokolle sowie der Persistenzbausteine inklusive Bewertung von Sicherheitsaspekten.
  • Beratung und Unterstützung des Kunden bei Lösungsfindungen zu zertifizierungsrelevanten Umsetzungsaspekten (z.B. die technische Umsetzung revisionssicherer Protokollierung von Adminprozessen).
Tools

Draw.io · MS Office · UML · BPMN · C4 model

05/2023 - 07/2023
IT-Security-Beratung für ein mittelständisches Unternehmen im Behördenumfeld
Dienstleister für Behördensoftware (Public service, 250-500 employees)

Projektbeschreibung

Assessment des Software-Entwicklungsprozesses nach OWASP SAMM.

Für den Bereich der sicheren Entwicklung von Behördensoftware wird ein SAMM-Assessment für den Kunden durchgeführt. Hierbei werden die für die Softwareentwicklung relevanten Arbeitsprozesse der Produktteams, der übergreifenden Organisation sowie der beteiligten Organisationseinheiten analysiert und hinsichtlich sicherheitsrelevanter Verbesserungs­poten­ziale evaluiert. Ziel der Evaluierung ist die Erstellung eines Maßnahmenplans zur Behebung sicherheitskritischer Lücken, sowie die beratende Begleitung während der Umsetzung der Maßnahmen, um den erforderlichen Reifegrad für eine Zertifizierung im Bereich der sicheren Softwareentwicklung zu erlangen.
Bei diesem Projekt war ich Teil eines dreiköpfigen Beraterteams mit den Prüfschwerpunkten Architektur, Implementierung, Defectmanagement, Test und Betrieb.

Aufgaben
  • Durchführung und Protokollierung von ca. 20 jeweils mehrstündigen Assessment-Workshops mit Produktteams, Organisationseinheiten, übergreifenden Gremien, sicherheitsrelevanten Rollen wie ISB und DSB sowie der Geschäftsführung.
  • Auswertung der Protokolle und Bewertung hinsichtlich der Anforderungen des SAMM-Frameworks. Außerdem wurden relevante Kriterien aus den Standards ISO 27001 und IT-Grundschutz in die Bewertung mit einbezogen.
  • Erstellung eines ausführlichen Berichts sowie Präsentation und Abstimmung der Ergebnisse vor Ort beim Kunden.
  • Priorisierung und zeitliche Einordnung der identifizierten Handlungsbedarfe in Zusammenarbeit mit internen Stakeholdern des Kunden.
Tools

MS Office · Miro · Concept Board

05/2021 - 10/2022
OZG-Digitalisierungsprojekt für eine deutsche Behörde
Deutsche Behörde (Public service, >10.000 employees)

Projektbeschreibung

Großprojekt: Neuentwicklung von Online-Anträgen und Erweiterung der Funktionalität für bestehende Antragsverfahren im Zuge der Umsetzung des Online-Zugangsgesetzes (OZG) für eine deutsche Behörde.

Im Rahmen der Erfüllung des Onlinezugangsgesetzes (OZG) werden zur Erweiterung des Online-Angebots der Behörde mehrere Online-Antragstrecken implementiert. Darüber hinaus wird durch die Erweiterung von Portal-Basisdiensten wie Postfachservice, Online-Zu­stellung und Online-Terminverwaltung die Kommunikation zwischen Mitarbeitern und Kunden verbessert. Weitere Projektaspekte betreffen die Digitalisierung der Rückmeldungsschleifen von Mitarbeitern an Kunden sowie die Qualitätsoptimierung kundenseitig hochgeladener Dokumente durch KI-gestützte Verarbeitung von Dokument-Uploads.

Bei diesem Projekt war ich neben meiner Rolle als Architekt auch stellvertretender Informationssicherheitsbeauftragter (ISB) für das Gesamtprojekt.

Aufgaben

Methodisch/organisatorisch:
  • Abstimmung mit architekturrelevanten organisatorischen Einheiten und Stakeholdern.
  • Konzeption, Dokumentation und Präsentation unternehmenskritischer Lösungen im Kontext der Gesamt-IT-Landschaft unter Berücksichtigung übergreifender Vorgaben und formeller Prozesse.
  • Dokumentation der Projektarchitektur im technischen Lösungsentwurf (TLE), Architekturhandbuch (AHAB) sowie durch dokumentierte Architekturentscheidungen.
  • Koordination und Dokumentation von Entscheidungsprozessen zur Abstimmung von technischen Lösungen und Schnittstellen.
  • Beratung und Unterstützung der Entwicklungsteams bei Lö­sungsfindungsprozessen sowie bei der Erstellung der Produkt-AHABs zur Dokumentation der Produkte unter Einhaltung formaler Projektvorgaben.
  • Unterstützung und Vertretung des technischen Chefarchitekten für das Gesamtprojekt.
  • Unterstützung und Vertretung des ISB, z.B. Prüfung und Freigabe von Sprintergebnissen hinsichtlich der Erfüllung der definierten Sicherheitskriterien. 
Technisch/hands-on:
  • Prototypische Entwicklung von technischen Schnittstellendefinitionen als JSON-Schema für die Übertragung digitaler Online-Antragsdaten zu den internen Fachverfahren.
  • Evaluation der intern entwickelten Tool-Chain KEEP zur Verarbeitung von Dokument-Uploads. Ziel der Evaluation war die Ermittlung des technischen Reifegrads als Kriterium der Eignung für den Einsatz von KEEP im Projekt.
  • Umsetzung und Bereitstellung einer Architekturvorlage für die Inner-Source-Community der Behörde als Template für die technische Integration von Custom-Komponenten für KEEP.
  • Entwurf und technische Umsetzung einer Hexagonalen Servicearchitektur für das Modul Upload-Qualität.
  • Technische Integration von KI-Modulen in die KEEP-Toolchain zur maschinellen Verarbeitung von Dokument-Uploads im Modul Upload-Qualität.
  • Entwicklung eines automatisierten Integrationstests für die Upload-Qualität mit Python.
Tools

Java 11 · Spring Boot · Spring Actuator · Python · PyTest · MagicMock · JSON Schema · AVRO · Apache Kafka · Pure S3 Object-Store · Rancher · Kubernetes · Helm · Bitbucket · Maven · Grafana · Kibana · Micrometer · SonarQube · Jira · Confluence · Draw.io · Postman

09/2017 - 04/2021
Reisendeninformationssystem für ein deutsches Verkehrsunternehmen
Deutsches Verkehrsunternehmen (Transport and Logistics, 5000-10.000 employees)

Projektbeschreibung

Großprojekt: Neuentwicklung der Reisendeninformation (RI) an Bahnhöfen. Sowohl die Anzeigegeräte an den Gleisen als auch die Softwarekomponenten und Messaging-Infrastruktur zur Bereitstellung der auszugebenden Informationen werden neu entwickelt. Die Softwarekomponenten werden als Microservices bzw. SCS in Java, Python, Ruby und Go implementiert und in einer AWS/Kubernetes-Umgebung betrieben.

Neben meiner Rolle als Hands-on-Architekt war ich in diesem Projekt auch als Scrum Master für mein neunköpfi­ges Team tätig. Außerdem coachte ich die Developer bezüglich der Themen Clean Code, Clean Test, Clean Archi­tecture. Zu meinen Aufgaben gehört auch die Durchführung von Workshops, um den Herausforderungen in einem fachlich und technisch komplexen Umfeld gerecht zu werden. Die Koordination der Analyse und Definition von domänenübergreifenden Prozessen mit dem Ziel, die fachlichen Kontexte mit der sich laufend entwickelnden übergreifenden Systemarchitektur in Einklang zu bringen, war hierbei besonders gefordert.

Aufgaben

Entwicklung einer Microservice-Topologie für die Fachdomänen RI Operations und RI Servicedesk. Hierfür wird eine Reihe von Frontend- und Backendservices entwickelt. Diese dienen der manuellen Steuerung der RI und dem Monitoring von Ausgabegeräten zur Diagnose und Behebung von Fehler­situa­tionen.

methodisch/organisatorisch:
  • Architektur- und Prozessdokumentation mit UML und C4, auch mittels Reverse-Engineering.
  • Durchführung von Anforderungsworkshops zur Erarbeitung der Soll-Architektur im Rahmen von Problemlösungen und Change Requests.
  • Agiles Coaching, Durchführung von Meetings und Workshops.
technisch:
  • API-Dokumentation mit Swagger / OpenAPI 3.
  • Stammdatenverwaltung für Bahnhofsstrukturen mit ETL-Schnittstellen zur Integration von Daten aus Drittsystemen anderer Konzernteile. Bei Änderungen werden interne und externe Subscriber per Event über ein RabbitMQ-Exchange benachrichtigt.
  • Entwicklung eines Ortsstrukturbaum-Backendservices, der die Datengrundlage zur Darstell­ung von UI-Widgets liefert. Diese Widgets werden in vielen UIs benutzt, um Orte (Bahnhöfe, Gleise etc.) für diverse Usecases selektieren zu können.
  • Mehrere Microservices zur Publikation visueller und akustischer Hinweise für die RI an Bahnhöfen und Gleisen. Die Ausgabe der Hinweise erfolgt zeitgesteuert über nutzer­defi­nier­te Zeiträume und Taktungen.
  • Microservice zur Deaktivierung von RI-Ausgaben auf selektierten Endgeräten. Die Deakti­vierung erfolgt zeitgesteuert über nutzerdefinierte Zeiträume, nach deren Ablauf die Geräte automatisch wieder reaktiviert werden.
  • Microservice zur Definition von Filterregeln für die anzuzeigenden oder akustisch auszugeb­en­­den Inhalte durch Servicedesk-Mitarbeiter. Beispielsweise soll bei Großstörungen die laufende Ausgabe von Zugausfällen unter­drückt werden. Zudem wird die individuelle Filterkonfiguration für RI-Inhalte auf Bahnhofs- und Gleisebene ermöglicht.
  • Microservice zur Ermittlung und Neukonfiguration dysfunktionaler Ausgabegeräte.
  • Komponenten- und Integrationstests mit JUnit 5 und Cucumber.
Tools

Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Spring Batch · Spring Actuator · OpenFeign · Quartz · Cypress · Cucumber · PostgreSQL · RabbitMQ · Docker · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Grafana · Micrometer · SonarQube · Jira · Confluence · Draw.io · Postman

07/2016 - 09/2017
Standardsoftware für das Bewerbermanagement deutscher Hochschulen im Verfahren für internationale Studienbewerbungen
Dienstleister für Hochschulen (Public service, 50-250 employees)

Projektbeschreibung

Neuentwicklung eines Hochschulportals, das sowohl von internen Mitarbeitern des Kunden als auch von Mitarbeitern der and das System angeschlossenen Hochschulen genutzt wird. Das abzulösende Legacy-System wird im Parallelbetrieb schrittweise ersetzt. Bis zur endgültigen Ablösung erfolgen Daten­mi­gra­tionen in beide Richtungen über REST- und JMS-Schnittstellen. Die zentralen Usecases sind die Pflege der Studiengangs-Angebote und das Prüfverfahren von Studien­bewer­bungen mittels automatisierter Bewertung gegen die Zulassungs­voraus­setzungen des jeweiligen Studiengangs.

Bei diesem Projekt gehörte neben der technischen Beratung auch die Betreuung des Junior-Entwicklerteams zu meinen Aufgaben. Außerdem konnte ich hier meine Erfahrung in agiler Organisation in die Projektorganisation einfließen lassen.   
Aufgaben

methodisch/organisatorisch:
  • Analyse von Geschäftsprozessen und Abbildung in BPMN (Camunda).
  • Beratung im Bereich Domain-Modellierung und Anwendungsarchitektur.
  • Beratung und Coaching bzgl. Clean Code / Clean Test.
  • Einführung agiler Methodik in einem stark verschlossenen Umfeld.

technisch:
  • Technische Umsetzung von Usecases mit Vaadin, EJB/CDI und JPA.
  • Evaluation von Tools zur Konvertierung beliebiger Dokument- und Bildformate nach PDF und Entwicklung verschiedener POCs mit Spring Boot.
  • Integrationstests mit CDI-Unit.

Tools

Java EE 7 · CDI 1.2 · Vaadin · JPA · Hibernate · JMS · Spring Boot · Spring-MVC · Flyway · Maven · CDI-Unit · JUnit · Mockito · Jenkins · MySQL · WildFly · Camunda · Git · Jira · Confluence

02/2015 - 06/2016
Software für das Verfahren zur Erfassung, Ausgabe und Verwaltung hoheitlicher Dokumente in den Meldebehörden
Dienstleister für Behördensoftware (Public service, 1000-5000 employees)

Projektbeschreibung

Kundenwünsche und gesetzliche Änderungen erfordern die stetige Weiterentwicklung der bestehenden Software für die Verwaltung von Ausweisdokumenten (Personalausweis, Reisepass etc.). Hauptanwendungsfälle sind die Erfassung biografischer und biometrischer Personendaten sowie die Abwicklung des Bestellprozesses mit der Bundesdruckerei. Use-Cases können sowohl über einen UI-Client als auch über ein WebService-API (SOAP) angestoßen werden. Verschiedene externe Services sind über WS- und REST-Schnittstellen angebunden.

Aufgaben

methodisch/organisatorisch:
  • Beratung im Bereich Domain-Modellierung und Anwendungsarchitektur.
  • Coaching des Teams bezüglich der agilen Organisation.
  • Coaching des Teams bezüglich Architektur und Codequalität.
technisch:
  • Umsetzung von Change-Requests mit EJB 3 und CDI.
  • Anpassungen im Frontend (JSF, PrimeFaces, JavaScript).
  • Testgetriebene Behebung von Defects.
  • Entwicklung von automatisierten Akzeptanztests mit Selenium WebDriver.
Tools

Java EE 7 · JSF · PrimeFaces · JPA · Hibernate · JAX-WS · XML · XSD · JAXB · Maven · JUnit · Mockito · JavaScript · JQuery · Selenium · Jenkins · MySQL · Oracle · MS SQL-Server · JBoss · WildFly · Mercurial · SoapUI · Jira · Crucible · Confluence

01/2014 - 01/2015
Weiterentwicklung der Geschäftsanwendung zur Abwicklung von Schadensfällen für eine Warenkredit-Versicherungsgesellschaft
Warenkredit-Versicherung (Insurance, 5000-10.000 employees)

Projektbeschreibung

Neue Produkte des Kreditversicherers erfordern umfangreiche Anpassungen und Erweiterun­g­en an der bestehenden Software zur Erfassung und Abwicklung von Schadensfällen. Die Anwen­dung ist Teil einer heterogenen Systemlandschaft. Die Integration erfolgt über Webservices (SOAP), JMS und Batch-Prozesse.

Aufgaben
  • Entwicklung eines DB-gestützten Logging-Mechanismus für SOAP- und JMS-Messages, um den Datenaustausch mit externen Systemen zu protokollieren (JAX-WS, JAX-RPC, SOAP-Handling).
  • Letter-Generation: automatisierte Erzeugung individueller Formbriefe auf der Grundlage von Excel und XSD/XML (Apache POI, XJC, JAXB).
  • Payment-Allocation: Zuordnung von Zahlungseingängen zu Schadensfall-Kalkulationen.
  • Limit-Handling: Erweiterung eines Tools zur Ermittlung der Versicherungssummen aus einem Fremdsystem.
  • Refaktorierung bestehender Anwendungsbestandteile.
  • Integration von Webservice-Schnittstellen.
  • Anpassungen im Frontend (JSF Facelets).
  • Testgetriebene Behebung von Defects.
Tools

Java · Spring · Hibernate · Webservices · JAX-WS · JAX-RCP · JSF · Apache POI · XSD · XML · XJC · JAXB · JMS · Ant · Jenkins · DB2 · Websphere · Junit · Mockito · SVN · SoapUI · Confluence

06/2013 - 12/2013
Neuentwicklung eines ETL-Systems für SEPA-Zahlungsverkehr und Mandate-Management
Internationale Büromaschinen-Manufaktur (Banks and financial services, 5000-10.000 employees)

Projektbeschreibung

Zur Abwicklung des Zahlungsverkehrs und zur Verwaltung von SEPA-Lastschriftmandaten ver­schie­dener Kunden wird ein komplexes mandantenfähiges Softwaresystem entwickelt. Hierbei wird über zeitgesteuerte ETL-Batchprozesse zwischen Datenformaten aus Altsystemen (z.B. DTA, CSV) der Kunden und SEPA-konformen Formaten (z.B. Pain, Camt) transformiert. Außerdem ist die manuelle Steuerung der Prozesse über ein Web-Interface möglich.

Aufgaben
  • Beratung im Bereich Domain-Modellierung und Anwendungsarchitektur.
  • Entwicklung von File-Parsern für das Mapping von Legacy-Datenformaten (z.B. CLIEOP für Vodafone) auf die internen Datenstrukturen des Systems.
  • Entwicklung der zugehörigen Batchprozesse als mehrstufige ETL-Prozessketten, um Payments nach Pain.001/008 zu transformieren.
  • Implementierung von aufwendigen Integrationstests zur Sicherstellung der Korrektheit der Datentransformationen.
  • Testgetriebenes Refactoring bestehender Fixed-Record-Mapper zur Verbesserung von Robustheit und Wartbarkeit.
  • Migration des Build-Managements von Ant nach Maven.
  • Testgetriebene Behebung von Defects.
Tools

Java · Spring · Quartz · Oracle · Hibernate · JPA · Websphere AS · TestNG · Mockito · Ant · SVN · RSA · RTC · Confluence

02/2013 - 05/2013
Realtime Logfile-Monitoring und Alerting
Internationaler Cloudhosting-Anbieter (Internet and Information Technology, 500-1000 employees)

Projektbeschreibung

Eine Vielzahl von Mail- und Application-Servern schreibt täglich mehrere hundert Gigabyte an Logdaten. Dafür wird ein Live-Monitoring- und Alerting-System aufgebaut, das die Logdaten-Streams in Echtzeit analysiert, aufbereitet und für Reportingsysteme bereitstellt.

Aufgaben
  • Evaluation von Realtime-Streamprocessing-Tools (Apache Storm und Esper).
  • Implementierung von Prototypen zur verteilten Echtzeit-Logdaten-Analyse auf der Basis von Storm und RabbitMQ.
  • Integration der Storm-Topologie in die bestehende Systemlandschaft (Flume, Hadoop, RabbitMQ).
  • Virtualisierung und Provisionierung mit Vagrant und Ansible.
  • Implementierung von Integrationstests für die verschiedenen Komponenten der Systemlandschaft (Flume, Hadoop, RabbitMQ, Storm/Esper, MySQL).
  • Dokumentation mit Confluence.
Tools

Java · Storm · RabbitMQ · Vagrant · Ansible · Flume · (Hadoop) · JSch MySQL · JUnit · Maven · Git · Jenkins · Confluence

Local Availability

Only available in these countries: Germany

*** Ausschließlich für BERLIN bzw. 95% remote ***

Bitte fragen Sie mich nicht für On-Site-Projekte außerhalb Berlins, vielen Dank!

Other

Hinweis zum Urheberrecht: Bitte benachrichtigen Sie mich vor Weiterreichung meines Profils. Inhaltliche Änderungen sind im Voraus mit mir abzusprechen.

Covered by Exali's professional indemnity insurance

The freelancer is covered by a reliable insurance provider that offers protection against common risks associated with digital and IT professions (damage claims, third-party cyber damage, etc.).

Profileimage by Anonymous profile, Software-Architektur und IT-Security.  Spring und Java EE. Agile Prozesse und Clean Code. Software-Architektur und IT-Security. Spring und Java EE. Agile Prozesse und Clean Code.
Register