Meine Erfahrungen und Schwerpunkte sind in absteigender Reihenfolge: Java, Spring Boot, Kotlin, Maven, Gradle, Jenkins, Docker, Python, Groovy, Azure
Aktualisiert am 27.05.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 27.05.2024
Verfügbar zu: 100%
davon vor Ort: 0%
Java
Spring
Docker
Kotlin
Maven
Gradle
Jenkins
Python
Groovy
Back-End
DevOps
Linux
Azure
Ansible
MongoDB
NoSQL
Git
Angular
Deutsch
Muttersprache
Englisch
Fortgeschritten

Einsatzorte

Einsatzorte

Deutschland, Schweiz, Österreich
Ich möchte ausschließlich per Remote arbeiten
möglich

Projekte

Projekte

2023 - heute: Fachliche Betreuung in der Erwachsenenbildung

Kunde: velpTEC

Aufgaben:
velpTEC bietet als Bildungsträger Bildungsinhalte im Bereich der Erwachsenenbildung an und betreibt eine E-Learning-Plattform, über die interessierte Nutzer Bildungsangebote abrufen und Abschlüsse erwerben können. velpTEC bietet den Aus- und Weiterzubildenden dabei Schulungen und Lehrgänge in betriebswirtschaftlichen, sprachlichen, bürotechnischen und gewerblich technischen Bereichen sowie im EDV-Bereich an.


Leistungsumfang:

Unterstützung der Lernteilnehmer bei fachlichen Problemen in den unten genannten Technologien, weiterhin werden die Prüfungsleistungen der Teilnehmer überprüft und bewertet. Auch zum Aufgabenumfeld gehört die Qualitätssicherung der einzelnen Kurse und die Überprüfung auf Korrektheit


Verwendete Technologien:
Angular, Kotlin, React, Ruby, Swift, vue.js


2022 - heute: Azure Migration

Aufgaben
Mitarbeit bei der Migration der On-Prem gehosteten Build-Infrastruktur in die Azure-Cloud, um kosten einzusparen, die Flexibilität zu steigern und die Geschwindigkeit der virtuellen Maschinen zu erhöhen


Leistungsumfang:

Vermittels Terraform wird die Infrastruktur in Azure spezifiziert und per Azure-DevOps-Pipelines ausgerollt. Hierbei wurden sowohl virtuelle Maschinen, mitsamt Speicher und Backup, als auch das Azure Kubernetes Cluster (AKS) erstellt.
Im Anschluss werden per Ansible die Dienste wie Jenkins, Gitlab und Keycloak auf den VMs verteilt, hierbei sind alle Dienste als Docker-Image ausgeführt, um den Verwaltungsaufwand der einzelnen VMs zu verringern und die Wartung zu vereinfachen.
Da hauptsächlich die Build-Infrastruktur abgebildet werden soll, müssen hierbei die Systeme Gitlab, Nexus und Sonar den Jenkins bekannt bzw. erreichbar gemacht und per Keycloak abgesichert werden. Für eine gesteigerte Nutzererfahrung ist ein Rückkanal des Buildzustands ins Gitlab und eine Integration von Jira in das Gitlab System vorgesehen.
Weiterhin dient die Gitlab-CI nachgelagert nach dem Bootstrap der BuildInfrastruktur zum Bauen und Verteilen von kleineren Diensten. Zur Visualisierung und Monitoring der Telemetrie wird Grafana eingesetzt.
Weiterhin werden perspektivisch die VMs durch das AKS-Cluster ersetzt, um die Ressourcen noch effizienter einsetzen zu können. Hierfür sind einige POCs und nicht kritische Applikationen bereits umgezogen.

Verwendete Technologien:
Ansible, Azure, Docker, Grafana, Groovy, Gitlab, Jenkins, Keycloak, Kubernetes, Linux, Nexus, Python, SonarQube, Terraform


2020 - heute: Release-Management

Rolle: Release-Manager
Kunde: SMA Solar Technology AG

Aufgaben
Ablösung einer bestehenden Webapplikation, um Firmware-Releases zu Verwalten und deren Status zu überprüfen. Weiterhin soll es ermöglicht werden für Feldtests nur auf bestimmten Geräten dedizierte Versionen von Firmware zu spielen.
Für diese Geräte wird eine Übersicht angeboten um den aktuellen Zustand darzustellen. Weiterhin wird für Statistiken über Versionsverteilung und Kommunikation eine Visualisierung angeboten. Darüber hinaus gibt es ein Auditlog um die Verantwortlichkeit nachvollziehen zu können.

