Software Architect / Software Engineer, Java, JavaEE, Scala, Microservices, Kafka
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- 64823 Groß-Umstadt
- Nähe des Wohnortes
- de | en
- 02.11.2023
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
7/2017 – offen
TätigkeitsbeschreibungBitte entnehmen Sie meine letzten beruflichen Stationen dem vollständigen und aktualisierten Beraterprofil im Anhang dieses Profils (PDF-Dokument).
Eingesetzte QualifikationenJava (allg.), Apache Kafka, Kotlin, Software Architecture, Spring Framework
1/2017 – 6/2017
Tätigkeitsbeschreibung
Der Kunde, ein Dienstleister für eine deutsche Behörde, entwirft und implementiert eine Reihe von Systemen zur Kontrolle und Datenbelieferung von Kontrollfahrzeugen, die für den täglichen Einsatz Straßen-, Maut- und Kontrolldaten benötigen. Im Hinblick auf den Entwurf und die Implementierung dieser Systeme ist der Kunde auf externe Unterstützung angewiesen.
* Entwurf und Implementierung fachlicher Softwarekomponenten zur Datenauslieferung, Monitoring und Kontrolle
* Coaching der internen Entwickler
Oracle Database, Hibernate (Java), Java (allg.), Spring Framework
7/2016 – 7/2017
Tätigkeitsbeschreibung
Der Kunde, ein Dienstleister für eine deutsche Konzerngruppe aus der Automobilbranche, entwirft und implementiert ein modulares Backend-System, das als zentrales Informationsmanagementsystem für alle Marken der Konzerngruppe eingesetzt wird. Entsprechend der aktuellen Wettbewerbssituation realisiert der Kunde div. Themen aus den Bereichen Connected Car sowie Dienstebereitstellung für Online-fähige Fahrzeuge. Insbesondere im Hinblick auf den Entwurf und die Implementierung neuer Funktionalitäten in diesen Bereichen ist der Kunde auf externe Unterstützung angewiesen.
* Entwurf und Implementierung von Softwarekomponenten für Connected Car Funktionalität
* Entwurf und Implementierung von Softwarekomponenten für Online-fähige Fahrzeuge
* Analyse der bestehenden Softwarearchitektur und Refaktorisierung kritischer Komponenten mit Hinblick auf deren Wartbarkeit und Zugänglichkeit für neue Entwickler
* Modularisierung existerender Komponenten
* Einführung einer Streaming-Architektur auf Basis von Apache Kafka zur Verarbeitung von Massendaten, die an unterschiedliche Konsumenten zeitnah zugestellt werden
Oracle Database, Apache Tomcat, Java (allg.)
11/2015 – 7/2016
Tätigkeitsbeschreibung
Ein international tätiges Verlagshaus verwaltet und verteilt wasserzeichengeschützte mediale Inhalte in Form von E-Books und Audiobooks über die Ausspielkanäle Web und Mobile. Das In-House-Entwicklerteam beschäftigt sich im Wesentlichen mit der Handhabung des Tagesgeschäfts, so dass wichtige konzeptionelle Arbeiten hinsichtlich der Weiterentwicklung der existierenden Microservice-Landschaft insbesondere im Hinblick auf die Ablösung von Legacy-Komponenten und einer verbesserten Testbarkeit des Gesamtsystems die Kapazitäten des Teams übersteigen und der Kunde auf externe Unterstützung angewiesen ist.
* Analyse der Softwarearchitektur der bestehenden Anwendungen
* Refaktorisierung kritischer Komponenten mit Hinblick auf deren Testbarkeit
* Modularisierung existierender Services
* Implementierung eines Frameworks für Systemtests
* Implementierung von Systemtests
* Entwurf und Implementierung neuer Komponenten
Spring Framework, Java (allg.), Cloud Computing, Web Services
8/2015 – 11/2015
Tätigkeitsbeschreibung
Der Kunde, ein international tätiges Medienhaus, verwaltet und verteilt Videoaufnahmen weltweit. Diese Videoaufnahmen werden nicht in der Rohfassung ausgeliefert, sondern können in andere Zielformate transkodiert oder mit zusätzlichen Metadaten angereichert werden. Um die Quality-of-Experience der Benutzer zu erhöhen, strebt das Medienhaus durch regionale Datenzentren eine Reduzierung in Startup-Verzögerungen und Wiedergabepausen an. Dies erhöht die Komplexität in der Verwaltung, da nun Daten über weltweit verteilte Datenzentren abgeglichen werden müssen. Um dieses Problem zu bewältigen soll eine Software erstellt werden, die kausale Konsistenz in einem global verteilten System auch in Gegenwart von Netzwerkpartitionen erkennt. Diese Software verteilt Bearbeitungsaufgaben (fachliche Jobs) innerhalb des Systems und ist nach dem CQRS-Architekturmuster inklusive Event Sourcing modelliert.
* Entwicklungsarbeiten an der Kernschicht des Systems
* Entwurf und Implementierung von Schnittstellen
Scala, Java (allg.), Web Services
10/2014 – 7/2015
Tätigkeitsbeschreibung
Die Pressebildstelle eines Medienkonzerns verantwortet die Beschaffung und Archivierung sendungsbegleitender Fotos und bearbeitet Bildanfragen der Presse. Zur Unterstützung der fachlichen Arbeitsabläufe ist eine Rich-Client-Anwendung auf Basis von .NET nebst einer Server-Anwendung zur Datenanlieferung, Bildskalierung und -konvertierung sowie server-seitiger Dienste zur Integration mit existierenden Nachbarsystemen zu implementieren. Gegenstand dieses Projekts ist der Entwurf und die Umsetzung dieser Integrationspunkte durch HTTP-basierte Schnittstellen nach einem aktiven RESTful-Design.
* Entwurf und Implementierung der server-seitigen Dienste
* Schnittstellenentwurf
* Qualitätssicherung
* Architekturdokumentation
Microsoft SQL-Server (MS SQL), Software Architecture, Objektorientierte Analyse und Design (OOAD), C#, Web Services
9/2014 – 9/2014
Tätigkeitsbeschreibung
Die Pressebildstelle eines Medienkonzerns verantwortet die Beschaffung und Archivierung sendungsbegleitender Fotos und bearbeitet Bildanfragen der Presse. Zur Auslieferung publizierter Inhalte an existierende Portalanwendungen ist ein lastfester Service zu implementieren, der neben der Auslieferung eine zusätzliche Schnittstelle zur Publikation und Depublikation von Inhalten anbietet.
* Entwurf und Implementierung des Auslieferungsservice
* Konfigurationsmanagement
* Qualitätssicherung
* Architekturdokumentation
Agile Methodologie, Software Architecture, Objektorientierte Analyse und Design (OOAD), Java (allg.), Web Services
5/2014 – 8/2014
Tätigkeitsbeschreibung
Das Online-Portal eines deutschen Telekommunikationsanbieters bedient sich einer Reihe von Mehrwertdiensten, die stark heterogen bzgl. Größe und Lastvolumen sind. Eine Übersicht über diese Mehrwertdienste ist schwer zu pflegen, geschweige denn technische und fachliche Informationen, wie bspw. Authentifizierung, Autorisierung, Abrechnung und Routing, abzurufen. Ein API-Gateway soll eine einheitliche Zugriffsschnittstelle für Mehrwertdienste bereitstellen und Dienste zur Zugangskontrolle, Routing und statistischen Erhebungen benutzen. Das Projekt zeichnet sich durch hohe Anforderungen hinsichtlich des Lastvolumens sowie Skalierfähigkeit und Ausfallsicherheit aus.
* Analyse und Auswahl der eingesetzten Datenbanktechnologien
* Entwurf der Applikationsarchitektur
* Entwurf der fachlichen Komponenten
* Implementierung technischer Komponenten zur Integration der eingesetzen Datenbanktechnologien und Cache-Lösung)
Qualitätssicherung
Mysql, Red Hat Enterprise Linux (RHEL), Java (allg.), Web Services
1/2014 – 4/2014
Tätigkeitsbeschreibung
Das Online-Portal eines deutschen Telekommunikationsanbieters bedient sich einer Reihe von Mehrwertdiensten, die stark heterogen im Hinblick auf Größe und Lastvolumen sind. Eine Übersicht über diese Mehrwertdienste ist schwer zu pflegen, geschweige denn technische und fachliche Informationen zur Authentifizierung, Autorisierung, Abrechnung und Routing, abzurufen. Ein API-Gateway soll eine einheitliche Zugriffs-schnittstelle für Mehrwertdienste bereitstellen. Das Projekt zeichnet sich durch hohe Anforderungen hinsichtlich des Lastvolumens, der Skalier-fähigkeit und Ausfallsicherheit des API-Gateways aus.
* Implementierung eines reaktiven API-Gateways (Reactor Pattern)
* Entwurf und Test von stark nebenläufigen Komponenten
* Qualitätssicherung durch Unit-Tests und Integrationstests
* Erhebung von Performance-Charakteristika und Code-Optimierungen nach Bedarf
Java (allg.)
10/2013 – 12/2013
Tätigkeitsbeschreibung
Die Entwicklungsabteilung für Portale eines deutschsprachigen Medienhauses ist neben einer Migration von CoreMedia 5 auf CoreMedia 7 mit zusätzlichen Themen in der Wartung und Weiterentwicklung betraut. Um diese Themen neben der Migrationsaufgabe weiterhin bearbeiten zu können, vertraut der Kunde auf externe Unterstützung für das In-House-Entwicklerteam.
* Beratung bzgl. der Migration auf CoreMedia 7
* Performance-Analyse der Auslieferungskomponente (CAE)
* Lastabschätzungen bei Hinzunahme neuer Mehrwertdienste
* Unterstützung beim technischen Entwurf einer SSO-Lösung
* Entwicklungsaufgaben sowie Bugfixes und Refactorings
* Implementierung von Integrationstests
Java (allg.)
6/2013 – 9/2013
Tätigkeitsbeschreibung
Ein existierender elektronischer Verzeichnisdienst zur Verwaltung, Anzeige und Suche von Mitarbeiterdaten ist durch eine moderne, responsive Webanwendung abzulösen. Insbesondere die Suchmöglichkeiten, die sich auf die Funktionalität eines angeschlossenen LDAP-Verzeichnisdienst beschränken, sollen durch die Möglichkeiten eines dedizierten Suche-Servers aufgewertet werden.
* Entwurf der Softwarearchitektur für das Stammdatenverzeichnis
* Integration des bestehenden LDAP-Verzeichnisdienstes
* Integration von Apache Solr als Suche-Server
* Entwurf und Implementierung einer aktiven REST-API sowie fachlicher Suche- und Indizierungsservices für Stammdaten
Java (allg.)
6/2013 – 9/2013
Tätigkeitsbeschreibung
Ein existierender elektronischer Verzeichnisdienst zur Verwaltung, Anzeige und Suche von Mitarbeiterdaten ist durch eine moderne, responsive Webanwendung abzulösen. Insbesondere die Suchmöglichkeiten, die sich auf die Funktionalität eines angeschlossenen LDAP-Verzeichnisdienst beschränken, sollen durch die Möglichkeiten eines dedizierten Suche-Servers aufgewertet werden.
* Entwurf der Softwarearchitektur für das Stammdatenverzeichnis
* Integration des bestehenden LDAP-Verzeichnisdienstes
* Integration von Apache Solr als Suche-Server
* Entwurf und Implementierung einer aktiven REST-API sowie fachlicher Suche- und Indizierungsservices für Stammdaten
Java (allg.)
3/2013 – 6/2013
Tätigkeitsbeschreibung
Das Enterprise Content Management (ECM) des Kunden setzt als CMS-Lösung CoreMedia in Version 5 ein. ECM liefert über diese, fachlich stark angepasste Version von CoreMedia, mehr als hundert unterschiedliche Sites weltweit aus. Im Zuge einer Modernisierung soll die bisherige Basis dieses Systems auf CoreMedia 7 migriert werden. Die Migration erfordert zum Einen vorbereitende Maßnahmen im Bestandscode der Auslieferungseinheit (CAE), zum Anderen aber auch die Ablösung existierender Komponenten durch Neuentwicklungen.
* Refaktorisierung bestehender Controller
* Ablösung einer Benutzer-Gruppen-Rechte-Verwaltung durch eine separate Sicherheitskomponente
* Entwurf und Implementierung einer REST-API zur Integration der Sicherheitskomponente mit CoreMedia Studio
* Entwurf und Implementierung einer Java-seitigen API zur Integration der Sicherheitskomponente mit Spring Security
* Migration von Spring Security 2 auf Spring Security 3
Java (allg.)
10/2012 – 12/2012
Tätigkeitsbeschreibung
Für das Bewerberportal eines multinationalen Konzerns ist eine Anbindung an das im Haus eingesetzte HR-System von PeopleSoft zu realisieren. Die Schnittstelle hat die Aufgabe, eingehende Daten im XML-Format auszulesen und eine Teilmenge der bereitgestellten Informationen zu extrahieren, so dass sie über ein reduziertes Datenmodell in den Datenbestand des Bewerberportals importiert und ausgespielt werden können. Die Schnittstelle synchronisiert den Datenbestand von PeopleSoft täglich mit dem Bewerberportal.
* Entwurf und Implementierung der Bewerberportal-seitigen Schnittstelle zu PeopleSoft auf Basis einer Fachkonzeption
Java (allg.)
9/2012 – 3/2013
Tätigkeitsbeschreibung
Durch den demographischen Wandel müssen verstärkt Stellen in allen Bereichen des Konzern besetzt werden. Um dieses Ziel zu erreichen wird neben einer umfangreichen Werbekampagne auch ein Bewerberportal erstellt, die sich individuell und in einem modernen Design an Schüler, Studenten, Absolventen und Berufserfahrene richtet. Die Umsetzung beruht dabei auf der CMS-Lösung CoreMedia, Java, HTML5 und CSS3. Eine Anbindung an die HR-Lösung PeopleSoft und eine individuell angepasste Suche erlauben die Anzeige von offenen Stellen zielgerichtet für Interessen, Zielort und Karrierestatus.
* Implementierung einer fachlichen Suche-API zur Jobsuche (inkl. Facettierung, Umkreissuche)
* Integration der PeopleSoft-Schnittstelle zur Übernahme von Stellenausschreibungen in die Suchmaschine
* Erweiterung der Auslieferungseinheit (CAE) der CMS-Lösung zur Integration der Suche-API zur Jobsuche
Java (allg.)
7/2012 – 9/2012
Tätigkeitsbeschreibung
Die bisherige Suche der bei dem Kunden eingesetzen CMS-Lösung CoreMedia basiert auf FAST. Aufgrund des schwindenden Supports für diese Suchmaschine erfolgt eine Migration und Modernisierung auf den von CoreMedia offiziell unterstützten Suche-Server Apache Solr in Version 1.4. Die Modernisierung beinhaltet zudem die Aufgabe, eine einfache Suche-DSL für Redakteure zur Verfügung zu stellen, so dass die Einbindung und Konfiguration einer Suche für einzelne Sites über den CoreMedia-Editor möglich ist.
* Technische Umsetzung der Migration auf Apache Solr 1.4
* Entwurf und Entwicklung einer Suche-API für die CoreMedia CAE
* Migration der Bestandssuchen auf die neue Suche-API
* Entwurf und Entwicklung einer Suche-DSL für Redakteure
Java (allg.)
4/2012 – 7/2012
Tätigkeitsbeschreibung
Der Kunde erweitert seine Produkt-Plattform um Video-on-Demand Inhalte, die auf mehrere Endgeräte ausgepielt werden können. Im Zuge dieses Projekts sind unabhängige Services zur Buchung und zum Kauf von Produkten sowie zur Kontrolle der maximalen Anzahl paralleler Streams pro Benutzer zu implementieren.
* Begleitung über alle Ebenen des Projekts
* Entwurf der Anwendungsarchitektur
* Implementierungsarbeiten an den Services
* Build- und Release-Management
* Durchführung von Code-Reviews
* Lead Developer innerhalb eines Teams von sechs Entwicklern
* Architekturdokumentation
Kanban (Softwareentwicklung), Spring Framework, Java (allg.)
2/2012 – 5/2012
Tätigkeitsbeschreibung
Das interne Entwicklungsteam eines deutschen Verlagshauses leistet in erster Linie First-Level-Support und kümmert sich um die Wartung und Weiterentwicklung einer CoreMedia-gestützten CMS-Lösung, über die mehrere Verlagstitel ausgeliefert werden. Der Anforderungsumfang übersteigt die Kapazitäten des internen Teams, so dass der Kunde für wichtige, konzeptionelle Tätigkeiten sowie deren Realisierung externe Unterstützung benötigt.
* Analyse der Implementierung der Ausspieleinheit CAE der CMS-Lösung und Ausarbeitung einer Strategie zur Refaktorisierung problematischer Stellen, insbesondere im Design der Controller
* Analyse des Fehlerlogs der Ausspieleinheit CAE und Problembehebung
* Implementierung einer Möglichkeit zum Ändern des Site-Kontext über JSPs
Python, Spring Framework, Java (allg.)
1/2012 – 2/2012
Tätigkeitsbeschreibung
NinJo ist weltweit eines der größten meteorologischen Datenverarbeitungs- und Visualisierungssysteme. Es bietet div. Funktionalitäten zur Unterstützung der Arbeitsabläufe von Meteorologen und Klimaforschern und deckt die Visualisierung von Wetterkarten und Diagrammen ab. NinJo ist entlang der fachlichen Achse in sog. Layer unterteilt, deren Aufgabe es ist, fachspezifische Daten zu verarbeiten und anzuzeigen. Für einen solchen Layer soll im Rahmen dieses Projekts eine Visualisierung bestehender fachlicher Daten über Meteogramme erfolgen.
* Integration der fachlichen Daten in Form von Meteogrammen über eine XML-basierte Beschreibungssprache
* Programmatische Anbindung der Meteogramme über ein Diagramm-Framework
Java (allg.), CORBA
7/2011 – 12/2011
Tätigkeitsbeschreibung
Das Online-Portal eines Anbieters für Video-on-Demand Inhalte gehört Stand dieser Eintragung zu den umfangreichsten Angeboten in diesem Segment innerhalb Deutschlands. Im Zuge einer Vereinheitlichung der User Experience über die Portalzugänge Web, Set-Top Box und Windows Media Center (WMC) soll eine auf Microsoft Silverlight 4 basierende Client-Applikation für das WMC implementiert werden. Schwerpunkte dieses Projekts sind die Realisierung einer guten Benutzbarkeit und die Integration einer server-seitigen REST API zum Zweck der Content Discovery und Content Delivery.
* Integration der server-seitigen REST-API in die Client-Applikation
* Implementierung div. Komponenten: Authentifizierung, Session-Management, Asset-Bestellung
* Anbindung dieser Komponenten über Microsoft Silverlight
C#, Microsoft Silverlight
7/2011 – 12/2011
Tätigkeitsbeschreibung
Das Online-Portal eines Anbieters für Video-on-Demand Inhalte gehört Stand dieser Eintragung zu den umfangreichsten Angeboten in diesem Segment innerhalb Deutschlands. Im Zuge einer Vereinheitlichung der User Experience über die Portalzugänge Web, Set-Top Box und Windows Media Center (WMC) soll eine auf Microsoft Silverlight 4 basierende Client-Applikation für das WMC implementiert werden. Schwerpunkte dieses Projekts sind die Realisierung einer guten Benutzbarkeit und die Integration einer server-seitigen REST API zum Zweck der Content Discovery und Content Delivery.
* Integration der server-seitigen REST-API in die Client-Applikation
* Implementierung div. Komponenten: Authentifizierung, Session-Management, Asset-Bestellung
* Anbindung dieser Komponenten über Microsoft Silverlight
C#, Microsoft Silverlight
6/2011 – 8/2011
Tätigkeitsbeschreibung
Die Softwaresysteme der Internet-Filialen div. Großbanken basieren auf einem gemeinsamen Framework, das im Zuge einer Modernisierung und Modularisierung der Applikationsarchitektur neu zu implementieren ist.
* Analyse des Ist-Zustands implementierter Geschäftsvorfälle im Altsystem
* Migration der Geschäftsvorfälle auf das neue Framework
* Modularisierung des Systems in einzelne Komponenten und deren Refaktorisierung
Apache Tomcat, Java (allg.), Javaserver Pages
3/2011 – 6/2011
Tätigkeitsbeschreibung
NinJo ist weltweit eines der größten meteorologischen Datenverarbeitungs- und Visualiserungssysteme. Es bietet div. Funktionalitäten zur Unterstützung der Arbeitsabläufe von Meteorologen und Klimaforschern und deckt die Visualisierung von Wetterkarten und Diagrammen ab. NinJo ist entlang der fachlichen Achse in sog. Layer unterteilt, deren Aufgabe es ist, fachspezifische Daten zu verarbeiten und anzuzeigen. Ein solcher Layer soll für die Verarbeitung und Visualisierung agrarmeteorologischer Daten implementiert und in NinJo integriert werden.
* Implementierung des Layers für agrarmeteorologische Daten
* Entwurf und Implementierung eines Generators für XML-basierte Konfigurationen auf Basis eines Metamodells zur einfachen Erweiterung um neue agrarmeteorologische Parameter
Java (allg.), CORBA
5/2009 – 2/2011
Tätigkeitsbeschreibung
Im Rahmen des EU-Forschungsprojekts Simple Economic Management Approaches of Overlay Traffic in Heterogeneous Internet Topologies (SmoothIT) erfolgt die Konzeption und Implementierung von modernen Ansätzen zur Verbesserung von Dienstgüteaspekten in stark heterogenen Internet-Topologien.
* Entwicklung von client-seitigen Komponenten für die VoD-Software Tribler
* Konzeption und Implementierung einer hybriden System-architektur für die Ausspielung von Video-on-Demand Inhalten
* Implementierung eines adaptiven Servers zur Reduktion von Server-Last
* Entwurf und Implementierung einer Bandbreitenallokation für zur Reduktion von Datenverkehr, der über die Grenzen eines autonomen Systems läuft
Wildfly, Python, Java (allg.), Web Services
Zertifikate
Ausbildung
Technische Universität Darmstadt
Weitere Kenntnisse
* Softwarearchitektur
* Web Services (SOAP / REST)
* Enterprise Search
* Microservices
* Objekt-orientierte und Funktionale Programmierung
Programmiersprachen:
* Java / Java EE
* Python
* C#
* JavaScript (server-seitig)
* Scala
* Clojure
* Shell
Technologien:
* Spring-Stack mit Spring Core, Spring Boot, Spring Security, Spring WebMVC
* JavaEE-Stack mit JPA, CDI, JAX-WS, JAX-RS, JAXB, WebSockets
* Apache Lucene, Apache Solr
* Hibernate, MyBatis
* Dropwizard
* Hazelcast, ehCache, LDAP
* Node.js
* Docker
Datenbanken:
* Apache CouchDB
* Postgres
* MongoDB
* MySQL
* Oracle
Server:
* Apache Tomcat, Apache TomEE
* Jetty
* JBoss
Produkte:
* CoreMedia CMS 5 / 7
Werkzeuge:
* IntelliJ IDEA, Eclipse IDE
* Sparx Enterprise Architect
* Git, Subversion, CVS
* Maven, SBT, Gradle
* Jenkins
* soapUI, nUnit
Betriebssysteme:
* Linux
* Unix (BSD)
* Microsoft Windows
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