Schlagwörter
Skills
- Java 8
- Java 11
- Java 17
- JavaScript / ECMAScript
- HTML5
- TypeScript
- CSS3
- SQL
- PostgreSQL
- MongoDB
- MySQL
- Redis
- Spring Boot
- Spring Security
- Spring Data
- Spring Integration
- Vue.js
- NuxtJS
- Tailwind CSS
- ReactJS
- JUnit
- Spock Framework
- Selenium
- Vitest
- Jest
- JPA
- JAX-WS
- JDBC
- JMS
- HTTP
- SOAP
- REST
- AMQP
- RabbitMQ
- ActiveMQ
- Azure Service Bus
- Maven
- Gradle
- Vite
- Webpack
- Tomcat
- Undertow
- NGINX
- Apache
- Microsoft Azure
- Amazon AWS
- Google Cloud
- Kubernetes
- Helm
- Prometheus
- Grafana
- Grafana Loki
- Terraform
- Git
- GitLab
- GitHub
- Azure DevOps
- Jira
- GitLab Issues
- Enterprise Application Integration
- Enterprise Integration Patterns
- O/R-Mapping
- objektorientierte Programmierung
- UML
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
- Lean Architecture
- Clean Architecture (Hexagonal)
- Domain-Driven Design
- Microservices
- Service-Orientierte Architektur (SOA)
- Design Patterns
- CQRS
- Event-Sourcing,
- Event-Driven Architecture (EDA)
- OAuth 2
- Lean Startup
- Scrum
- Kanban
- Xtreme Programming
- User-Story-Mapping
- Event-Storming
Projekthistorie
Des Weiteren habe ich bei der Optimierung und dem Neuaufbau der Entwicklungsumgebung auf Basis von GitLab, Harbor und Kubernetes unterstützt.
Für ein familiengeführtes Handelsunternehmen habe ich die Führung des Teams, das sich mit der Entwicklung des Tools zur Abbildung der Einkaufsprozesse im Unternehmen beschäftigt, übernommen. Neben der Koordinierung der Umsetzung von Change Requests, habe ich die einzelnen Mitarbeiter beim Wissensaufbau begleitet und die Modernisierung der Anwendung vorangetrieben.
Für einen Finanzdienstleister habe ich in der Rolle des Buildmanagers die Zusammenstellung von Releases koordiniert und durchgeführt. Zudem habe ich bei der Fehleranalyse mitgewirkt. Die Optimierung von CI/CD Pipelines in Jenkins, als auch in GitLab, fielen ebenfalls in mein Tätigkeitsgebiet.
Als Head of Development habe ich die Führung des Entwicklungsteams der Firma übernommen. Neben der Mitarbeiterführung habe ich die Themen Software-Architektur und Cloud-Umgebung verantwortet.
Durch Vorträge, Marketingmaßnahmen und Einbinden externer Partner ist es mir gelungen, die Teamgröße zu verdoppeln.
Als Abteilungsleiter habe ich das neue Produktsegment Check-in technologisch vorangetrieben und im Rahmen dessen eine Abstraktion für die Integration mit Property Management Systemen entworfen und die Implementierung begleitet.
Als Head of Architecture habe ich das Thema Kubernetes vorangetrieben und eine Plattform für den Betrieb der bestehenden Systeme aufgebaut. Neben den Eigenentwicklungen habe ich auf der Plattform Möglichkeiten zur Log- und Metriken-Analyse bereitgestellt.
Als Senior Software-Architect beriet ich die Kunden der einer Analystenfirma in den Themen Cloud, Kubernetes und PaaS. Zudem veröffentliche ich Beiträge auf der Website der Firma, die die strategischen Aspekte der Cloud Technologien beleuchten.
Als Teil des Site Reliability Engineering Teams verantworte ich den reibungslosen Betrieb mehrerer Kubernetes Cluster im Kundenauftrag.
Im Rahmen dieses Projekt wird ein bestehendes Transport-Management-System eines globalen-agierenden Spediteurs im norddeutschen Raum durch eine Neuentwicklung abgelöst.
Das neu entwickelte System basiert auf den Konzepten des Event-Sourcings und ist komplett event-getrieben.
Ziel des Projekts war die Erstellung eines Fachkonzepts für die Erfassung von Paketen und Einzeltiteln für Angestellte eines Verbunds für Bibliotheken. Die Anforderungen wurden in mehrere Workshops gesammelt und anschließend ausgewertet. Auf Basis der Ergebnisse habe ich mit dem Tool Figma Masken und Prototypen entworfen. Die Masken und Erkenntnisse habe ich anschließend in einem Fachkonzept festgehalten.
Ab März 2018 beriet ich ein Start-up, das für eine grobe Idee Hilfe bei der Umsetzung benötigte. In einem User-Story-Mapping Workshop half ich den Gesellschaftern ihre Idee zu konkretisieren. Die Ergebnisse des Workshops habe ich in einem Umsetzungskonzept festgehalten. Im weiteren Verlauf unterstützte ich das Start-up bei der Erarbeitung eines Lastenhefts.
Mit den mir zugeteilten Mitarbeitern habe ich die Produkte Kontowechselhilfe, Kontowechselservice betrieben und das Produkt Depotwechselservice realisiert. Zudem habe ich Fachinterviews mit externen Software-Entwickler durchgeführt und die Weiterbildung der Teammitglieder koordiniert.
Neben den Managementaufgaben habe ich auch Services entwickelt, die die tägliche Arbeit erleichtert. Dazu zählen ein Konfigurations-Server bei dem mandantenspezifische Optionen hinterlegt wurden und eine Adressdatenbank, die Kontaktdetails und Transaktionsdetails wie z.B. die Gläubiger-ID gehalten hat. Beide Dienste authentifizierten sich gegen einen OAuth2-Authentifizierungsserver, den ich auf Basis von Spring Security OAuth 2 entwickelt habe.
Im Rahmen des Tech-Boost-Programms erfolgte die Umstellung des Betriebs eines Start-ups auf die Open Telekom Cloud und auf Kubernetes. Während dieser Tätigkeit habe ich mehrere Installationsmethoden für Kubernetes evaluiert. Schlussendlich wurde die Container Cluster Engine der Open Telekom Cloud ausgewählt.
Das Ordnungswidrigkeitenverfahren einer Körperschaft des öffentlichen Rechts ist im bundesweiten Einsatz. Im Rahmen dieser Tätigkeit übernahm ich die Rolle des leitenden Software-Entwicklers und Software-Architekten. Das Verfahren wurde auf Basis einer Microservices-Architektur realisiert und nach den Prinzipien des Domain-Driven Design entwickelt. Die event-getriebene Architektur wurde mithilfe des Event-Sourcing-Patterns umgesetzt, um die Nachvollziehbarkeit zu gewährleisten.
Im Rahmen einer konzernweiten Strategie hat ein namhaftes deutsches Transportunternehmen das Projekt “Reisendeninformation der Zukunft” in Leben gerufen. Ziel des Projekts war eine höhere Qualität der Informationsweitergabe an Bahnsteigen. Während dieser Tätigkeit übernahm ich die Rolle des leitenden Entwicklers für die Backoffice-Anwendung des Gesamtsystems. Zudem unterstützte ich das Architektur-Team bei der Auswahl geeigneter Tools und Frameworks.
Die Anwendung basierte sowohl im Backend als auch im Frontend auf einer Microservices-Architektur und nutze zur Kommunikation Spring Integration und RabbitMQ.
Bei dieser Tätigkeit leitete ich die Entwicklung eines Logistik-Portals für Privatkunden. Ich übernahm eine Führungsrolle und entwarf in Abstimmung mit den Stakeholdern und dem Entwicklungsteam die Architektur für das Portal.
Im Rahmen dieses Projekts wirkte ich bei der Neu-Implementierung eines Services zur Provisionierung von Benutzerrechten aus Aufträgen eines deutschen Telekommunikationsanbieters mit. Ich implementiere Module gemäß dem Fachkonzept des Auftraggebers und testete die Module mit JUnit.
Bei dieser Tätigkeit wirkte ich bei Entwicklung der Betriebssoftware eines Telekommunikationsanbieters mit. Die Entwicklung erfolgte nach den Vorgaben eines Fachkonzepts und beinhaltete auch die Programmierung von Unit-Tests.