Leistungsumfang:
Die komplette UI wurde per Angular entwickelt, aber hauptsächlich durch dedizierte Frontendentwickler umgesetzt. Das Backend wurde per Spring Boot in Kotlin umgesetzt und per REST an das Frontend angebunden. Hierfür wurde über Swagger / OpenAPI eine Angular-Bibliothek bereitgestellt, um das Anbinden der UI zu vereinfachen. Abgesichert wird die Applikation über Keycloak und zur Datenhaltung wird auf eine MongoDB gesetzt. Gebaut wird die Applikation über Jenkins vermittels Gradle und GIT und per SonarQube auf Qualität überprüft. Als Docker-Image wird die Applikation auf dem Nexus persistiert und per Ansible an die Zielsysteme verteilt.
Dabei integriert sich der ReleaseManager in verteiltes Architekturmuster, wobei dieser den Einstiegspunkt zur Interaktion mit der Verteilung der Firmware-Verteilung darstellt. Nachgelagerte Systeme sind hier für die Verteilung und Integrität bzw. für weitere Analysen Zuständig.

Verwendete Technologien:
Angular, Ansible, Docker, Git, Gradle, Jenkins, Keycloak, Kotlin, Linux, MongoDB, Nexus, REST, Spring Boot, Swagger


2020 - heute: Okapi

Kunde: SMA Solar Technology AG

Aufgaben
Aufbau einer Plattform, um die Qualität hauseigener Softwareprojekte anhand verschiedener Key-Performance-Indikatoren zu bewerten und für nicht
Softwareentwickler grafisch aufzubereiten. Hiermit soll eine allgemeine Steigerung der Softwarequalität erreicht werden und damit letztendlich auch der
Kundenzufriedenheit.

Leistungsumfang
Das Frontend wurde per Angular zu Beginn durch einen dedizierten Frontendentwickler umgesetzt und später wurde die Weiterentwicklung jedoch meinerseits fortgeführt. Das in Spring Boot und Java entwickelte Backend wird an das Frontend per REST angebunden und der Zugriff per Keycloak abgesichert. Als primäre Datenquellen zur Berechnung der Codequalität dient SonarQube, DependencyTrack
und VMs welche die Performance der zu untersuchenden Software testen. Zur Datenhaltung dient hierbei eine MongoDB. Um zeitnah eine neue Analyse anzustoßen kann per MQTT Message Queue dem Okapi-System die Verfügbarkeit einer neuen Version mitgeteilt werden.
Das System selbst wird über Jenkins per Gradle und GIT gebaut und als Docker-Image im Nexus gespeichert. Verteilt wird die Software per Ansible auf die entsprechenden Linux VMs.
Zur einfachen Nutzung der API wird über Swagger eine Client-Bibliothek für Angular und Python bereitgestellt. Hiermit wurde in Python auch eine Bibliothek entwickelt, um Daten direkt in das Okapi-System übermitteln zu können.

Verwendete Technologien:
Angular, Ansible, DependencyTrack, Docker, Git, Gradle, Java, Jenkins, Keycloak, Linux, MongoDB, MQTT, Python, REST, SonarQube, Spring Boot, Swagger


2018 - 2020: Coco Dashboard

Rolle: Coco Dashboard Demonstrator
Kunde: xplace GmbH

Aufgaben
Konzeption und Entwicklung eines Dashboards für den Einzelhandel um die Konversionsrate des Endkunden für verschiedene Produkte und Aktionen ermitteln und darstellen zu können. So kann dann z.B. Werbung ausgespielt werden, wenn sichein Kunde länger für bestimmte Artikel interessiert. Als Zweitnutzung konnte während der Coronazeit die Zutrittsbeschränkungen ermittelt werden, wenn eine bestimmte Anzahl an Kunden das Geschäft betreten hatte.


Leistungsumfang:

Hierbei wird auf einer Stele, welche per Linux betrieben wird, die Software aufgespielt. Hierbei handelt es sich um eine zweigeteilte Applikation welche frontendseitig JavaFX nutzt und im Backend eine Spring Boot-Anwendung darstellt.

Durch Trigger, welche per REST-Anfrage ausgelöst werden, werden entsprechende Aktionen ausgelöst. Per Scala-CMS können Medien auf die Stele aufgespielt werden, welche dann passend zum Trigger abgespielt werden. Weiterhin werden die Auslöser weitergereicht und auf ein Dashboard visualisiert, damit der Einzelhandel für Sie Metriken sammeln konnte. Zur Datenhaltung wird eine lokale Derby Datenbank verwendet. Für das Dashboard wurde derselbe Technologie Stack eingesetzt wie die Applikation auf der Stele.

Verwendete Technologien:
Git, Java, JavaFX, Jenkins, Linux, Maven, Spring Boot


2017 - 2020: Datalake für Digital Signage Kunden

Kunde: SMA Solar Technology AG

Aufgaben
Aufbau eines Datalakes mittels eines abgesicherten ELK-Stacks, um die Kundenkonversion visualisieren zu können

