Ich stehe ausschließlich für Projekte in Berlin oder 99% remote zur Verfügung.
Die gesamte E-Post-Plattform, bestehend aus ca. 50 Microservices der Fachdomäne Digitale Briefkommunikation, wird von einer on-premises Private-Cloud-Umgebung auf eine Kubernetes-Betriebsumgebung in der Azure-Cloud migriert. Hierbei haben die Themen IT-Security und Datenschutz einen hohen Stellenwert, was bei der Portierung der einzelnen Komponenten, deren Kommunikation untereinander sowie bei der Anbindung an Umsysteme und externe Dienstleister mitberücksichtigt werden muss.
Aufgaben:
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 Software-Sicherheitsarchitektur, sowie der sichere Ablauf von Betriebs- und Administrationsprozessen dokumentiert wird. 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.
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-potenziale 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.
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-Zustellung 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.
Methodisch/organisatorisch:
Technisch/hands-on:
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 Fehlersituationen.
methodisch/organisatorisch:
technisch:
Neuentwicklung eines Hochschulportals, das sowohl von internen Mitarbeitern als auch von Mitarbeitern der angeschlossenen Hochschulen genutzt wird. Das abzulösende Legacy-System wird im Parallelbetrieb schrittweise ersetzt. Bis zur endgültigen Ablösung erfolgen Datenmigrationen in beide Richtungen über REST- und JMS-Schnittstellen. Die zentralen Usecases sind die Pflege der Studiengangs-Angebote und das Prüfverfahren von Studienbewerbungen mittels automatisierter Bewertung gegen die Zulassungsvoraussetzungen 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.
methodisch/organisatorisch:
technisch:
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.
methodisch/organisatorisch:
technisch:
Neue Produkte des Kreditversicherers erfordern umfangreiche Anpassungen und Erweiterungen an der bestehenden Software zur Erfassung und Abwicklung von Schadensfällen. Die Anwendung ist Teil einer heterogenen Systemlandschaft. Die Integration erfolgt über Webservices (SOAP), JMS und Batch-Prozesse.
Zur Abwicklung des Zahlungsverkehrs und zur Verwaltung von SEPA-Lastschriftmandaten verschiedener 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.
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.
Projekterfahrung der letzten 10 Jahre
==============================
2017 ? 2020: Reisendeninformationssystem für ein deutsches Verkehrsunternehmen
Großprojekt: Neuentwicklung der RI (Reisendeninformation) an Bahnhöfen.
Sowohl die Anzeigegeräte an den Gleisen als auch die Softwarekomponenten und Messaging-Infrastruktur zur Bereitstellung der auszugebenden Informationen werden komplett neu entwickelt.
Die Softwarekomponenten werden als Microservices in Java, Python, Ruby und Go implementiert und in einer AWS/Kubernetes-Umgebung betrieben.
Projekt: Reisendeninformationssystem
Zeitraum: 09/2017 ? heute
Beschreibung: Microservice-Topologie für die Bereiche 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 Fehlersituationen.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Spring Batch · OpenFeign · Quartz · Cypress · Cucumber · PostgreSQL · RabbitMQ · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · SonarQube · Jira · Confluence
Projekt: Zeitgesteuerte Deaktivierung von Ausgabegeräten
Zeitraum: 11/2019 ? 02/2020
Beschreibung: Microservice zur Deaktivierung von RI-Ausgaben auf selektierten Endgeräten. Die Deaktivierung erfolgt zeitgesteuert über nutzerdefinierte Zeiträume. Am Ende des Zeitraum: s werden die Geräte automatisch wieder reaktiviert.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Quartz · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js · Cucumber · Cypress · SonarQube
Projekt: Integrationstests mit Cucumber
Zeitraum: 07/2019 ? 10/2019
Beschreibung: Entwicklung aufwendiger System-Integrationstests zur Absicherung des Zusammenspiels verschiedener Microservices.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js · Cucumber · Cypress · SonarQube
Projekt: Ausgabe von Hinweisen für Reisende auf visuellen und akustischen Endgeräten
Zeitraum: 09/2018 ? 06/2019
Beschreibung: Entwicklung mehrerer Microservices zur Publikation visueller und akustischer Hinweise für die RI an Bahnhöfen und Gleisen. Die Ausgabe der Hinweise erfolgt zeitgesteuert über nutzerdefinierte Zeiträume und Taktungen.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js
Projekt: Microservice zur Aufbereitung von Ortsdatenstrukturen für UIs
Zeitraum: 07/2017 ? 08/2018
Beschreibung: Entwicklung eines Ortsstrukturbaum-Backendservices, der die Datengrundlage zur Darstellung von UI-Widgets liefert. Diese Widgets werden in vielen UIs benutzt, um Orte für diverse Usecases selektieren zu können.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Spring Batch · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js · Cucumber · Cypress
Projekt: Stammdatenverwaltung für Bahnhöfe
Zeitraum: 09/2017 ? 07/2018
Beschreibung: Stammdatenverwaltung für Bahnhofsstrukturen. Bei Änderungen werden interne und externe Subscriber per Event benachrichtigt.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Spring Batch · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js · Cucumber · Cypress
2017: CRM-Tool als B2B-Plattform für Freelancer
Projekt: Neuentwicklung und Betrieb einer B2B-Plattform.
Zeitraum: 01/2017 ? 08/2017
Beschreibung: Die Akquiseprozesse zwischen Freelancern und Projekt: vermittlern sind hochgradig ineffizient. Zur Steigerung des Wirkungsgrades und zur Vermeidung redundanter Kommunikation wird ein hochspezialisiertes CRM-Tool entwickelt mit dem Ziel, den Austausch von Informationen punktgenau on demand steuern zu können und so die Effizienz für die Geschäftspartner zu steigern.
Aufgaben:
Tools: Java EE 7 · CDI 1.2 · JAX-RS · AngularJS / Angular · Bootstrap 3 · JQuery · Maven · Junit · CDI-Unit · Mockito · WildFly 10.1 · NGINX · MySQL · MongoDB · Git · GitLab.
2016: Standardsoftware für das Bewerbermanagement deutscher Hochschulen
Projekt: Verfahren für internationale Studienbewerbungen
Zeitraum: 07/2016 ? 09/2017
Beschreibung: Neuentwicklung eines Hochschulportals, das sowohl von internen Mitarbeitern als auch von Hochschulmitarbeitern der angeschlossenen Hochschulen genutzt wird. Das abzulösende Legacy-System wird im Parallelbetrieb schrittweise ersetzt. Bis zur endgültigen Ablösung erfolgen Datenmigrationen in beide Richtungen über REST- und JMS-Schnittstellen. Die zentralen Usecases sind die Pflege der Studiengangs-Angebote und das Prüfverfahren von Studienbewerbungen mittels automatisierter Bewertung gegen die Zulassungsvoraussetzungen des jeweiligen Studiengangs.
Aufgaben:
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.
2015: Erstellung und Verwaltung hoheitlicher Dokumente für einen Dienstleister der öffentlichen Verwaltung
Projekt: Verfahren zur Erfassung, Ausgabe und Verwaltung hoheitlicher Dokumente
Zeitraum: 02/2015 ? 06/2016
Beschreibung: 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:
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
2014: Softwaresystem für eine Warenkredit-Versicherungsgesellschaft
Projekt: Weiterentwicklung der Geschäftsanwendung zur Abwicklung von Schadensfällen
Zeitraum: 01/2014 ? 01/2015
Beschreibung: Neue Produkte des Kreditversicherers erfordern umfangreiche Anpassungen und Erweiterungen an der bestehenden Software zur Erfassung und Abwicklung von Schadensfällen. Die Anwendung ist Teil einer heterogenen Systemlandschaft. Die Integration erfolgt über Webservices (SOAP), JMS und Batch-Prozesse.
Aufgaben:
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
2013: SEPA-Management für eine internationale Büromaschinenmanufaktur
Projekt: Neuentwicklung eines ETL-Systems für SEPA-Zahlungsverkehr und Mandate-Management
Zeitraum: 06/2013 ? 12/2013
Beschreibung: Zur Abwicklung des Zahlungsverkehrs und zur Verwaltung von SEPA-Lastschriftmandaten verschiedener 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:
Tools: Java · Spring · Quartz · Oracle · Hibernate · JPA · Websphere AS · TestNG · Mockito · Ant · SVN · RSA · RTC
2013: Logfile-Monitoring für einen internationalen Cloudhosting-Anbieter
Projekt: Realtime Live Alerting
Zeitraum: 02/2013 ? 05/2013
Beschreibung: 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:
Tools: Java · Storm · RabbitMQ · Vagrant · Ansible · Flume · (Hadoop) · JSch MySQL · JUnit · Maven · Git · Jenkins
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:
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:
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:
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:
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:
Tools: Java · J2EE · UML · Spring · Spring MVC · JAX-RS (REST) · Quartz · Freemarker · JavaScript · Hibernate · MySQL · XML · Tomcat · Maven · TeamCity · JUnit · Jira · SVN
2010: Schnittstellenmigration im Bankenumfeld
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:
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:
Tools: Java · UML · J2EE · IBM Websphere · DB2 · JDO · JavaScript · XML · XHTML · AJAX (V4) · JUnit · WSAD/RAD · MKS · CruiseControl
2004
Studium der Medieninformatik an der Beuth Hochschule für Technik Berlin (TFH)
Ich unterstütze Kunden in allen Bereichen der Software-Entwicklung, hauptsächlich Software-Architektur mit Blick auf IT-Security und sichere Entwicklungsprozesse. Vermittlung von Architekturprinzipien, Clean Code, Clean Test, auch Teamleitung / technische Leitung, Requirements Engineering und Beratung.
Website: [URL auf Anfrage]
KEY FACTS UND LEITMOTIVE
Beratung und Konzeption
Software-Architektur und Domain Driven Design
IT Security
Softwarequalität
Agilität
Softskills
KENNTNISSE
Architektur
Qualität
Agilität
IT-Security-Standards
Prosa
Backend
Frontend
Virtualisierung & Cloud
Tools und Frameworks
Java
Logging & Monitoring
Organisation & Dokumentation
IDE
Build & CI
SCM
Testing
Application-Server
Ich stehe ausschließlich für Projekte in Berlin oder 99% remote zur Verfügung.
Die gesamte E-Post-Plattform, bestehend aus ca. 50 Microservices der Fachdomäne Digitale Briefkommunikation, wird von einer on-premises Private-Cloud-Umgebung auf eine Kubernetes-Betriebsumgebung in der Azure-Cloud migriert. Hierbei haben die Themen IT-Security und Datenschutz einen hohen Stellenwert, was bei der Portierung der einzelnen Komponenten, deren Kommunikation untereinander sowie bei der Anbindung an Umsysteme und externe Dienstleister mitberücksichtigt werden muss.
Aufgaben:
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 Software-Sicherheitsarchitektur, sowie der sichere Ablauf von Betriebs- und Administrationsprozessen dokumentiert wird. 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.
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-potenziale 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.
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-Zustellung 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.
Methodisch/organisatorisch:
Technisch/hands-on:
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 Fehlersituationen.
methodisch/organisatorisch:
technisch:
Neuentwicklung eines Hochschulportals, das sowohl von internen Mitarbeitern als auch von Mitarbeitern der angeschlossenen Hochschulen genutzt wird. Das abzulösende Legacy-System wird im Parallelbetrieb schrittweise ersetzt. Bis zur endgültigen Ablösung erfolgen Datenmigrationen in beide Richtungen über REST- und JMS-Schnittstellen. Die zentralen Usecases sind die Pflege der Studiengangs-Angebote und das Prüfverfahren von Studienbewerbungen mittels automatisierter Bewertung gegen die Zulassungsvoraussetzungen 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.
methodisch/organisatorisch:
technisch:
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.
methodisch/organisatorisch:
technisch:
Neue Produkte des Kreditversicherers erfordern umfangreiche Anpassungen und Erweiterungen an der bestehenden Software zur Erfassung und Abwicklung von Schadensfällen. Die Anwendung ist Teil einer heterogenen Systemlandschaft. Die Integration erfolgt über Webservices (SOAP), JMS und Batch-Prozesse.
Zur Abwicklung des Zahlungsverkehrs und zur Verwaltung von SEPA-Lastschriftmandaten verschiedener 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.
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.
Projekterfahrung der letzten 10 Jahre
==============================
2017 ? 2020: Reisendeninformationssystem für ein deutsches Verkehrsunternehmen
Großprojekt: Neuentwicklung der RI (Reisendeninformation) an Bahnhöfen.
Sowohl die Anzeigegeräte an den Gleisen als auch die Softwarekomponenten und Messaging-Infrastruktur zur Bereitstellung der auszugebenden Informationen werden komplett neu entwickelt.
Die Softwarekomponenten werden als Microservices in Java, Python, Ruby und Go implementiert und in einer AWS/Kubernetes-Umgebung betrieben.
Projekt: Reisendeninformationssystem
Zeitraum: 09/2017 ? heute
Beschreibung: Microservice-Topologie für die Bereiche 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 Fehlersituationen.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Spring Batch · OpenFeign · Quartz · Cypress · Cucumber · PostgreSQL · RabbitMQ · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · SonarQube · Jira · Confluence
Projekt: Zeitgesteuerte Deaktivierung von Ausgabegeräten
Zeitraum: 11/2019 ? 02/2020
Beschreibung: Microservice zur Deaktivierung von RI-Ausgaben auf selektierten Endgeräten. Die Deaktivierung erfolgt zeitgesteuert über nutzerdefinierte Zeiträume. Am Ende des Zeitraum: s werden die Geräte automatisch wieder reaktiviert.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Quartz · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js · Cucumber · Cypress · SonarQube
Projekt: Integrationstests mit Cucumber
Zeitraum: 07/2019 ? 10/2019
Beschreibung: Entwicklung aufwendiger System-Integrationstests zur Absicherung des Zusammenspiels verschiedener Microservices.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js · Cucumber · Cypress · SonarQube
Projekt: Ausgabe von Hinweisen für Reisende auf visuellen und akustischen Endgeräten
Zeitraum: 09/2018 ? 06/2019
Beschreibung: Entwicklung mehrerer Microservices zur Publikation visueller und akustischer Hinweise für die RI an Bahnhöfen und Gleisen. Die Ausgabe der Hinweise erfolgt zeitgesteuert über nutzerdefinierte Zeiträume und Taktungen.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js
Projekt: Microservice zur Aufbereitung von Ortsdatenstrukturen für UIs
Zeitraum: 07/2017 ? 08/2018
Beschreibung: Entwicklung eines Ortsstrukturbaum-Backendservices, der die Datengrundlage zur Darstellung von UI-Widgets liefert. Diese Widgets werden in vielen UIs benutzt, um Orte für diverse Usecases selektieren zu können.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Spring Batch · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js · Cucumber · Cypress
Projekt: Stammdatenverwaltung für Bahnhöfe
Zeitraum: 09/2017 ? 07/2018
Beschreibung: Stammdatenverwaltung für Bahnhofsstrukturen. Bei Änderungen werden interne und externe Subscriber per Event benachrichtigt.
Aufgaben:
Tools: Java 11 · Spring Boot 2 · Spring Data · Spring MVC · Spring Batch · PostgreSQL · Kubernetes · Helm · GitLab · Gradle 6 · Junit 5 · Mockito · Vue.js · Cucumber · Cypress
2017: CRM-Tool als B2B-Plattform für Freelancer
Projekt: Neuentwicklung und Betrieb einer B2B-Plattform.
Zeitraum: 01/2017 ? 08/2017
Beschreibung: Die Akquiseprozesse zwischen Freelancern und Projekt: vermittlern sind hochgradig ineffizient. Zur Steigerung des Wirkungsgrades und zur Vermeidung redundanter Kommunikation wird ein hochspezialisiertes CRM-Tool entwickelt mit dem Ziel, den Austausch von Informationen punktgenau on demand steuern zu können und so die Effizienz für die Geschäftspartner zu steigern.
Aufgaben:
Tools: Java EE 7 · CDI 1.2 · JAX-RS · AngularJS / Angular · Bootstrap 3 · JQuery · Maven · Junit · CDI-Unit · Mockito · WildFly 10.1 · NGINX · MySQL · MongoDB · Git · GitLab.
2016: Standardsoftware für das Bewerbermanagement deutscher Hochschulen
Projekt: Verfahren für internationale Studienbewerbungen
Zeitraum: 07/2016 ? 09/2017
Beschreibung: Neuentwicklung eines Hochschulportals, das sowohl von internen Mitarbeitern als auch von Hochschulmitarbeitern der angeschlossenen Hochschulen genutzt wird. Das abzulösende Legacy-System wird im Parallelbetrieb schrittweise ersetzt. Bis zur endgültigen Ablösung erfolgen Datenmigrationen in beide Richtungen über REST- und JMS-Schnittstellen. Die zentralen Usecases sind die Pflege der Studiengangs-Angebote und das Prüfverfahren von Studienbewerbungen mittels automatisierter Bewertung gegen die Zulassungsvoraussetzungen des jeweiligen Studiengangs.
Aufgaben:
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.
2015: Erstellung und Verwaltung hoheitlicher Dokumente für einen Dienstleister der öffentlichen Verwaltung
Projekt: Verfahren zur Erfassung, Ausgabe und Verwaltung hoheitlicher Dokumente
Zeitraum: 02/2015 ? 06/2016
Beschreibung: 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:
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
2014: Softwaresystem für eine Warenkredit-Versicherungsgesellschaft
Projekt: Weiterentwicklung der Geschäftsanwendung zur Abwicklung von Schadensfällen
Zeitraum: 01/2014 ? 01/2015
Beschreibung: Neue Produkte des Kreditversicherers erfordern umfangreiche Anpassungen und Erweiterungen an der bestehenden Software zur Erfassung und Abwicklung von Schadensfällen. Die Anwendung ist Teil einer heterogenen Systemlandschaft. Die Integration erfolgt über Webservices (SOAP), JMS und Batch-Prozesse.
Aufgaben:
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
2013: SEPA-Management für eine internationale Büromaschinenmanufaktur
Projekt: Neuentwicklung eines ETL-Systems für SEPA-Zahlungsverkehr und Mandate-Management
Zeitraum: 06/2013 ? 12/2013
Beschreibung: Zur Abwicklung des Zahlungsverkehrs und zur Verwaltung von SEPA-Lastschriftmandaten verschiedener 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:
Tools: Java · Spring · Quartz · Oracle · Hibernate · JPA · Websphere AS · TestNG · Mockito · Ant · SVN · RSA · RTC
2013: Logfile-Monitoring für einen internationalen Cloudhosting-Anbieter
Projekt: Realtime Live Alerting
Zeitraum: 02/2013 ? 05/2013
Beschreibung: 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:
Tools: Java · Storm · RabbitMQ · Vagrant · Ansible · Flume · (Hadoop) · JSch MySQL · JUnit · Maven · Git · Jenkins
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:
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:
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:
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:
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:
Tools: Java · J2EE · UML · Spring · Spring MVC · JAX-RS (REST) · Quartz · Freemarker · JavaScript · Hibernate · MySQL · XML · Tomcat · Maven · TeamCity · JUnit · Jira · SVN
2010: Schnittstellenmigration im Bankenumfeld
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:
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:
Tools: Java · UML · J2EE · IBM Websphere · DB2 · JDO · JavaScript · XML · XHTML · AJAX (V4) · JUnit · WSAD/RAD · MKS · CruiseControl
2004
Studium der Medieninformatik an der Beuth Hochschule für Technik Berlin (TFH)
Ich unterstütze Kunden in allen Bereichen der Software-Entwicklung, hauptsächlich Software-Architektur mit Blick auf IT-Security und sichere Entwicklungsprozesse. Vermittlung von Architekturprinzipien, Clean Code, Clean Test, auch Teamleitung / technische Leitung, Requirements Engineering und Beratung.
Website: [URL auf Anfrage]
KEY FACTS UND LEITMOTIVE
Beratung und Konzeption
Software-Architektur und Domain Driven Design
IT Security
Softwarequalität
Agilität
Softskills
KENNTNISSE
Architektur
Qualität
Agilität
IT-Security-Standards
Prosa
Backend
Frontend
Virtualisierung & Cloud
Tools und Frameworks
Java
Logging & Monitoring
Organisation & Dokumentation
IDE
Build & CI
SCM
Testing
Application-Server