Zusätzlich zu den Entwickler-Tätigkeiten, wurden in allen Projekten folgende DevOps Tätigkeiten durchgeführt:
Weiterentwicklung einer bestehenden Identity Provider Software (IDP) unter Einsatz von einem Custom-Keycloak und Quarkus-Integration
Folgende Funktionalitäten wurden umgesetzt, um die Customization zu erreichen:
Implementierung von Kafka-Listenern, um Daten aus einem anderen System über Kafka zu importieren und in einer PostgrSQL Datenbank verschlüsselt zu speichern:
Folgende Funktionalitäten wurden umgesetzt:
Implementierung von Kafka-Listenern, um Daten aus einem anderen System über Kafka zu importieren, Mapping vorzunehmen und die gemappten Daten an andere Kafka Topics zu schicken:
Implementierung von REST-Schnittstellen über den openAPI Generator:
Folgende Implementierungen wurden vorgenommen:
Testsuite zur Automatisierung von Smoke-Tests:
Es wurde eine Testsuite implementiert, die dabei helfen sollte, die Smoketests nicht mehr manuell machen zu müssen. Folgende Funktionalitäten wurden umgesetzt:
Implementierung einer Applikation zur Verwendung von Support Mitarbeitern
Frontend:
Die Daten wurden aus der IDP-Software bezogen und im Frontend zur Anzeige gebracht. Dabei wurden Schnittstellen mittels openAPI generiert und zwar über den OpenAPI Generator Maven Plugin. Folgende Funktionalitäten wurden im Backend umgesetzt:
Applikation zum Exportieren von Prometheus-Metriken auf Basis von SQL-Abfragen zu konfigurierbaren Zeitintervallen:
Durch Abfrage der Datenbank und Exportieren der Ergebnisdaten in Prometheus, konnten zu statistischen Fragestellungen Metriken erstellt werden, die zu Monitoringzwecken dienten. Dazu wurde auf einer als Docker-Image vorliegende Lösung aufgesetzt, die in der eigenen Cloud verdrahtet wurde. Folgende Funktionalitäten wurden umgesetzt:
Applikation zur Identifizierung von Kundenidentitäten:
Neukunden, die sich registriert haben, mussten eine Videoidentifikation durchlaufen. Dabei mussten persönliche Daten geprüft werden, um ihre Identifikation zu verifizieren. Folgende Funktionalitäten wurden umgesetzt:
Applikation zum Anlegen von Mock-Daten zur Identifizierung von Kundenidentitäten:
Zum einfacheren Testen der Applikation zur Identifizierung von Kundenidentitäten wurde ein Tool gebaut, das Mockdaten in das jeweilige Kafka-Topic gepumpt hat. Auf diese Weise konnte die Consumer-Appikation diese Mockdaten konsumieren und Test-Szenarien schneller durchgeführt werden. Folgende Funktionalitäten wurden umgesetzt:
Applikation zur Versendung von SMS und E-Mails aus Kafka Events:
Kunden wurden per Email/Sms benachrichtigt wenn bestimmte Ereignisse an ihren Konten passiert sind. Diese Ereignisse konnten die Kunden selbst über ihr App-Verhalten, aber auch das System selbst ausgelöst haben. Um gleiche Nachrichten nicht mehrfach zu verschicken, wurden Kafka-spezifische Informationen in einer Datenbank gespeichert. Folgende Funktionalitäten wurden umgesetzt:
Weiterentwicklung einer Webapplikation zur Verwaltung von Kundenprofilen:
Frontend:
Kunden hatten die Möglichkeit in ihrem eigenen Profil Daten aktuell zu halten. Z.Bsp Änderung ihrer Telefonnummer etc. Dafür wurde in ReactJS ein Frontend implementiert, um dies zu bewerkstelligen. Folgende Funktionalitäten wurden im Frontend umgesetzt:
Backend:
Die Daten wurden aus der IDP-Software bezogen und im Frontend zur Anzeige gebracht. Dabei wurden Schnittstellen mittels openAPI generiert und zwar über den OpenAPI Generator Maven Plugin. Folgende Funktionalitäten wurden im Backend umgesetzt:
Implementierung eines Import-Systems zur Versorgung von aktualisierten Benutzerkonten:
Da das führende System ein anderes System war, musste ein Import-Tool her, um Benutzerkonten in den IDP zu bekommen. Dabei ging es um Benutzerkonten, die aus verschiedenen Gründen aktualisiert wurden. Die Aktualisierung und Versorgung des IDP-Systems sollte durch dieses Tool umgesetzt werden. Folgende Funktionalitäten wurden umgesetzt:
Entwicklung eines Standalone-Tools zum Erzeugen von einem Certificate Signing Request (CSR) für AWS KMS
Das Cloud-Team hat dieses Tool angefragt. Folgende Funktionalitäten wurden umgesetzt:
Entwicklung eines Tools zur Umwandlung von Daten aus einem JSON-Format in ein Java-Format
Folgende Funktionalitäten wurden umgesetzt:
Einmaljobs zur Versorgung von Umsystemen:
Umsysteme mussten zum Hauptsystem synchron gehalten werden. Dabei wurden Einmaljobs in Java Spring Batch implementiert, um größere Datenmengen abzusetzen. Folgende Funktionalitäten wurden umgesetzt:
Implementierung eines Web-Frontends mit Java JSF PrimeFaces:
Weiterentwicklung eines Web-Frontends mit Java JSF PrimeFaces:
Es sollte eine komfortable Möglichkeit geschaffen werden, über ein Web-Frontend Backend-Jobs und devops-Tätigkeiten anzustoßen. Gleichzeitig sollten diese Jobs während ihrer Läufe monitored werden. Die Backend-Jobs hatten zur Aufgabe, Daten in einen bestimmten Index aufzunehmen.Weiterentwicklung und Wartung eines Web-Frontends und Backends
Es sollten Daten in einem Web-Frontend zur Anzeige gebracht werden, die aus mehreren Datentöpfen (jeweils einem Index stammen). Die Daten wurden per Filter und Benutzerberechtigung ausgeblendet. Darüber hinaus Legacy VBA-Code, der aus einem komplexen Excel Dateien generiert hat, in Java Code umgeschrieben.Weiterentwicklung und Wartung eines Web-Frontends und Backends
Es sollten Daten in einem Web-Frontend zur Anzeige gebracht werden. Dabei wurden Dokumente über ein Angular Frontend an ein Spring Boot Backend per REST geschickt. Diese wurden dann über Apache NIFI in Apache SolR als Dokumente gespeichert. Im Nachhinein konnte der User über das Frontend diese Dokumente suchen und angezeigt bekommen. Die Authentifizierung der User fand über OAuth 2.0 / Open ID Connect (OIDC) statt, um sich an einem Keycloak Server anzumelden.Konfigurationsmanagement: Devops Tätigkeiten zum Warten von 25 Umgebungen, Frontend und Backend
Das Tagesgeschäft umfasste das Warten von 25 Umgebungen mit unterschiedlichen Frontend und Backend-Versionen. Beim Einchecken des Java-Codes nach GIT (Bitbucket), wurden die Java-Artefakte über Jenkins gebaut und gemäß Continuous Integration/ Continuous Delivery ins Artifactory (binäres Repository) automatisiert hochgeladen. Von da aus wurden sie per einer Frontend-Anwendung auf die einzelnen Server-Umgebungen verteilt. Dafür wurden über Pipeline Script mit Groovy in Jenkins die Logik hinterlegt. Das Web-Frontend wurde in Java PrimeFaces und JSF realisiert. Das Backend enthielt einen Index pro Umgebung, der auf Anfrage per Full-Indexing oder Delta-Indexing aktualisiert werden musste.Bearbeitung von INCIDENTS, Annahme der Kundenanfragen zur Bearbeitung von Bugs per JIRA:
Erstellung/Schreiben von UNIX Shell Skripten zur automatischen Verteilung von Zusatz-Software. Anstoßen der Downloads der binären WAR-Dateien aus dem Artifactory und anschließende Verteilung per UNIX/Linux Scripts. Erste praktische Erfahrungen mit Azure, Kubernetes, Docker und OpenShiftImplementierung und Wartung eines eventbasierten Messaging-Systems in Java zur Verwendung für die Kommunikation zwischen Hardware-Gerät (Device für Airlines) und bestehender Software für den Einsatz von Checkin bzw. Boarding Zwecken von Passagieren
Schnüren einer Java-Library zur einfacheren Handhabung der Versendung von Emails mit Java in Spring
Implementierung eines asynchronen REST-Microservices zum Abfragen von Benutzerdaten
Implementierung von Integrationstests mit Spring Boot
Implementierung eines REST-Microservices als Report zur Aufdeckung möglicher Fehlerquellen in den einzelnen Microservices
Es sollte ein Microservice implementiert werden, der die etwaigen Fehler anderer Microservices aufspüren sollte und sowohl einen Report im Browser einsehbar, als auch im wichtigeren Fehlerfall eine Email versendet.Übernahme der technischen Verantwortlichkeit zum Thema Druck der über den Smart-Client erfassten Daten
Entwicklung eines Integrationstest-Frameworks in Java zur Auswertung von versicherungsspezifischen Daten, die aus anderen Software-Komponenten stammten
Entwicklung von GUI-Masken auf der Grundlage eines Smart-Client-Ansatzes über die Eclipse Riena Platform, die eine kompatible Ergänzung der Eclipse RCP ist.
Entwicklung einer Software für den touristischen Bereich auf Basis von Eclipse RCP, EJB3 und Hibernate und Wartung einer älteren Version.
Weiterentwicklung einer bestehenden Software zur Verwaltung, Reporting und Durchführung von Online-Befragungen.
Implementieren einer Web-Anwendung zum Zwecke der Marktforschung für einen Kunden
Das Projekt ?Formel 1? dient der Konsolidierung mehrerer teils redundanter Datenbanken zu einem zentralen System. Das Projekt wurde unter Einsatz von Smarty als Referenzprojekt umgesetzt, mit dem Ziel die Entwicklungsdauer zu reduzieren.
Das Projekt ?Programmdatenbank? dient der Bereitstellung von Programmdaten. Ziel des Projektes war die Bereitstellung der Programmdaten als unternehmensweite Services
Portierung einer Applikation zur risikoadäquaten Kreditbewertung von MS Access auf eine Swing basierte Lösung auf Basis einer JEE Architektur
Profil
Seit seinem Studium sammelte er Erfahrung bezüglich Java-Technologien, insbesondere im Bereich Web. Nach mehreren Projekten innerhalb des Studiums hatte er gelernt mit Frameworks der Programmiersprache Java umzugehen. Nach dem Abschluss seines Studiums als Diplom-Informatiker hatte er seine Kenntnisse im Java/J(2)EE-Bereich bei mehreren Unternehmen vertiefen dürfen. Teilnahme an Schulungen, um manche Frameworks besser kennenzulernen. Er bietet Ihnen kompetente Unterstützung in allen Stufen des Softwareentwicklungsprozesses. In enger Abstimmung mit dem Fachbereich erstellt er Entwürfe und führt die Realisierung mit den entsprechenden Tests durch. Aufgrund seiner bisherigen Erfahrung verfügt er über fundiertes Fachwissen und kann eine hohe Qualität der entwickelten Software sicherstellen und diese verantwortungsvoll zum Einsatz bringen. Sein Arbeitsstil ist agil und zielorientiert. Er ist geprägt durch Teamfähigkeit und Kommunikationsstärke. Dabei sind für ihn Zuverlässigkeit und selbständiges Arbeiten ebenso selbstverständlich wie Flexibilität und eine hohe Belastbarkeit. Auch in schwierigen Situationen behält er einen kühlen Kopf. Er ist jederzeit motiviert, sich in neue Aufgabenstellungen rasch und sicher einzuarbeiten und hat einen hohen Grad an Lernbereitschaft. Er ist interessiert an allen neuen Entwicklungen in der IT-Branche. Durch kontinuierliche Weiterbildung und autodidaktische Lernfähigkeit bleibt er auf der Höhe der Zeit.Zusätzlich zu den Entwickler-Tätigkeiten, wurden in allen Projekten folgende DevOps Tätigkeiten durchgeführt:
Weiterentwicklung einer bestehenden Identity Provider Software (IDP) unter Einsatz von einem Custom-Keycloak und Quarkus-Integration
Folgende Funktionalitäten wurden umgesetzt, um die Customization zu erreichen:
Implementierung von Kafka-Listenern, um Daten aus einem anderen System über Kafka zu importieren und in einer PostgrSQL Datenbank verschlüsselt zu speichern:
Folgende Funktionalitäten wurden umgesetzt:
Implementierung von Kafka-Listenern, um Daten aus einem anderen System über Kafka zu importieren, Mapping vorzunehmen und die gemappten Daten an andere Kafka Topics zu schicken:
Implementierung von REST-Schnittstellen über den openAPI Generator:
Folgende Implementierungen wurden vorgenommen:
Testsuite zur Automatisierung von Smoke-Tests:
Es wurde eine Testsuite implementiert, die dabei helfen sollte, die Smoketests nicht mehr manuell machen zu müssen. Folgende Funktionalitäten wurden umgesetzt:
Implementierung einer Applikation zur Verwendung von Support Mitarbeitern
Frontend:
Die Daten wurden aus der IDP-Software bezogen und im Frontend zur Anzeige gebracht. Dabei wurden Schnittstellen mittels openAPI generiert und zwar über den OpenAPI Generator Maven Plugin. Folgende Funktionalitäten wurden im Backend umgesetzt:
Applikation zum Exportieren von Prometheus-Metriken auf Basis von SQL-Abfragen zu konfigurierbaren Zeitintervallen:
Durch Abfrage der Datenbank und Exportieren der Ergebnisdaten in Prometheus, konnten zu statistischen Fragestellungen Metriken erstellt werden, die zu Monitoringzwecken dienten. Dazu wurde auf einer als Docker-Image vorliegende Lösung aufgesetzt, die in der eigenen Cloud verdrahtet wurde. Folgende Funktionalitäten wurden umgesetzt:
Applikation zur Identifizierung von Kundenidentitäten:
Neukunden, die sich registriert haben, mussten eine Videoidentifikation durchlaufen. Dabei mussten persönliche Daten geprüft werden, um ihre Identifikation zu verifizieren. Folgende Funktionalitäten wurden umgesetzt:
Applikation zum Anlegen von Mock-Daten zur Identifizierung von Kundenidentitäten:
Zum einfacheren Testen der Applikation zur Identifizierung von Kundenidentitäten wurde ein Tool gebaut, das Mockdaten in das jeweilige Kafka-Topic gepumpt hat. Auf diese Weise konnte die Consumer-Appikation diese Mockdaten konsumieren und Test-Szenarien schneller durchgeführt werden. Folgende Funktionalitäten wurden umgesetzt:
Applikation zur Versendung von SMS und E-Mails aus Kafka Events:
Kunden wurden per Email/Sms benachrichtigt wenn bestimmte Ereignisse an ihren Konten passiert sind. Diese Ereignisse konnten die Kunden selbst über ihr App-Verhalten, aber auch das System selbst ausgelöst haben. Um gleiche Nachrichten nicht mehrfach zu verschicken, wurden Kafka-spezifische Informationen in einer Datenbank gespeichert. Folgende Funktionalitäten wurden umgesetzt:
Weiterentwicklung einer Webapplikation zur Verwaltung von Kundenprofilen:
Frontend:
Kunden hatten die Möglichkeit in ihrem eigenen Profil Daten aktuell zu halten. Z.Bsp Änderung ihrer Telefonnummer etc. Dafür wurde in ReactJS ein Frontend implementiert, um dies zu bewerkstelligen. Folgende Funktionalitäten wurden im Frontend umgesetzt:
Backend:
Die Daten wurden aus der IDP-Software bezogen und im Frontend zur Anzeige gebracht. Dabei wurden Schnittstellen mittels openAPI generiert und zwar über den OpenAPI Generator Maven Plugin. Folgende Funktionalitäten wurden im Backend umgesetzt:
Implementierung eines Import-Systems zur Versorgung von aktualisierten Benutzerkonten:
Da das führende System ein anderes System war, musste ein Import-Tool her, um Benutzerkonten in den IDP zu bekommen. Dabei ging es um Benutzerkonten, die aus verschiedenen Gründen aktualisiert wurden. Die Aktualisierung und Versorgung des IDP-Systems sollte durch dieses Tool umgesetzt werden. Folgende Funktionalitäten wurden umgesetzt:
Entwicklung eines Standalone-Tools zum Erzeugen von einem Certificate Signing Request (CSR) für AWS KMS
Das Cloud-Team hat dieses Tool angefragt. Folgende Funktionalitäten wurden umgesetzt:
Entwicklung eines Tools zur Umwandlung von Daten aus einem JSON-Format in ein Java-Format
Folgende Funktionalitäten wurden umgesetzt:
Einmaljobs zur Versorgung von Umsystemen:
Umsysteme mussten zum Hauptsystem synchron gehalten werden. Dabei wurden Einmaljobs in Java Spring Batch implementiert, um größere Datenmengen abzusetzen. Folgende Funktionalitäten wurden umgesetzt:
Implementierung eines Web-Frontends mit Java JSF PrimeFaces:
Weiterentwicklung eines Web-Frontends mit Java JSF PrimeFaces:
Es sollte eine komfortable Möglichkeit geschaffen werden, über ein Web-Frontend Backend-Jobs und devops-Tätigkeiten anzustoßen. Gleichzeitig sollten diese Jobs während ihrer Läufe monitored werden. Die Backend-Jobs hatten zur Aufgabe, Daten in einen bestimmten Index aufzunehmen.Weiterentwicklung und Wartung eines Web-Frontends und Backends
Es sollten Daten in einem Web-Frontend zur Anzeige gebracht werden, die aus mehreren Datentöpfen (jeweils einem Index stammen). Die Daten wurden per Filter und Benutzerberechtigung ausgeblendet. Darüber hinaus Legacy VBA-Code, der aus einem komplexen Excel Dateien generiert hat, in Java Code umgeschrieben.Weiterentwicklung und Wartung eines Web-Frontends und Backends
Es sollten Daten in einem Web-Frontend zur Anzeige gebracht werden. Dabei wurden Dokumente über ein Angular Frontend an ein Spring Boot Backend per REST geschickt. Diese wurden dann über Apache NIFI in Apache SolR als Dokumente gespeichert. Im Nachhinein konnte der User über das Frontend diese Dokumente suchen und angezeigt bekommen. Die Authentifizierung der User fand über OAuth 2.0 / Open ID Connect (OIDC) statt, um sich an einem Keycloak Server anzumelden.Konfigurationsmanagement: Devops Tätigkeiten zum Warten von 25 Umgebungen, Frontend und Backend
Das Tagesgeschäft umfasste das Warten von 25 Umgebungen mit unterschiedlichen Frontend und Backend-Versionen. Beim Einchecken des Java-Codes nach GIT (Bitbucket), wurden die Java-Artefakte über Jenkins gebaut und gemäß Continuous Integration/ Continuous Delivery ins Artifactory (binäres Repository) automatisiert hochgeladen. Von da aus wurden sie per einer Frontend-Anwendung auf die einzelnen Server-Umgebungen verteilt. Dafür wurden über Pipeline Script mit Groovy in Jenkins die Logik hinterlegt. Das Web-Frontend wurde in Java PrimeFaces und JSF realisiert. Das Backend enthielt einen Index pro Umgebung, der auf Anfrage per Full-Indexing oder Delta-Indexing aktualisiert werden musste.Bearbeitung von INCIDENTS, Annahme der Kundenanfragen zur Bearbeitung von Bugs per JIRA:
Erstellung/Schreiben von UNIX Shell Skripten zur automatischen Verteilung von Zusatz-Software. Anstoßen der Downloads der binären WAR-Dateien aus dem Artifactory und anschließende Verteilung per UNIX/Linux Scripts. Erste praktische Erfahrungen mit Azure, Kubernetes, Docker und OpenShiftImplementierung und Wartung eines eventbasierten Messaging-Systems in Java zur Verwendung für die Kommunikation zwischen Hardware-Gerät (Device für Airlines) und bestehender Software für den Einsatz von Checkin bzw. Boarding Zwecken von Passagieren
Schnüren einer Java-Library zur einfacheren Handhabung der Versendung von Emails mit Java in Spring
Implementierung eines asynchronen REST-Microservices zum Abfragen von Benutzerdaten
Implementierung von Integrationstests mit Spring Boot
Implementierung eines REST-Microservices als Report zur Aufdeckung möglicher Fehlerquellen in den einzelnen Microservices
Es sollte ein Microservice implementiert werden, der die etwaigen Fehler anderer Microservices aufspüren sollte und sowohl einen Report im Browser einsehbar, als auch im wichtigeren Fehlerfall eine Email versendet.Übernahme der technischen Verantwortlichkeit zum Thema Druck der über den Smart-Client erfassten Daten
Entwicklung eines Integrationstest-Frameworks in Java zur Auswertung von versicherungsspezifischen Daten, die aus anderen Software-Komponenten stammten
Entwicklung von GUI-Masken auf der Grundlage eines Smart-Client-Ansatzes über die Eclipse Riena Platform, die eine kompatible Ergänzung der Eclipse RCP ist.
Entwicklung einer Software für den touristischen Bereich auf Basis von Eclipse RCP, EJB3 und Hibernate und Wartung einer älteren Version.
Weiterentwicklung einer bestehenden Software zur Verwaltung, Reporting und Durchführung von Online-Befragungen.
Implementieren einer Web-Anwendung zum Zwecke der Marktforschung für einen Kunden
Das Projekt ?Formel 1? dient der Konsolidierung mehrerer teils redundanter Datenbanken zu einem zentralen System. Das Projekt wurde unter Einsatz von Smarty als Referenzprojekt umgesetzt, mit dem Ziel die Entwicklungsdauer zu reduzieren.
Das Projekt ?Programmdatenbank? dient der Bereitstellung von Programmdaten. Ziel des Projektes war die Bereitstellung der Programmdaten als unternehmensweite Services
Portierung einer Applikation zur risikoadäquaten Kreditbewertung von MS Access auf eine Swing basierte Lösung auf Basis einer JEE Architektur
Profil
Seit seinem Studium sammelte er Erfahrung bezüglich Java-Technologien, insbesondere im Bereich Web. Nach mehreren Projekten innerhalb des Studiums hatte er gelernt mit Frameworks der Programmiersprache Java umzugehen. Nach dem Abschluss seines Studiums als Diplom-Informatiker hatte er seine Kenntnisse im Java/J(2)EE-Bereich bei mehreren Unternehmen vertiefen dürfen. Teilnahme an Schulungen, um manche Frameworks besser kennenzulernen. Er bietet Ihnen kompetente Unterstützung in allen Stufen des Softwareentwicklungsprozesses. In enger Abstimmung mit dem Fachbereich erstellt er Entwürfe und führt die Realisierung mit den entsprechenden Tests durch. Aufgrund seiner bisherigen Erfahrung verfügt er über fundiertes Fachwissen und kann eine hohe Qualität der entwickelten Software sicherstellen und diese verantwortungsvoll zum Einsatz bringen. Sein Arbeitsstil ist agil und zielorientiert. Er ist geprägt durch Teamfähigkeit und Kommunikationsstärke. Dabei sind für ihn Zuverlässigkeit und selbständiges Arbeiten ebenso selbstverständlich wie Flexibilität und eine hohe Belastbarkeit. Auch in schwierigen Situationen behält er einen kühlen Kopf. Er ist jederzeit motiviert, sich in neue Aufgabenstellungen rasch und sicher einzuarbeiten und hat einen hohen Grad an Lernbereitschaft. Er ist interessiert an allen neuen Entwicklungen in der IT-Branche. Durch kontinuierliche Weiterbildung und autodidaktische Lernfähigkeit bleibt er auf der Höhe der Zeit.