Daniel Badura

Daniel Badura

Software Entwickler
+49 1578 8271 885
Jakob-Kaiser-Str. 10
41470 Neuss
Mein Ziel ist es schnelle, zuverlässige und stabile Produkte an den Start zu bringen. Um das zu erreichen, haben automatisierte Tests und eine gute CI/CD Pipeline einen sehr hohen Stellenwert. Aber auch eine gute Softwarearchitektur ist für den Erfolg eines Produktes erforderlich, weshalb die Planung sowie die Konzeption einer Software enorm wichtig sind. Das Nutzen und Mitentwickeln von OpenSource Paketen sind auch ein integraler Bestandteil meiner Arbeit. Dadurch bleibe ich immer am Puls der Zeit und kann der Community etwas zurückgeben.

Beruflicher Werdegang

07/2021 - heute
Freelancer
Daniel Badura Software Consulting, Neuss
Symfony – ReactJs – DevOps – Training
07/2016 - 07/2021
Software-Entwickler
pro.volution GmbH, Köln
Symfony – ReactJs – DevOps – Training
03/2016 - 06/2016
Software-Entwickler
Konsument GmbH, Köln
Symfony – Doctrine – DevOps
05/2014 - 03/2016
Software-Entwickler
SimpleThings GmbH, Bonn
Symfony – Doctrine

Projekte

Zentrale Löscheinheit für eine Microservice Architektur

Ein führendes FinTech Unternehmen aus Deutschland beauftragte mein Team, in dem ich der technische Hauptverantwortliche war, ihr Problem mit der DSGVO-Verordnung und der Microservice-Architektur zu lösen. Das Problem war die Verteilung der Daten über zahlreiche Microservices, die der Auftraggeber entwickelt hatte. Dafür wurde eine zentrale Löscheinheit als Microservice entwickelt, mit dessen Hilfe die Daten für einen Kunden zentral gesammelt sowie auch restlos gelöscht werden kann. Die einzelnen Microservices, die der Auftraggeber bereits entwickelt hatte, mussten dafür zwei API Schnittstellen anbieten: eine für das Sammeln der Daten und die andere um den Kunden restlos im eigenen System zu löschen. Ein besonderes Augenmerk lag auf der sicheren Kommunikation mit den Microservices, da es sich hier um sehr sensible personenbezogene Daten handelt. Um auch hohen Lasten widerstehen zu können, wurde mit den einzelnen Microservices parallel und asynchron kommuniziert. Die zentrale Löscheinheit wurde auf Basis von Symfony entwickelt. Außerdem wurde noch eine kleine ReactJS App gebaut, um laufende Prozesse sowie Statistiken darzustellen.

Software as a Service für eine datenanalyse & anonymisierungs KI

Für ein Start-Up-Unternehmen habe ich als technischer Hauptverantwortlicher des Projektes zusammen mit meinem Team eine Plattform entwickelt, auf der ein Kunde Datensätze zur Analyse oder Anonymisierung hochladen konnte, um daraufhin in minutenschnelle ein Ergebnis von der KI zu erhalten. Um den Anforderungen an die Geschwindigkeit gerecht zu werden, wurde ein asynchroner Ansatz gewählt. Mit einer Auftrags-Queue und mehreren Workern für die verschiedenen Analysen, konnte somit ein hoch skalierbares System entstehen, welches die Anforderung erfüllt hat sowie für weitere Analysen in der Zukunft vorbereitet war. Die Plattform wurde aufgeteilt auf eine API, die auf Basis von Symfony entwickelt wurde und eine Frontend-App, die mit ReactJS erstellt wurde. Die Queue wurde mit RabbitMQ umgesetzt und wurde von der Symfony API mit Aufträgen befüllt. Die Aufträge wurden von der KI, die mit Python vom Auftraggeber umgesetzt worden ist, abgearbeitet. Die Ergebnisse wurden ebenfalls über eine Queue wieder zurück zur API übermittelt.

Deutschlandweites Avisierungssystem

Ein führendes Logistik Unternehmen aus Deutschland beauftragte mein Team das bestehende Avisierungssystem technisch auf einen aktuellen Stand zu bringen, da das System auf einem selbst entwickelten Framework basierte, welches den Anforderungen nicht mehr gerecht wurde und auch nicht mehr gewartet wurde. Die Hauptaufgabe des Systems war es, Lieferanten die Möglichkeit zu geben, Termine bei den Umschlagplätzen in einem Kalender zu buchen, damit die Ausladung so schnell und einfach wie möglich vonstatten geht. Unsere Aufgabe war es, das alte Framework mit einem modernen auszutauschen. Hierbei fiel die Wahl auf Symfony. Das Alt-System wurde Schritt für Schritt erneuert und innerhalb weniger Monate konnte bereits eine stabilere Version der Applikation live genommen werden. Dabei wurden alle Features komplett übernommen und zusätzlich wurde noch ein Reporting-System hinzugefügt. Hierbei entschieden wir uns für ReactJS, um Statistiken über die Lieferungen auszuweisen, damit mögliche Engpässe bei den einzelnen Umschlagplätzen sowie bei den Lieferanten erkannt werden können.

Skills

Programmiersprachen

PHP
9
HTML
9
SQL
9
Javascript
8
Typescript
8
CSS
7
NodeJS
6

Datenbanken

MySQL
8
PostgreSQL
7
MongoDB
7
Redis
7
ElasticSearch
5

Frameworks

Symfony
9
Doctrine
9
PHPUnit
8
ReactJS
7
Expo
7
Redux
5

Devops

Docker
9
Ansible
8
Kubernetes
7
Rancher
7

Tools

Git
9
Webpack
7