Software Engineering
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- Bayern
- Nähe des Wohnortes
- de | hr | en
- 25.05.2024
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
1/2024 – 2/2024
Tätigkeitsbeschreibung
Die Antwortzeiten eines zentralen Service innerhalb der Microservice-Architektur sind bei steigendem Volumen an Events/Anfragen, insbesondere bei Lastspitzen, nicht mehr zufriedenstellend gewesen. Um dem entgegenzuwirken, wurde entschieden das CQRS-Pattern anzuwenden. Der ursprüngliche Service sollte weiterhin die Commands, also den schreibenden Zugriff, ausführen. Allerdings soll nach jeder erfolgreichen Command-Ausführung zusätzlich ein Event gepublisht werden, welches Informationen über Datenänderungen enthalten soll. Als Reaktion auf dieses Event sollen die Datenänderungen an einen neuen Service propagiert werden. Dieser neue Service soll die Queries, also den read-only-Zugriff, bedienen und ein eigenes Query-Modell besitzen. Das Query-Modell soll lediglich aktuelle Snapshots des Datenbestandes in optimierter Form beinhalten. Als ersten Schritt habe ich die Command-Handler angepasst und begonnen die Messung der Ausführungszeiten mit Micrometer zu implementieren.
Tätigkeit/Rolle: Entwickler
Technologien/Tools: Spring Boot, Spring Data, Spring MVC, Java 17, Kafka, JPA, Hibernate, Micrometer, Mockito, JUnit, AssertJ, Kubernetes, Docker, PostgreSQL, MongoDB, Graylog, OpenAPI, REST, JSON, IntelliJ, Maven, Gradle, Git, BitBucket, Jenkins, Jira, Confluence
Teamgröße: > 10
Projektgröße: > 20
Einsatzort: Kunde/Remote
Besonderheiten: DDD, sehr spezifisches Vorgehensmodell
Projektsprache: Englisch/Deutsch
Apache Kafka, Hibernate (Java), Java (allg.), Junit, Spring Framework, Kubernetes
4/2022 – 12/2023
Tätigkeitsbeschreibung
Entwicklung Backendservices für Provisionsabrechnungen
Bei einem bekannten Telekommunikationsanbieter war ich als Entwickler tätig. Der Schwerpunkt meiner Tätigkeit lag im Bereich der Provisionierung von Vermittlerverträgen. Ich habe bestehende Spring-Boot REST-Services refactored, neue Services vollständig nach vorhandener Spezifikation entwickelt und bestehende Service und Bibliotheken an neue Anforderungen angepasst. Zum weiteren Spektrum gehörte die Dokumentation der REST-Services in OpenAPI-Standard, die Reduzierung der Abhängigkeiten zu proprietären Bibliotheken, z.B. JPA vs. Hibernate, und Technologieupgrades, z.B. Spring Boot 2.3 auf 2.7.
Tätigkeit/Rolle: Entwickler
Technologien/Tools: Spring Boot, Spring Data, Spring MVC, OpenFeign, Java 11, JPA, Hibernate, EasyMock, Mockito, JUnit, AssertJ, Kubernetes, Docker, SysBase, OpenApi, Swagger, REST, JSON, IntelliJ, Maven, Git, BitBucket, Jenkins, Jira, Confluence, Soap UI
Teamgröße: < 10
Projektgröße: < 10
Einsatzort: Remote
Besonderheiten: Wasserfall/Kanban, sehr gutes techn. Design, ein begnadeter technischer PO
Projektsprache: Deutsch/Englisch
Apache Maven, Docker, Hibernate (Java), Java (allg.), Spring Framework, Kubernetes
10/2020 – 11/2021
Tätigkeitsbeschreibung
Weiterentwicklung Loyalty Plattform
Bei der Weiterentwicklung der Loyalty-Plattform einer großen deutschen Airline habe ich als Architekt, Coach und Entwickler hauptsächlich folgende Aufgaben übernommen:
• Architektonische Beratung
• Erarbeitung Vorgaben für eine REST-API
• Coachen des Entwicklungsteams im Hinblick auf Architektur- und Designprinzipien (v.a. SOLID)
• Begleitung von Changes als verantwortlicher Architekt
• Review von Fachkonzepten/User Stories/Code
• Umsetzung komplexer Changes
• Analyse/Fixen von Produktions-Bugs.
Tätigkeit/Rolle: Architekturberatung, Coaching, Implementierung, Design, Architekt/Coach/Entwickler
Technologien/Tools: JEE 7, Spring 4, Spring-Boot 2, Hibernate 4, Apache Kafka, JSF, Spring WebFlow, RichFaces, REST, JSON, JAXB, JMS, CDI 2.0, Apache Tomcat, Oracle WebLogic, Oracle DB, IntelliJ, Maven, Git, GitLab,Jenkins, Mockito, JUnit, SonarQube, Jira, OpenAPI/Swagger, Postman, Caliber
Teamgröße: > 10
Projektgröße: > 20
Einsatzort: Kunde/Remote
Besonderheiten: Schnelles Aneignen komplexer Sachverhalte, ein ganzes Team motivieren besseren Code zu schreiben
Projektsprache: Deutsch/Englisch
Ajax, Apache Maven, Confluence, Enterprise Javabeans, Git, Hibernate (Java), J2EE, Jira, Javaserver Faces, Junit, Schulung / Coaching (allg.), Weblogic (Oracle)
1/2020 – 6/2020
Tätigkeitsbeschreibung
Während eines Customizing-Projektes eines Loyalty-Produktes habe ich abwechselnd zwei Customizing-Teams aus unterschiedlichen Unternehmen bzgl. folgender Aspekte gecoached:
• Architektur- und Customizing-Konzepte
• Airline-Loyalty-Prozesse
• Planung und Design für zwei Realeses
• Sparring bei Implementierung inkl. pair programming
Außerdem war ich die Schnittstelle zum Produkt-Team bzgl. Guidelines für Designentscheidungen und habe Blueprint-implementierungen für komplexe Solution-Konzepte bereitgestellt. Des Weiteren habe ich die Projektverantwortlichen bei der Verbesserung der Abläufe im Projekt, insbesondere des Informationsflusses zwischen Anforderungsermittlung und Entwicklung beraten.
Tätigkeit/Rolle: Implementierung, Design, Beratung zur Vorgehensweise, Coach, Entwickler/Berater
Technologien/Tools: JEE 7, Spring 4, Spring-Boot 2, Spring Batch, Hibernate 4, JSF, RichFaces, REST, JAXB, JMS, CDI 2.0, Apache Tomcat, Oracle WebLogic, Oracle DB, IntelliJ, Maven, SVN, Git, Jenkins, Mockito, JUnit, SonarQube, Jira, OpenAPI/Swagger, Postman, Archway
Teamgröße: > 10
Projektgröße: > 20
Besonderheiten: Schnelles aneignen komplexer Sachverhalte, intensives Coaching eines unbekannten Teams, Schnittstelle zwischen Teams aus zwei Unternehmen, Vermittlung von fachlichem und technischem Know-How
Projektsprache Deutsch/Englisch
J2EE, Representational State Transfer (REST), Spring Framework, Training - Coaching-Kompetenzen
9/2016 – 12/2019
Tätigkeitsbeschreibung
Ein Kunde, für den ich bereits während der Ablöse des Altsystems die Datenmigration spezifiziert habe, hat mich als Entwickler für die Weiterentwicklung der Loyalty-Plattform einer großen Airline beauftragt. Das Team ist sehr international besetzt und daher ist die Projektsprache auch Englisch. In zwei stark an Scrum angelehnten Teams wird die Software kontinuierlich angepasst. Geänderte oder neue Anforderungen sowie Bug-Fixes werden innerhalb einer performanten Anwendung umgesetzt. Davon sind häufig die zahlreichen technologisch unterschiedlich umgesetzten Komponenten und Schnittstellen betroffen. So ist beispielsweise eine neue REST-Schnittstelle entstanden, die technologisch durch eine neue Spring-Boot-Anwendung umgesetzt wurde. Gerade auch deshalb ist es wichtig die nichtfunktionalen Anforderungen und „technical Debts“ immer wieder zu betrachten, sodass die hervorragende Architektur auch weiterhin trägt. Komplexe Business-Regeln und die dynamische Business–Konfiguration, sowie die hohen Anforderungen des Betriebs, erhöhen die Komplexität nochmals bedeutend.
Tätigkeit/Rolle: Implementierung, Refactoring, Design, Beratung zur Vorgehensweise, Bugfixing, Upgrade Java 7 zu Java 8, Upgrade Weblogic 11g zu Weblogic 12c, Upgrade JEE 5 zu JEE 7, Entwickler/Berater
Technologien/Tools: JEE 5/7, Spring 4, Spring-Boot 1/2, Hibernate 4, JSF, PrimeFaces, REST, JAX-WS, JAXB, JMX, jBPM, aspectJ, Apache Tomcat, Oracle WebLogic, Oracle DB, Eclipse, IntelliJ, Maven, SVN, Git, Jenkins, Mockito, JUnit, SonarQube, Jira, Borland Caliber, FitNesse, DBUnit, SoapUI
Teamgröße: > 10
Projektgröße: > 20
Besonderheiten: Wasserfall in Konzeption und Scrum in der Entwicklung, sehr viele Schnittstellen zu Nachbarsystemen und heterogene Technologien, komplexe Business-Regeln, Projektsprache Englisch
Scrum, Oracle WebLogic Server Enterprise Edition (EE), Software Architecture, Software Design, Hibernate (Java), J2EE, Java Architecture for XML Binding (JAXB), Spring Framework, SOAP, Representational State Transfer (REST), WSDL (Web Services Description Language)
9/2015 – 8/2016
Tätigkeitsbeschreibung
Neuentwicklung einer Anwendung für die Produktionsplanung in einem iterativ-inkrementellen Vorgehen. Implementierung einer hochkomplexen Berechtigungskomponente.
Tätigkeit/Rolle: Tech-Lead, Software-Architekt, Implementierung, Refactoring, Bugfixing, Coaching, Optimierung Vorgehensmodell, Design und Implementierung eines Rollen- und Rechtemodells inklusive Berechtigungsprüfung, Umsetzung der Client-Server-Authentifizierung mittels X.509 Zertifikaten
Technologien/Tools: JEE 6, EJB 3.1, CDI 1.0, REST, JAX-RS 1.1, JavaFX 8, JPA 2.0, EclipseLink 2.3.2, Mockito 1.10, JUnit, Glassfish 3.1, Oracle DB 12c, SQL-Developer 4.1, Maven, Eclipse, Jenkins, SonarQube, Confluence, Jira, MagicDraw 18, HP ALM, SVN
Teamgröße: > 10
Projektgröße: > 20
Software Architecture, Software Design, UML, J2EE
8/2014 – 7/2015
Tätigkeitsbeschreibung
Die Plattform für ein großes Kundenbindungsprogramm wird nach Scrum-Vorgehen weiterentwickelt. Sie kommt in unterschiedlichen Ländern zum Einsatz und muss somit länderspezifische Anforderungen umsetzen sowie länderspezifische Konfigurationen zulassen. Die Komplexität wird durch eine Vielzahl verteilter Komponenten sowie international verteilte Entwicklerteams erhöht. All dies hinterlässt Spuren an der Architektur und dem Design von Komponenten. Um die Plattform weiterhin betreibbar, anpassbar und wartbar zu halten ist es notwendig bei Bedarf iteratives Redesign und Refactoring durchzuführen und neues technische Konzepte auszuarbeiten und umzusetzen.
Tätigkeit/Rolle: Software-Architekt, Business-Architekt, technisches Redesign und Refactoring von Komponenten im Backend, Abstimmungen mit Business Analyse, Bugfixing
Technologien/Tools: JEE 6, EJB 3.1, CDI 1.0, JAX-WS 2.2, JMS 1.1, JPA 2.1, Hibernate 4.1, JAXB 2.2, Spring 3.1, Mockito 1.9.5, JUnit 4.11, Oracle Weblogic 12c, Oracle Database 11g, Apache Tomcat 7, Maven, Eclipse, Jenkins, Confluence, Jira, ProVision 6.2, SVN
Teamgröße: > 10
Projektgröße: > 50
Besonderheiten: Sehr hohe Agilität, verteilte internationale Teams, hoher Abstimmungsaufwand, hohe Anzahl von verteilten Komponenten
Software Design, J2EE
12/2011 – 4/2014
Tätigkeitsbeschreibung
Web-Anwendung zur Verwaltung von Kunden-, Vertrags- und Rechnungsdaten des kroatischen Reiseveranstalters. Automatisierte Generierung von Verträgen und Rechnungen im docx-Format, sowie verschiedenen Auswertungen im xlsx-Format. Rechnungsdaten werden Gesetzesvorgaben nach durch eine Web-Service-Schnittstelle automatisiert an die kroatische Steuerbehörde übermittelt.
Tätigkeit/Rolle: Vollständige fachliche und technische Konzeption, Design, Neuentwicklung, Weiterentwicklung, Betrieb
Technologien/Tools: JEE 5, Java, JBoss Seam 2.2, JSF 2.0, EJB 3.0, JPA 2.0, Hibernate 3.5, RichFaces 3.3, MySQL 5, MySQL Workbench, JBoss AS 5.1, Apache Tomcat 7, WS-I, SOAP/HTTPS, XMLDsig, XML, docx4j, Apache POI, Eclipse, Ant
Teamgröße: 1
Besonderheiten: Vollständige Umsetzung
Software Design, Software Architecture, Hibernate (Java), J2EE
11/2011 – 9/2013
Tätigkeitsbeschreibung
Weiterentwicklung des Expertensystems SWL zur Verwaltung von Software und Metadaten von E/E-Komponenten über alle Phasen des Produktentstehungsprozesses und des Produktlebenszyklus. Diese Daten werden an Werke und den Service ausgeliefert und während der Montage bzw. im Servicefall verwendet. Dieses System bildet eine sehr komplexe fachliche Logik ab, die aus einer Vielzahl von Prozessen besteht.
Tätigkeit/Rolle: Software-Architekt, Requirements Engineer, Entwickler, Teilprojektleiter, Vertretung technisches Chefdesign
Technologien/Tools: JEE 5, Bea Weblogic 10, EJB 3.0, JSP, JPA 2.0, Servlets, JiBX, Hibernate 3.6, Spring 2, Apache Maven 2.2, Ant, Jenkins, Mockito, HSQLDB 1.8, Java 1.5, Eclipse, NetBeans, Oracle 10g, Squirrel SQL Client, DbVizualizer, JFormDesigner, MagicDraw, YourKit Profiler, SVN, HP-Quality Center, MS Office, MS Project
Teamgröße: > 20
Besonderheiten: Verteiltes internationales Team, Performance-Analysen, technischer und fachlicher Experte für Teilsystem „KIS-AL“
Software Architecture, Software Design, J2EE, Requirement Analyse, Technische Projektleitung / Teamleitung
4/2011 – 8/2011
Tätigkeitsbeschreibung
Im Rahmen des unternehmensweiten Programms soll die bestehende IT-Landschaft des Kunden schrittweise in eine SOA überführt werden.
Tätigkeit/Rolle: Beratung des Enterprise Architekten und des CIO, Erstellung von unternehmensweit bindenden Architekturrichtlinien als IT-Architekt, Programmplanung, beratender Software-Architekt in laufenden Projekten
Technologien/Tools: MS-Office
Teamgröße: 6
Besonderheiten: Beratung auf Management-Ebene
9/2010 – 3/2011
Tätigkeitsbeschreibung
Schrittweise Ablöse des Geschäftswageninformationssystems für die Verwaltung von Geschäftswagen und Direktkunden eines Automobilherstellers. Dies beinhaltet sowohl die Bestellung von Automobilen, als auch Vertrags- und Rechnungsabwicklung mit Schnittstellen zu verschiedenen Nachbarsystemen wie SAP.
Tätigkeit/Rolle: Requirements Engineering und Workshop-Leitung als fachlicher Architekt
Technologien/Tools: Enterprise Architect, MS-Office
Teamgröße: > 15
Besonderheiten: –
Requirement Analyse
9/2009 – 9/2010
Tätigkeitsbeschreibung
Big Bang-Ablöse der Plattform eines sehr erfolgreichen Loyalty-Systems einer der größten Fluggesellschaften weltweit. Die Komplexität dieser Aufgabe ergibt sich nicht nur durch die enorme Anzahl an Geschäftsprozessen und Systemschnittstellen, sondern auch durch die Migration der äußerst umfangreichen und vielschichtigen Datenbasis auf welche zugegriffen wird. Die Fachlichkeit des Altsystems wurde während einer langen Analysephase erstmals zentral dokumentiert und während des Projektes um weitere Business-Prozesse erweitert, die dem Unternehmen kürzere time to market ermöglichen. Die Softwareplattform und die Datenhaltung wurden vollständig neu designed und entwickelt.
Tätigkeit/Rolle: Datenmigrationsarchitekt, Analyse und Abbildung bestehender Business-Prozesse und Daten auf die neue Plattform, Erstellung von Mapping-Spezifikationen, Workshop-Leitung
Technologien/Tools: Oracle 11g, Toad SQL-Client, MS-Office, Jira
Teamgröße: > 50
Besonderheiten: Großprojekt, sehr hoher Abstimmungsaufwand
Zertifikate
Ausbildung
München
München
Über mich
• Software-Engineer für Java/JEE/Spring, der auch die fachliche Sprache versteht und Kollegen coachen kann.
• erfahrenen und zertifizierten Software-Architekten, der nicht funktionale Anforderungen in eine pragmatische Architektur gießt und Ergebnisse/Vorgaben verständlich dokumentiert und kommuniziert, aber auch sehr gerne Hands-On-Hilfestellungen und Coaching von Teams durchführen kann.
• Requirements Engineer, der dem Fachbereich hilft die eignen Anforderungen zu verstehen und zu formulieren, diese präzise und verständlich niederschreibt und aufgrund des technischen Verständnisses schon frühzeitig Fehlkonzeptionen verhindert.
• konstruktiven Teilprojektleiter, der es schafft auch verteilte und internationale Teams zu motivieren.
• einen offenen und sozial kompetenten Menschen mit viel Erfahrung.
Sie profitieren von meinen umfassenden Kenntnissen und Erfahrungen in vielen Bereichen des Software Engineerings. Diese habe ich in unterschiedlichen Projektarten wie der Neu- und Weiterentwicklung/Wartung, der Ablöse von Altsystemen (inkrementell und Big Bang) oder auch in Datenmigrationsprojekten eingesetzt und vertieft. Ich habe fundierte Kenntnisse der agilen Vorgehensweisen, insbesondere Scrum. Auch in der Steuerung von und der Zusammenarbeit mit international verteilten Teams konnte ich positive Erfahrungen sammeln.
Weitere Kenntnisse
Teamfähigkeit, Engagement, Coaching, Konfliktmanagement, Moderation & Präsentation, Motivation
Programmiersprachen
Java (C#, Perl, JavaScript)
Technologien Frameworks Standards
Spring Boot, Spring Framework, Spring Batch, Spring Data, Spring MVC, JEE, Hibernate, EclipseLink, , OpenFeign, Java, REST, JPA 2.0/2.1, PrimeFaces, JDBC, JAX-WS, JAX-RS, XML WS-I, SOAP/HTTPS, XMLDsig, XML, docx4j, JSON, JUnit, Mockito, EasyMock, AssertJ, PKI, DBUnit, Apache Kafka, XML, SQL, HTML, CSS, Servlets
Tools
IntelliJ, Eclipse, Jenkins, SonarQube, Ant, Maven, Git, GitLab, BitBucket, SVN, NetBeans, Squirrel SQL Client, DbVizualizer, JFormDesigner, MagicDraw, YourKit Profiler, SVN, MS Office, MS Project, JBoss Seam, MySQL Workbench, Jira, Confluence, Enterprise Architect, ProVision, MagicDraw, Borland Caliber, HP ALM, SQL Developer, SoapUI, OpenAPI/Swagger, Postman, Archway, Docker, Kubernetes, Azure, Lens, Grafana, Kibana, OpenSearch
Application-Server
JBoss AS, Oracle WebLogic, IBM WebSphere, Glassfish
Web-Server
Apache Tomcat
DBMS
Oracle, MySQL, HSQL-DB, H2-DB, PostgreSQL, Sybase
Architektur
Domain Driven Design, Microservices, RESTFul, Hexagonale Architektur, SOA, Schichtenarchitektur, Client-Server, Komponentenbasierte Architektur, JEE-Patterns, EAI-Patterns, GoF-Patterns
Vorgehensmodelle
Scrum, Kanban, RUP, Wasserfallmodell
Zertifikate
iSAQB Certified Professional for Software Architecture Foundation Level
OMG-Certified UML Professional Fundamental
Professional Scrum Master I
Professional Scrum Developer I
UniCert III Englisch
Persönliche Daten
- Deutsch (Muttersprache)
- Kroatisch (Muttersprache)
- Englisch (Fließend)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden