Profilbild Benjamin Cabrera

Ausbildung

2016 - 2019

Informatik, Promotion

Universität Duisburg-Essen

Dissertation: „Analyzing and Modeling Complex Networks“ (summa cum laude / mit Auszeichnung)

2013 - 2015

Mathematik, Master of Science (M. Sc.)

Rheinische Friedrich-Wilhelms-Universität, Bonn

2011 - 2014

Informatik, Bachelor of Science (B. Sc.)

Rheinische Friedrich-Wilhelms-Universität, Bonn

2010 - 2013

Mathematik, Bachelor of Science (B. Sc.)

Rheinische Friedrich-Wilhelms-Universität, Bonn

Dienstleistungen

  • Konzeption, Entwicklung, Testen und Dokumentation von Web-Backends in Java (Spring Boot 2), PHP (Laravel) und Javascript (Node.js)
  • Verwendung von Websockets mit entsprechenden Protokollen für Realtime-Applikationen
  • Planung, Entwicklung und Testen von Web-Frontends auf Basis von Angular 2+
  • Nutzung von Apache Cordova für mobile Apps auf Basis von Web-Technologien
  • Entwicklung von Desktopapplikationen mit graphischer Oberfläche, u.a. in C++ mit Qt 5 und C# mit Windows Presentation Foundation (WPF)
  • Theoretische Entwicklung und Implementierung hochperformanter Algorithmen in C++, Python, und R, insbesondere im Bereich Netzwerkanalyse und Machine Learning (siehe Promotion)
  • “Containisierung” von Applikationen mit Docker zur leichteren Auslieferung sowie Continuous Integration
  • Versionsverwaltung mit Git, Verwaltung von Repositories auf GitHub und GitLab
  • Agiles Projektmanagement (Kanban Boards, Jira, Scrum)

Projekterfahrung

Die folgenden Projekte stellen einen Auszug meiner Projekte als Softwareentwickler dar. Weitere Projekte sind auf meinem öffentlichen Github-Profil einsehbar. Gerne informiere ich Sie auch in einem persönlichen Gespräch über weitere private Projekte und anderweitige Qualifikationen.
2016 - heute

Web-Applikation zur mobilen Erhebung von Patientendaten im Rahmen klinischer Studien

  • PHP
  • Laravel
  • Angular 2+
  • d3.js

Als Co-Gründer des Startups Medalgo UG bin ich verantwortlich für die Entwicklung von ResearchDesk, einer Web-Applikation zur Erhebung von Patientendaten im Rahmen klinischer Studien. Daten werden auf Basis von Fragebögen erhoben, die von Ärzten bequem selber strukturiert werden können. Die Dateneingabe kann dann vom Arzt, vom Patienten im Wartezimmer und vom Patienten zuhause erfolgen.

Das Backend wurde in PHP auf Basis des Laravel Frameworks entwickelt, als Datenbank werden verschlüsselte MySQL Instanzen verwendet. Ein Schwerpunkt der Architektur liegt darauf die Sicherheit der Daten zu gewährleisten. Diese werden daher verteilt auf verschiedenen physischen Servern gespeichert, so dass ein Datensatz allein nicht ausreicht um medizinische Daten den entsprechenden Patienten zuzuordnen. Die Authentifizierung erfolgt über einen separaten Authentifizierungsserver mittels Json Web Tokens (JWT).

Das Frontend wurde in Typescript, auf Basis von Angular 2+ mit Angular Material Komponenten, implementiert. Zudem wird d3.js zur Visualisierung der Daten verwendet.

Das System ist derzeit in zwei Kliniken in mehreren klinischen Studien mit hunderten Patienten im Einsatz.

2013 - 2015

Desktopanwendung zur Unterstützung der Modellierung von Kapitalmarktrisiken bei Lebensversicherungen

  • C#
  • WPF
  • Math.NET Numerics

Im Rahmen einer Projektarbeit für die Milliman GmbH in Düsseldorf war ich als einer von zwei Entwicklern für Konzeption, Enwicklung und Auslieferung einer Anwendung zur Modellierung von Kapitalmarktrisiken verantwortlich. Die Hauptaufgabe der Anwendung war die Optimierung von ökonomischen Szenarienpaketen, welche insbesondere zur Modellierung von Zinsrisiken benutzt werden.

Da eine Anwendung für Windows Nutzer entwickelt werden sollte, fiel die Entscheidung auf C# als Sprache mit dem Windows Presentation Foundation Framework für die graphische Oberfläche. Die Entwicklung begann zunächst mit Implementierung der Kern-Funktionalität, eines Algorithmus auf Basis von konvexer Optimierung mit Nebenbedingungen unter Verwendung der Math.NET Numerics Bibliothek. Im Zuge dessen wurden Test auf Basis des NUnit-Frameworks geschrieben, um die Korrektheit der Implementierung zu gewährleisten. Anschließend begann die Entwicklung einer graphischen Oberfläche, wobei der Schwerpunkt auf einer einfachen Bedienung durch die Anwender lag. Die Schwierigkeit bestand hierin die großen Datenmengen übersichtlich aufzubereiten. In diesem Zusammenhang wurde u.a. das Charting-Framework von Nevron benutzt. Abschließend wurde die Software für die Anwendernutzung dokumentiert und erste Versionen ausgeliefert. Die Interoperabilität mit den Datenformaten der einzelnen Versicherer wurde Schritt für Schritt erweitert und neue Versionen kontinuierlich ausgeliefert.

Die Entwicklungsdauer vom ersten Prototyp bis zur Auslierung an die Kunden betrug ca. 2 Jahre. und wurde auf Basis von wöchentlichen Sprints durchgeführt. Quellcodeversionierung und Issue-Tracking liefen über eine Github-Organization.