Leistungsumfang:
Da ein ELK-Stack nur unzureichend Möglichkeiten für die Autorisierung von Nutzern bereitstellt, musste diese Funktion nachgereicht werden.
Hierbei wird über Keycloak ein Zugriffsbaum abgebildet und musste dann im Elasticsearch abgebildet werden, bei jedem Login wird dann der Zugriffsbaum auf Veränderung überprüft und entsprechende Rechte freigegeben oder gesperrt.
Hieraufhin wird dann überprüft, ob die Nutzeranfrage an den ELK-Stack valide ist oder abgelehnt wird. Um diese Aufgabe zu lösen wurde ein Plugin für Keycloak geschrieben, um Änderungen an einen ebenfalls neuentwickelten Spring Boot Server mitzuteilen, welche die Daten für ElasticSearch aufbereitet und dort entsprechend speichert.

Verwendete Technologien:
ELK-Stack, Git, Java, Jenkins, Keycloak, Linux, Spring Boot


2016 - 2020: Audio-Playout und Digital Signage Reporting für Porsche

Kunde: Porsche

Aufgaben
In sämtlichen Autohäusern von Porsche wurde Hintergrundmusik über das Scala CMS verteilt und ausgespielt. Hierfür muss zum einen über eine REST-API von Porsche das Playout der nächsten Tage ermittelt und an das Scala-CMS übertragen werden, hierbei kam es darauf an, dass die Ausspielzeiten exakt eingehalten werden.
Weiterhin musste in einer zweiten Applikation dann täglich für abrechnungsrelevante Themen, das tatsächliche Playout ermittelt und in ein Excel Report dargestellt werden.

Leistungsumfang:
Beide Applikationen wurden vermittels Python-Skript umgesetzt und per CRON-Job einmal täglich ausgeführt.

Verwendete Technologien:
Python, REST


2015 - 2020: Internationales Rollout Electronisc Shelf Labels

Kunde: Media Markt und Saturn

Aufgaben
Entwicklung einer zentralen Komponente zur Weiterverarbeitung der Produktdaten hin zu den ESL-Labels. Hierfür läuft auf einem Server pro Markt eine Komponente, welche die Preis- und Produktdaten per Message Queue empfängt, konvertiert und an das System zur Generierung der ESL-Labels im Markt weiterreicht, welches daraufhin die Daten der Labels rendert

Leistungsumfang:
Die Spring Boot Applikation wurde per ActiveMQ angeschlossen und empfängt hierüber die veränderten Preisdaten und konvertiert die Daten in ein Format, welches die Software zur Generierung der ESL-Label-Daten versteht. Diese Daten wurden per lokaler REST-Api an das ESL-System geschickt. Für das zu entwickelnde System war die Stabilität besonders im Fokus

Verwendete Technologien:
ActiveMQ, Git, Java, Jenkins, Linux, Maven, Spring Boot


2017 - 2018: Stele für Roboter Paul

Aufgaben
Konzeption und Entwicklung des Backends zur Darstellung des aktuellen Status des Roboters Paul für Kunden vermittels der ROSbridge


2017 - 2018: Autohaus Service

Aufgaben
Konzeption und Entwicklung des Backends zur Ansteuerung und Verwaltung von Electronic Shelf Labels (ESL) für Autohäuser


2013 - 2018: Mobile Mirror

Kunde: xplace GmbH

Aufgaben
Für den Retail Markt soll ein digitaler Spiegel entwickelt werden, der es den
Kunden ermöglicht Fotos auf sozialen Medien zu teilen oder anderwärtig zu teilen.
Weiterhin wurde eine mobile App entwickelt, um sich die Medien speichern und
kombinieren zu können z.B., um neue Outfits zu kombinieren.

Leistungsumfang:
Zum Leistungsumfang gehören zwei Komponenten zum einen die Software auf der Stele, welche mit einem Linux Betriebssystem betrieben wird, welche per JavaFX in der GUI und per Spring Boot als Backend realisiert worden ist.
Dieses ist auch dafür zuständig die Fotos und Video mit entsprechenden Wasserzeichen oder Overlays vermittels FFMEPG zu bearbeiten. Diese Medien werden zu einer zweiten Komponente, einer weiteren Spring Boot-Applikation, im AWS weitergeleitet und dort im S3-File Storage gespeichert. Auch ist dieser AWSDienst für die mobile Applikation zuständig und leitet bei rechtmäßigem Zugriff die Daten an die Applikation weiter, um Sie dort nutzen zu können bzw. markiert Dateien entsprechend, falls diese über soziale Medien geteilt werden sollen.
Gebaut wurden beide Komponenten über Jenkins vermittels Maven und Git.

Verwendete Technologien:
AWS, Git, Java, JavaFX, Jenkins, Linux, Maven, FFMPEG, Spring Boot


2014 - 2016: Opti-Time Orchestrierungskomponente

Kunde: Media Saturn Holding

Aufgaben
Mitentwicklung einer Komponente, um Tourenplanungen der MSH mittels der Software Opti-Time aus den Märkten heraus zu ermöglichen

Leistungsumfang:
Hierbei musste eine Middleware entwickelt werden, welche die Warenwirtschaft der MSH mit der Opti-Time Tourenplanungssoftware kommunizieren lässt und das Resultat wieder in die Warenwirtschaft zurückschickt, damit die Kunden über das weiter vorgehen entscheiden können. Hierfür wurde die Middleware in JavaEE entwickelt, welche per JBoss-Server bereitgestellt wurde.
Angebunden wurde die Software marktseitig per SOAP und auf Seiten der Tourenplanung per REST.Gebaut wird die Software per Jenkins und Maven.

Verwendete Technologien:
Git, JavaEE, JBoss, Jenkins, Linux, Maven, REST, SOAP


Aus- und Weiterbildung

Aus- und Weiterbildung

2 Monate
2022-11 - 2022-12

Angular Advanced

Zertifikat,
Zertifikat
1 Monat
2019-01 - 2019-01

Kurs - Datensicherheit im Netz - Einführung in die Informationssicherheit

benotete Teilnahmebestätigung,
benotete Teilnahmebestätigung
1 Monat
2017-10 - 2017-10

Microservices

Zertifikat,
Zertifikat
1 Monat
2016-10 - 2016-10

Kurs - IT-Recht für Software-Entwickler

Teilnahmebestätigung,
Teilnahmebestätigung
1 Monat
2015-06 - 2015-06

Seminar - Continuous Integration mit Hudson/ Jenkins

Teilnahmebescheinigung,
Teilnahmebescheinigung
1 Monat
2015-06 - 2015-06

Seminar - Apache Maven

Teilnahmebescheinigung,
Teilnahmebescheinigung
1 Monat
2012-03 - 2012-03

Workshop - Arbeitsmethodik und Zeitmanagement

Teilnahmebescheinigung,
Teilnahmebescheinigung
3 Jahre
2008-10 - 2011-09

Studium - Engineering/ Informationstechnik mit Vertiefung in Netz- und Softwaretechnik

Bachelor of Engineering, DHBW Karlsruhe
Bachelor of Engineering
DHBW Karlsruhe
  • Informationstechnik mit Vertiefung in Netz- und Softwaretechnik
1 Monat
2011-07 - 2011-07

Seminar - Verteilte Versionierung mit git

Zertifikat,
Zertifikat

Kompetenzen

Kompetenzen

Top-Skills

Java Spring Docker Kotlin Maven Gradle Jenkins Python Groovy Back-End DevOps Linux Azure Ansible MongoDB NoSQL Git Angular

Produkte / Standards / Erfahrungen / Methoden

Ansible
Azure
Confluence
Docker
ELK-Stack
Git
SVN
Gradle
Java
Jenkins
Jira
Kafka
Kotlin
Kubernetes
Linux
Maven
Microservices
NoSQL
Python
Spring Boot
SQL
Profil
Erfahrener Softwareentwickler mit Kompetenz in Sachen Konzeption, Implementierung, Erprobung und Wartung von Software-Systemen. Vielseitige Kraft, die ihr Handwerkszeug beherrscht. Vertraut mit den unterschiedlichsten Plattformen, Programmiersprachen und Systemen. Einzelkämpfer auf Projektbasis und produktiver Teamarbeiter in einer Person

Berufserfahrung
2021-07 ? heute
Rolle: DevOps & Softwareentwickler

Kunde: SMA Solar Technology AG, Niestetal

Aufgaben:

  • DevOps im Bereich Deploymentsupport, unter der Nutzung der Werkzeuge Jenkins, Groovy, Gradle, Nexus, Ansible, Grafana, Python, und Docker
  • Konzeption und Entwicklung von intern genutzten Anwendungen unter Java, Kotlin und Spring Boot
  • Migration der aktuell On-Prem genutzten Build-Infrastruktur nach Azure

2020-01 ? 2021-06
Rolle: DevOps & Softwareentwickler

Kunde: Ferchau GmbH, Kassel


Aufgaben:

  • Zeitarbeit bei verschiedenen Firmen

2012-10 ? 2019-12
Rolle: Senior Softwareentwickler

Kunde: Xplace GmbH, Göttingen


Aufgaben:

  • Betreuung des Integrations-Systems Jenkins und des Build-Managment-Tools Maven
  • Konzeption und Entwicklung von Backend Services unter Java
  • Leitung von internen Projekten
  • Entwicklung von Python Skripten für die Digital Signage Lösung Scala

2011-10 ? 2012-09
Rolle: Softwareentwickler

Kunde: Fraunhofer IOSB, Karlsruhe


Aufgaben:

  • Entwicklung von Applikationen für die blickbasierte Computer-Interaktion als Human Machine Interface

2008-10 ? 2011-09 
Rolle: Werkstudent - Softwareentwickler 

Kunde: Fraunhofer IOSB, Karlsruhe


Weiteres

Dozent auf der Videoplattform Udemy für Themen in der Softwareentwicklung

Betriebssysteme

Linux
Experte
Windows
Fortgeschritten
Android
Fortgeschritten

Programmiersprachen

Java
Experte
Kotlin
Experte
Python
Fortgeschritten
Shell
Fortgeschritten
TypeScript
Fortgeschritten
JavaScript
Fortgeschritten

Datenbanken

