Senior Kotlin / Javascript Fullstack Entwickler / Berater im Bereich Quarkus / Jakarta EE / Cloud
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- 77855 Achern
- auf Anfrage
- de | en
- 01.11.2024
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
1/2024 – 9/2024
Tätigkeitsbeschreibung
Erweiterung einer Quarkus 3.x / Java 21 / Azure Lösung als Solo-Entwickler und Architekt, u.a.
Fakten- und Vorschlagsberechnung für einen komplexen jährlichen Inventurvorgang
• Ziel: Bessere und gesichertere Entscheidungen bei deutlich reduziertem manuellem Aufwand; Kostenreduktion durch verlässlichere Entscheidungen
• Vorschlagsberechnung anhand eines Regelkatalogs und unter Einbindung einer größerer Anzahl von Stammdaten
• Einführung einzelner neuer Stammdaten mit Pflegemöglichkeiten
• Darstellung der Vorschläge und Fakten in der existierenden Oberfläche; Möglichkeit zur Übernahme
• Job für tägliche Neuberechnung
Migration und teilweise Reimplementierung der bestehenden Inbox Lösung für zwei Request Workflows
• Neuimplementierung der Inbox und Task Screens mittels React ohne Anpassung des Backends
• Einbindung und Unterstützung der alten Work Items
• Umfangreiche Filtermöglichkeiten; Bookmark support
• Vorbereitung auf spätere Camunda Migration oder Neu-Implementierungen
Implementierung eines Voting Prozesses mittels Camunda BPM
• Embedding / Integration von Camunda BPM 7.20 als BPMN workflow runtime
• Automatisierung des „Voting“ BPMN Modells mittels Camunda 7.20; Persistence und Servicelogik
• Synchronisation von Benutzern / Gruppen zu Camunda BPM
• Impementierung des WorkItem Uis als React Komponente(n) anhand von UX Vorgaben; Einbindung der Work Items in die neue Inbox Lösung
• Admin Oberfläche für Request / Prozess Status sowie Batch Bearbeitung; Aktualisierung von Benutzern
Neuimplementierung einer Schnittstelle für Umsatzdaten in verschiedenen Versionen
• Unterstützung und Prozessierung von Massendaten in granularer Form; Job für tägliche Neuberechnung
• Optimiertes Datenmodell; Berechnung und Aggregation in verschiedenen Varianten
• Anpassung der Anwendung sowie Neuerstellung von Ansichten zur Nutzung der granulareren Varianten
• Erstellung von verschiedenen Charts und Microcharts
Performance Optimierung der JPA / Hibernate Persistenzschicht
• Analyse der Schwachpunkte und Optimierungsmöglichkeiten, um das Laden wichtiger Entitäten sowie die Ausführung von Jobs zu beschleunigen
• Optimierung und Vereinfachung des Datenmodells
• Auslagerung einzelner Berechnungen und Abfragen in optimierte Datenbank Views und Procedures
• Nutzung einzelner neuer Hibernate 6.x Funktionen
AI Prototyp mittels Langchain4j
• Anbindung an LLM Modelle mittels einer existierenden OpenAI kompatiblen API und Langchain4j
• Implementierung einzelner Usecases wie strukturierte Text Extraktionen zur Verifikation des Prototyps
Sonstiges
• Allgemeine Maintenance, Support, Monitoring
• Optimierung der GitHub Actions basierte Build- und Deployment pipelines; Fortlaufendes Ausrollen neuer Releases
• Neuimplementierung oder Erweiterung einzelner Schnittstellen; Vorbereitung eines Clients an eine existierende Kafka Datenquelle
• Neuimplementierung einzelner Reports
• Einbindung eines Power BI Dashboards in die Anwendung mittels PowerBi Embedded und Microsoft Entra ID / OpenID connect
• Aktualisierung wichtiger Stammdaten über verschiedene Inline Cell Editoren; Unterstützung von Batch Updates
• Anpassung der Anwendung an UX Vorgaben und Verbesserungen
• Sprint- und Releaseplanung
• ...
Rolle: Entwickler, Architekt
Verwendete Technologien: Quarkus 3.x, Kotlin 2.x, Java 21, Eclipse Microprofile, Jakarta EE, JPA, Hibernate 6.x,, React, OpenId Connect, Microsoft Entra ID / Azure AD, Github Actions, Langchain4j, OpenAI API, chart.js
Verwendete Tools: GitHub, Azure DevOps, IntelliJ, Figma, Gradle 8.x, Camunda BPM 7.20, Apache Kafka
Verwendete Azure Dienste: Microsoft Entra ID / Azure AD, Azure DevOps, App Service, Key Vault, Monitor, Azure SQL, Data Factory, Azure DNS, etc
Business Process Model and Notation, Kotlin, Langchain
1/2023 – 12/2023
Tätigkeitsbeschreibung
Transformation einer on premise Java EE 6 Altanwendung, mit proprietären Bestandteilen, in eine moderne cloud basierte Quarkus 3.x / Java 17 Lösung als Solo-Entwickler und Architekt
Phase 1: Planung
• Erarbeitung einer Zielarchitektur und Wahl von Zieltechnologien unter Berücksichtigung von Vorgaben und Begebenheiten;
• Berücksichtigung Wunsch nach vorübergehendem Parallelbetrieb der Altlösung und frühzeitiger Produktivnutzung der neuen Lösung für ausgewählte Benutzer
• Evaluierung und Auswahl der Azure Runtime Services: App Services, Azure Key Vault, Monitoring, Domains, etc
• Bereitstellung eines minimalen POCs u.a. um Netzwerk- bzw Firewallprobleme ausschließen zu können
• Auswahl und Verifizierung von Frontend und Backend Zieltechnologien
Phase 2: Migration Backend
• Umstellung des backend builds von einer proprietärer Ant basierten Lösung auf Gradle
• Neu-implementierung Applicationserver spezifischer Teile:
◦ Authorisierung mittels OpenId Connect / Azure AD
◦ Benutzerverwaltung mittels Azure AD / MS Graph API als Backend
• Upgrade der Systemkomponenten auf aktuelle (Quarkus 2.x) Versionen
◦ Migration der Java EE 6 Beans auf CDI und Jakarta EE apis
◦ Hibernate 3.x auf Hibernate 5.6 und Anpassungen von Inkompatibilitäten
◦ Migration von Hibernate Criteria API auf JPA 2.x Criteria API
◦ ...
• Containerisierung des Backends
• GitHub Actions basierte Build- und Deployment pipelines für Backend
Phase 3: Migration Frontend
• Anpassung des alten Javascript SPA UIs, Containeriseirung sowie neues Buildsystem
• Einbettung des Javascript UIs in ein PrimeReact basiertes Template als Ersatz für die Portallösung des Anwendungsservers und als Vorbereitung auf die spätere React Neuimplementierung
• Bereitstellung als NGINX container
• Neuimplementierung ausgewählter Uis mittels React
• GitHub Actions basierte Build- und Deployment pipelines für Frontend
Phase 5: Anpassung Schnittstellen
• Anpassungen um bestehende Schnittstellen ohne Änderungen der Konsumenten weiter betreiben zu können
• Erstellung einer Proxy-Schicht für einzelne Schnittstellen zu Legacy Systemen
• Anpassung sowie Weiterleitung verschiedener Links in / zu Altanwendung, z.B. innerhalb von Mailbenachrichtigungen
Phase 5: Azure Setup und Rollout
• Erstellung der Azure Resourcen für mehrere Stages
• Anbindung der einzelnen Azure Services in die Anwendung
• Migration bestehender Benutzer, Rechte und Gruppen zu Azure AD
• Azure Monitor Anbindung und Setup incl. Application Insights
• Schrittweise Ablösung von Funktionalitäten in Legacy System
Phase 6: Implementierung funktionaler Enhancements (migrationsunabhängig)
• …
Phase 7: Datenbank Migration (Oracle → MSSQL / AzureSQL)
• Vorbereitung der Datenbankmigration von Oracle auf Azure SQL (MS SQL)
• Anpassung der Anwendung um zusätzlich (parallel) MSSQL / AzureSQL zu unterstützen
• Initialer Datentransfer mittels bereitgestelltem Azure Data Factory
• Anpassung bzw Migration einzelner datenbankspeziefischer Funktionen
Rolle: Entwickler, Architekt
Verwendete Technologien: Quarkus 3.x, Kotlin, Java 17, Jakarta EE, JPA, Hibernate 6.x,, React, OpenId Connect, Azure AD, Github Actions
Verwendete Tools: GitHub, Azure DevOps, IntelliJ, Figma
Verwendete Azure Dienste: Azure AD, App Service, Key Vault, Monitor, Azure SQL, Data Factory, Azure DNS, etc
Hibernate (Java), J2EE, Java (allg.), Microsoft Azure, React (JavaScript library), Software engineering / -technik
3/2022 – 12/2022
Tätigkeitsbeschreibung
* Erarbeitung und Prototypen von Integrationsoptoinen zwischen einer embedded Lösung und Webtechnologien, insbesondere mittels Chromium als Integrationstechnolgie
* Beispiele für Datenaustausch (bi-direktional) zwischen Embedded und Web technologien
* Integration von Beispiel Web Anwendungen in die Embedded Lösung
* Anpassungen und erweiterungen innerhalb der Embedded Lösung
* Entwicklung von nativen und web Beispielwidgets
JavaScript, Qt (Software), Software engineering / -technik
12/2021 – 2/2022
Tätigkeitsbeschreibung
Erstellung einer Anwendung, um Benutzern zu erlauben, ihre Wochenpläne auf SocialMedia (Twitter, Facebook, Pinterest) zu teilen als Showcase für ein API Gateway sowie Marketing
Erstellung des Backend mittels Quarkus / JPA / PostgreSQL und Benutzung einer existierenden API für Wochenpläne
Erstellung des Frontends mittels Preact / MUI für Web und Mobile Web um Wochenpläne zu teilen und einer Landing Page zur Darstellung des geteilten Wochenplans
Erstellung einer React Komponente um SocialMedia Vorschaubilder aus einer variablen Anzahl von Bildern dynamisch zu erzeugen
Erstellung einer Nginx basierten Lösung um Social Media meta tags individuell für jeden geteilten Wochenplan bereitzustellen
Heroku Deployment durch zwei GitLab pipelines, die Docker / Container images für Frontend und Backend erstellen und deployen
Zweite Phase: Migration auf AWS
Bereitstellung des Frontends über AWS Cloudfront und AWS S3
Deployment des bestehenden backend containers in AWS EKS
Anbindung an vorgegebene Monitoring, Tracing, Logging, Security Scanner, und weitere Infrastruktur
Anpassungen und Optimierungen um auch größere Peaks zu ermöglichen, u.a. durch CloudFront Caching, Container Auto-scaling sowie einzelnen dedizierten Optimierungen
Planen, erstellen und durchführen (mittels Stormforgers) eines Performancetests
Produktivsetzung und Rollout
Erstellung von Deployment pipelines mittels ArgoCD / GitOps
Postgresql, Amazon Web Services (AWS), Java (allg.), React (JavaScript library)
10/2021 – 2/2022
Tätigkeitsbeschreibung
Erstellung einer Anwendung, um Benutzern zu erlauben, ihre Wochenpläne auf SocialMedia (Twitter, Facebook, Pinterest) zu teilen als Showcase für ein API Gateway sowie Marketing
Erstellung des Backend mittels Quarkus / JPA / PostgreSQL und Benutzung einer existierenden API für Wochenpläne
Erstellung des Frontends mittels Preact / MUI für Web und Mobile Web um Wochenpläne zu teilen und einer Landing Page zur Darstellung des geteilten Wochenplans
Erstellung einer React Komponente um SocialMedia Vorschaubilder aus einer variablen Anzahl von Bildern dynamisch zu erzeugen
Erstellung einer Nginx basierten Lösung um Social Media meta tags individuell für jeden geteilten Wochenplan bereitzustellen
Heroku Deployment durch zwei GitLab pipelines, die Docker / Container images für Frontend und Backend erstellen und deployen
Git, Java (allg.), Kubernetes
7/2021 – 9/2021
Tätigkeitsbeschreibung
Erstellung eines konfigurierbaren Widgets als WebComponent anhand UX Vorgaben ähnlich eines Facebook buttons um den Import von Rezepten von Partnerseiten zu ermöglichen
Bereitstellung in einer Vielzahl von Varianten: Form (einzeilig, mehrzeilig, icon, teaser), Sprache (> 20), Themes, CSS Support
Initiale Bereitstellung der Backend API und Partnerkonfiguration in einem existierend NodeJS Projekt und Übergabe an das Team
Erstellung eines Release Prozesses und einer Gitlab Deployment Pipeline in ein S3 Bucket
Unterstützung beim Rollout für mehrere Europäische Märkte und Partner
Amazon Web Services (AWS), DevOps, JavaScript, Typescript
6/2021 – 12/2021
Tätigkeitsbeschreibung
*Übernahme. Refactoring und Weiterentwicklung einer Spring Boot / MongoDB / Angular 11 Anwendung (Übernahme aus Prototypenstatus)
* Erstellung einer Referenzarchitektur und Implementierung
* Anwendungskomponenten im Backend und Frontend (u.a. Orderprozess incl Invoicehandling, Fileupload mittels AWS S3 Backend für verschiedene Bereiche, Country Picker, Referenzkomponente für Tabellen, etc)
* Umzug der Anwendung nach AWS und Aufbau der AWS Architektur auf Basis von AWS ECS, Cloudfront, S3, Cognito, Route 53, Copilot; Unterstützung verschiedener Umgebungen
* Erstellung von GitLab Build und Deployment pipelines zum automatischen und semi-automatischen rollout der einzelnen Anwendungsteile
* Analyse und Beschreibung von verschiedenen Sicherheitsproblemen und Korrektur bzw Umbau nach Priorität
* Refactoring und Vereinfachung des Datenmodells, incl vereinfachung von MongoDB queries
* Mentoring von Junior Entwicklern (Frontend + Backend)
Amazon Web Services (AWS), Angular, Ansible, Java (allg.), Jira, Mongodb, Spring Framework, Typescript
10/2020 – 6/2021
Tätigkeitsbeschreibung
* Bewertung, Anpassung und Anbindung einer proprietären Blockchainlösung an eine neue Cosmos basierte Lösung
* Evaluierung und Bewertung wichtiger am Markt befindlicher Lösungen wie Hyperledger, Cosmos, Ethereum oder DAML
* Aufbau von Detailwissen sowie Evaluierung für einen Solidity / Ethermint / NodeJS basierten Stack inklusive Auswahl von Werkzeugen und Bibliotheken wie EthersJs
* Erstellung einer Referenzarchitektur und Implementierung praxisrelevanter Usecases für den Solidity / Ethermint basierten Stack
* Erarbeitung von Migrations- und Integrationsszenarien für die bisherige propietäre Lösung und Beratung der Technischen Leitung
Bereitstellung einer Entwicklungsumgebung (Tools, Beispiele, Abhägigkeiten, etc) für den Solidity / Ethermint Stack basierend auf Vagrant und Ansible
* Erstellung einer Bewertung der bisherigen propietären Lösung und Ihrer Komponenten sowie einer priorisierten Liste an Verbesserungs- und Vereinfachungsmöglichkeiten sowie Darstellung von Problemfeldern
Ansible, Blockchain (allg.), JavaScript, Solidity, Typescript, Vue.Js
Ausbildung
Hochschule Karlsruhe (HKA)
Karlsruhe
Über mich
Design und Umsetzung von Softwareprojekten im Java und Javascript/Typescript Umfeld (insbesondere Kotlin Jakarta EE / Quarkus / Spring / React / Angular / Camunda), Selbstständig oder innerhalb eines Teams
Erarbeitung von Referenzarchitekturen (Backend und Frontend) incl Frameworkauswahl, etc unter Berücksichtigung der kundenspeziefischen Randbedingungen
Erarbeitung von Spezifikationen / Userstories / Mockups zusammen mit Fachabteilungen oder Produktverantwortlichen; Unterstützung der Projektleitung, z.B. als ScrumMaster soweit gewünscht
Analyse und Bewertung existierender Architekturen; Aufzeigen von Vereinfachungs- und Verbesserungsmöglichkeiten, Schwachpunkten, möglichen OpenSource Alternativen für einzelne Komponenten und Schichten; Erarbeitung von Migrationspfaden
Automatisierung von Businessprozessen mittels Camunda BPM incl Service- und Persistenzschicht, UIs mittels Angular oder React; Anbindung an Backends sowie Bereitstellung von Analysefunktionen; Incl Beratung und Erarbeitung einer Zielarchitektur
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Fließend)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden