Senior Fullstack Software Engineer im Web-Umfeld (Java, Spring, TypeScript, Angular)
Aktualisiert am 19.07.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 15.08.2024
Verfügbar zu: 100%
davon vor Ort: 0%
Fullstack-Softwareentwicklung
Bulgarisch
Muttersprache
Deutsch
Verhandlungssicher
Englisch
Verhandlungssicher

Einsatzorte

Einsatzorte

Karlsruhe (Baden) (+50km)
Deutschland
möglich

Projekte

Projekte

8 Monate
2023-09 - 2024-04

Entwicklung einer Upload- und einer Quick-Filter-Funktionalität in einer Web-Anwendung

Fullstack-Softwareentwickler
Fullstack-Softwareentwickler

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)
  • 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

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
4 Monate
2023-04 - 2023-07

Weiterentwicklung einer Web-Applikation im Sales-Bereich

Frontend-Entwickler
Frontend-Entwickler

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
  • Entwicklung von Unit-Tests
  • Durchführung von Code Reviews und technische Qualitätssicherung

Angular 16 Angular Material TypeScript NgRx RxJS Tailwind CSS ag-Grid Transloco Nx Jest Jenkins Docker GitHub Azure Visual Studio Code
1 Jahr 3 Monate
2021-11 - 2023-01

Entwicklung einer web-basierten Archivanwendung

Frontend-Entwickler
Frontend-Entwickler
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
  • Implementierung 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

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

Weiterentwicklung einer web-basierten Plattform zur Geldanlage

Frontend-Entwickler
Frontend-Entwickler
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 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

Angular 11 / 12 Angular Material TypeScript SCSS NGXS Jest InVision REST Java 8 Java EE Spring Boot Visual Studio Code GitLab Jenkins SonarQube
3 Monate
2021-01 - 2021-03

Konzeption und Umsetzung eines Microservice zur automatisierten Erkennung von Wertpapieren aus einem Depotauszug

Fullstack-Softwareentwickler mit Backend-Schwerpunkt, Softwarear
Fullstack-Softwareentwickler mit Backend-Schwerpunkt, Softwarear

Der Kunde ist eine Schweizer Privatbank mit Hauptsitz in Zürich, die sich auf zukunftsorientierte Themen und nachhaltige Vermögensverwaltung stark fokussiert. Im Rahmen des Projektes „PortfolioScanner“ 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 End-To-End-Tests
• Anbindung an das bestehende Backend-System
• Implementierung eines Web Clients zum internen Testen des Microservice

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
Zürich / Remote
9 Monate
2020-04 - 2020-12

Entwicklung einer web-basierten Plattform zur Eröffnung eines Tagesgeldkontos

Frontend-Entwickler
Frontend-Entwickler

Der Kunde ist der IT-Dienstleister innerhalb der genossenschaftlichen FinanzGruppe mit einem Kundenkreis von rund 900 Volks- und Raiffeisenbanken in Deutschland. Im Rahmen des Projekts „Produktverkauf“ 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. Die Architektur im Frontend ist komponentenbasiert und im Backend Microservice-basiert und prozessorientiert.

Eigene Aufgaben im Projekt:

  • Mitarbeit bei der Entwicklung von Features im Frontend
  • Entwicklung von Unit-Tests im Frontend
  • Analyse und Behebung von gemeldeten Problemen im Web Client
TypeScript Angular 8 Angular Material SCSS HTML5 RxJS Node.js Jest cypress Java 11 Spring Boot Visual Studio Code Eclipse BPMN Camunda Apache Kafka
Remote
6 Monate
2019-11 - 2020-04

Kundenbeziehungsmanagement für Firmenkunden

Lead Frontend Developer
Lead Frontend Developer

Der Kunde ist der IT-Dienstleister innerhalb der genossenschaftlichen FinanzGruppe mit einem Kundenkreis von rund 900 Volks- und Raiffeisenbanken in Deutschland. Im Gesamtprojekt "KundenFokus", an dem über 600 Leute beteiligt sind, wird eine neue große Vertriebsplattform als Kundenportal entwickelt. Das Teilprojekt "Kundenbeziehungsmanagement für Firmenkunden" 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 den Modul "Agenda" zur Vorbereitung und Durchführung von Kundengesprächen inkl. Terminübersicht
  • Mitarbeit bei der Umsetzung des Agenda-Moduls
  • Mitarbeit bei der Weitentwicklung von weiteren Features in anderen Modulen des Systems
TypeScript Angular 7 Angular Material SCSS HTML5 RxJS NgRx Node.js Java 8 Spring Boot Flyway Visual Studio Code
Dortmund
2 Monate
2019-10 - 2019-11

Entwicklung einer Plattform für Immobilienfinanzierungen

Softwareentwickler
Softwareentwickler

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 des 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.
Die Plattform hat eine Microservice-basierte Architektur im Backend und eine komponentenbasierte Architektur im Frontend.

Eigene Aufgaben im Projekt:

  • Konzeption und Umsetzung einer neuen Web-Komponente (Datei-Explorer) für den Web Client, die 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.
  • Mitarbeit bei der Entwicklung und Anpassung von Funktionalitäten im Web Client
Java 8 Spring Boot Nuxeo Keycloak TypeScript Angular 8 Angular Material SCSS Visual Studio Code Bitbucket Jenkins Jira
Dortmund
4 Monate
2019-07 - 2019-10

Datenlieferungen an Kostenträger im Gesundheitswesen

Fullstack-Softwareentwickler und Lead Frontend Developer
Fullstack-Softwareentwickler und Lead Frontend Developer

Der Kunde ist einer der führenden Abrechnungs- und Finanzdienstleister im deutschen Heil- und Hilfsmittelmarkt. Im Rahmen des Projektes "Datenlieferungen an Kostenträger" 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 übertragen. Sobald eine Rechnung von einem Leistungserbringer (z.B. Physiotherapeut) ankommt, wird ein Rechnungsdatensatz in der Datenbank erzeugt. Bei der Datenlieferung greift das Datenlieferungssystem auf die Rechnungsdatensätze in der Datenbank zu, erzeugt die entsprechenden Dateien und übermittelt sie verschlüsselt an die jeweiligen Kostenträger auf Basis einer vordefinierten Konfiguration. Batch-basierte Prozesse sorgen für die fehlerfreie Generierung und die periodische, zuverlässige Übertragung der Dateien an die Kostenträger. Ein Web Client ermöglicht es einem Sachbearbeiter, sich Überblick über bereits erfolgte (erfolgreiche / fehlgeschlagene) und ausstehende Datenlieferungen zu verschaffen. Zudem kann ein Sachbearbeiter die Stammdaten und die Konfiguration für jeden Kostenträger verwalten. In der Konfiguration werden das gewünschte Übertragungsmedium (z.B. E-Mail, SFTP), wie oft die Datenlieferung stattfinden soll und andere für die Datenlieferung relevante Parameter festgelegt. Über das web-basierte Werkzeug ist ein Sachbearbeiter in der Lage, eine oder mehrere Datenlieferungen manuell zu starten oder bestimmte Edifacts erneut zu senden bzw. zu generieren.
Das System hat eine modularisierte, microservice-basierte, nachrichtenorientierte Software-Architektur mit batch-basierten Prozessen. Der Web Client ist komponentenbasiert.

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
  • Mitarbeit bei der Implementierung von RESTful Microservices
  • Entwicklung von Unit-Tests im Frontend und Backend
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
Stuttgart
4 Monate
2019-03 - 2019-06

Message Routing Engine

Lead Frontend Developer Komponentenbasierte Architektur UI Design Scrum
Lead Frontend Developer

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 und zu verwalten. Mithilfe eines Rule Verifiers können Regeln verifiziert werden. Ein Rule Trainer ermöglicht es, bestehende Regeln zu trainieren. Die MRE hat eine service- und nachrichtenorientierte Software-Architektur. Das Backend ist Microservice-basiert und das Frontend komponentenbasiert.

Eigene Aufgaben im Projekt:

  • Konzeption und Umsetzung einer komponentenbasierten Software-Architektur für den Web Client
Java 8 Spring Boot OracleDB Apache ActiveMQ TypeScript Angular 7 Angular Material Bitbucket Jira Confluence Jenkins
Komponentenbasierte Architektur UI Design Scrum
Frankfurt am Main
5 Monate
2018-11 - 2019-03

Sicheres Schuldscheindarlehen-Management mit Blockchain

Fullstack-Softwareentwickler Scrum Blockchain Objektorientierte Programmierung
Fullstack-Softwareentwickler

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 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:

  • Beheben von gemeldeten Problemen im Web Client
  • Anpassung von bestehenden Funktionalitäten im Web Client
  • Mitarbeit bei der Umsetzung von neuen Features und Funktionalitäten im Web Client und teilweise im Backend
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
Scrum Blockchain Objektorientierte Programmierung
Frankfurt am Main
2 Monate
2018-10 - 2018-11

Collateral Management mit Blockchain

Lead Frontend Developer Blochchain Komponentenbasierte Architektur Scrum
Lead Frontend Developer

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. Als Blockchain-Implementierung kommt Ethereum zum Einsatz. Es wird eine Web-Anwendung entwickelt, 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 einer komponentenbasierten Software-Architektur für die Web-Anwendung
  • Umsetzung der Web-Anwendung mit dem Angular Framework
TypeScript Angular 6 Angular Material HTML5 CSS Ethereum Solidity Docker GitLab Visual Studio Code web3.js
Blochchain Komponentenbasierte Architektur Scrum
Frankfurt am Main
4 Monate
2018-07 - 2018-10

Migration eines Microservice in die Cloud

Softwareentwickler Microservice-Architektur Nachrichtenorientierte Architektur Dockerisierung von Microservices ...
Softwareentwickler

Der Kunde entwickelt LKW-Flottenmanagement-Systeme im Connected-Trucks-Umfeld. Im Rahmen des Projekts "Kosmos" 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:

  • Mitarbeit bei der Migration des Service in die Azure Cloud
  • Beheben 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 Services sendet, reduziert wird
  • Entwicklung eines Client-Lasttest mittels Gatling und Scala DSL für 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
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
Microservice-Architektur Nachrichtenorientierte Architektur Dockerisierung von Microservices Continuous Integration / Continuous Delivery Last-Testing Datenhaltung in der Cloud Scrum
Stuttgart
1 Jahr 8 Monate
2016-11 - 2018-06

Technologieforschung

Softwareentwickler, Konzepter Blockchain Event Sourcing REST ...
Softwareentwickler, Konzepter
  • Blockchain Research: Erforschen der Grundkonzepte von Blockchain und Vergleich zu Event Sourcing, Ableiten von Anwendungsfällen für das öffentliche Firmenregister Unternehmensverzeichnis.org und Entwurf eines technischen Konzepts auf Basis von Blockchain-basierten Technologien
  • Vaadin & Kotlin: Erproben von Vaadin mit Kotlin und Prototypische Umsetzung eines Web Clients für die App-basierte Plattform SmartWe von CAS in Kotlin und Vaadin mit der Karibu-DSL
  • CAS Sign-In: Erforschen der Grundkonzepte der Protokolle OAuth 2.0 und OpenID Connect; Entwurf und prototypische Umsetzung einer Single-Sign-On-Lösung für SmartWe
  • App Designer Research: Erforschen von Google Blockly und anderen web-basierten Frameworks zur visuellen Programmierung
  • CAS AppointmentsNavigator: Konzeption und prototypische Umsetzung einer Backend-Komponente, die es ermöglicht, den Benutzer bei der Einhaltung seiner Termine intelligent zu unterstützen

Eigene Aufgaben in den Projekten:

  • Evaluation von (neuesten) Softwaretechnologien (Programmiersprachen, Frameworks), Ansätzen und Protokollen
  • Erstellung von Berichten und Präsentationen
  • Entwicklung von technischen Konzepten
  • (Prototypische) Implementierung
Java 8 Java EE Kotlin Vaadin Spring Boot JPA / Hibernate HSQLDB Maven Gradle Apache Tomcat Git Confluence Google Blockly Ethereum JavaScript Truffle Solidity web3.js
Blockchain Event Sourcing REST Identity and Access Management Visuelle Programmierung
CAS Software AG
Karlsruhe
1 Jahr 8 Monate
2016-11 - 2018-06

Intelligente Erfassung von Kontakten im CRM-Umfeld

Fullstack-Softwareentwickler Objektorientierte Programmierung Responsive Web Design Natural Language Processing ...
Fullstack-Softwareentwickler

Im Rahmen dieses Projektes soll eine einfache und intelligente, automatisierte Erfassung von Kontakten im CRM-Umfeld mit möglichst wenig manuellem Eingreifen des Benutzers ermöglicht werden. Die Kontaktdaten liegen als Freitext vor und/oder sind in der Signatur einer E-Mail enthalten oder auch auf einer Visitenkarte vorhanden. Eine weitere Möglichkeit ist, dass die Kontaktdaten in einem im Internet verfügbaren Dokument (z.B. PDF-Dokument) mit kopiergeschütztem Text oder auf einem Bild vorliegen. Nach der Selektion der Eingabedaten durch den Benutzer erkennt das System automatisch die einzelnen Kontaktbestandteile, füllt die entsprechende Eingabemaske aus und bietet dem Benutzer diverse Zieldatenbanken (z.B. die CRM-Systeme der CAS Software AG, Google, Microsoft, lokal als vCard oder auf dem SmartPhone) zum Speichern des neuen Kontaktdatensatzes an. Diese Funktion soll in 11 Sprachen funktionsfähig sein.

Eigene Aufgaben im Projekt:

  • Konzeption und Umsetzung aller Softwarekomponenten ((Micro)services) im Backend-Bereich
  • Konzeption und Umsetzung der folgenden Komponenten im Frontend-Bereich: mobile web-basierte Anwendung, Google-Chrome-Erweiterung, Microsoft Outlook Add-In (für Outlook Desktop und Outlook Web), Gmail Add-on
  • Entwicklung von Unittests und Integrationstests
  • Erstellung von technischer Dokumentation und Wartung
Java 8 Java EE Spring Boot OpenCV JavaScript TypeScript HTML5 CSS Office UI Fabric JS Angular 5 Angular Material Google App Script Apache Tomcat nginx Git Confluence Eclipse Visual Studio Code
Objektorientierte Programmierung Responsive Web Design Natural Language Processing Automatische Bildverarbeitung REST Optical Character Recognition (OCR)
CAS Software AG
Karlsruhe
11 Monate
2017-04 - 2018-02

Aufbau und Einführung eines Qualitätsmanagements zur kontinuierlichen Verbesserung der am Karlsruher Institut für Technologie eingesetzten Campus-Management-Software

Wissenschaftlicher Mitarbeiter (20%) Test-Driven Development Behavior-Driven Development Domain-Driven Design
Wissenschaftlicher Mitarbeiter (20%)

Ziel des Projektes ist die Einführung von Methoden und Werkzeugen zur Verbesserung und Überprüfung der Qualität der am Karlsruher Institut für Technologie eingesetzten Campus-Management-Software.

Eigene Aufgaben im Projekt:

  • Mitarbeit beim Entwurf von Konzepten auf Basis von Test-Driven Development, Behavior-Driven Development und Domain-Driven Design
  • Betreuung von studentischen Arbeiten (Bachelor-, Praktikums- und Seminararbeiten) im Projektkontext
  • Reviews von Konzepten und Implementierungsartefakten
Java Spring Boot JUnit Mockito Cucumber Gherkin
Test-Driven Development Behavior-Driven Development Domain-Driven Design
Karlsruher Institut für Technologie
Karlsruhe
11 Monate
2017-04 - 2018-02

Entwicklung eines Gefahrenwarndienstes in einer Connected-Car-Umgebung

Wissenschaftlicher Mitarbeiter (20%) Domain-Driven Design Microservice-Architektur Komponentenbasierte Architektur ...
Wissenschaftlicher Mitarbeiter (20%)

Im Rahmen des Kooperationsprojektes "Connected Car" (in Kooperation zwischen dem Karlsruher Institut für Technologie und dem Industriepartner xdi360 GmbH) wird ein Gefahrenwarndienst entwickelt, der den Fahrer eines vernetzten Fahrzeugs im Fall einer (potentiellen) Gefahr (z.B. Aquaplaning, Blitzeis, Verkehrsstau, Unfall) warnt. Connected Cars sind vernetzte Fahrzeuge, die ständig Daten über Sensoren erzeugen, die als Ereignisse angesehen werden. Diese Daten werden vorverarbeitet, gefiltert und zusammen mit den Daten anderer Connected Cars analysiert. Daraus werden Gefahreninformationen abgeleitet, die Connected Cars zur Verfügung gestellt werden.

Eigene Aufgaben im Projekt:

  • Mitarbeit bei der Konzeption einer Microservice-basierten ereignisgesteuerten Architektur
  • Betreuung von studentischen Arbeiten (Bachelor-, Praktikums- und Seminararbeiten) im Projektkontext
  • Reviews von Konzepten und Implementierungsartefakten
Java 8 Spring Boot Spring Cloud Stream JPA / Hibernate HSQLDB Apache Kafka Apache ActiveMQ Apache Flink EsperTech Esper JUnit Cucumber Gherkin TypeScript Angular 4 Angular Material HTML5 CSS Leaflet.js Swagger Git Team Foundation Server
Domain-Driven Design Microservice-Architektur Komponentenbasierte Architektur Ereignisgesteuerte Architektur Entwurf von REST API Behavior-Driven Development Streaming-Prozesse Internet of Things
xdi360 GmbH, Karlsruher Institut für Technologie
Karlsruhe
6 Monate
2016-05 - 2016-10

Entwicklung eines Aufrufsystems zur effizienten Verwaltung von Warteschlangen im Studierendenservice am Karlsruher Institut für Technologie

Fullstack Lead Developer, Softwarearchitekt Microservice-Architektur Nachrichtenorientierte Architektur Komponentenbasierte Architektur ...
Fullstack Lead Developer, Softwarearchitekt

Im Rahmen eines Kooperationsprojektes zwischen dem Karlsruher Institut für Technologie (KIT) und der CAS Software AG wird ein web-basiertes, hochgradig verteiltes Softwaresystem zur effizienten Verwaltung von Warteschlangen im Studierendenservice am KIT konzipiert und umgesetzt. Das System besteht aus mehreren lose gekoppelten Modulen, die miteinander interagieren.

Die Software bietet einem Studierenden drei verschiedene Möglichkeiten, eine Wartemarke zu ziehen:

  • elektronische Wartemarke über einen Online-Modul
  • Papierwartemarke vor Ort im Studierendenservice über ein Touchscreen-Gerät
  • Papierwartemarke vor Ort im Studierendenservice durch Scannen des Studierendenausweises (KIT-Card)

Die sich ständig ändernde Wartesituation wird im Warteraum des Studierendenservice in Echtzeit auf zwei Bildschirme angezeigt. Über einen Online-Modul (Desktop und Mobil) kann ein Studierender die aktuelle Wartesituation für seinen Wartekreis verfolgen und falls gewünscht, eine Benachrichtigung erhalten, kurz (5-10 Minuten) bevor er aufgerufen wird. Sachbearbeiter können mit Hilfe des Systems Wartende aufrufen, Wartekreise verwalten und die Anliegen der Studierenden protokollieren.

Eigene Aufgaben im Projekt:

  • Konzeption einer nachrichtenorientierten Architektur für das Gesamtsystem
  • Konzeption jeweils einer komponentenbasierten Architektur für alle web-basierten Module im Frontend-Bereich
  • Konzeption einer Microservice-basierten Architektur im Backend-Bereich
  • Mitarbeit bei der Festlegung der Technologien für die Umsetzung
  • Implementierung von 80% der Module im Frontend-Bereich und 50% der Module im Backend-Bereich
TypeScript Angular 2 Angular Universal Angular Material Node.js MongoDB stomp.js amqp.node client restify RabbitMQ nginx Git Visual Studio Code
Microservice-Architektur Nachrichtenorientierte Architektur Komponentenbasierte Architektur Server-seitiges Rendering von Webanwendungen Datenmodellierung UI Design Push- und pull-basierte Kommunikationsmodelle
Karlsruher Institut für Technologie, CAS Software AG
Karlsruhe
2 Jahre 6 Monate
2014-05 - 2016-10

Konzeption und Umsetzung einer Offline-Fähigkeit für die mobile Version der web-basierten CRM-Software genesisWorld SmartDesign

Softwareentwickler Datensynchronisation REST Client-seitiges Caching von Daten ...
Softwareentwickler

Im Rahmen dieses Forschungsprojektes wird eine Offline-Fähigkeit für die mobile Version der web-basierten CRM-Software genesisWorld SmartDesign mit modernen Web-Technologien und Ansätzen entwickelt. Zudem sollen geeignete Synchronisationsmechanismen konzipiert und umgesetzt werden.

Eigene Aufgaben im Projekt:

  • Erforschen von gängigen Technologien und Ansätzen
  • Technische Konzeption
  • Prototypische Implementierung
Vaadin Touchkit JavaScript jQuery (Mobile) HTML5 CSS KnockoutJS AngularJS TypeScript Angular 2 Angular Material Google Polymer JS Web Worker / Service Worker HTML5 Application Cache indexedDB Redis Node.js Visual Studio Code Git nginx React Jira Confluence
Datensynchronisation REST Client-seitiges Caching von Daten Application Caching
CAS Software AG
Karlsruhe
5 Monate
2014-05 - 2014-09

Das Werkzeug SPLevo (Software Product Line evolution) im Rahmen des Innovationsprojektes KoPL (von Kopien zu Produktlinien)

Softwareentwickler Objektorientierte Programmierung UML-konforme Modellierung Testgetriebene Softwareentwicklung ...
Softwareentwickler

Das Innovationsprojekt KoPL (von Kopien zu Produktlinien) hat die Aufgabe, Softwareherstellern eine einfache und effiziente Methode anzubieten, mit deren Hilfe von Softwareproduktkopien eine Softwareproduktlinie erzeugt werden kann. Das Open-Source-Werkzeug SPLevo (Software Product Line evolution) wird im Rahmen des KoPL-Projektes auf Basis der Eclipse-Plattform entwickelt. Die Aufgabe von SPLevo ist die effiziente Konsolidierung kundenspezifischer Softwareproduktkopien. Das Werkzeug ist in der Lage, Softwareproduktkopien zu analysieren, Unterschiede zwischen ihnen zu erkennen und Variationspunkte zur Verfügung zu stellen. Verschiedene Gruppierungen der Variationspunkte aufgrund identifizierter Zusammenhänge werden von SPLevo vorgeschlagen.

Eigene Aufgaben im Projekt:

  • Entwicklung eines Eclipse-Wizards für das Werkzeug SPLevo zur Benutzerführung bei den einzelnen Schritten des Konsolidierungsprozesses:
    • Konzeption und Umsetzung der Oberfläche des Wizards
    • Entwicklung von Unittests
    • Erstellung von technischer Dokumentation
Java 7 Eclipse Eclipse Rich Client Platform (RCP) JUnit Mockito UML SVN Jira
Objektorientierte Programmierung UML-konforme Modellierung Testgetriebene Softwareentwicklung UI Design
Karlsruher Institut für Technologie, Forschungszentrum Informatik
Karlsruhe
5 Monate
2013-03 - 2013-07

Entwicklung einer Kundenverwaltung mit integrierter Abrechnungsfunktion für die Fakturierungssoftware AX-Easy

Softwareentwickler, Softwarearchitekt Verteilte Softwarearchitektur Serviceorientierte Architektur Objektorientierte Programmierung ...
Softwareentwickler, Softwarearchitekt

Dieses Projekt beschäftigt sich mit der technischen Konzeption und der Umsetzung einer effizienten Kundenverwaltung nebst Abrechnungsfunktion für die Fakturierungssoftware AX-Easy, die in der Google Cloud betrieben wird. Die Kundenverwaltung ermöglicht es, mit den Kunden von AX-Easy zu kommunizieren und 5 verschiedene Statistikarten zu erstellen. Diese Statistiken zeigen z.B. den Kundenzuwachs pro Monat und können in Echtzeit über eine Web-Anwendung eingesehen und in zwei verschiedenen Datenformaten exportiert werden.

Mithilfe der Abrechnungsfunktion werden die Kunden für die mit AX-Easy erstellten Belege (z.B. Rechnung, Angebot, Lieferschein) abgerechnet.  Jeder Kunde von AX-Easy bekommt per E-Mail automatisch eine monatliche Rechnung samt Einzelnachweis für die mit AX-Easy erstellten Belege.

Diese Funktionen sind nur für die firmeninterne Nutzung gedacht und sollen auf einem internen Server außerhalb der Google Cloud betrieben werden, sodass das operative System minimal belastet wird.

Eigene Aufgaben im Projekt:

  • Vollständige Konzeption der Softwarearchitektur und der Datenmodelle und Implementierung  aller Module, Komponenten und Kommunikationsmechanismen
  • Testen, Deployment und Dokumentation der Implementierungsartefakte
Java 7 Eclipse Maven JavaMail API JExcel JavaServer Pages (JSP) Servlets HTML CSS Spring MySQL Google BigTable Google App Engine Business Intelligence and Reporting Tools (BIRT) SVN Jenkins Apache Tomcat Linux Ubuntu
Verteilte Softwarearchitektur Serviceorientierte Architektur Objektorientierte Programmierung Dependency Injection Modellierung von relationalen Datenbankmodellen Ajax Modellierung von Extract-Transform-Load (ETL)-Prozessen
AX Business Solutions AG
Remote
3 Monate
2012-07 - 2012-09

Cumulus4j: Sichere Architekturen für vertrauenswürdige Softwaresysteme in der Cloud

Softwareentwickler UML-konforme Modellierung Objektorientierte Programmierung Client-Server-Architekturen ...
Softwareentwickler

Im Rahmen des vom Bildungsministerium für Bildung und Forschung geförderten Forschungsprojektes Cumulus4j wird ein Konzept für eine Softwarearchitektur, die auf komplexen Sicherheits- und Verschlüsselungsmechanismen basiert, erarbeitet.  Diese Architektur ermöglicht es web-basierten Anwendungen, (hochsensible) Daten sicher und vertrauenswürdig in der Cloud zu speichern und zu verwalten. Das technische Konzept wird als ein Open Source Java-Framework implementiert. Anschließend wird das Framework Cumulus4j in die Fakturierungssoftware für Kleinunternehmer AX-Easy, die in der Google Cloud betrieben wird, integriert.

Eigene Aufgaben im Projekt:

  • Integration von Cumulus4j in die Fakturierungssoftware AX-Easy:
    • Mitarbeit beim Entwurf eines Konzepts für die Integration
    • Umsetzung des Konzepts, insbesondere einer speziellen Softwarekomponente (Key-Store-Manager)
    • Entwicklung und Durchführung von Tests zur Qualitätssicherung, insbesondere Unittests und Integrationstests
    • Deployment in Google App Engine
Java 6 Google Web Toolkit Google App Engine Google BigTable JUnit XML Apache Tomcat 6 SVN Jenkins UML Eclipse Maven
UML-konforme Modellierung Objektorientierte Programmierung Client-Server-Architekturen Datenhaltung in der Cloud
AX Business Solutions AG
Remote

Aus- und Weiterbildung

Aus- und Weiterbildung

3 Jahre
2013-10 - 2016-09

Masterstudium in Informatik

Master of Science, Karlsruher Institut für Technologie, Fakultät für Informatik, Karlsruhe
Master of Science
Karlsruher Institut für Technologie, Fakultät für Informatik, Karlsruhe

Softwaretechnik und Informationssysteme

4 Jahre
2009-09 - 2013-08

Bachelorstudium im Fach Computersysteme und -technologien (Informatik) in deutscher Sprache im Rahmen einer Kooperation zwischen der TU Sofia und dem Karlsruher Institut für Technologie

Bachelor of Science mit Ehrenurkunde für ausgezeichnete Leistungen im Studium und Fachqualifikation "Computeringenieur", Technische Universität Sofia, Fakultät für deutsche Ingenieur- und Betriebswirtschaftsausbildung, Bulgarien
Bachelor of Science mit Ehrenurkunde für ausgezeichnete Leistungen im Studium und Fachqualifikation "Computeringenieur"
Technische Universität Sofia, Fakultät für deutsche Ingenieur- und Betriebswirtschaftsausbildung, Bulgarien

Objektorientierte Programmierung, Softwaretechnik und Datenbanksysteme

Position

Position

Als Senior Software Engineer mit Bachelor- und Masterabschluss in Informatik verfüge ich über langjährige Berufserfahrung 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.

Kompetenzen

Kompetenzen

Top-Skills

Fullstack-Softwareentwicklung

Aufgabenbereiche

Entwurf von Softwarearchitekturen
Fullstack-Softwareentwicklung (Frontend und Backend)
Informationssysteme und Datenbank-Managementsysteme
Moderne Software-Entwicklungstechnologien
Objektorientierte Programmierung (Java, TypeScript)
Technische Konzeption von Softwaresystemen

Betriebssysteme

Linux
Windows

Programmiersprachen

Java
sehr gute Kenntnisse
JavaScript
sehr gute Kenntnisse
TypeScript
sehr gute Kenntnisse

Datenbanken

DB2
Google BigTable
HSQLDB
IndexedDB
Informix
MongoDB
MySQL
Oracle
PostgreSQL
Redis

Branchen

Branchen

  • Banking
  • Automotive
  • Customer Relationship Management (CRM)
  • Hochschulmanagement
  • Öffentlicher Dienst

Einsatzorte

Einsatzorte

Karlsruhe (Baden) (+50km)
Deutschland
möglich

Projekte

Projekte

8 Monate
2023-09 - 2024-04

Entwicklung einer Upload- und einer Quick-Filter-Funktionalität in einer Web-Anwendung

Fullstack-Softwareentwickler
Fullstack-Softwareentwickler

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)
  • 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

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
4 Monate
2023-04 - 2023-07

Weiterentwicklung einer Web-Applikation im Sales-Bereich

Frontend-Entwickler
Frontend-Entwickler

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
  • Entwicklung von Unit-Tests
  • Durchführung von Code Reviews und technische Qualitätssicherung

Angular 16 Angular Material TypeScript NgRx RxJS Tailwind CSS ag-Grid Transloco Nx Jest Jenkins Docker GitHub Azure Visual Studio Code
1 Jahr 3 Monate
2021-11 - 2023-01

Entwicklung einer web-basierten Archivanwendung

Frontend-Entwickler
Frontend-Entwickler
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
  • Implementierung 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

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

Weiterentwicklung einer web-basierten Plattform zur Geldanlage

Frontend-Entwickler
Frontend-Entwickler
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 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

Angular 11 / 12 Angular Material TypeScript SCSS NGXS Jest InVision REST Java 8 Java EE Spring Boot Visual Studio Code GitLab Jenkins SonarQube
3 Monate
2021-01 - 2021-03

Konzeption und Umsetzung eines Microservice zur automatisierten Erkennung von Wertpapieren aus einem Depotauszug

Fullstack-Softwareentwickler mit Backend-Schwerpunkt, Softwarear
Fullstack-Softwareentwickler mit Backend-Schwerpunkt, Softwarear

Der Kunde ist eine Schweizer Privatbank mit Hauptsitz in Zürich, die sich auf zukunftsorientierte Themen und nachhaltige Vermögensverwaltung stark fokussiert. Im Rahmen des Projektes „PortfolioScanner“ 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 End-To-End-Tests
• Anbindung an das bestehende Backend-System
• Implementierung eines Web Clients zum internen Testen des Microservice

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
Zürich / Remote
9 Monate
2020-04 - 2020-12

Entwicklung einer web-basierten Plattform zur Eröffnung eines Tagesgeldkontos

Frontend-Entwickler
Frontend-Entwickler

Der Kunde ist der IT-Dienstleister innerhalb der genossenschaftlichen FinanzGruppe mit einem Kundenkreis von rund 900 Volks- und Raiffeisenbanken in Deutschland. Im Rahmen des Projekts „Produktverkauf“ 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. Die Architektur im Frontend ist komponentenbasiert und im Backend Microservice-basiert und prozessorientiert.

Eigene Aufgaben im Projekt:

  • Mitarbeit bei der Entwicklung von Features im Frontend
  • Entwicklung von Unit-Tests im Frontend
  • Analyse und Behebung von gemeldeten Problemen im Web Client
TypeScript Angular 8 Angular Material SCSS HTML5 RxJS Node.js Jest cypress Java 11 Spring Boot Visual Studio Code Eclipse BPMN Camunda Apache Kafka
Remote
6 Monate
2019-11 - 2020-04

Kundenbeziehungsmanagement für Firmenkunden

Lead Frontend Developer
Lead Frontend Developer

Der Kunde ist der IT-Dienstleister innerhalb der genossenschaftlichen FinanzGruppe mit einem Kundenkreis von rund 900 Volks- und Raiffeisenbanken in Deutschland. Im Gesamtprojekt "KundenFokus", an dem über 600 Leute beteiligt sind, wird eine neue große Vertriebsplattform als Kundenportal entwickelt. Das Teilprojekt "Kundenbeziehungsmanagement für Firmenkunden" 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 den Modul "Agenda" zur Vorbereitung und Durchführung von Kundengesprächen inkl. Terminübersicht
  • Mitarbeit bei der Umsetzung des Agenda-Moduls
  • Mitarbeit bei der Weitentwicklung von weiteren Features in anderen Modulen des Systems
TypeScript Angular 7 Angular Material SCSS HTML5 RxJS NgRx Node.js Java 8 Spring Boot Flyway Visual Studio Code
Dortmund
2 Monate
2019-10 - 2019-11

Entwicklung einer Plattform für Immobilienfinanzierungen

Softwareentwickler
Softwareentwickler

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 des 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.
Die Plattform hat eine Microservice-basierte Architektur im Backend und eine komponentenbasierte Architektur im Frontend.

Eigene Aufgaben im Projekt:

  • Konzeption und Umsetzung einer neuen Web-Komponente (Datei-Explorer) für den Web Client, die 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.
  • Mitarbeit bei der Entwicklung und Anpassung von Funktionalitäten im Web Client
Java 8 Spring Boot Nuxeo Keycloak TypeScript Angular 8 Angular Material SCSS Visual Studio Code Bitbucket Jenkins Jira
Dortmund
4 Monate
2019-07 - 2019-10

Datenlieferungen an Kostenträger im Gesundheitswesen

Fullstack-Softwareentwickler und Lead Frontend Developer
Fullstack-Softwareentwickler und Lead Frontend Developer

Der Kunde ist einer der führenden Abrechnungs- und Finanzdienstleister im deutschen Heil- und Hilfsmittelmarkt. Im Rahmen des Projektes "Datenlieferungen an Kostenträger" 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 übertragen. Sobald eine Rechnung von einem Leistungserbringer (z.B. Physiotherapeut) ankommt, wird ein Rechnungsdatensatz in der Datenbank erzeugt. Bei der Datenlieferung greift das Datenlieferungssystem auf die Rechnungsdatensätze in der Datenbank zu, erzeugt die entsprechenden Dateien und übermittelt sie verschlüsselt an die jeweiligen Kostenträger auf Basis einer vordefinierten Konfiguration. Batch-basierte Prozesse sorgen für die fehlerfreie Generierung und die periodische, zuverlässige Übertragung der Dateien an die Kostenträger. Ein Web Client ermöglicht es einem Sachbearbeiter, sich Überblick über bereits erfolgte (erfolgreiche / fehlgeschlagene) und ausstehende Datenlieferungen zu verschaffen. Zudem kann ein Sachbearbeiter die Stammdaten und die Konfiguration für jeden Kostenträger verwalten. In der Konfiguration werden das gewünschte Übertragungsmedium (z.B. E-Mail, SFTP), wie oft die Datenlieferung stattfinden soll und andere für die Datenlieferung relevante Parameter festgelegt. Über das web-basierte Werkzeug ist ein Sachbearbeiter in der Lage, eine oder mehrere Datenlieferungen manuell zu starten oder bestimmte Edifacts erneut zu senden bzw. zu generieren.
Das System hat eine modularisierte, microservice-basierte, nachrichtenorientierte Software-Architektur mit batch-basierten Prozessen. Der Web Client ist komponentenbasiert.

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
  • Mitarbeit bei der Implementierung von RESTful Microservices
  • Entwicklung von Unit-Tests im Frontend und Backend
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
Stuttgart
4 Monate
2019-03 - 2019-06

Message Routing Engine

Lead Frontend Developer Komponentenbasierte Architektur UI Design Scrum
Lead Frontend Developer

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 und zu verwalten. Mithilfe eines Rule Verifiers können Regeln verifiziert werden. Ein Rule Trainer ermöglicht es, bestehende Regeln zu trainieren. Die MRE hat eine service- und nachrichtenorientierte Software-Architektur. Das Backend ist Microservice-basiert und das Frontend komponentenbasiert.

Eigene Aufgaben im Projekt:

  • Konzeption und Umsetzung einer komponentenbasierten Software-Architektur für den Web Client
Java 8 Spring Boot OracleDB Apache ActiveMQ TypeScript Angular 7 Angular Material Bitbucket Jira Confluence Jenkins
Komponentenbasierte Architektur UI Design Scrum
Frankfurt am Main
5 Monate
2018-11 - 2019-03

Sicheres Schuldscheindarlehen-Management mit Blockchain

Fullstack-Softwareentwickler Scrum Blockchain Objektorientierte Programmierung
Fullstack-Softwareentwickler

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 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:

  • Beheben von gemeldeten Problemen im Web Client
  • Anpassung von bestehenden Funktionalitäten im Web Client
  • Mitarbeit bei der Umsetzung von neuen Features und Funktionalitäten im Web Client und teilweise im Backend
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
Scrum Blockchain Objektorientierte Programmierung
Frankfurt am Main
2 Monate
2018-10 - 2018-11

Collateral Management mit Blockchain

Lead Frontend Developer Blochchain Komponentenbasierte Architektur Scrum
Lead Frontend Developer

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. Als Blockchain-Implementierung kommt Ethereum zum Einsatz. Es wird eine Web-Anwendung entwickelt, 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 einer komponentenbasierten Software-Architektur für die Web-Anwendung
  • Umsetzung der Web-Anwendung mit dem Angular Framework
TypeScript Angular 6 Angular Material HTML5 CSS Ethereum Solidity Docker GitLab Visual Studio Code web3.js
Blochchain Komponentenbasierte Architektur Scrum
Frankfurt am Main
4 Monate
2018-07 - 2018-10

Migration eines Microservice in die Cloud

Softwareentwickler Microservice-Architektur Nachrichtenorientierte Architektur Dockerisierung von Microservices ...
Softwareentwickler

Der Kunde entwickelt LKW-Flottenmanagement-Systeme im Connected-Trucks-Umfeld. Im Rahmen des Projekts "Kosmos" 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:

  • Mitarbeit bei der Migration des Service in die Azure Cloud
  • Beheben 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 Services sendet, reduziert wird
  • Entwicklung eines Client-Lasttest mittels Gatling und Scala DSL für 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
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
Microservice-Architektur Nachrichtenorientierte Architektur Dockerisierung von Microservices Continuous Integration / Continuous Delivery Last-Testing Datenhaltung in der Cloud Scrum
Stuttgart
1 Jahr 8 Monate
2016-11 - 2018-06

Technologieforschung

Softwareentwickler, Konzepter Blockchain Event Sourcing REST ...
Softwareentwickler, Konzepter
  • Blockchain Research: Erforschen der Grundkonzepte von Blockchain und Vergleich zu Event Sourcing, Ableiten von Anwendungsfällen für das öffentliche Firmenregister Unternehmensverzeichnis.org und Entwurf eines technischen Konzepts auf Basis von Blockchain-basierten Technologien
  • Vaadin & Kotlin: Erproben von Vaadin mit Kotlin und Prototypische Umsetzung eines Web Clients für die App-basierte Plattform SmartWe von CAS in Kotlin und Vaadin mit der Karibu-DSL
  • CAS Sign-In: Erforschen der Grundkonzepte der Protokolle OAuth 2.0 und OpenID Connect; Entwurf und prototypische Umsetzung einer Single-Sign-On-Lösung für SmartWe
  • App Designer Research: Erforschen von Google Blockly und anderen web-basierten Frameworks zur visuellen Programmierung
  • CAS AppointmentsNavigator: Konzeption und prototypische Umsetzung einer Backend-Komponente, die es ermöglicht, den Benutzer bei der Einhaltung seiner Termine intelligent zu unterstützen

Eigene Aufgaben in den Projekten:

  • Evaluation von (neuesten) Softwaretechnologien (Programmiersprachen, Frameworks), Ansätzen und Protokollen
  • Erstellung von Berichten und Präsentationen
  • Entwicklung von technischen Konzepten
  • (Prototypische) Implementierung
Java 8 Java EE Kotlin Vaadin Spring Boot JPA / Hibernate HSQLDB Maven Gradle Apache Tomcat Git Confluence Google Blockly Ethereum JavaScript Truffle Solidity web3.js
Blockchain Event Sourcing REST Identity and Access Management Visuelle Programmierung
CAS Software AG
Karlsruhe
1 Jahr 8 Monate
2016-11 - 2018-06

Intelligente Erfassung von Kontakten im CRM-Umfeld

Fullstack-Softwareentwickler Objektorientierte Programmierung Responsive Web Design Natural Language Processing ...
Fullstack-Softwareentwickler

Im Rahmen dieses Projektes soll eine einfache und intelligente, automatisierte Erfassung von Kontakten im CRM-Umfeld mit möglichst wenig manuellem Eingreifen des Benutzers ermöglicht werden. Die Kontaktdaten liegen als Freitext vor und/oder sind in der Signatur einer E-Mail enthalten oder auch auf einer Visitenkarte vorhanden. Eine weitere Möglichkeit ist, dass die Kontaktdaten in einem im Internet verfügbaren Dokument (z.B. PDF-Dokument) mit kopiergeschütztem Text oder auf einem Bild vorliegen. Nach der Selektion der Eingabedaten durch den Benutzer erkennt das System automatisch die einzelnen Kontaktbestandteile, füllt die entsprechende Eingabemaske aus und bietet dem Benutzer diverse Zieldatenbanken (z.B. die CRM-Systeme der CAS Software AG, Google, Microsoft, lokal als vCard oder auf dem SmartPhone) zum Speichern des neuen Kontaktdatensatzes an. Diese Funktion soll in 11 Sprachen funktionsfähig sein.

Eigene Aufgaben im Projekt:

  • Konzeption und Umsetzung aller Softwarekomponenten ((Micro)services) im Backend-Bereich
  • Konzeption und Umsetzung der folgenden Komponenten im Frontend-Bereich: mobile web-basierte Anwendung, Google-Chrome-Erweiterung, Microsoft Outlook Add-In (für Outlook Desktop und Outlook Web), Gmail Add-on
  • Entwicklung von Unittests und Integrationstests
  • Erstellung von technischer Dokumentation und Wartung
Java 8 Java EE Spring Boot OpenCV JavaScript TypeScript HTML5 CSS Office UI Fabric JS Angular 5 Angular Material Google App Script Apache Tomcat nginx Git Confluence Eclipse Visual Studio Code
Objektorientierte Programmierung Responsive Web Design Natural Language Processing Automatische Bildverarbeitung REST Optical Character Recognition (OCR)
CAS Software AG
Karlsruhe
11 Monate
2017-04 - 2018-02

Aufbau und Einführung eines Qualitätsmanagements zur kontinuierlichen Verbesserung der am Karlsruher Institut für Technologie eingesetzten Campus-Management-Software

Wissenschaftlicher Mitarbeiter (20%) Test-Driven Development Behavior-Driven Development Domain-Driven Design
Wissenschaftlicher Mitarbeiter (20%)

Ziel des Projektes ist die Einführung von Methoden und Werkzeugen zur Verbesserung und Überprüfung der Qualität der am Karlsruher Institut für Technologie eingesetzten Campus-Management-Software.

Eigene Aufgaben im Projekt:

  • Mitarbeit beim Entwurf von Konzepten auf Basis von Test-Driven Development, Behavior-Driven Development und Domain-Driven Design
  • Betreuung von studentischen Arbeiten (Bachelor-, Praktikums- und Seminararbeiten) im Projektkontext
  • Reviews von Konzepten und Implementierungsartefakten
Java Spring Boot JUnit Mockito Cucumber Gherkin
Test-Driven Development Behavior-Driven Development Domain-Driven Design
Karlsruher Institut für Technologie
Karlsruhe
11 Monate
2017-04 - 2018-02

Entwicklung eines Gefahrenwarndienstes in einer Connected-Car-Umgebung

Wissenschaftlicher Mitarbeiter (20%) Domain-Driven Design Microservice-Architektur Komponentenbasierte Architektur ...
Wissenschaftlicher Mitarbeiter (20%)

Im Rahmen des Kooperationsprojektes "Connected Car" (in Kooperation zwischen dem Karlsruher Institut für Technologie und dem Industriepartner xdi360 GmbH) wird ein Gefahrenwarndienst entwickelt, der den Fahrer eines vernetzten Fahrzeugs im Fall einer (potentiellen) Gefahr (z.B. Aquaplaning, Blitzeis, Verkehrsstau, Unfall) warnt. Connected Cars sind vernetzte Fahrzeuge, die ständig Daten über Sensoren erzeugen, die als Ereignisse angesehen werden. Diese Daten werden vorverarbeitet, gefiltert und zusammen mit den Daten anderer Connected Cars analysiert. Daraus werden Gefahreninformationen abgeleitet, die Connected Cars zur Verfügung gestellt werden.

Eigene Aufgaben im Projekt:

  • Mitarbeit bei der Konzeption einer Microservice-basierten ereignisgesteuerten Architektur
  • Betreuung von studentischen Arbeiten (Bachelor-, Praktikums- und Seminararbeiten) im Projektkontext
  • Reviews von Konzepten und Implementierungsartefakten
Java 8 Spring Boot Spring Cloud Stream JPA / Hibernate HSQLDB Apache Kafka Apache ActiveMQ Apache Flink EsperTech Esper JUnit Cucumber Gherkin TypeScript Angular 4 Angular Material HTML5 CSS Leaflet.js Swagger Git Team Foundation Server
Domain-Driven Design Microservice-Architektur Komponentenbasierte Architektur Ereignisgesteuerte Architektur Entwurf von REST API Behavior-Driven Development Streaming-Prozesse Internet of Things
xdi360 GmbH, Karlsruher Institut für Technologie
Karlsruhe
6 Monate
2016-05 - 2016-10

Entwicklung eines Aufrufsystems zur effizienten Verwaltung von Warteschlangen im Studierendenservice am Karlsruher Institut für Technologie

Fullstack Lead Developer, Softwarearchitekt Microservice-Architektur Nachrichtenorientierte Architektur Komponentenbasierte Architektur ...
Fullstack Lead Developer, Softwarearchitekt

Im Rahmen eines Kooperationsprojektes zwischen dem Karlsruher Institut für Technologie (KIT) und der CAS Software AG wird ein web-basiertes, hochgradig verteiltes Softwaresystem zur effizienten Verwaltung von Warteschlangen im Studierendenservice am KIT konzipiert und umgesetzt. Das System besteht aus mehreren lose gekoppelten Modulen, die miteinander interagieren.

Die Software bietet einem Studierenden drei verschiedene Möglichkeiten, eine Wartemarke zu ziehen:

  • elektronische Wartemarke über einen Online-Modul
  • Papierwartemarke vor Ort im Studierendenservice über ein Touchscreen-Gerät
  • Papierwartemarke vor Ort im Studierendenservice durch Scannen des Studierendenausweises (KIT-Card)

Die sich ständig ändernde Wartesituation wird im Warteraum des Studierendenservice in Echtzeit auf zwei Bildschirme angezeigt. Über einen Online-Modul (Desktop und Mobil) kann ein Studierender die aktuelle Wartesituation für seinen Wartekreis verfolgen und falls gewünscht, eine Benachrichtigung erhalten, kurz (5-10 Minuten) bevor er aufgerufen wird. Sachbearbeiter können mit Hilfe des Systems Wartende aufrufen, Wartekreise verwalten und die Anliegen der Studierenden protokollieren.

Eigene Aufgaben im Projekt:

  • Konzeption einer nachrichtenorientierten Architektur für das Gesamtsystem
  • Konzeption jeweils einer komponentenbasierten Architektur für alle web-basierten Module im Frontend-Bereich
  • Konzeption einer Microservice-basierten Architektur im Backend-Bereich
  • Mitarbeit bei der Festlegung der Technologien für die Umsetzung
  • Implementierung von 80% der Module im Frontend-Bereich und 50% der Module im Backend-Bereich
TypeScript Angular 2 Angular Universal Angular Material Node.js MongoDB stomp.js amqp.node client restify RabbitMQ nginx Git Visual Studio Code
Microservice-Architektur Nachrichtenorientierte Architektur Komponentenbasierte Architektur Server-seitiges Rendering von Webanwendungen Datenmodellierung UI Design Push- und pull-basierte Kommunikationsmodelle
Karlsruher Institut für Technologie, CAS Software AG
Karlsruhe
2 Jahre 6 Monate
2014-05 - 2016-10

Konzeption und Umsetzung einer Offline-Fähigkeit für die mobile Version der web-basierten CRM-Software genesisWorld SmartDesign

Softwareentwickler Datensynchronisation REST Client-seitiges Caching von Daten ...
Softwareentwickler

Im Rahmen dieses Forschungsprojektes wird eine Offline-Fähigkeit für die mobile Version der web-basierten CRM-Software genesisWorld SmartDesign mit modernen Web-Technologien und Ansätzen entwickelt. Zudem sollen geeignete Synchronisationsmechanismen konzipiert und umgesetzt werden.

Eigene Aufgaben im Projekt:

  • Erforschen von gängigen Technologien und Ansätzen
  • Technische Konzeption
  • Prototypische Implementierung
Vaadin Touchkit JavaScript jQuery (Mobile) HTML5 CSS KnockoutJS AngularJS TypeScript Angular 2 Angular Material Google Polymer JS Web Worker / Service Worker HTML5 Application Cache indexedDB Redis Node.js Visual Studio Code Git nginx React Jira Confluence
Datensynchronisation REST Client-seitiges Caching von Daten Application Caching
CAS Software AG
Karlsruhe
5 Monate
2014-05 - 2014-09

Das Werkzeug SPLevo (Software Product Line evolution) im Rahmen des Innovationsprojektes KoPL (von Kopien zu Produktlinien)

Softwareentwickler Objektorientierte Programmierung UML-konforme Modellierung Testgetriebene Softwareentwicklung ...
Softwareentwickler

Das Innovationsprojekt KoPL (von Kopien zu Produktlinien) hat die Aufgabe, Softwareherstellern eine einfache und effiziente Methode anzubieten, mit deren Hilfe von Softwareproduktkopien eine Softwareproduktlinie erzeugt werden kann. Das Open-Source-Werkzeug SPLevo (Software Product Line evolution) wird im Rahmen des KoPL-Projektes auf Basis der Eclipse-Plattform entwickelt. Die Aufgabe von SPLevo ist die effiziente Konsolidierung kundenspezifischer Softwareproduktkopien. Das Werkzeug ist in der Lage, Softwareproduktkopien zu analysieren, Unterschiede zwischen ihnen zu erkennen und Variationspunkte zur Verfügung zu stellen. Verschiedene Gruppierungen der Variationspunkte aufgrund identifizierter Zusammenhänge werden von SPLevo vorgeschlagen.

Eigene Aufgaben im Projekt:

  • Entwicklung eines Eclipse-Wizards für das Werkzeug SPLevo zur Benutzerführung bei den einzelnen Schritten des Konsolidierungsprozesses:
    • Konzeption und Umsetzung der Oberfläche des Wizards
    • Entwicklung von Unittests
    • Erstellung von technischer Dokumentation
Java 7 Eclipse Eclipse Rich Client Platform (RCP) JUnit Mockito UML SVN Jira
Objektorientierte Programmierung UML-konforme Modellierung Testgetriebene Softwareentwicklung UI Design
Karlsruher Institut für Technologie, Forschungszentrum Informatik
Karlsruhe
5 Monate
2013-03 - 2013-07

Entwicklung einer Kundenverwaltung mit integrierter Abrechnungsfunktion für die Fakturierungssoftware AX-Easy

Softwareentwickler, Softwarearchitekt Verteilte Softwarearchitektur Serviceorientierte Architektur Objektorientierte Programmierung ...
Softwareentwickler, Softwarearchitekt

Dieses Projekt beschäftigt sich mit der technischen Konzeption und der Umsetzung einer effizienten Kundenverwaltung nebst Abrechnungsfunktion für die Fakturierungssoftware AX-Easy, die in der Google Cloud betrieben wird. Die Kundenverwaltung ermöglicht es, mit den Kunden von AX-Easy zu kommunizieren und 5 verschiedene Statistikarten zu erstellen. Diese Statistiken zeigen z.B. den Kundenzuwachs pro Monat und können in Echtzeit über eine Web-Anwendung eingesehen und in zwei verschiedenen Datenformaten exportiert werden.

Mithilfe der Abrechnungsfunktion werden die Kunden für die mit AX-Easy erstellten Belege (z.B. Rechnung, Angebot, Lieferschein) abgerechnet.  Jeder Kunde von AX-Easy bekommt per E-Mail automatisch eine monatliche Rechnung samt Einzelnachweis für die mit AX-Easy erstellten Belege.

Diese Funktionen sind nur für die firmeninterne Nutzung gedacht und sollen auf einem internen Server außerhalb der Google Cloud betrieben werden, sodass das operative System minimal belastet wird.

Eigene Aufgaben im Projekt:

  • Vollständige Konzeption der Softwarearchitektur und der Datenmodelle und Implementierung  aller Module, Komponenten und Kommunikationsmechanismen
  • Testen, Deployment und Dokumentation der Implementierungsartefakte
Java 7 Eclipse Maven JavaMail API JExcel JavaServer Pages (JSP) Servlets HTML CSS Spring MySQL Google BigTable Google App Engine Business Intelligence and Reporting Tools (BIRT) SVN Jenkins Apache Tomcat Linux Ubuntu
Verteilte Softwarearchitektur Serviceorientierte Architektur Objektorientierte Programmierung Dependency Injection Modellierung von relationalen Datenbankmodellen Ajax Modellierung von Extract-Transform-Load (ETL)-Prozessen
AX Business Solutions AG
Remote
3 Monate
2012-07 - 2012-09

Cumulus4j: Sichere Architekturen für vertrauenswürdige Softwaresysteme in der Cloud

Softwareentwickler UML-konforme Modellierung Objektorientierte Programmierung Client-Server-Architekturen ...
Softwareentwickler

Im Rahmen des vom Bildungsministerium für Bildung und Forschung geförderten Forschungsprojektes Cumulus4j wird ein Konzept für eine Softwarearchitektur, die auf komplexen Sicherheits- und Verschlüsselungsmechanismen basiert, erarbeitet.  Diese Architektur ermöglicht es web-basierten Anwendungen, (hochsensible) Daten sicher und vertrauenswürdig in der Cloud zu speichern und zu verwalten. Das technische Konzept wird als ein Open Source Java-Framework implementiert. Anschließend wird das Framework Cumulus4j in die Fakturierungssoftware für Kleinunternehmer AX-Easy, die in der Google Cloud betrieben wird, integriert.

Eigene Aufgaben im Projekt:

  • Integration von Cumulus4j in die Fakturierungssoftware AX-Easy:
    • Mitarbeit beim Entwurf eines Konzepts für die Integration
    • Umsetzung des Konzepts, insbesondere einer speziellen Softwarekomponente (Key-Store-Manager)
    • Entwicklung und Durchführung von Tests zur Qualitätssicherung, insbesondere Unittests und Integrationstests
    • Deployment in Google App Engine
Java 6 Google Web Toolkit Google App Engine Google BigTable JUnit XML Apache Tomcat 6 SVN Jenkins UML Eclipse Maven
UML-konforme Modellierung Objektorientierte Programmierung Client-Server-Architekturen Datenhaltung in der Cloud
AX Business Solutions AG
Remote

Aus- und Weiterbildung

Aus- und Weiterbildung

3 Jahre
2013-10 - 2016-09

Masterstudium in Informatik

Master of Science, Karlsruher Institut für Technologie, Fakultät für Informatik, Karlsruhe
Master of Science
Karlsruher Institut für Technologie, Fakultät für Informatik, Karlsruhe

Softwaretechnik und Informationssysteme

4 Jahre
2009-09 - 2013-08

Bachelorstudium im Fach Computersysteme und -technologien (Informatik) in deutscher Sprache im Rahmen einer Kooperation zwischen der TU Sofia und dem Karlsruher Institut für Technologie

Bachelor of Science mit Ehrenurkunde für ausgezeichnete Leistungen im Studium und Fachqualifikation "Computeringenieur", Technische Universität Sofia, Fakultät für deutsche Ingenieur- und Betriebswirtschaftsausbildung, Bulgarien
Bachelor of Science mit Ehrenurkunde für ausgezeichnete Leistungen im Studium und Fachqualifikation "Computeringenieur"
Technische Universität Sofia, Fakultät für deutsche Ingenieur- und Betriebswirtschaftsausbildung, Bulgarien

Objektorientierte Programmierung, Softwaretechnik und Datenbanksysteme

Position

Position

Als Senior Software Engineer mit Bachelor- und Masterabschluss in Informatik verfüge ich über langjährige Berufserfahrung 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.

Kompetenzen

Kompetenzen

Top-Skills

Fullstack-Softwareentwicklung

Aufgabenbereiche

Entwurf von Softwarearchitekturen
Fullstack-Softwareentwicklung (Frontend und Backend)
Informationssysteme und Datenbank-Managementsysteme
Moderne Software-Entwicklungstechnologien
Objektorientierte Programmierung (Java, TypeScript)
Technische Konzeption von Softwaresystemen

Betriebssysteme

Linux
Windows

Programmiersprachen

Java
sehr gute Kenntnisse
JavaScript
sehr gute Kenntnisse
TypeScript
sehr gute Kenntnisse

Datenbanken

DB2
Google BigTable
HSQLDB
IndexedDB
Informix
MongoDB
MySQL
Oracle
PostgreSQL
Redis

Branchen

Branchen

  • Banking
  • Automotive
  • Customer Relationship Management (CRM)
  • Hochschulmanagement
  • Öffentlicher Dienst

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.