Radoslav Yankov

Senior Software Engineer

  • 0

    erfolgreich abgeschlossene Projekte
  • 0+

    eingesetze Technologien
  • 0

    zufriedene Kunden
  • 0

    Branchen
Über mich

Freiberuflicher Senior Fullstack Software Engineer im Web-Umfeld mit Affinität zu neuesten Entwicklungstechnologien und -ansätzen

10+

erfolgreiche Jahre Berufserfahrung

Kurzprofil

Als Senior Software Engineer mit Bachelor- und Masterabschluss in Informatik verfüge ich über langjährige Erfahrung in der Entwicklung von Software im Frontend- und Backend-Bereich im Web-Umfeld. Meine Schwerpunkte liegen in der technischen Konzeption und der Umsetzung von komplexen Softwaresystemen mit Hilfe von modernen Entwicklungsansätzen und Java-, JavaScript- und TypeScript-basierten Technologien. Besonders in den Bereichen objektorientierte Programmierung, Softwarearchitekturen, Datenmanagement und moderne Web-Technologien konnte ich mein Fachwissen in den letzten Jahren sehr gut ausbauen. Zudem bringe ich langjährige Erfahrung in der Evaluation von neuesten Softwareentwicklungstechnologien und -ansätzen und deren Tauglichkeit für die Entwicklung von produktiven Softwaresystemen mit. Bei der Projektarbeit lege ich großen Wert auf ein systematisches und agiles Vorgehen.

Beruflicher Werdegang

  • Senior Software Engineer(Januar 2021 - heute)

    Freiberuflich, Radoslav Yankov – Software Engineering, Karlsruhe
  • Software Engineer (Mai 2019 – Januar 2021)

    FairShoring gemeinnützige GmbH, Karlsruhe
  • Software Engineer(Juli 2018 – Dezember 2020)

    adesso SE, Line of Business Banking
  • Fullstack-Softwareentwickler(Mai 2014 – Juni 2018)

    CAS Software AG, Abteilung Technology Research, Karlsruhe
  • Java-Softwareentwickler(Juli 2012 – September 2012 und November 2013 – März 2014)

    AX Business Solutions AG, Karlsbad

Ausbildung

  • Masterstudium in Informatik (Oktober 2013 – Oktober 2016)

    Karlsruher Institut für Technologie (KIT), Fakultät für Informatik

    Schwerpunkte: Softwaretechnik und Informationssysteme

    Abschluss mit akademischem Grad „Master of Science“ (M.Sc.)

  • Bachelorstudium im Fach Computersysteme und –technologien in deutscher Sprache (September 2009 – September 2013)

    Technische Universität Sofia (Bulgarien), Fakultät für deutsche Ingenieur- und Betriebswirtschaftsausbildung in Kooperation mit dem Karlsruher Institut für Technologie

    Schwerpunkte: Objektorientierte Programmierung, Softwaretechnik und Datenbanksysteme

    Abschluss mit akademischem Grad „Bachelor of Science“ (B.Sc.) und Fachqualifikation „Computeringenieur“

Fachkenntnisse

  • Allgemeine Software-Engineering-Kenntnisse

    Objektorientierte Programmierung

    Entwurf von Software-Architekturen

    Domain-Driven Design

    Behavior- und Test-Driven Development

    REST und API-Entwurf im Kontext von RESTful Services

    Identity and Access Management (OAuth 2.0 und OpenID Connect)

    Design von Datenbankmodellen

    Clean Coding

    Cloud Computing

    Internet of Things (IoT)

    Blockchain

    Responsive Web Design

    Agile Methoden

  • Programmiersprachen

    Java

    JavaScript

    TypeScript

    Abfrage-, Beschreibungs- und Modellierungssprachen

    SQL, UML, BPMN, XML, HTML, CSS, SCSS, Sass

    Datenbanken

    DB2, Google BigTable, HSQLDB, IndexedDB, Informix, MongoDB, MySQL, Oracle, PostgreSQL, Redis

  • Frameworks und Entwicklungs-Technologien

    Spring (Spring Boot, Spring Data, Spring Cloud, Spring Security, Spring Batch)

    JPA und Hibernate

    Liquibase, Lombok, Swagger, Keycloak

    Angular, Angular Material

    RxJS, NgRx, NGXS, ag-Grid

    Java EE (JavaServer Pages, Servlets, JAX-RS, JavaMail API)

    Google Web Toolkit, Google App Engine, Vaadin

    Node.js

    Ethereum, Truffle, Solidity, Geth, web3j, web3.js

  • Build- und Deployment-Management

    Maven, Gradle, npm, Jenkins, Azure DevOps, Docker, Kubernetes, Ansible

    Test-Management

    JUnit, Mockito, Gatling, Cucumber, Gherkin, Angular Test Suite, Jest, Karma, PhantomJS, Cypress

  • Server-Systeme

    Apache Tomcat, IBM HTTP Server, nginx, RabbitMQ, ActiveMQ, Apache Kafka

    Werkzeuge und Tools

    Eclipse, IntelliJ IDEA, Visual Studio Code, Git, Jira, Confluence

  • Branchen

    Banking

    Customer Relationship Management (CRM)

    Automotive

    Gesundheitswesen

    Öffentlicher Dienst

Dienstleistungen

Ich biete meinen Kunden ein breites Spektrum an Dienstleistungen in der Entwicklung von Software im Web-Umfeld an.

  • Technische Konzeption

    Ich konzipiere architekturelle und algorithmische Lösungen für Ihre Software-Systeme mittels aktueller Softwareentwicklungsansätze unter Berücksichtigung Ihrer funktionalen, nichtfunktionalen und fachlichen Anforderungen.

  • Technologieberatung

    Ich evaluiere systematisch unterschiedliche Technologien und berate Sie bei der Technologieauswahl, sodass Ihre Anforderungen optimal erfüllt sind.

  • Digitalisierung und Automatisierung

    Ich unterstütze Sie dabei, Ihre Geschäftsprozesse mittels neuester Technologien zu digitalisieren und zu automatisieren und dadurch das Beste aus Ihrem Business herauszuholen.

  • Implementierung

    Ich implementiere bereits fachlich und technisch konzipierte Funktionalitäten Ihrer Software hochqualitativ und unter Einhaltung aktueller Clean-Code-Richtlinien.

  • Qualitätssicherung

    Durch die Integration automatisierter Prozesse in Ihre Infrastruktur unterstütze ich Sie dabei, eine bestmögliche Qualität Ihrer Software sicherzustellen. Außerdem berate ich Sie, wie Sie die Qualität Ihrer Software überwachen und optimieren können.

  • Know-how-Transfer

    Ich teile mein technisches und Branchen-Know-how mit Ihnen und helfe Ihnen dabei, komplexe technische Zusammenhänge besser zu verstehen.

Projekte

Ein Auszug meiner letzten bereits abgeschlossenen Projekte:

  • Der Kunde ist ein im Automotive-Umfeld international agierender Konzern, der als global führender Automobil- und Industriezulieferer tätig ist. Im Rahmen dieses Projekts soll eine neue Funktionalität für eine bestehende web-basierte Anwendung entwickelt werden, die es berechtigten Mitarbeitern aus der Fachabteilung ermöglicht, große Mengen an Daten über einen Upload-Dialog im Web Client hochzuladen. Die Daten liegen in Excel-Format vor und werden in mehreren Schritten asynchron verarbeitet. Anschließend werden die Daten im Web Client visualisiert.

    Zudem soll ein Feature entwickelt werden, das es den Benutzern ermöglicht, komplexe Filter zu definieren, nach denen die Daten gefiltert werden. Diese Filter sollen mit anderen Benutzern geteilt werden können. Außerdem sollen Benutzer, die Benachrichtigungen aktiviert haben, per E-Mail informiert werden, falls sich Daten innerhalb eines Filters geändert haben.

    Eigene Aufgaben im Projekt

    • Entwicklung von Komponenten im Backend (REST API, Excel-Parser, asynchrone Multithreading-Prozesse, Synchronisationsprozesse, Prozesse zur Speicherung von Daten in der Datenbank, Flyway-Skripte)
    • Entwurf einer Softwarearchitektur für die neu zu entwickelnden Komponenten im Frontend und deren Integration in die bestehende Anwendung
    • Entwicklung eines Upload-Dialogs im Frontend gemäß UI/UX-Konzept
    • Entwicklung eines Upload-Status-Dialogs gemäß UI/UX-Konzept
    • Entwicklung eines Quick-Filter-Management-Panels im Frontend samt dazugehöriger Funktionalität und REST API im Backend
    • Entwicklung von Unit- und Integrationstests im Frontend und Backend
    • Branche

      Automotive

    • Rolle im Projekt

      Fullstack-Entwickler

    • Technologien

      Java 17, Spring Boot, JPA / Hibernate, JPQL, Lombok, Flyway, Apache POI, PostgreSQL, JUnit, Mockito, IntelliJ, Angular 16, Angular Material, TypeScript, NgRx, RxJS, Tailwind CSS, ag-Grid, Transloco, Nx, Jest, Visual Studio Code, Azure, Jenkins, GitHub

  • Der Kunde ist ein im Automotive-Umfeld international agierender Konzern, der als global führender Automobil- und Industriezulieferer tätig ist. In diesem Projekt wird eine web-basierte Anwendung für den internen Sales-Bereich des Kunden entwickelt. Diese soll flexibler und benutzerfreundlicher sein und unterschiedliche, interne Geschäftsprozesse besser abbilden als eine bereits im Einsatz Drittsoftware.

    Eigene Aufgaben im Projekt

    • Anpassung von bestehenden und Implementierung von neuen Funktionalitäten für die Web-Anwendung gemäß Spezifikation
    • Behebung von Problemen in der Web-Anwendung
    • Entwurf von Lösungsansätzen zur Verbesserung der bestehenden Frontend-Architektur
    • Entwicklung von Unit-Tests
    • Durchführung von Code Reviews und technische Qualitätssicherung
    • Branche

      Automotive

    • Rolle im Projekt

      Frontend-Entwickler

    • Technologien

      Angular 16, Angular Material, TypeScript, NgRx, RxJS, Tailwind CSS, ag-Grid, Transloco, Nx, Jest, Jenkins, Docker, GitHub, Azure, Visual Studio Code

  • Der Kunde ist ein innovativer IT-Dienstleister, der den Auftrag hat, eine modulare, moderne, web-basierte Archivanwendung für eine deutsche Bundesbehörde fachlich und technisch zu konzipieren und umzusetzen. Mit Hilfe dieser Archivanwendung soll das Archivgut des Bundes digital verwaltet werden können. Diese besteht aus mehreren fachlichen Modulen, aber auch aus Modulen, mit denen die Anwendung durch entsprechend berechtigte Mitarbeiter der Bundesbehörde administriert werden kann.

    Eigene Aufgaben im Projekt

    • Implementierung von Basiskomponenten gemäß Styleguide
    • Technische Konzeption (komponentenbasierte Architektur, State Management) und Umsetzung von generischen, wiederverwendbaren Funktionalitäten für die Archivanwendung
    • Implementierung von fachlichen und administrativen Modulen der Archivanwendung
    • Umsetzung von Anforderungen bzgl. Barrierefreiheit
    • Entwicklung von End-to-End-Tests
    • Durchführung von Code Reviews und technische Qualitätssicherung
    • Branche

      Öffentlicher Dienst

    • Rolle im Projekt

      Frontend-Entwickler

    • Technologien

      Angular 11, Angular Material, TypeScript, SCSS, NgRx, RxJS ag-Grid, Storybook, Cypress, Swagger, Jenkins, Docker, Bitbucket, Visual Studio Code, SonarQube

  • Der Kunde ist eine Investmentgesellschaft und gehört zu der genossenschaftlichen FinanzGruppe. Er entwickelt aktiv eine große Online-Plattform zur Geldanlage, die auch seinen Partnern innerhalb der genossenschaftlichen FinanzGruppe zur Verfügung gestellt wird.

    Private und juristische Personen können auf der Plattform Depots eröffnen und verwalten, Wertpapiere kaufen und verkaufen, Sparpläne anlegen und diverse andere Transaktionen tätigen.

    Eigene Aufgaben im Projekt

    • Weiterentwicklung der Frontend-Komponenten der Plattform zur Geldanlage inkl. responsive Design
    • Integration von neuen Schnittstellen
    • Verbesserung der Architektur und der Performanz der Plattform
    • Verbesserung der UX der Plattform in Zusammenarbeit mit UX- und Business-Designern
    • Entwicklung von Unit-Tests
    • Wartung von bestehenden Funktionalitäten im Frontend
    • Branche

      Banking

    • Rolle im Projekt

      Frontend-Entwickler

    • Technologien

      Angular 11 / 12, Angular Material, TypeScript, SCSS, NGXS, Jest, InVision, REST, Java 8, Java EE, Spring Boot, Visual Studio Code, GitLab, Jenkins, SonarQube

  • Der Kunde ist eine Schweizer Privatbank, die sich auf zukunftsorientierte Themen und nachhaltige Vermögensverwaltung stark fokussiert. Im Rahmen dieses Projektes soll ein Microservice entwickelt werden, der alle Wertpapiere aus einem in CSV-, Excel-, HTML-, PDF- oder Bild-Format vorliegenden Depotauszug (Portfolio) automatisiert und zuverlässig erkennen kann. Die Ergebnisse werden an ein bestehendes Backend-System übergeben, wo das Portfolio nach bestimmten Nachhaltigkeitskriterien ausgewertet wird. Der Microservice soll alle für die Auswertung relevanten Parameter aus dem Portfolio extrahieren können.

    Eigene Aufgaben im Projekt

    • Modellierung der Softwarearchitektur des Microservice
    • Konzeption der service-internen Logik, der Datenmodelle und der Schnittstellen des Microservice
    • Implementierung des Microservice
    • Entwicklung von Unit- und Integrationstests
    • Anbindung an das bestehende Backend-System
    • Implementierung eines Web Clients zum internen Testen des Microservice
    • Branche

      Banking

    • Rolle im Projekt

      Fullstack-Softwareentwickler mit Backend-Schwerpunkt, Softwarearchitekt

    • Technologien

      Java 11, Spring Boot, Spring Cloud OpenFeign, Lombok, Gradle, IntelliJ IDEA, OpenCSV, jsoup, Apache POI, Apache Lucene, Azure FormRecognizer, JUnit, AssertJ, Mockito, Angular 11, Angular Material, Postman, nginx, Linux Ubuntu

  • Der Kunde ist ein IT-Dienstleister innerhalb der genossenschaftlichen FinanzGruppe mit einem Kundenkreis von rund 900 Volks- und Raiffeisenbanken in Deutschland. In diesem Projekt wird ein web- und workflow-basiertes System entwickelt, welches es den Endkunden ermöglicht, ein Tagesgeldkonto für Einzelkunden, Gemeinschaftskunden und Minderjährigen zu eröffnen. Der Bankkunde muss dabei mehrere Schritte durchgehen, wie z.B. Eingabe von persönlichen und Adressdaten, Eingabe von weiteren Informationen und Legitimation.

    Eigene Aufgaben im Projekt

    • Entwicklung von Features im Frontend
    • Entwicklung von Unit- und End-To-End-Tests im Frontend
    • Analyse und Behebung von gemeldeten Problemen im Web Client
    • Branche

      Banking

    • Rolle im Projekt

      Frontend-Entwickler

    • Technologien

      TypeScript, Angular 8, Angular Material, SCSS, HTML5, RxJS, Node.js, Jest, Cypress, Java 11, Spring Boot, Visual Studio Code, Eclipse, BPMN, Camunda, Apache Kafka, Bitbucket, Jira, Confluence, Jenkins

  • Der Kunde ist ein IT-Dienstleister innerhalb der genossenschaftlichen FinanzGruppe mit einem Kundenkreis von rund 900 Volks- und Raiffeisenbanken in Deutschland. In einem Großprojekt mit über 600 Beteiligten, wird eine neue große Vertriebsplattform als Kundenportal entwickelt.

    Dieses Teilprojekt befasst sich mit der Entwicklung einer digitalen Lösung, die den Bankberater im Firmenkundengeschäft und insbesondere während der Kennenlernphase im Gespräch mit dem Kunden unterstützt. Durch ausgewählte Fragen, Werkzeuge und Grafiken kann die aktuelle Situation und die Zukunftsplanungen des Kunden ganzheitlich erfasst und analysiert werden. Die Anwendung unterstützt sowohl das Gespräch zwischen Bankberater und Kunden als auch den Firmenkunden bei der Durchführung von Analysen zur Bedarfsplanung.

    Eigene Aufgaben im Projekt

    • Konzeption einer komponentenbasierten Architektur im Frontend für das Modul "Agenda" zur Vorbereitung und Durchführung von Kundengesprächen inkl. Terminübersicht
    • Umsetzung von Funktionalitäten im Agenda-Modul
    • Weitentwicklung von weiteren Funktionalitäten in anderen Modulen des Systems
    • Branche

      Banking

    • Rolle im Projekt

      Frontend-Entwickler

    • Technologien

      TypeScript, Angular 7/8, Angular Material, SCSS, HTML5, RxJS, NgRx, Node.js, Java 8, Spring Boot, Flyway, Visual Studio Code

  • Der Kunde bietet den Sparkassen ein Finanzprodukt an, bei dem sie dafür bürgen, dass der Kreditnehmer, der beim Kunden eine größere Immobilie finanziert hat, seinen Zahlungsverpflichtungen aus dem Kredit gegenüber dem Kunden nicht nachkommt (Kreditausfallrisiko). Dafür erhalten die Sparkassen eine Gebühr.

    Im Rahmen dises Projektes wird eine neue Plattform entwickelt, auf der regelmäßig neue Immobilienfinanzierungen eingestellt werden. Mit Hilfe der Plattform sucht der Kunde dann Partner unter den Sparkassen, die sich an dem Kreditrisiko beteiligen wollen.

    Eigene Aufgaben im Projekt

    • Konzeption und Umsetzung eines Datei-Explorers für die Online-Plattform, der es ermöglicht, verschiedene Dokumente und Dateien zu verwalten. Mit dem Datei-Explorer kann der Benutzer in einer hierarchischen Ordnerstruktur navigieren, den Inhalt eines Ordners sehen und herunterladen, Ordner und Dateien löschen, neue Ordner anlegen und Dateien hochladen.
    • Entwicklung und Anpassung von weiteren Funktionalitäten der Plattform
    • Beratung bei technischen Fragen im Frontend-Umfeld
    • Branche

      Banking

    • Rolle im Projekt

      Frontend-Entwickler

    • Technologien

      Java 8, Spring Boot, Nuxeo, Keycloak, TypeScript, Angular 8, Angular Material, SCSS, Visual Studio Code, Bitbucket, Jenkins, Jira

  • Der Kunde ist einer der führenden Abrechnungs- und Finanzdienstleister im deutschen Heil- und Hilfsmittelmarkt. Im Rahmen dieses Projektes wird ein zentrales Datenlieferungssystem entwickelt, welches es ermöglicht, Rechnungsdaten in maschinenlesbarer Form an Kostenträger (z.B. Krankenkassen) automatisiert zu übermitteln. Die Daten werden in Form von speziellen Dateien nach den gesetzlichen Vorschriften auf Basis einer vordefinierten Konfiguration übertragen.

    Ein Web Client ermöglicht es einem Sachbearbeiter, sich Überblick über bereits erfolgte und ausstehende Datenlieferungen zu verschaffen. Zudem kann ein Sachbearbeiter die Stammdaten und die Konfiguration für jeden Kostenträger verwalten.

    Eigene Aufgaben im Projekt

    • Konzeption und Umsetzung einer komponentenbasierten Software-Architektur für den Web Client
    • Evaluation von Technologien und Frameworks
    • Erstellung von Proof of Concepts für Dockerisierung von InformixDB und PostgreSQL und für ein semi-automatisiertes Import von Daten in die dockerisierten Datenbanken
    • Implementierung von RESTful Microservices
    • Entwicklung von Unit-Tests im Frontend und Backend
    • Branche

      Gesundheitswesen

    • Rolle im Projekt

      Fullstack-Softwareentwickler

    • Technologien

      Java 11, Spring Boot 2, Spring Cloud, Spring Batch, JPA / Hibernate, JUnit, Lombok, Liquibase, Swagger, Gradle, InformixDB, PostgreSQL, Docker, TypeScript, Angular 8, Angular Material, Sass, ag-Grid, Bitbucket, IntelliJ IDEA

  • April 2019 – Juni 2019

    Die Message Routing Engine (MRE) ist ein regelbasiertes System zum automatisierten Matching, Routing und Labeling von verschiedenen Gruppen von SWIFT Messages mit Hilfe von Künstlicher Intelligenz (KI) im Banking-Umfeld. Das Matching erfolgt gegenüber Expected Cash Flows oder anderen Typen von Daten, wie z.B. Kundendaten.

    Ein web-basierter Client ermöglicht ein manuelles Matching, Routing und Labeling von Messages, die aufgrund von bisher unbekannten Mustern nicht automatisiert verarbeitet werden können, wobei die KI-basierte Komponente trainiert wird. Ein 4-Augen-Prinzip sorgt für zusätzliche Qualitätssicherung.

    Ein Regel-Editor macht es möglich, neue Regeln zu erfassen und bestehende Regeln zu bearbeiten. Mithilfe eines Rule Verifiers können Regeln verifiziert werden. Ein Rule Trainer ermöglicht es, bestehende Regeln zu trainieren.

    Eigene Aufgaben im Projekt

    • Konzeption und Umsetzung einer komponentenbasierten Software-Architektur für alle Module (z.B. Regel-Editor, Rule Trainer, Rule Verifier) des Web Clients
    • Branche

      Banking

    • Rolle im Projekt

      Lead Frontend Developer

    • Technologien

      Java 8, Spring Boot, OracleDB, Apache ActiveMQ, TypeScript, Angular 7, Angular Material, Bitbucket, Jira, Confluence, Jenkins

  • Bei diesem Projekt handelt es sich um ein Konsortialprojekt, an dem 4 Banken als Auftraggeber beteiligt sind. Ziel des Projektes ist die Digitalisierung des Schuldscheindarlehen-Management-Prozesses. Es wird eine verteilte, auf Blockchain-basierte Software-Architektur für eine neue Softwareplattform konzipiert und umgesetzt.

    Mitglieder, die auf der Plattform agieren und die entsprechenden Berechtigungen haben, sind in der Lage, neue Geschäftspartner auf der Plattform einzuladen. Das System ermöglicht die Erfassung von Schuldscheindarlehensdaten. Bestätigungsschritte, die von entsprechend berechtigten Mitarbeitern der jeweiligen Unternehmen vorgenommen werden, sorgen für Echtheit. Im Endeffekt erhalten die Geschäftspartner eine Schuldscheinurkunde, die eine prüfbare Signatur vorweist.

    Eigene Aufgaben im Projekt

    • Umsetzung von neuen Funktionalitäten im Frontend und im Backend
    • Anpassung von bestehenden Funktionalitäten im Web Client
    • Behebung von gemeldeten Problemen im Web Client
    • Branche

      Banking

    • Rolle im Projekt

      Fullstack-Softwareentwickler

    • Technologien

      JavaScript, React, React Material-UI, Redux, axios, web3.js, Java 8, Spring Boot, Hibernate, Lombok, web3j, Liquibase, Gradle, Ethereum, Truffle, Solidity, Geth, GitLab, Docker, Jira, Confluence

  • Oktober 2018 – November 2018

    Collateral Management stellt eine effektive und effiziente Allokation von Sicherheiten zur Reduktion von Risiken im Banking-Umfeld dar. Als Collaterals bezeichnet man Vermögenswerte z.B. Wertpapiere, die sowohl für den Kreditnehmer als auch für den Kreditgeber einen verwertbaren Wert besitzen und vom Kreditgeber als Sicherheit verpfändet werden.

    Ziel des Projektes ist es, den Collateral-Management-Prozess mittels Blockchain abzubilden und die Tauglichkeit von Blockchain für ein dezentralisiertes Collateral Management zu untersuchen und zu bewerten. Es soll eine Web-Anwendung entwickelt werden, welche Daten mittels Ethereum SmartContracts ausschließlich von bzw. auf der Blockchain liest bzw. speichert. Die Web-Anwendung stellt verschiedene Funktionen zur Verwaltung von Collaterals (Senden, Empfangen, Tokenization und Detokenization, Abbrechen und Bestätigen von Transaktionen, Übersicht zu eigenen Beständen, offenen und geschlossenen Transaktionen) für die Rollen "Account Owner" und "Treuhänder" zur Verfügung.

    Eigene Aufgaben im Projekt

    • Konzeption und Umsetzung einer komponentenbasierten Software-Architektur für alle verfügbaren Funktionen in der Web-Anwendung
    • Branche

      Banking

    • Rolle im Projekt

      Lead Frontend Developer

    • Technologien

      TypeScript, Angular 6, Angular Material, HTML5, CSS, Ethereum, Solidity, Docker, GitLab, Visual Studio Code, web3.js

  • Der Kunde entwickelt LKW-Flottenmanagement-Systeme im Connected-Trucks-Umfeld. Im Rahmen eines Großprojekts werden Komponenten einer monolithischen service- und nachrichtenorientierten Architektur im Backend-Bereich als Microservices in die Cloud migriert. Ziel ist es, die Basisplattform im Backend möglichst zu entlasten.

    Einer dieser Services ermöglicht es, dass diverse Clients Daten, die vernetzte LKWs generieren und an das Backend-System in Form von Nachrichten senden, über eine SOAP API mittels Pooling-Mechanismen abrufen. Clients, bei denen der Service bereits im Einsatz ist, sollen nicht angepasst werden müssen.

    Eigene Aufgaben im Projekt

    • Migration des Service in die Azure Cloud
    • Behebung von Problemen nach bereits durchgeführter Umstellung von Java EE/EJB auf Spring Boot 2 und von DB2 auf PostgreSQL
    • Umsetzung einer Caching-Strategie, bei der die Anzahl der Requests, die der Service an externe Dienste sendet, reduziert wird
    • Entwicklung eines Client-Lasttest mittels Gatling
    • Entwurf von Testszenarien, Durchführung von Lasttests, Dokumentation und Analyse der Ergebnisse
    • Entwurf von Varianten für das Deployment von mehreren Service-Instanzen mit unterschiedlichen Message-Broker- und Message-Queues-bezogenen Konfigurationen in der Cloud unter Berücksichtigung einer kundenspezifischen physischen Architektur und Umsetzung einer der Varianten mittels Kubernetes Helm
    • Definition von Rewrite Rules für IBM HTTP Server für die Umleitung von Requests zum migrierten Service in der Cloud
    • Automatisierung des Prozesses zum Ein- und Ausschalten der Umleitung von Requests zum migrierten Service in der Cloud mittels Ansible-Skript und Jenkins-Job
    • Auslagerung eines Moduls zur Datenbankinitialisierung mittels Liquibase als separate Spring-Boot-Anwendung in der Cloud
    • Entwicklung einer Spring-Boot-Anwendung zur Generierung von Testnachrichten in der Cloud
    • Branche

      Automotive

    • Rolle im Projekt

      Backend-Entwickler

    • Technologien

      Java 8, Spring Boot 2, Gatling, Liquibase, PostgreSQL, Azure, Docker, Kubernetes, Helm, Visual Studio Team Services, Eclipse, IBM HTTP Server, Jenkins, JPA/Hibernate, Ansible, SoapUI, MQ-Explorer, Grafana

Kontakt

Ich freue mich auf den Kontakt mit Ihnen!

  • Adresse

    Wielandtstr. 19
    76137 Karlsruhe
    Deutschland
  • E-Mail

Bitte füllen Sie alle Pflichtfelder aus!
Nach oben