MySQL
Fortgeschritten
PostgreSQL
Experte
MongoDB
Experte
ElasticSearch
Fortgeschritten


Datenkommunikation

TCP/IP
Fortgeschritten
REST
Experte
SOAP
Fortgeschritten


Branchen

Branchen

  • Automobilbranche
  • Energiebranche
  • Einzelhandel

Einsatzorte

Einsatzorte

Deutschland, Schweiz, Österreich
Ich möchte ausschließlich per Remote arbeiten
möglich

Projekte

Projekte

2023 - heute: Fachliche Betreuung in der Erwachsenenbildung

Kunde: velpTEC

Aufgaben:
velpTEC bietet als Bildungsträger Bildungsinhalte im Bereich der Erwachsenenbildung an und betreibt eine E-Learning-Plattform, über die interessierte Nutzer Bildungsangebote abrufen und Abschlüsse erwerben können. velpTEC bietet den Aus- und Weiterzubildenden dabei Schulungen und Lehrgänge in betriebswirtschaftlichen, sprachlichen, bürotechnischen und gewerblich technischen Bereichen sowie im EDV-Bereich an.


Leistungsumfang:

Unterstützung der Lernteilnehmer bei fachlichen Problemen in den unten genannten Technologien, weiterhin werden die Prüfungsleistungen der Teilnehmer überprüft und bewertet. Auch zum Aufgabenumfeld gehört die Qualitätssicherung der einzelnen Kurse und die Überprüfung auf Korrektheit


Verwendete Technologien:
Angular, Kotlin, React, Ruby, Swift, vue.js


2022 - heute: Azure Migration

Aufgaben
Mitarbeit bei der Migration der On-Prem gehosteten Build-Infrastruktur in die Azure-Cloud, um kosten einzusparen, die Flexibilität zu steigern und die Geschwindigkeit der virtuellen Maschinen zu erhöhen


Leistungsumfang:

Vermittels Terraform wird die Infrastruktur in Azure spezifiziert und per Azure-DevOps-Pipelines ausgerollt. Hierbei wurden sowohl virtuelle Maschinen, mitsamt Speicher und Backup, als auch das Azure Kubernetes Cluster (AKS) erstellt.
Im Anschluss werden per Ansible die Dienste wie Jenkins, Gitlab und Keycloak auf den VMs verteilt, hierbei sind alle Dienste als Docker-Image ausgeführt, um den Verwaltungsaufwand der einzelnen VMs zu verringern und die Wartung zu vereinfachen.
Da hauptsächlich die Build-Infrastruktur abgebildet werden soll, müssen hierbei die Systeme Gitlab, Nexus und Sonar den Jenkins bekannt bzw. erreichbar gemacht und per Keycloak abgesichert werden. Für eine gesteigerte Nutzererfahrung ist ein Rückkanal des Buildzustands ins Gitlab und eine Integration von Jira in das Gitlab System vorgesehen.
Weiterhin dient die Gitlab-CI nachgelagert nach dem Bootstrap der BuildInfrastruktur zum Bauen und Verteilen von kleineren Diensten. Zur Visualisierung und Monitoring der Telemetrie wird Grafana eingesetzt.
Weiterhin werden perspektivisch die VMs durch das AKS-Cluster ersetzt, um die Ressourcen noch effizienter einsetzen zu können. Hierfür sind einige POCs und nicht kritische Applikationen bereits umgezogen.

Verwendete Technologien:
Ansible, Azure, Docker, Grafana, Groovy, Gitlab, Jenkins, Keycloak, Kubernetes, Linux, Nexus, Python, SonarQube, Terraform


2020 - heute: Release-Management

Rolle: Release-Manager
Kunde: SMA Solar Technology AG

Aufgaben
Ablösung einer bestehenden Webapplikation, um Firmware-Releases zu Verwalten und deren Status zu überprüfen. Weiterhin soll es ermöglicht werden für Feldtests nur auf bestimmten Geräten dedizierte Versionen von Firmware zu spielen.
Für diese Geräte wird eine Übersicht angeboten um den aktuellen Zustand darzustellen. Weiterhin wird für Statistiken über Versionsverteilung und Kommunikation eine Visualisierung angeboten. Darüber hinaus gibt es ein Auditlog um die Verantwortlichkeit nachvollziehen zu können.

Leistungsumfang:
Die komplette UI wurde per Angular entwickelt, aber hauptsächlich durch dedizierte Frontendentwickler umgesetzt. Das Backend wurde per Spring Boot in Kotlin umgesetzt und per REST an das Frontend angebunden. Hierfür wurde über Swagger / OpenAPI eine Angular-Bibliothek bereitgestellt, um das Anbinden der UI zu vereinfachen. Abgesichert wird die Applikation über Keycloak und zur Datenhaltung wird auf eine MongoDB gesetzt. Gebaut wird die Applikation über Jenkins vermittels Gradle und GIT und per SonarQube auf Qualität überprüft. Als Docker-Image wird die Applikation auf dem Nexus persistiert und per Ansible an die Zielsysteme verteilt.
Dabei integriert sich der ReleaseManager in verteiltes Architekturmuster, wobei dieser den Einstiegspunkt zur Interaktion mit der Verteilung der Firmware-Verteilung darstellt. Nachgelagerte Systeme sind hier für die Verteilung und Integrität bzw. für weitere Analysen Zuständig.

Verwendete Technologien:
Angular, Ansible, Docker, Git, Gradle, Jenkins, Keycloak, Kotlin, Linux, MongoDB, Nexus, REST, Spring Boot, Swagger


2020 - heute: Okapi

Kunde: SMA Solar Technology AG

Aufgaben
Aufbau einer Plattform, um die Qualität hauseigener Softwareprojekte anhand verschiedener Key-Performance-Indikatoren zu bewerten und für nicht
Softwareentwickler grafisch aufzubereiten. Hiermit soll eine allgemeine Steigerung der Softwarequalität erreicht werden und damit letztendlich auch der
Kundenzufriedenheit.

Leistungsumfang
Das Frontend wurde per Angular zu Beginn durch einen dedizierten Frontendentwickler umgesetzt und später wurde die Weiterentwicklung jedoch meinerseits fortgeführt. Das in Spring Boot und Java entwickelte Backend wird an das Frontend per REST angebunden und der Zugriff per Keycloak abgesichert. Als primäre Datenquellen zur Berechnung der Codequalität dient SonarQube, DependencyTrack
und VMs welche die Performance der zu untersuchenden Software testen. Zur Datenhaltung dient hierbei eine MongoDB. Um zeitnah eine neue Analyse anzustoßen kann per MQTT Message Queue dem Okapi-System die Verfügbarkeit einer neuen Version mitgeteilt werden.
Das System selbst wird über Jenkins per Gradle und GIT gebaut und als Docker-Image im Nexus gespeichert. Verteilt wird die Software per Ansible auf die entsprechenden Linux VMs.
Zur einfachen Nutzung der API wird über Swagger eine Client-Bibliothek für Angular und Python bereitgestellt. Hiermit wurde in Python auch eine Bibliothek entwickelt, um Daten direkt in das Okapi-System übermitteln zu können.

Verwendete Technologien:
Angular, Ansible, DependencyTrack, Docker, Git, Gradle, Java, Jenkins, Keycloak, Linux, MongoDB, MQTT, Python, REST, SonarQube, Spring Boot, Swagger


2018 - 2020: Coco Dashboard

Rolle: Coco Dashboard Demonstrator
Kunde: xplace GmbH

Aufgaben
Konzeption und Entwicklung eines Dashboards für den Einzelhandel um die Konversionsrate des Endkunden für verschiedene Produkte und Aktionen ermitteln und darstellen zu können. So kann dann z.B. Werbung ausgespielt werden, wenn sichein Kunde länger für bestimmte Artikel interessiert. Als Zweitnutzung konnte während der Coronazeit die Zutrittsbeschränkungen ermittelt werden, wenn eine bestimmte Anzahl an Kunden das Geschäft betreten hatte.


Leistungsumfang:

Hierbei wird auf einer Stele, welche per Linux betrieben wird, die Software aufgespielt. Hierbei handelt es sich um eine zweigeteilte Applikation welche frontendseitig JavaFX nutzt und im Backend eine Spring Boot-Anwendung darstellt.

Durch Trigger, welche per REST-Anfrage ausgelöst werden, werden entsprechende Aktionen ausgelöst. Per Scala-CMS können Medien auf die Stele aufgespielt werden, welche dann passend zum Trigger abgespielt werden. Weiterhin werden die Auslöser weitergereicht und auf ein Dashboard visualisiert, damit der Einzelhandel für Sie Metriken sammeln konnte. Zur Datenhaltung wird eine lokale Derby Datenbank verwendet. Für das Dashboard wurde derselbe Technologie Stack eingesetzt wie die Applikation auf der Stele.

Verwendete Technologien:
Git, Java, JavaFX, Jenkins, Linux, Maven, Spring Boot


2017 - 2020: Datalake für Digital Signage Kunden

Kunde: SMA Solar Technology AG

Aufgaben
Aufbau eines Datalakes mittels eines abgesicherten ELK-Stacks, um die Kundenkonversion visualisieren zu können

Leistungsumfang:
Da ein ELK-Stack nur unzureichend Möglichkeiten für die Autorisierung von Nutzern bereitstellt, musste diese Funktion nachgereicht werden.
Hierbei wird über Keycloak ein Zugriffsbaum abgebildet und musste dann im Elasticsearch abgebildet werden, bei jedem Login wird dann der Zugriffsbaum auf Veränderung überprüft und entsprechende Rechte freigegeben oder gesperrt.
Hieraufhin wird dann überprüft, ob die Nutzeranfrage an den ELK-Stack valide ist oder abgelehnt wird. Um diese Aufgabe zu lösen wurde ein Plugin für Keycloak geschrieben, um Änderungen an einen ebenfalls neuentwickelten Spring Boot Server mitzuteilen, welche die Daten für ElasticSearch aufbereitet und dort entsprechend speichert.

Verwendete Technologien:
ELK-Stack, Git, Java, Jenkins, Keycloak, Linux, Spring Boot


2016 - 2020: Audio-Playout und Digital Signage Reporting für Porsche

Kunde: Porsche

Aufgaben
In sämtlichen Autohäusern von Porsche wurde Hintergrundmusik über das Scala CMS verteilt und ausgespielt. Hierfür muss zum einen über eine REST-API von Porsche das Playout der nächsten Tage ermittelt und an das Scala-CMS übertragen werden, hierbei kam es darauf an, dass die Ausspielzeiten exakt eingehalten werden.
Weiterhin musste in einer zweiten Applikation dann täglich für abrechnungsrelevante Themen, das tatsächliche Playout ermittelt und in ein Excel Report dargestellt werden.

Leistungsumfang:
Beide Applikationen wurden vermittels Python-Skript umgesetzt und per CRON-Job einmal täglich ausgeführt.

Verwendete Technologien:
Python, REST


2015 - 2020: Internationales Rollout Electronisc Shelf Labels

Kunde: Media Markt und Saturn

Aufgaben
Entwicklung einer zentralen Komponente zur Weiterverarbeitung der Produktdaten hin zu den ESL-Labels. Hierfür läuft auf einem Server pro Markt eine Komponente, welche die Preis- und Produktdaten per Message Queue empfängt, konvertiert und an das System zur Generierung der ESL-Labels im Markt weiterreicht, welches daraufhin die Daten der Labels rendert

Leistungsumfang:
Die Spring Boot Applikation wurde per ActiveMQ angeschlossen und empfängt hierüber die veränderten Preisdaten und konvertiert die Daten in ein Format, welches die Software zur Generierung der ESL-Label-Daten versteht. Diese Daten wurden per lokaler REST-Api an das ESL-System geschickt. Für das zu entwickelnde System war die Stabilität besonders im Fokus

Verwendete Technologien:
ActiveMQ, Git, Java, Jenkins, Linux, Maven, Spring Boot


2017 - 2018: Stele für Roboter Paul

Aufgaben
Konzeption und Entwicklung des Backends zur Darstellung des aktuellen Status des Roboters Paul für Kunden vermittels der ROSbridge


2017 - 2018: Autohaus Service

Aufgaben
Konzeption und Entwicklung des Backends zur Ansteuerung und Verwaltung von Electronic Shelf Labels (ESL) für Autohäuser


2013 - 2018: Mobile Mirror

Kunde: xplace GmbH

Aufgaben
Für den Retail Markt soll ein digitaler Spiegel entwickelt werden, der es den
Kunden ermöglicht Fotos auf sozialen Medien zu teilen oder anderwärtig zu teilen.
Weiterhin wurde eine mobile App entwickelt, um sich die Medien speichern und
kombinieren zu können z.B., um neue Outfits zu kombinieren.

Leistungsumfang:
Zum Leistungsumfang gehören zwei Komponenten zum einen die Software auf der Stele, welche mit einem Linux Betriebssystem betrieben wird, welche per JavaFX in der GUI und per Spring Boot als Backend realisiert worden ist.
Dieses ist auch dafür zuständig die Fotos und Video mit entsprechenden Wasserzeichen oder Overlays vermittels FFMEPG zu bearbeiten. Diese Medien werden zu einer zweiten Komponente, einer weiteren Spring Boot-Applikation, im AWS weitergeleitet und dort im S3-File Storage gespeichert. Auch ist dieser AWSDienst für die mobile Applikation zuständig und leitet bei rechtmäßigem Zugriff die Daten an die Applikation weiter, um Sie dort nutzen zu können bzw. markiert Dateien entsprechend, falls diese über soziale Medien geteilt werden sollen.
Gebaut wurden beide Komponenten über Jenkins vermittels Maven und Git.

Verwendete Technologien:
AWS, Git, Java, JavaFX, Jenkins, Linux, Maven, FFMPEG, Spring Boot


2014 - 2016: Opti-Time Orchestrierungskomponente

Kunde: Media Saturn Holding

Aufgaben
Mitentwicklung einer Komponente, um Tourenplanungen der MSH mittels der Software Opti-Time aus den Märkten heraus zu ermöglichen

Leistungsumfang:
Hierbei musste eine Middleware entwickelt werden, welche die Warenwirtschaft der MSH mit der Opti-Time Tourenplanungssoftware kommunizieren lässt und das Resultat wieder in die Warenwirtschaft zurückschickt, damit die Kunden über das weiter vorgehen entscheiden können. Hierfür wurde die Middleware in JavaEE entwickelt, welche per JBoss-Server bereitgestellt wurde.
Angebunden wurde die Software marktseitig per SOAP und auf Seiten der Tourenplanung per REST.Gebaut wird die Software per Jenkins und Maven.

