Java Entwickler und Softwarearchitekt
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- OX1 1EQ Oxford
- Europa
- de | en | es
- 31.10.2023
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
4/2023 – offen
Tätigkeitsbeschreibung
Kunde: Globale Investment- und Retail-Bank
Das Projekt befasst sich mit der Weiterentwicklung eines internen Preiskontrollsystems. Das System besteht aus mehreren Spring Boot-Microservices sowie einigen Pythonkomponenten. Ich trage aktiv zur Entwicklung bei und helfe dem Team bei der Bewältigung schwieriger Tasks.
- Entwicklungstechnologien: Java 11, MongoDB, Python, Spring Boot 2, Kinetica DB, Docker, Kubernetes, OpenShift.
- Testen mit JUnit 5, Spring Testing und Mockito
- Quellcodeverwaltung und Code-Reviews mit Bitbucket
- Buildsysteme Maven und Gradle (verschieden je nach einzelnem Service)
SQL, Software Quality, Software Architecture, Docker, Java (allg.), Software engineering / -technik, Spring Framework, Json, Kubernetes, Representational State Transfer (REST)
7/2021 – 4/2023
Tätigkeitsbeschreibung
Kunde: Globale Investment- und Retail-Bank
Das Projekt konzentrierte sich auf die Modernisierung eines bestehenden internen Systems zur Verwaltung von Anlagepreisen. Das System umfasste mehrere Spring Boot Microservices und eine Angular-Frontend-Anwendung. Ich habe Java 11 eingeführt (Java 17 war zu diesem Zeitpunkt aufgrund der Mechanismen des Kunden noch nicht möglich), Spring Integration zur Interaktion mit anderen Systemen verwendet und den bestehenden Maven-Build optimiert.
- Entwicklungstechnologien: Java 11, Spring Boot 2, MongoDB, Maven
- Schreiben von Tests mit JUnit 5, Mockito und dem Spring Testing Framework
- Quellcodeverwaltung und Code-Reviews mit Bitbucket
- Pipelines mit JetBrains TeamCity
- Zusätzliche Beratungsaufgaben umfassten Beratung bei der Personalauswahl, Überprüfung von Agile- und DevOps-Praktiken sowie Systemdokumentation unter Verwendung des arc42-Vorlagensatzes.
Agile Methodologie, Confluence, Software Quality, Software Architecture, Software Design, Git, Java (allg.), Junit, Software engineering / -technik, Softwareentwicklung (allg.), Spring Framework, Angular, JavaScript, It-Beratung, Technische Dokumentation
3/2021 – 7/2021
Tätigkeitsbeschreibung
(Nahtlose Fortsetzung des vorherigen Projekts) Projektziel: Entwicklung einer minimalen E-Commerce-Plattform für ein familiengeführtes internationales Unternehmen in einem Geschäftsbereich, der bisher überhaupt keinen E-Commerce gesehen hatte. Das Projekt umfasste die Benutzerführung durch einen Konfigurationsfluss, der sich dynamisch je nach vorherigen Antworten anpasst, sowie die Anpassung derselben Kernplattform und des Flusses an verschiedene internationale Märkte. Von der ersten Gestaltung bis zur Live-Schaltung vergingen etwas über vier Monate. Ich habe hauptsächlich die Backend-Architektur entworfen und die Umsetzung unter Anwendung von TDD, Code-Qualitätstools (Checkstyle, PMD, SpotBugs) und DevOps-Praktiken angeleitet. Je nach Bedarf des Projekts wechselte ich zwischen praktischer Implementierungsarbeit und koordinierenden sowie überprüfenden Aufgaben.
- Entwicklungstechnologien: Java 11, Spring Boot 2, SQL Server, MongoDB, Azure, Gradle, Docker, Redis, React, Typescript
- Schreiben von Tests mit JUnit 5, Mockito, ArchUnit und dem Spring Testing Framework
- Quellcodeverwaltung und Code-Reviews mit Bitbucket
- Pipelines mit Azure DevOps
- Teamleiterverantwortlichkeiten einschließlich API Contract Design, Anleitung von Junior-Teammitgliedern und architektonischen Entscheidungen.
Microsoft SQL-Server (MS SQL), Mongodb, SQL, DevOps, Docker, Gradle, Java (allg.), Junit, Typescript, Microsoft Azure, Json, React (JavaScript library), Representational State Transfer (REST)
7/2020 – 3/2021
Tätigkeitsbeschreibung
Projektziel: Entwicklung einer minimalen E-Commerce-Plattform für ein familiengeführtes internationales Unternehmen in einem Geschäftsbereich, der bisher überhaupt keinen E-Commerce gesehen hatte. Das Projekt umfasste die Benutzerführung durch einen Konfigurationsfluss, der sich dynamisch je nach vorherigen Antworten anpasst, sowie die Anpassung derselben Kernplattform und des Flusses an verschiedene internationale Märkte. Von der ersten Gestaltung bis zur Live-Schaltung vergingen etwas über vier Monate. Ich habe hauptsächlich die Backend-Architektur entworfen und die Umsetzung unter Anwendung von TDD, Code-Qualitätstools (Checkstyle, PMD, SpotBugs) und DevOps-Praktiken angeleitet. Je nach Bedarf des Projekts wechselte ich zwischen praktischer Implementierungsarbeit und koordinierenden sowie überprüfenden Aufgaben.
- Entwicklungstechnologien: Java 11, Spring Boot 2, SQL Server, MongoDB, Azure, Gradle, Docker, Redis, React, Typescript
- Schreiben von Tests mit JUnit 5, Mockito, ArchUnit und dem Spring Testing Framework
- Quellcodeverwaltung und Code-Reviews mit Bitbucket
- Pipelines mit Azure DevOps
- Teamleiterverantwortlichkeiten einschließlich API Contract Design, Anleitung von Junior-Teammitgliedern und architektonischen Entscheidungen.
Microsoft SQL-Server (MS SQL), Mongodb, SQL, DevOps (allg.), Projektleitung / Teamleitung (IT), Software Quality, Test Automation, Software Architecture, Git, Java (allg.), Junit, Spring Framework, Typescript, Microsoft Azure, Json, React (JavaScript library)
4/2020 – 7/2020
Tätigkeitsbeschreibung
Kunde im Bereich E-Commerce
- Entwicklung einer Reihe von Microservices mit Java 11, Dropwizard und Guice.
- Schulung des Kundenteams in Java und verwandten Technologien.
- Beratung des Kunden in Bezug auf Entwicklungs- und Architekturpraktiken.
Gradle, Java (allg.), Representational State Transfer (REST), Schulung / Training (IT), Software Architecture, Software engineering / -technik, Softwareentwicklung (allg.)
8/2019 – 4/2020
Tätigkeitsbeschreibung
Kunde: Nationale Behörde
- Entwicklung einer Webanwendung mit TypeScript und Angular.
- Backend-Plattform: Spring Boot 2/Java 8/Apache Spark.
- Schreiben von Tests mit JUnit 4, Spock und dem Spring Testing Framework.
- Quellcodeverwaltung mit Gitlab.
Apache Spark, Git, J2EE, Java (allg.), Junit, Spring Framework, Typescript, Angular
6/2019 – 8/2019
Tätigkeitsbeschreibung
Kunde: Global agierende Anwaltskanzlei
- Erstellung einer Reihe von Templates für die Architekturdokumentation in agilen Projekten.
- Unterstützung des Umzugs von On-Prem-Deployment nach Microsoft Azure als Architekt.
- Vereinfachung der Architekturdokumentation für Entwicklungsteams.
Agile Methodologie, Software Architecture, IT-Strategieberatung, Organisation (allg.)
5/2018 – 5/2019
Tätigkeitsbeschreibung
- Entwicklung eines Java Microservices-Backends für eine iOS-/Android-Mobilanwendung bei Kunde MoneySupermarket.
- Hauptplattform: Spring Boot 2 mit MongoDB auf Java 8.
- Schreiben von Tests mit JUnit 5, Mockito und Karate.
- Quellcodeverwaltung mit Bitbucket.
DevOps, Docker, Amazon Web Services (AWS), Git, Gradle, Java (allg.), Mongodb, Representational State Transfer (REST), Scrum, SOAP, Spring Framework
8/2017 – 5/2018
Tätigkeitsbeschreibung
Beach-Time-Projekt:
Entwicklung einer Anwendung zur Anzeige von Energiedaten in Zahlen und Diagrammen, die über eine API von Drittanbietern bezogen werden.
- Initialer Technologie-Stack: JavaFX, Spring, Swagger, JSON, JUnit 5.
Kundenprojekt:
- Entwicklung in einer Microservice-Architektur mit Java (Dropwizard) sowie Clojure-Services und einem Frontend in React JS.
- Weitere Backend-Technologien: RabbitMQ, MongoDB.
- Build-Umgebung: Node, Gradle, Leiningen, GoCD.
- Leitung eines Teams von 6 Personen innerhalb eines größeren Projektteams.
- Teilnahme an plattformweiten architektonischen Entscheidungen.
- Festlegung von Codierungsstandards und Hinzufügen von Qualitätsprüfungen mit PMD und FindBugs.
- Entwicklung in wechselnden Paaren, um schnelles Feedback und Wissensaustausch zu ermöglichen.
- Mentoring von Junior-Teammitgliedern.
DevOps, Docker, Continuous Delivery, Gradle, Java (allg.), JavaFX, Json, Mongodb, Node.Js, Projektleitung / Teamleitung (IT), React (JavaScript library), Scrum, Software Architecture, Software engineering / -technik, Softwareentwicklung (allg.), Software Quality, Spring Framework, Training - Coaching-Kompetenzen, Typescript
12/2014 – 8/2017
Tätigkeitsbeschreibung
Kunde 1:
- Entwicklung eines Messaging-Moduls zur Kommunikation zwischen verschiedenen Plattform-Backend-Komponenten für die Mobile-Money-Lösung mit Apache Camel und OSGi.
- Entwicklung eines Portals für die Verwaltung der Mobile-Money-Lösung mit Hibernate, Spring und JSP.
- Code-Reviews mit Git/Gerrit.
- Lösung "externer" Probleme inklusive Kommunikation mit nicht direkt am Projekt arbeitenden Mitarbeitern.
- Entwicklung von BDD-Tests mit JBehave.
Kunde 2:
- Entwicklung eines JSON REST Lookup Frontends für eine Legacy SOAP/XML API mit Apache Camel und Java EE 6.
- Entscheidung über die Anwendungsarchitektur für das Frontend.
- Überprüfung von Präsentationen für das kundenseitige Architecture Board.
- Verwaltung von Gitlab, Jenkins, Artifactory und SonarQube für das Entwicklungsteam.
- Bereitstellung und Dokumentation von Best Practices über Confluence.
- Mentoring von Junior-Teammitgliedern.
- Integrationstests auf Basis von Spock.
- Verwaltung der Maven-Struktur des Projekts.
- Anpassung eines Lua-basierten API-Gateways für die Verwendung innerhalb der Organisation.
- Entwicklung einer Build-/Deployinfrastruktur für den oben genannten API-Gateway.
Kunde 3:
- Entwurf und Implementierung eines JSON-REST-Integrationsbackends zum Verbinden eines NodeJS Frontends mit verschiedenen Drittanbieterdiensten unter Verwendung von Apache Camel, Java 8 und Java EE 7.
- Verwaltung von Gitlab, Jenkins, Artifactory und SonarQube für das Entwicklungsteam.
- Bereitstellung und Dokumentation bewährter Verfahren über Confluence.
- Mentoring von Junior-Teammitgliedern.
- Schreiben von Tests für die Integrations-Schicht mit Arquillian, Docker und RestAssured.
- Verwaltung der Maven-Struktur des Integrations-Schicht-Projekts.
- Beitrag zu den Continuous Deployment Pipelines, die Amazon Web Services, Jenkins CI und Ansible verwenden.
- Entwicklung der Frontend-Anwendung in NodeJS unter Verwendung eines vom Kunden bereitgestellten UI-Toolkits.
DevOps, Amazon Web Services (AWS), Ansible, Apache Camel, Apache Maven, Apache Tomcat, Behavior Driven Development, Confluence, Git, J2EE, Java (allg.), JavaScript, Wildfly, Jenkins, Junit, Kanban (Softwareentwicklung), Lua Scripting, Node.Js, Projektleitung / Teamleitung (IT), Representational State Transfer (REST), Scrum, SOAP, Software Architecture, Test Automation
1/2014 – 11/2014
Tätigkeitsbeschreibung
- Entwicklung neuer Backend-Services für die Mobile-Money-Lösung mit Fuse ESB, OSGi, OpenJPA, REST, SOAP, Apache Camel.
- Entwicklung einer Adminportals für die Mobile-Money-Lösung mit Hibernate, Spring, JSP.
- Wartung und Erweiterung der Kernplattform mit Glassfish, Hibernate, REST, SOAP, Oracle DB, Spring.
- Erweiterung einer erworbenen Nebenlösung mit Tomcat, Hibernate, REST. Verbindung dieser Lösung mit der Kernplattform mit CXF und Spring.
- Code-Reviews mit Git/Gerrit.
- Entwicklung von BDD-Tests mit JBehave.
Scrum, Apache Camel, Apache Maven, Apache Tomcat, Behavior Driven Development, Enterprise Service Bus, glasfish, J2EE, Java (allg.), Java Architecture for XML Binding (JAXB), Oracle Database, Representational State Transfer (REST), SOAP, Spring Framework, XML
4/2013 – 12/2013
Tätigkeitsbeschreibung
- Entwicklung neuer Frontend- und Backend-Funktionalitäten in einer auf Swing basierenden Java EE-Anwendung auf JBoss AS 7 für den Norddeutschen Rundfunk.
- Entwurf und Implementierung einer Auditingfunktion innerhalb derselben Anwendung unter Verwendung von Oracle PL/SQL und JPA2/Hibernate.
- Erweiterung des firmeneigenen Codegenerators für ORM-Objekte und Geschäftslogik-Grundgerüste bei Bedarf.
- Erstellung von JUnit-Tests für neue und bestehende Funktionalitäten unter Verwendung von BDD-Technologien wie Cucumber und Mockito.
- Anpassung von QueryDSL für die Verwendung in dem Projekt, einschließlich einer kurzen Einführung für das Team.
- Jira-Administration.
Scrum, Behavior Driven Development, Hibernate (Java), J2EE, Java (allg.), Junit, Oracle Database, PL/SQL, Swing (Java), Test Automation
7/2010 – 3/2013
Tätigkeitsbeschreibung
- Entwurf und Implementierung einer Überwachungsschnittstelle für die firmeneigenen, selbst entwickelten Java-Anwendungsserver.
- Neugestaltung der Projekt- und Paketstruktur verschiedener Bibliotheken, um alle Abhängigkeitszyklen aufzulösen.
- Neugestaltung und Implementierung der JMS-Verbindung in allen Systemen zur Verbesserung der Flexibilität.
- Implementierung eines vollständig neuen Messaging-Ansatzes auf der Grundlage von Oracle AQ (als Teil der Migration der Serveranwendungen in eine JBoss EAP 5-Umgebung).
- Ausarbeitung der Architektur für die migrierten Anwendungen.
- Seit 09/2012 als Java-Architekt innerhalb der IT-Abteilung tätig.
Oracle Database, SQL, Testen, Wildfly, Server-Monitoring, Software Architecture, Apache Maven, Java (allg.), PL/SQL, Software engineering / -technik, XML, Java Message Service
9/2007 – 6/2010
Tätigkeitsbeschreibung
- Aktualisierung des firmeneigenen ERP-Systems auf Java 5 (unter Verwendung von Generics) und eine neue Version des firmeneigenen OR-Mappers.
- Wartung und Erweiterung des firmeneigenen OR-Mappers von PASS entsprechend den Anforderungen verschiedener Projekte.
- Implementierung einer hochgradig parallelen JMS-Anwendung basierend auf Websphere MQ in einem agilen Team.
- Entwicklung und Präsentation eines internen Kurses für den firmeneigenen OR-Mapper von PASS (teilweise in englischer Sprache).
- Implementierung eines webbasierten Administrationsystems für den Freistaat Bayern unter Verwendung von Tomcat, JSF, JSP, Servlets und den firmeneigenen Persistenz- und Web-Frameworks von PASS.
- Erweiterung von Frameworks und kleineren Komponenten nach Bedarf, einschließlich einer hohen Rate an Codegenerierung.
- Erstellung einer vollständigen englischsprachigen Online-Benutzerdokumentation für den firmeneigenen OR-Mapper von PASS.
Schulung / Training (IT), Eclipse, Java SE, Java (allg.), Java Message Service, Javaserver Pages, SQL, Swing (Java), XML
9/2006 – 8/2007
Tätigkeitsbeschreibung
Entwicklung verschiedener Java-Tools zum Austausch von UN/EDIFACT-Nachrichten mit Partnern.
Zusammenarbeit mit verschiedenen europäischen Büros und Partnern, was einen erheblichen Anteil an direkter Kundenkorrespondenz beinhaltet.
Erstellung von Mappings für die Gentran Integration Suite im Rahmen eines weltweiten Migrationsprojekts.
SQL, Objektorientierte Software-Entwicklung, Java (allg.), Swing (Java), Edifact
4/2006 – 6/2006
TätigkeitsbeschreibungForschung im Rahmen des EU-Programms "Segravis" zu möglichen Anwendungen von Graphtransformation für Refactorings auf der Ebene der Softwarearchitektur.
Eingesetzte QualifikationenSoftware Architecture
1/2005 – 2/2006
TätigkeitsbeschreibungForschung und Lehre im Bereich Software Reengineering
Eingesetzte QualifikationenAda, Java (allg.), Schulung / Coaching (allg.)
7/2000 – 2/2002
Tätigkeitsbeschreibung
- Entwicklung einer Erweiterung für LaTeX2HTML, um die vorhandene Produktdokumentation online verfügbar zu machen.
- Entwicklung eines Produkts in C++ für die belgische Luftverkehrsüberwachung.
- Entwicklung eines Tools für die Erstellung von Nachrichten in Python.
Backend, C++, HTML, Latex, Linux Entwicklung, Perl, Python, Softwareentwicklung (allg.)
Zertifikate
International Software Architecture Qualification Board
Ausbildung
Universität Bremen
Bremen
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Fließend)
- Spanisch (Gut)
- Niederländisch (Grundkenntnisse)
- Europäische Union
- Schweiz
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden