Architekt / Lead-Developer im Java EE & Microservices-Umfeld, Requirements Engineer, Clean Code-Coach & Domain-driven Design
- Verfügbarkeit einsehen
- 0 Referenzen
- 115‐120€/Stunde
- 94315 Straubing
- auf Anfrage
- de | en | fr
- 06.05.2024
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
1/2023 – 4/2024
Tätigkeitsbeschreibung
Durchführung von Proof-of-Concepts im Bereich Kraftfahrzeugsteuer:
- Evaluierung verschiedener Lösungsalternativen jeweils durch Implementierung eines Prototypen
- Definition der zugehörigen Ziel-Architektur für die neu zu entwickelnden Applikationen
- Erstellung von zwei jeweils ca. 90-seitigen Ergebnis-Dokumenten
- Durchführung von Last- und Performancetests mit den Prototypen
- Durchführung von Präsentationen für den Auftraggeber und den Endkunden
- PoC 1: Ablösung von IBM ODM durch eine DMN-basierte Lösung (Camunda DMN, Drools DMN)
PoC 2: Ablösung IBM Process Server durch Spring Integration mit JMS und/oder Camunda 8 mit Einarbeitung in die Camunda 8 Cloud Umgebung und Anbindung des intern gehosteten Spring/Jboss-Prototypen an den Prozess in der Camunda 8 Cloud sowie Ableitung daraus resultierender Architekturvorgaben
UML, XML, SOAP, Apache Maven, Business Process Model and Notation, Java (allg.), Spring Framework
4/2022 – 12/2022
Tätigkeitsbeschreibung
Phase 1:
• Konzeption eines Adapters für die Anbindung des alten
Stammdatensystems an die neue Portal-IT-Landschaft des BzSt
• Architekturdokumentation gemäß ARC42
• Erstellung der Arbeitspakete für die Entwickler
• Coaching der Entwickler bzgl. Clean-Code
• Durchführung von Code-Reviews
Phase 2:
• Review der Fachkonzepte und fachlichen Datenmodelle
• Architektur und Design des neuen Stammdatensystems
• Design des technischen Datenmodells auf Basis von Domain-driven
Design
• Analyse der Schnittstellen des Altsystems
• Abstimmung der neuen Architektur mit den Architekten der
Umsysteme und den Gesamtprojekt-Architekten
• Architekturdokumentation gemäß ARC42
• Erstellung der Arbeitspakete für die Entwickler
• Coaching der Entwickler
Java (allg.), Java Message Service, Software Design, UML
1/2022 – 4/2022
Tätigkeitsbeschreibung
Redesign des Billingsystems
- Fachliche Analyse IST/SOLL-Stand mit Durchführung von Online-Analyse-Workshops
- Design von REST-Services a) als Ersatz der direkten DB-Zugriffe des Billingsystems und b) zur Eliminierung von vielen Hartcodierungen im Billingsystem
- Integration der REST-Services in die bestehende Applikationslandschaft / Zuordnung der Services zu den passenden Bounded Contexts
- Bereitstellung der REST-Schnittstellen als Swagger/OpenApi3 Spezifikation
- Erstellung UML Diagramme (Usecases, Komponenten)
- Mockups für neue Billing-Administrations-UI (Balsamiq)
- Aufwandsabschätzung für Migration von Activiti BPM nach Camunda
Confluence, Enterprise Architect (EA), Java (allg.), Postgresql, Representational State Transfer (REST), UML
2/2021 – 12/2021
Tätigkeitsbeschreibung
• Entwicklung eines Java EE8-basierten Backends inkl. Camunda Business-Process-Engine
• REST-Service-Design mit Swagger/Yaml
• Business-Prozess Design und Implementierung
• Datenbank-Zugriff mit JPA2
• Definition von Architekur- und Design-Rahmenbedingungen unter Berücksichtigung von Domain-driven Design Prinzipien (Bounded Contexts, Aggregates)
• Vorgehensweise nach Scrum
• Abstimmung der Anforderungen mit den Business-Analysten
Business Process Model and Notation, IBM DB2, J2EE, Java (allg.), Wildfly
12/2020 – 2/2021
Tätigkeitsbeschreibung
Umsetzung eines Hundeportals:
• Design und Umsetzung des Datenmodells (ER-Diagramm, Cayenne Modeler)
• Umsetzung / Programmierung Frontend mit Play2
• Umsetzung / Programmierung Backend mit Java 8, Play2-Framework, Apache Cayenne
• Anbindung des here.com Geocoding Services für eine Umkreissuche
• Umsetzung der Bezahlfunktion mit Paypal
Docker, Eclipse, Java (allg.), JavaScript, Mongodb, Postgresql
10/2020 – 12/2020
Tätigkeitsbeschreibung
- Ermittlung der fachlichen Anforderungen mit Usecases und UI-Mockups (Balsamiq)
- Design und Umsetzung des Datenmodells (ER-Diagramm, Cayenne Modeler)
- Umsetzung / Programmierung Frontend mit Angular und PrimeNG
- Umsetzung / Programmierung Backend mit Java 8, Play2-Framework, Apache Cayenne
- Zentrale Definition der REST-Services mit Swagger incl. Generierung der Interfaces und Value-Objekte mit Swagger Codegen
- Anbindung des Systems an das Zammad Ticketsystem per REST
- Anbindung des Systems an das Easybill-System per REST
Angular, Docker, Eclipse, Java (allg.), Kubernetes, Mongodb, Postgresql
4/2020 – 9/2020
Tätigkeitsbeschreibung
Design und Entwicklung einer E-Commerce Anwendung zur
Automatisierung von Java 9 Modul-Konfigurationen (gem. Projekt "Jigsaw") in hexagonalen Microservice-Architekturen (Webbasiertes Entwickler-Tool).
Hinweis: Dies ist ein eigenes Lernprojekt, das ich in meiner Freizeit wenn
möglich zu einer real genutzten, gewerblichen E-Commerce-Anwendung
ausbauen möchte.
• Angular 9 (Frontend)
• Keycloak als Backend zur Authentifizierung und Authorisierung
• Java Backend mit Jax-RS REST Services als Backend / Eclipse Microprofile
auf Openliberty Server
Java (allg.), Angular
1/2019 – 9/2020
Tätigkeitsbeschreibung
Refactoring / Modularisierung einer Java EE7-basierten, monolithischen Altanwendung:
- Erarbeiten und Abstimmen der Zielarchitektur
- Redesign / Restrukturierung der bestehenden Module
- Identifikation von Refactorings u.a. anhand des Tools "Sonargraph"
- Durchführung von Refactorings
- Einführung von Maven als Build-System (Ablösung Ant/Ivy)
- Knowhow-Transfer zum Entwicklerteam bzgl. Domain-driven Design, Software-Architektur, Clean-Code, Maven, Sonargraph, SonarQube
- Coaching der Entwickler bei der Umsetzung der Refactorings
- Durchführung von Code-Reviews
- Continous Integration mit Jenkins
Enterprise Architect (EA), Software Architecture, Java (allg.), Jenkins
9/2018 – 12/2018
Tätigkeitsbeschreibung
- Definition der Architektur eines Prototypen
- Domain-driven Design: Domain-Modelle / Bounded Contexts / Aggregates
- Design des Komponentenmodells für den Prototypen
- Design der Datenflüsse und Abläufe zwischen den Komponenten
- Design von APIs anhand von UI-Mockups
- Design der physischen Deployment-Struktur (Cloud, Kubernetes)
UML, Serviceorientierte Architektur
2/2017 – 8/2018
Tätigkeitsbeschreibung
Als Business Analyst:
Erstellung von Business Usecases, Business Requirements, Durchführung/Leitung von fachlichen Workshops
Als Solution Architect:
Review von Fachkonzepten, Durchführung/Leitung von technischen Workshops, Erstellung von IT-Konzepten zur Integration eines neuen Scoring-Systems und einer neuen Business-Process-Engine in die bestehende Systemlandschaft mit der Zielarchitektur einer stark asynchronen Entkopplung. Erstellung UML- und BPMN2-Modelle.
Als Software-Architekt:
Design eines neuen Scoring-Systems, Design der externen System-API, Schnittstelle zum Entwickler-Team, Umsetzung der Requirements in technische Arbeitspakete, Modularisierung des Systems, Design des ER-Modells. Vorgaben zur Code-Qualität.
UML, Serviceorientierte Architektur
2/2016 – 1/2017
Tätigkeitsbeschreibung
- Design, Entwicklung und Dokumentation Basis-Komponenten unter Berücksichtigung von Clean-Code-Prinzipien, d.h. Erstellung des technischen Domainmodells der Basis-Entitäten incl. REST-Service Implementierung
- Querschnittliche Architekturthemen: REST-Service-Architektur (RMM Level 2), Java + JSON Serialization, Optimierung der Modul- und Package-Dependencies, Unterstützung der Entwickler speziell bei Java EE und Clean Code Fragestellungen, Durchführung Code-Reviews.
- Design und Entwicklung eines generischen Rest-Clients unter Berücksichtigung von Clean-Code-Prinzipien
UML, Java (allg.)
5/2014 – 2/2016
Tätigkeitsbeschreibung
- Fachliche Anforderungsanalyse anhand von Usecases und Requirements.
- Definition der IT-Architektur mit Java EE7 und einer Business-Process-Engine (Erstellung eines IT-Architektur-Dokuments und diverser Prototypen)
- Zerlegung einer monolithischen Altanwendung in Domains / Microservices
- Design der Komponenten und Schnittstellen mit XSD/XML/REST und EJBs
- Einführung einer SCRUM-basierten, agilen Vorgehensweise
- Erstellung eines Entwicklerleitfadens incl. Definition des Softwareentwicklungsprozesses und Java-Programmierrichtlinien
- Durchführung von Inhouse-Schulungen zu Java EE, BPMN / Activiti, Clean-Code, TDD, Maven
- Analyse und Design der einzelnen Arbeitspakete für die Entwickler
- Coaching der Entwickler bei der Umsetzung der Arbeitspakete
- Review, Anpassung und Weiterentwicklung des Datenmodells incl. Design der Datenzugriffsschicht mit JPA2
- Design des Administrations-Frontends mit Balsamiq
- Design und Umsetzung eines Integration-Test-Frameworks incl. Frontend
- Einführung Java8 Functional Style Programmierung
- Konfiguration der CI-Umgebung (Git, Jenkins)
UML, Enterprise Javabeans, J2EE, Java (allg.), Java Architecture for XML Binding (JAXB), Jenkins, Netbeans, Serviceorientierte Architektur
Ausbildung
Regensburg
Über mich
Weitere Kenntnisse
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Fließend)
- Französisch (Grundkenntnisse)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden