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
- 15.04.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
Apache Maven, Business Process Model and Notation (BPMN), Java (allg.), Spring
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 (JMS), 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 (Atlassian), 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 (BPMN), DB2, J2EE (Java EE), Java (allg.), jboss
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 Architektur / Modellierung, 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, SOA (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, SOA (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, EJB (Enterprise JavaBeans), J2EE (Java EE), Java (allg.), Java Architecture for XML Binding (JAXB), Jenkins, NetBeans, SOA (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