Verwendete Technologien:
Git, JavaEE, JBoss, Jenkins, Linux, Maven, REST, SOAP


Aus- und Weiterbildung

Aus- und Weiterbildung

2 Monate
2022-11 - 2022-12

Angular Advanced

Zertifikat,
Zertifikat
1 Monat
2019-01 - 2019-01

Kurs - Datensicherheit im Netz - Einführung in die Informationssicherheit

benotete Teilnahmebestätigung,
benotete Teilnahmebestätigung
1 Monat
2017-10 - 2017-10

Microservices

Zertifikat,
Zertifikat
1 Monat
2016-10 - 2016-10

Kurs - IT-Recht für Software-Entwickler

Teilnahmebestätigung,
Teilnahmebestätigung
1 Monat
2015-06 - 2015-06

Seminar - Continuous Integration mit Hudson/ Jenkins

Teilnahmebescheinigung,
Teilnahmebescheinigung
1 Monat
2015-06 - 2015-06

Seminar - Apache Maven

Teilnahmebescheinigung,
Teilnahmebescheinigung
1 Monat
2012-03 - 2012-03

Workshop - Arbeitsmethodik und Zeitmanagement

Teilnahmebescheinigung,
Teilnahmebescheinigung
3 Jahre
2008-10 - 2011-09

Studium - Engineering/ Informationstechnik mit Vertiefung in Netz- und Softwaretechnik

Bachelor of Engineering, DHBW Karlsruhe
Bachelor of Engineering
DHBW Karlsruhe
  • Informationstechnik mit Vertiefung in Netz- und Softwaretechnik
1 Monat
2011-07 - 2011-07

Seminar - Verteilte Versionierung mit git

Zertifikat,
Zertifikat

Kompetenzen

Kompetenzen

Top-Skills

Java Spring Docker Kotlin Maven Gradle Jenkins Python Groovy Back-End DevOps Linux Azure Ansible MongoDB NoSQL Git Angular

Produkte / Standards / Erfahrungen / Methoden

Ansible
Azure
Confluence
Docker
ELK-Stack
Git
SVN
Gradle
Java
Jenkins
Jira
Kafka
Kotlin
Kubernetes
Linux
Maven
Microservices
NoSQL
Python
Spring Boot
SQL
Profil
Erfahrener Softwareentwickler mit Kompetenz in Sachen Konzeption, Implementierung, Erprobung und Wartung von Software-Systemen. Vielseitige Kraft, die ihr Handwerkszeug beherrscht. Vertraut mit den unterschiedlichsten Plattformen, Programmiersprachen und Systemen. Einzelkämpfer auf Projektbasis und produktiver Teamarbeiter in einer Person

Berufserfahrung
2021-07 ? heute
Rolle: DevOps & Softwareentwickler

Kunde: SMA Solar Technology AG, Niestetal

Aufgaben:

  • DevOps im Bereich Deploymentsupport, unter der Nutzung der Werkzeuge Jenkins, Groovy, Gradle, Nexus, Ansible, Grafana, Python, und Docker
  • Konzeption und Entwicklung von intern genutzten Anwendungen unter Java, Kotlin und Spring Boot
  • Migration der aktuell On-Prem genutzten Build-Infrastruktur nach Azure

2020-01 ? 2021-06
Rolle: DevOps & Softwareentwickler

Kunde: Ferchau GmbH, Kassel


Aufgaben:

  • Zeitarbeit bei verschiedenen Firmen

2012-10 ? 2019-12
Rolle: Senior Softwareentwickler

Kunde: Xplace GmbH, Göttingen


Aufgaben:

  • Betreuung des Integrations-Systems Jenkins und des Build-Managment-Tools Maven
  • Konzeption und Entwicklung von Backend Services unter Java
  • Leitung von internen Projekten
  • Entwicklung von Python Skripten für die Digital Signage Lösung Scala

2011-10 ? 2012-09
Rolle: Softwareentwickler

Kunde: Fraunhofer IOSB, Karlsruhe


Aufgaben:

  • Entwicklung von Applikationen für die blickbasierte Computer-Interaktion als Human Machine Interface

2008-10 ? 2011-09 
Rolle: Werkstudent - Softwareentwickler 

Kunde: Fraunhofer IOSB, Karlsruhe


Weiteres

Dozent auf der Videoplattform Udemy für Themen in der Softwareentwicklung

Betriebssysteme

Linux
Experte
Windows
Fortgeschritten
Android
Fortgeschritten

Programmiersprachen

Java
Experte
Kotlin
Experte
Python
Fortgeschritten
Shell
Fortgeschritten
TypeScript
Fortgeschritten
JavaScript
Fortgeschritten

Datenbanken

MySQL
Fortgeschritten
PostgreSQL
Experte
MongoDB
Experte
ElasticSearch
Fortgeschritten


Datenkommunikation

TCP/IP
Fortgeschritten
REST
Experte
SOAP
Fortgeschritten


Branchen

Branchen

  • Automobilbranche
  • Energiebranche
  • Einzelhandel

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.