Senior AI Developer, Machine Learning, Python, Deep Learning, PyTorch, TensorFlow / Keras, Big Data, Künstliche Intelligenz, .NET, C#, ML.NET ONNX
Aktualisiert am 10.03.2021
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 30.09.2024
Verfügbar zu: 100%
davon vor Ort: 100%
.NET
Machine Learning
REST
Deep Learning
TensorFlow
PyTorch
C#
Python
MongoDB
Visual Studio
ML.NET
ONNX
Big Data
Angular
Keras
Bulgarisch
fließend mündlich
Deutsch
Muttersprache
Englisch
fließend (4 Jahre im englischsprachigem Ausland gelebt/gearbeitet, IELTS Score 8.0)
Französisch
Schulwissen + Hochschule

Einsatzorte

Einsatzorte

Berlin (+200km) Hamburg (+200km) Leipzig (+200km)
Deutschland
möglich

Projekte

Projekte

10 Monate
2020-07 - 2021-04

Deep Learning: Image Classification / Object Detection und Super-Resolution / Denoising-GANs in PyTorch

Software-Entwickler Deep Learning Machine Learning Artificial Intelligence ...
Software-Entwickler

Im Rahmen dieses Projekts wurde eine KI-Plattform entwickelt, um entwickelte Modelle hardware-beschleunigt (via CUDA) per REST-Service im lokalen Netzwerk zur Verfügung zu stellen. Die Modelle wurden per zuerst mit Tensorflow und später mit PyTorch trainiert, in ONNX umgewandelt, um sie dann in .NET über die ONNX Runtime von Microsoft auszuführen. Die Inferenz-Plattform ist sowohl in .NET als auch in Python (via NVIDIA Jetson Xavier NX) hardware-beschleunigt mit minimaler Latenz möglich. Eine Verwendung der Cloud (AWS, GCP, Azure) kam nicht in Frage wegen Datenschutzbedenken und höherer Kosten und Latenz. 

Weiterer Bestandteil des Projekts war die Entwicklung eines Image Classifiers und eines Objekt-Detektors. Es wurden mehrere Ansätze getestet, um bestmögliche Accuracy zu erreichen. Der Image Classifier wurde als EfficientNet-B7-Modell (mit NoisyStudent Pre-Training) umgesetzt (TensorFlow 2 / Keras, später PyTorch) und der Objekt-Detektor via YoloV5X (PyTorch) trainiert. Die Accuracy des Image Classifiers konnte zuletzt durch Trainieren eines NFNets (Normalizer-Free ResNet) gegenüber EffizientNet-B7 sogar leicht verbessert werden. Weitere Modelle wie das Training eines Super Resolution GANs und ein GAN zum JPEG Denoising wurden in ONNX umgewandelt und es wurde das Pre-Processing und Post-Processing in .NET implementiert (Umwandlung in Tensoren + Split / Merge Teilbereiche der Bilder). Darüber hinaus sind sehr viele selbst geschriebene Python Tools entstanden, die bei der Auswahl und Bearbeitung der Daten hilfreich sind.

Alle Trainingsdaten wurden selbst gewählt mit der Strategie möglichst wenig personelle Ressourcen einsetzen zu müssen. Dazu wurden zuerst einige Daten manuell annotiert um mehrere schwache binäre Detektoren zu trainineren. Die binären Detektoren wurden dann per Skript zu einem Gesamtdetektor zusammengeführt. Die trainierten Detektoren (binär+gesamt) konnten dann gegeneinander antreten, um neue Trainingsdaten auszuwählen. Mithilfe diesen Ansatzes konnten neue für den Detektor sinnvolle Trainingsdaten automatisiert annotiert und mit wenig Personaleinsatz wo notwendig korrigiert werden (quasi als Semi-supervised Learning Herangehensweise). So konnte die Validation Accuracy von ursprünglich 88% auf >94% mAP gesteigert werden. Darüber hinaus wurden auch Verfahren wie z.B. DETR (End-to-End Object Detection with Transformers) evaluiert, die besseren Einblick in das Lernverhalten zu erhalten. Gegen den produktiven Einsatz von DETR sprach die geringere Leistung bei der Generalisierung (YoloV5 kam mit deutlich weniger Trainingsdaten und Trainingszeit aus, bei vergleichbarer mAP).

In diesem Projekt habe ich tiefes Verständnis für Deep Learning im Bereich der Bildverarbeitung erlangt. Ich musste viel Code in Python schreiben, oder muste bestehende Projekte z.B. um Data Augmentation erweitern (z.B. Albumentations in PyTorch Image Models von Ross Wightman integriert) und es sind viele hilfreiche Python Tools entstanden. Darüber hinaus konnte ich Erfahrungen mit Google Coral Edge TPU, NVIDIA Jetson Xavier NX + Jetson AGX Xavier sammeln. Diese Edge-Hardware und diverse Grafikkarten (insgesamt 6 Ampere-Grafikkarten + 2 Turing-Grafikkarten, u.a. die Spizenmodelle NVIDIA Quadro RTX A6000 48GB & NVIDIA RTX 3090) wurden selbst beschafft und stehen mir uneingeschränkt für weitere Projekte zur Verfügung.

TensorFlow Keras Python Docker CUDA Jetson ML.NET ONNX PyTorch DETR YOLO Coral Edge TPU
Deep Learning Machine Learning Artificial Intelligence CNN Object Detection Image Classification SRGAN AI KI Künstliche Intelligenz Semi-supervised learning GAN Transformers Data Augmentation
neuraforce GmbH
Rostock (Deutschland)
1 Jahr 2 Monate
2019-05 - 2020-06

Neuentwicklung einer Bestandsdatenverwaltung in Angular / .NET Core

Software-Entwickler, Architekt Scrum Agile Entwicklung PL-SQL ...
Software-Entwickler, Architekt

Ziel des Projektes war die Neuimplementierung einer umfangreichen Bestandsdatenverwaltung, die in Silverlight (Frontend, Schwachpunkte u.a.: Business-Logik im Frontend), .NET 4.5 (Backend, Schwachpunkte: keine Tests, kein REST, Legacy Code historisch gewachsen) und Oracle (PL/SQL) als Datenbank umgesetzt war. Die neue Bestandsdatenverwaltung sollte alle Funktionen der Silverlight-Anwendung in Angular (Frontend) und .NET Core (Backend, REST, Tests) abbilden. Die bestehende Datenbank-Struktur wurde größtenteils übernommen bzw. nur minimal verändert. Die Suchfunktion wurde aus Performance-Gründen komplett in ElasticSearch neu umgesetzt. Dafür wurde zusätzlich Hangfire als Job-Server in die Infrastruktur eingeführt. Besondere Herausforderungen waren speziell in Silverlight umgesetzte UI-Komponenten, die in komplex-interaktiven Angular-Komponenten neu entwickelt werden mussten. Während der Entwicklung wurde das eingesetzte Angular-Framework immer auf die aktuellste Version migriert.

Zu Beginn des Projektes existierte bereits ein Prototyp der Neuimplementierung in .NET Core/Angular. Dieser Prototyp wies jedoch schwächen in der Architektur auf (schlechte Wartbarkeit / Testbarkeit), weswegen die Architektur grundlegend neu aufgesetzt wurde. Es fand eine klassische 3-Schichten-Architektur mit klarer Trennung der Zuständigkeiten Anwendung. Die Datenbank-Schicht (Entity Framework) wurde so weit abstrahiert, dass die Datenbank mit wenig Aufwand später ersetzt werden könnte. Die gute Testbarkeit wurde u.a. durch einer verbesserten Dependency Injection ermöglicht. Backend Unit Tests und Integration Tests wurden in xUnit geschrieben und es wurde ein strenges TDD (Test Driven Design) mit dem Ziel einer hohen Test-Coverage eingeführt. Für die Frontend Tests (UI-Komponenten) wurde Jasmine eingesetzt, wobei Business-Logik prinzipiell ins Backend verlagert wurde.

Der Kunde hatte große Anforderungen, was Testbarkeit und Wartbarkeit angeht, da die Weiterentwicklung ausschließlich durch interne Mitarbeiter später übernommen werden sollte. Zwischen den Entwicklern wurden Pull Requests durch gegenseitige Reviews eingeführt (gemessen an den Clean Code-Kriterien von Robert C. Martin), was für eine hohe und einheitliche Code-Qualität (bessere Wartbarkeit) sorgte. Technische Schulden wurden frühzeitig durch Refactoring-Maßnahmen beseitigt, die durch die zahlreichen Unit Tests reibungslos möglich waren.

Das Projekt-Team bestand aus vier Mitarbeitern. Als externer Berater habe ich die grundlegenden Entscheidungen bezüglich Architektur und Umsetzung übernommen. Besondere Wünsche im Frontend-Layout / Bedienbarkeit hat der Kunde mit Absprache mit den Fachabteilungen festgelegt. Das Projekt wurde mit den Grundsätzen der agilen Softwareentwicklung & Scrum umgesetzt. Die allgemeine Zufriedenheit mit der Arbeit am Code war sehr hoch.

Angular .NET Core Oracle/SQL Elastic Search Hangfire Entity Framework Visual Studio Visual Studio Code
Scrum Agile Entwicklung PL-SQL Unit Testing TDD Integration Test 3-Tier Architektur
Hannover Rück SE
Hannover
1 Jahr
2018-01 - 2018-12

Bundesportal für Stammdatenverwaltung im Strom- und Gasmarkt, C# Backend, HTML5 Frontend

Software-Entwickler .NET Entwicklung Micro Services Docker ...
Software-Entwickler

Dies war der zweite Einsatz bei einem vorherigen Projekt in Magdeburg im Energiesektor. Schwerpunkt war die Vorbereitung des Projektes für den Go-Live-Betrieb. Beim Portal handelte es sich um eine mehrschichtige ASP.NET MVC Webapplikation (HTML5) mit REST / WebApi-Schnittstellen. Neben klassischen Entwicklungstätigkeiten (.NET / C#) lag besonderes Augenmerk auf die Stabilisierung, Performance-Optimierungen, Verbesserungen der Skalierbarkeit sowie Logging und Monitoring der Webapplikation. Datenbank-Anweisungen (SQL) wurden für den Produktiveinsatz optimiert. Als Entwicklungsumgebung kam Visual Studio 2017 mit Resharper zum Einsatz.

Der Live-Gang des Portals war erfolgreich und die Website wird derzeit bundesweit von Anlagen- und Netzbetreibern eingesetzt.

Für die Skalierung wurden unter anderem ein Job-Server und API-Key-Validator als Micro-Service (WebApi) entwickelt. Der Job-Server wurde in Visual Studio Code als Cross-Platform Anwendung (.NET Framework 4.7 + .NET Core 2.1) erstellt, um einen reibungslosen Docker-Betrieb zu gewährleisten. Darüber hinaus war das Erfassen von Metriken während des Live-Betriebs wichtig. Diese wurden in einem Kubernetes-Cluster (Docker) per Push-Nachrichten in InfluxDB aufgezeichnet und als Grafana-Dashboard dargestellt. An vielen Stellen wurde die Performance durch Parallelisierung und Refactoring verbessert. Durch die vorhandenen Live-Metriken konnten Performance-Bottlenecks erkannt und iterativ beseitigt werden.

Mehrfache Änderungswünsche vom Kunden machten es notwendig einige Features komplett neu zu implementieren oder umfangreich zu erweitern. Für neu geschriebenen Code wurden penibel neue Unit Tests und Integration Tests geschrieben (xUnit, FluentAssertions). Diese mussten durch einen zweiten Entwickler gereviewed werden, um hohen Qualitätsanforderungen gerecht zu werden.

ASP.NET .NET Hangfire Gitlab InfluxDB MS SQL Server Microsoft Visual Studio Visual Studio Code
.NET Entwicklung Micro Services Docker SQL WebApi REST
regiocom SE
Magdeburg
4 Monate
2017-09 - 2017-12

Marktführer Brillenoptik, C# Backend, REST, Angular Frontend

Software-Entwickler Angular HTML5 WebApi ...
Software-Entwickler

Das war ein wiederholter Einsatz beim deutschen Marktführer im Bereich Brillenoptik.

Es ging einerseits um die Weiterentwicklung der .NET WebApi Anwendung mit RESTful Endpunkten, die als API Backend im Cluster betrieben wurde. Als zweites Aufgabengebiet wurden neue Features für eine Single-Page-Webanwendung mit HTML5 und Angular für die Niederlassungen vorangetrieben. Alle Endpunkte waren im Cluster-Betrieb gegen Ausfall gesichert.

Die Qualität des Angular-Frontends konnte durch Unit-Tests mit Jasmine und durch End-To-End Tests mit Selenium sichergestellt werden. Code-Änderungen wurden durch das Team gegenseitig gereviewed. Das Entwicklungsumfeld war durch Scrum und agile Softwareentwicklung geprägt.

Microsoft Visual Studio Visual Studio Code WebStorm MongoDB NoSQL Jasmine Selenium
Angular HTML5 WebApi REST TypeScript OAuth
Hamburg
6 Monate
2017-03 - 2017-08

Stammdatenverwaltung Energiesektor, C# Backend / ASP.NET MVC, HTML5

Software-Entwickler Scrum Unit Testing Integration Testing ...
Software-Entwickler

Das Projekt beinhaltete die Entwicklung einer Stammdatenverwaltung mit Historisierungsfunktionen, Ticketsystem und CMS-Komponenten für Energieerzeuger und Netzbetreiber.

Das Frontend und Backend wurde mit ASP.NET MVC realisiert. Als Datenbank kam ein MS SQL-Server mit historisierten Tabellen zum Einsatz. Der Zugriff auf die Datenbank erfolgte via Entity Framework 6. Es wurde darüber hinaus eine API über WCF zur Verfügung gestellt. Die Entwicklung erfolgte als "trunk based development" das per Jenkins "continuous delivered" werden konnte.

Im Rahmen des Projekts waren große Code-Refactorings notwendig, um Dependency Injection einzuführen und den Code nach SOLID-Kriterien teilweise neu zu schreiben. Herausforderungen bestanden im komplexen Rechtesystem, das feingranulare Rechteprüfung auf Objektebene erforderte (implizite Rechte entstanden durch Verknüpfung von veränderlichen Objekten). Es wurden Performance-Analysen und -optimierungen durchgeführt und gezielte Refactorings um die Cluster-fähigkeit zu gewährleisten.

Darüber hinaus fielen organisatorische Aufgaben an, um Scrum und agile Softwareentwicklung im Projekt einzuführen (Retrospective, Sprint Planning, etc.).

Visual Studio 2015 ReSharper MS SQL Datenbank ASP.NET Jenkins jQuery Bootstrap
Scrum Unit Testing Integration Testing WCF Subversion Sprint Planning Retrospective HTML5
regiocom GmbH
Magdeburg
10 Monate
2016-06 - 2017-03

Marktführer Brillenoptik, C# Backend & Angular Frontend Entwicklung

Software-Entwickler Scrum Unit Testing Integration Testing ...
Software-Entwickler

Entwicklung eines Kontaktlinsen-Systems, bestehend aus den Hauptkomponenten:

1.) Auftragsverwaltung für Niederlassungen (Angular, Electron)

2.) Online-Auftritt für Kunden zum Bestellen von Kontaktlinsen

3.) Android / iOS Shopping App für Kunden

4.) Serverseitiges Backend mit REST Schnittstellen, um alle drei oben genannten Komponenten zu verbinden (Nancy, Mono)

Die Komponenten 2.) und 3.) wurden durch einen externen Dienstleister entwickelt, was Koordinierung in diesen Bereichen notwendig machte.

Im Rahmen des Projekts wurde im Wesentlichen die Entwicklung der Auftragsverwaltung der Niederlassungen sowie das C# Backend im großen Umfang weiter entwickelt und während der deutschlandweiten Go-Live-Phase betreut und gewartet. Besondere Herausforderungen entstanden nach der Go-Live-Phase. Die Stabilität und Performance des Systems wurde verbessert, ohne für den Kunden sichtbar den laufenden Betrieb zu beeinträchtigen.

Das Projekt war durch eine strenge agile Softwareentwicklung und Einsatz von Scrum sowie durch ein internationales Team gekennzeichnet.

Unit Testing, Integration Testing und End-to-end Testing (via Selenium) sowie regelmäßige Architektur- und Code-Qualitäts-Meetings stellten eine gute Softwarequalität und Lesbarkeit / Wartbarkeit des Codes sicher. Design-Entscheidungen wurden zwischen Teams demokratisch getroffen.

Neben der Software-Entwicklung sind einige DevOps-relevante Aufgaben angefallen. Continuous Integration in TeamCity wurde Schritt für Schritt durch Docker-Komponenten modularisiert, wodurch die Skalierbarkeit, Wartung bzw. die Austauschbarkeit von Komponenten deutlich vereinfacht wurde.

Visual Studio 2015 MongoDB TeamCity Docker ReSharper WebStorm Selenium ASP.NET .NET Nancy Electron nginx GitHub
Scrum Unit Testing Integration Testing NoSQL Container HTML5 Agile Entwicklung DevOps Git ASP.NET Angular
Fielmann AG
Hamburg
1 Jahr 4 Monate
2015-02 - 2016-05

Philips CityTouch Platform / Entwicklung in C# ASP.NET MVC, Silverlight

Software-Entwickler Scrum Silverlight HTML5 ...
Software-Entwickler

Im Rahmen des Projekts wurde die Weiterentwicklung einer bestehenden Webapplikation (ASP.NET MVC) mit Silverlight-Anteil beauftragt. Das Projekt setzte sich aus einem breiten Spektrum von Aufgaben von Web-UI / Silverlight-UI bis hin zu Datenbank-Backend (SQL, Postgres) zusammen. Wie in den meisten Projekten üblich wurden Unit Tests in (NUnit), Integration Tests (Selenium) und System Tests erstellt und gepflegt. Die Continuous Integration wurde per TeamCity realisiert.

Darüber hinaus wurde eine bestehende Funktionalität der Webapplikation (Authentifizierung, OAuth) in eine neue ASP.NET MVC Webapplikation per Refactoring heraus gelöst. Die ursprünglich proprietäre Authentifizierung wurde durch den offenen OAuth-Standard ersetzt (mittels Thinktecture IdentityServer OpenSource-Komponenten). Dazu wurde eine Web-UI für die gesamte Benutzerverwaltung mithilfe von jQuery, Bootstrap, REST entwickelt und für die Responsive User Experience wurden vorwiegend AJAX-Requests eingesetzt (mit entsprechendem Fallback, falls die Browser-Unterstützung fehlte).

Der Entwicklungsprozess war gekennzeichnet durch agile Softwareentwicklung mit häufigem Pair-Programming.

Visual Studio WebStorm ReSharper TeamCity PostgreSQL Amazon EC2 Selenium
Scrum Silverlight HTML5 jQuery React Flux C# Bootstrap JavaScript .NET ASP.NET MVC REST WebApi
Philips Lighting
Aachen
2 Monate
2014-11 - 2014-12

Bayer Business Services Sitecore Automation / Refactoring, Testing

Software-Entwickler C# PowerShell .NET 4.5 ...
Software-Entwickler

Refactoring eines bestehenden Systems zur Automatisierung von Sitecore Deployments unter Berücksichtigung der "SOLID"-Prinzipien. Anpassung des Codes so dass Dependency Injection eingesetzt werden konnte. Einführung von Interfaces, um Klassen testfähig zu machen. Aufteilung großer Klassen in mehrere kleinere Klassen (Ziel: Single Responsibility). Erstellung von Tests mit anschließender Code Coverage von ca. 60%.

Visual Studio 2013 IIS Sitecore MS SQL Server
C# PowerShell .NET 4.5 NUnit Dependency Injection SOLID Unit Testing
Bayer AG
Berlin
5 Monate
2014-06 - 2014-10

Datei-Konvertierungswebseite mit diversen Diensten zur Umwandlung von Dateiformaten

Software-Entwickler C# Bootstrap jQuery ...
Software-Entwickler

Konzeption und Entwicklung einer mehrsprachigen Webseite. Es können Dateien hochgeladen werden (auch via Drag & Drop), die anschließend in andere ausgewählte Dateiformate umgewandelt werden können. Dateiformate werden auf Low-Level-Ebene klassifiziert (anhand des Headers, Archiv-Inhalts, etc.). Die Umwandlung wird durch mehrere Windows-Dienste realisiert. Als Message Queue wird die eigens entwickelte RedFoxMQ eingesetzt und als Datenbanken Redis (Cache) und SQLite.

Visual Studio IIS
C# Bootstrap jQuery Windows Service Redis SQLite .NET 4.5 NUnit Git ASP.NET MVC
AppCreek Limited
Rostock
3 Monate
2014-03 - 2014-05

SAP Lync Self Service Intranet Portal in ASP.NET MVC

Software-Entwickler Lync Entity Framework C# ...
Software-Entwickler

Entwicklung eines Lync Self-Service Portals in ASP.NET MVC 5 für SAP-Mitarbeiter zum Einstellen von Lync-Merkmalen (wie Busy-On-Busy, Caller-ID, etc.). Die MSSQL-Datenbank wurde per Entity Framework 6 angesprochen. Die Lync-Merkmale wurden per PowerShell-Skripte abfragt und gesetzt. Für Busy-On-Busy wurde ein eigenes PowerShell-Modul entwickelt.

Visual Studio 2013 IIS Lync TFS
Lync Entity Framework C# .NET 4.5 PowerShell jQuery ASP.NET MVC
SAP
Rostock (Remote)
5 Monate
2013-11 - 2014-03

Web Service mit Webseite zum Umwandeln von XPS in PDF Dateien

Software-Entwickler ASP.NET MVC Bootstrap jQuery ...
Software-Entwickler
Entwicklung eines Web Services mit dazugehöriger Webseite zum Umwandeln von XPS-Dateien in PDF. Die Umwandlung kann durch API-Schlüssel gesteuert werden (maximale Umwandlungen pro Tag, Dateigröße, etc.). Im Rahmen des Projekts wurde eine eigene Message Queue-Lösung (RedFoxMQ) entwickelt, die auf GitHub veröffentlicht wurde.
Visual Studio IIS
ASP.NET MVC Bootstrap jQuery Web Services REST SQLite C# Message Queue Entity Framework Git
AppCreek Limited
Rostock
4 Monate
2013-09 - 2013-12

Entwicklung eines Mail-Servers mit Spam-Erkennung und Webseite zur Verwaltung der E-Mails

Software-Entwickler C# ASP.NET MVC Bootstrap ...
Software-Entwickler
Eigenentwicklung eines Mail-Servers in C# mit Spam-Klassifizierung und dazugehörige Webseite zum Verwalten der E-Mails. Als Datenbank kommt MongoDB zum Einsatz. Teile der Mail-Server-Komponente wurden als Open Source auf GitHub veröffentlicht.
Visual Studio IIS
C# ASP.NET MVC Bootstrap jQuery MongoDB SMTP Git
dedimax solutions UG
Rostock
4 Monate
2013-04 - 2013-07

Aufenthalt in den USA zur Weiterbildung (MCPD Zertifizierung)

Student
Student
Bradenton, Florida, USA
1 Jahr 5 Monate
2011-08 - 2012-12

Buchungssystem für manuellen Aktienhandel und Erkennung von Tradingmustern

Senior Software-Entwickler Windows Forms WPF ASP.NET MVC ...
Senior Software-Entwickler
- Arbeit in einem Team von >10 Mitarbeitern - UI-Entwicklung in Windows Forms und WPF (Formulare für Trader) - Automatismen zum Erkennen von Trading-Verhalten - Einhaltung von Regularien die durch ESMA vorgegeben werden (z.B. Erkennung / Vermeidung von Bait & Switch) - Entwicklung zahlreicher Kommandozeilen-Tools für nächtliche Datenbank-Pflege (Oracle) - Data Enrichment (Zusammenführung von Daten aus verschiedenen Datenquellen, z.B. Bloomberg) - Anwendungs-Support - Umfangreiche Deploymentanforderungen (Deployment-Katalog) - Übersetzung von bestehendem C++ Legacy Code nach C#
Visual Studio 2012 Oracle Database IIS Tibco DevExpress Perforce TeamCity
Windows Forms WPF ASP.NET MVC Scrum Message Queue NUnit TDD .NET 3.5 C# C++ Code Review Continuous Integration
Susquehanna International Group Limited
Dublin, Irland
4 Jahre 3 Monate
2007-05 - 2011-07

Entwicklung von Anwendungen zur kompletten Bestellabwicklung, Verwaltung von eines mittelgroßen Web-Shops (1-2 Mio. Jahresumsatz)

Software-Entwickler C# WPF Web Services ...
Software-Entwickler
Kompletter Entwurf und Implementierung von mehreren WPF-Anwendungen in C# Artikelverwaltung, Reifenverwaltung, Felgenverwaltung: - Verwaltung von Beschreibungen, Artikeldaten, Preisberechnung nach Formeln (-> Evaluierung von Expressions) - Änderungen in lokaler MySQL-Datenbank - Synchronisation mit Web-Datenbank Lagerverwaltung, Lagerdienst: - Verwaltung von Lagerplätzen, Lagerbeständen - Einbuchen von eingehender, ausgehender Ware (durch Scannen von Barcodes) - Automatische Bestellung von fehlender Ware bei Lieferanten (nach vorgegebenen Regeln) - Paketscheindruck durch selbst kreierte WPF-Vorlagen (für DHL, DPD, GLS) diverse Verwaltungsdienste (für Adhoc-Bestellungen, Zahlungsabwicklung, automatische Preisabfrage bei verschiedenen Lieferanten via Web Services) App für iPhone (C#/MonoTouch) zur Suche und Bestellung von Reifen, inklusive Entwicklung einer geeigneten Web Service-Schnittstelle
Visual Studio MonoTouch (aka Xamarin)
C# WPF Web Services MySQL PHP Subversion
Vircom AG
Baar, Schweiz
1 Jahr 2 Monate
2008-06 - 2009-07

Entwicklung eines CMS für Online Marketing & Social Media

Web Entwickler ASP.NET C# MySQL ...
Web Entwickler
Entwicklung eines CMS in ASP.NET Web Forms / C# für Mono + Apache Arbeit in einem kleinen Team, Entwurf und Entwicklung der Datenbank (MySQL) einschließlich des Web Backends. Entwicklung eines eigenen In-Memory Caches für sehr performanten Seitenaufbau
Apache Visual Studio
ASP.NET C# MySQL Mono AJAX JavaScript jQuery Linux .NET Subversion
Viminds
Rostock

Aus- und Weiterbildung

Aus- und Weiterbildung

5 Jahre 8 Monate
2005-10 - 2011-05

Diplom-Informatik

Diplom-Informatik, Universität Rostock
Diplom-Informatik
Universität Rostock
Maschinelles Lernen (Lernverfahren unter Anwendung von künstlicher Intelligenz)
3 Jahre 8 Monate
2001-10 - 2005-05

Bachelor in Betriebswirtschaft (IT-basiert, Duales Studium)

Bachelor of Business Administration, Baltic College
Bachelor of Business Administration
Baltic College
1 Jahr 11 Monate
2001-10 - 2003-08

IHK Fachinformatiker (Anwendungsentwicklung)

IHK Fachinformatiker (Anwendungsentwicklung), Baltic College
IHK Fachinformatiker (Anwendungsentwicklung)
Baltic College
Anwendungsentwicklung

Kompetenzen

Kompetenzen

Top-Skills

.NET Machine Learning REST Deep Learning TensorFlow PyTorch C# Python MongoDB Visual Studio ML.NET ONNX Big Data Angular Keras

Produkte / Standards / Erfahrungen / Methoden

3-Tier Architektur
Agile Entwicklung
AI
Amazon EC2
Ansible
Artificial Intelligence
Bootstrap
CI
CNN
Container
Continuous Integration
Coral Edge TPU
Data Augmentation
Deep Learning
Dependency Injection
DETR
DevOps
Dropout
Elastic Search
Electron
Entity Framework
Flux
GAN
Git
GitHub
Gitlab
Hangfire
HTML5
IIS
Image Classification
Integration Test
Integration Testing
Jasmine
Jenkins
Keras
KI
Kubernetes
Künstliche Intelligenz
Lync
Lync
Machine Learning
Microsoft Visual Studio
Monitoring
MVC
Nancy
nginx
NUnit
OAuth
Object Detection
ONNX
PyTorch
Redis
Regression Testing
ReSharper
REST
Scrum
Selenium
Semi-supervised learning
Silverlight
Sitecore
Slack
SOLID
SRGAN
Subversion
TDD
TeamCity
TensorFlow
TFS
Transformers
Trello
Unit Testing
Visual Studio
Visual Studio 2013
Visual Studio 2015
Visual Studio Code
WCF
WebApi
WebStorm
Windows Service
Word2Vec
Yolo

- Agile Software Development, SCRUM

- Model View Controller (MVC)

- Model View ViewModel (MVVM)

- Unit Testing (NUnit, xUnit)

- Test Driven Development (TDD)

- UML

 

- Internet Information Server (IIS)

- Mono (.NET unter Linux)

- Visual Studio

 

Betriebssysteme

Docker
Unix
Mono, Raspberry Pi (Hobby)
Windows
meiste Erfahrungen, primäres Betriebssystem
Windows CE
vor Jahren einige Anwendungen für Windows CE entwickelt

Programmiersprachen

.NET
.NET 4.5
.NET Core
.NET Entwicklung
Angular
ASP.NET
>10 Jahre Erfahrung
ASP.NET MVC
>8 Jahre Erfahrung
C#
fast ausschließlich in C# entwickelt seit 2001 (mit .NET Framework 1.0 Beta angefangen)
C++
2 Jahre Erfahrung
Java
3 Jahre Erfahrung
JavaScript
5 Jahre Erfahrung (jQuery, ReactJS, Flux, etc.)
jQuery
3 Jahre Erfahrung
Maschinensprachen
Hobby
ML.NET
Oracle/SQL
Pascal
lange her, aber Windows Entwicklung gestartet mit Turbo Pascal für Windows seit 1995, später Delphi
PHP
Grundkenntnisse (leider kein Interesse an PHP-Projekten)
PL-SQL
PowerShell
Python
Grundkenntnisse
React
Shell
Hobby
TypeScript

Datenbanken

Access
BDE
lange her
Gupta, Centura
Erfahrung: Migrationsprojekt von Gupta nach Oracle portieren (mit Datentransformationen)
InfluxDB
1 Jahr Erfahrung
MongoDB
2 Jahre Erfahrung
MS SQL Datenbank
MS SQL Server
MySQL
NoSQL
ODBC
Oracle
4 Jahre Erfahrung
Postgres
4 Jahre Erfahrung
PostgreSQL
4 Jahre Erfahrung
Proprietäre DB
Erfahrungen mit Redis, MongoDB, Couchbase
SQL
Stored Procedures, Grundlagen (Indizies, Sharding)
SQLite

Datenkommunikation

Ethernet
Internet, Intranet
Message Queuing
Eigene hoch performante Message Queue entwickelt: RedFoxMQ (siehe GitHub)
Micro Services
Router
SMTP
TCP/IP
Windows Netzwerk
Winsock

Hardware

CUDA
Drucker
Jetson
Mikrocontroller
Atmel (Arduino)
Steuer und Regelsysteme
FHEM

Berechnung / Simulation / Versuch / Validierung

Batch Normalization
Grafana
R

Managementerfahrung in Unternehmen

Sprint Planning

Personalverantwortung

Retrospective

Branchen

Branchen

- Anwendungsentwicklung / Datenbanken

- Deep Learning mit Tensorflow (Python)

- Webanwendungen (AJAX, HTML5, MVC 5)

 

- Erfahrung im Banken / Finanzsektor (1,5 Jahre für ein FTSE 300 Unternehmen in diesem Bereich gearbeitet)

- Erfahrungen mit starker Kryptografie (Diffie-Hellman, Blockchiffren, elliptische Kurven, RSA, HMAC, Hashing)

 

Einsatzorte

Einsatzorte

Berlin (+200km) Hamburg (+200km) Leipzig (+200km)
Deutschland
möglich

Projekte

Projekte

10 Monate
2020-07 - 2021-04

Deep Learning: Image Classification / Object Detection und Super-Resolution / Denoising-GANs in PyTorch

Software-Entwickler Deep Learning Machine Learning Artificial Intelligence ...
Software-Entwickler

Im Rahmen dieses Projekts wurde eine KI-Plattform entwickelt, um entwickelte Modelle hardware-beschleunigt (via CUDA) per REST-Service im lokalen Netzwerk zur Verfügung zu stellen. Die Modelle wurden per zuerst mit Tensorflow und später mit PyTorch trainiert, in ONNX umgewandelt, um sie dann in .NET über die ONNX Runtime von Microsoft auszuführen. Die Inferenz-Plattform ist sowohl in .NET als auch in Python (via NVIDIA Jetson Xavier NX) hardware-beschleunigt mit minimaler Latenz möglich. Eine Verwendung der Cloud (AWS, GCP, Azure) kam nicht in Frage wegen Datenschutzbedenken und höherer Kosten und Latenz. 

Weiterer Bestandteil des Projekts war die Entwicklung eines Image Classifiers und eines Objekt-Detektors. Es wurden mehrere Ansätze getestet, um bestmögliche Accuracy zu erreichen. Der Image Classifier wurde als EfficientNet-B7-Modell (mit NoisyStudent Pre-Training) umgesetzt (TensorFlow 2 / Keras, später PyTorch) und der Objekt-Detektor via YoloV5X (PyTorch) trainiert. Die Accuracy des Image Classifiers konnte zuletzt durch Trainieren eines NFNets (Normalizer-Free ResNet) gegenüber EffizientNet-B7 sogar leicht verbessert werden. Weitere Modelle wie das Training eines Super Resolution GANs und ein GAN zum JPEG Denoising wurden in ONNX umgewandelt und es wurde das Pre-Processing und Post-Processing in .NET implementiert (Umwandlung in Tensoren + Split / Merge Teilbereiche der Bilder). Darüber hinaus sind sehr viele selbst geschriebene Python Tools entstanden, die bei der Auswahl und Bearbeitung der Daten hilfreich sind.

Alle Trainingsdaten wurden selbst gewählt mit der Strategie möglichst wenig personelle Ressourcen einsetzen zu müssen. Dazu wurden zuerst einige Daten manuell annotiert um mehrere schwache binäre Detektoren zu trainineren. Die binären Detektoren wurden dann per Skript zu einem Gesamtdetektor zusammengeführt. Die trainierten Detektoren (binär+gesamt) konnten dann gegeneinander antreten, um neue Trainingsdaten auszuwählen. Mithilfe diesen Ansatzes konnten neue für den Detektor sinnvolle Trainingsdaten automatisiert annotiert und mit wenig Personaleinsatz wo notwendig korrigiert werden (quasi als Semi-supervised Learning Herangehensweise). So konnte die Validation Accuracy von ursprünglich 88% auf >94% mAP gesteigert werden. Darüber hinaus wurden auch Verfahren wie z.B. DETR (End-to-End Object Detection with Transformers) evaluiert, die besseren Einblick in das Lernverhalten zu erhalten. Gegen den produktiven Einsatz von DETR sprach die geringere Leistung bei der Generalisierung (YoloV5 kam mit deutlich weniger Trainingsdaten und Trainingszeit aus, bei vergleichbarer mAP).

In diesem Projekt habe ich tiefes Verständnis für Deep Learning im Bereich der Bildverarbeitung erlangt. Ich musste viel Code in Python schreiben, oder muste bestehende Projekte z.B. um Data Augmentation erweitern (z.B. Albumentations in PyTorch Image Models von Ross Wightman integriert) und es sind viele hilfreiche Python Tools entstanden. Darüber hinaus konnte ich Erfahrungen mit Google Coral Edge TPU, NVIDIA Jetson Xavier NX + Jetson AGX Xavier sammeln. Diese Edge-Hardware und diverse Grafikkarten (insgesamt 6 Ampere-Grafikkarten + 2 Turing-Grafikkarten, u.a. die Spizenmodelle NVIDIA Quadro RTX A6000 48GB & NVIDIA RTX 3090) wurden selbst beschafft und stehen mir uneingeschränkt für weitere Projekte zur Verfügung.

TensorFlow Keras Python Docker CUDA Jetson ML.NET ONNX PyTorch DETR YOLO Coral Edge TPU
Deep Learning Machine Learning Artificial Intelligence CNN Object Detection Image Classification SRGAN AI KI Künstliche Intelligenz Semi-supervised learning GAN Transformers Data Augmentation
neuraforce GmbH
Rostock (Deutschland)
1 Jahr 2 Monate
2019-05 - 2020-06

Neuentwicklung einer Bestandsdatenverwaltung in Angular / .NET Core

Software-Entwickler, Architekt Scrum Agile Entwicklung PL-SQL ...
Software-Entwickler, Architekt

Ziel des Projektes war die Neuimplementierung einer umfangreichen Bestandsdatenverwaltung, die in Silverlight (Frontend, Schwachpunkte u.a.: Business-Logik im Frontend), .NET 4.5 (Backend, Schwachpunkte: keine Tests, kein REST, Legacy Code historisch gewachsen) und Oracle (PL/SQL) als Datenbank umgesetzt war. Die neue Bestandsdatenverwaltung sollte alle Funktionen der Silverlight-Anwendung in Angular (Frontend) und .NET Core (Backend, REST, Tests) abbilden. Die bestehende Datenbank-Struktur wurde größtenteils übernommen bzw. nur minimal verändert. Die Suchfunktion wurde aus Performance-Gründen komplett in ElasticSearch neu umgesetzt. Dafür wurde zusätzlich Hangfire als Job-Server in die Infrastruktur eingeführt. Besondere Herausforderungen waren speziell in Silverlight umgesetzte UI-Komponenten, die in komplex-interaktiven Angular-Komponenten neu entwickelt werden mussten. Während der Entwicklung wurde das eingesetzte Angular-Framework immer auf die aktuellste Version migriert.

Zu Beginn des Projektes existierte bereits ein Prototyp der Neuimplementierung in .NET Core/Angular. Dieser Prototyp wies jedoch schwächen in der Architektur auf (schlechte Wartbarkeit / Testbarkeit), weswegen die Architektur grundlegend neu aufgesetzt wurde. Es fand eine klassische 3-Schichten-Architektur mit klarer Trennung der Zuständigkeiten Anwendung. Die Datenbank-Schicht (Entity Framework) wurde so weit abstrahiert, dass die Datenbank mit wenig Aufwand später ersetzt werden könnte. Die gute Testbarkeit wurde u.a. durch einer verbesserten Dependency Injection ermöglicht. Backend Unit Tests und Integration Tests wurden in xUnit geschrieben und es wurde ein strenges TDD (Test Driven Design) mit dem Ziel einer hohen Test-Coverage eingeführt. Für die Frontend Tests (UI-Komponenten) wurde Jasmine eingesetzt, wobei Business-Logik prinzipiell ins Backend verlagert wurde.

Der Kunde hatte große Anforderungen, was Testbarkeit und Wartbarkeit angeht, da die Weiterentwicklung ausschließlich durch interne Mitarbeiter später übernommen werden sollte. Zwischen den Entwicklern wurden Pull Requests durch gegenseitige Reviews eingeführt (gemessen an den Clean Code-Kriterien von Robert C. Martin), was für eine hohe und einheitliche Code-Qualität (bessere Wartbarkeit) sorgte. Technische Schulden wurden frühzeitig durch Refactoring-Maßnahmen beseitigt, die durch die zahlreichen Unit Tests reibungslos möglich waren.

Das Projekt-Team bestand aus vier Mitarbeitern. Als externer Berater habe ich die grundlegenden Entscheidungen bezüglich Architektur und Umsetzung übernommen. Besondere Wünsche im Frontend-Layout / Bedienbarkeit hat der Kunde mit Absprache mit den Fachabteilungen festgelegt. Das Projekt wurde mit den Grundsätzen der agilen Softwareentwicklung & Scrum umgesetzt. Die allgemeine Zufriedenheit mit der Arbeit am Code war sehr hoch.

Angular .NET Core Oracle/SQL Elastic Search Hangfire Entity Framework Visual Studio Visual Studio Code
Scrum Agile Entwicklung PL-SQL Unit Testing TDD Integration Test 3-Tier Architektur
Hannover Rück SE
Hannover
1 Jahr
2018-01 - 2018-12

Bundesportal für Stammdatenverwaltung im Strom- und Gasmarkt, C# Backend, HTML5 Frontend

Software-Entwickler .NET Entwicklung Micro Services Docker ...
Software-Entwickler

Dies war der zweite Einsatz bei einem vorherigen Projekt in Magdeburg im Energiesektor. Schwerpunkt war die Vorbereitung des Projektes für den Go-Live-Betrieb. Beim Portal handelte es sich um eine mehrschichtige ASP.NET MVC Webapplikation (HTML5) mit REST / WebApi-Schnittstellen. Neben klassischen Entwicklungstätigkeiten (.NET / C#) lag besonderes Augenmerk auf die Stabilisierung, Performance-Optimierungen, Verbesserungen der Skalierbarkeit sowie Logging und Monitoring der Webapplikation. Datenbank-Anweisungen (SQL) wurden für den Produktiveinsatz optimiert. Als Entwicklungsumgebung kam Visual Studio 2017 mit Resharper zum Einsatz.

Der Live-Gang des Portals war erfolgreich und die Website wird derzeit bundesweit von Anlagen- und Netzbetreibern eingesetzt.

Für die Skalierung wurden unter anderem ein Job-Server und API-Key-Validator als Micro-Service (WebApi) entwickelt. Der Job-Server wurde in Visual Studio Code als Cross-Platform Anwendung (.NET Framework 4.7 + .NET Core 2.1) erstellt, um einen reibungslosen Docker-Betrieb zu gewährleisten. Darüber hinaus war das Erfassen von Metriken während des Live-Betriebs wichtig. Diese wurden in einem Kubernetes-Cluster (Docker) per Push-Nachrichten in InfluxDB aufgezeichnet und als Grafana-Dashboard dargestellt. An vielen Stellen wurde die Performance durch Parallelisierung und Refactoring verbessert. Durch die vorhandenen Live-Metriken konnten Performance-Bottlenecks erkannt und iterativ beseitigt werden.

Mehrfache Änderungswünsche vom Kunden machten es notwendig einige Features komplett neu zu implementieren oder umfangreich zu erweitern. Für neu geschriebenen Code wurden penibel neue Unit Tests und Integration Tests geschrieben (xUnit, FluentAssertions). Diese mussten durch einen zweiten Entwickler gereviewed werden, um hohen Qualitätsanforderungen gerecht zu werden.

ASP.NET .NET Hangfire Gitlab InfluxDB MS SQL Server Microsoft Visual Studio Visual Studio Code
.NET Entwicklung Micro Services Docker SQL WebApi REST
regiocom SE
Magdeburg
4 Monate
2017-09 - 2017-12

Marktführer Brillenoptik, C# Backend, REST, Angular Frontend

Software-Entwickler Angular HTML5 WebApi ...
Software-Entwickler

Das war ein wiederholter Einsatz beim deutschen Marktführer im Bereich Brillenoptik.

Es ging einerseits um die Weiterentwicklung der .NET WebApi Anwendung mit RESTful Endpunkten, die als API Backend im Cluster betrieben wurde. Als zweites Aufgabengebiet wurden neue Features für eine Single-Page-Webanwendung mit HTML5 und Angular für die Niederlassungen vorangetrieben. Alle Endpunkte waren im Cluster-Betrieb gegen Ausfall gesichert.

Die Qualität des Angular-Frontends konnte durch Unit-Tests mit Jasmine und durch End-To-End Tests mit Selenium sichergestellt werden. Code-Änderungen wurden durch das Team gegenseitig gereviewed. Das Entwicklungsumfeld war durch Scrum und agile Softwareentwicklung geprägt.

Microsoft Visual Studio Visual Studio Code WebStorm MongoDB NoSQL Jasmine Selenium
Angular HTML5 WebApi REST TypeScript OAuth
Hamburg
6 Monate
2017-03 - 2017-08

Stammdatenverwaltung Energiesektor, C# Backend / ASP.NET MVC, HTML5

Software-Entwickler Scrum Unit Testing Integration Testing ...
Software-Entwickler

Das Projekt beinhaltete die Entwicklung einer Stammdatenverwaltung mit Historisierungsfunktionen, Ticketsystem und CMS-Komponenten für Energieerzeuger und Netzbetreiber.

Das Frontend und Backend wurde mit ASP.NET MVC realisiert. Als Datenbank kam ein MS SQL-Server mit historisierten Tabellen zum Einsatz. Der Zugriff auf die Datenbank erfolgte via Entity Framework 6. Es wurde darüber hinaus eine API über WCF zur Verfügung gestellt. Die Entwicklung erfolgte als "trunk based development" das per Jenkins "continuous delivered" werden konnte.

Im Rahmen des Projekts waren große Code-Refactorings notwendig, um Dependency Injection einzuführen und den Code nach SOLID-Kriterien teilweise neu zu schreiben. Herausforderungen bestanden im komplexen Rechtesystem, das feingranulare Rechteprüfung auf Objektebene erforderte (implizite Rechte entstanden durch Verknüpfung von veränderlichen Objekten). Es wurden Performance-Analysen und -optimierungen durchgeführt und gezielte Refactorings um die Cluster-fähigkeit zu gewährleisten.

Darüber hinaus fielen organisatorische Aufgaben an, um Scrum und agile Softwareentwicklung im Projekt einzuführen (Retrospective, Sprint Planning, etc.).

Visual Studio 2015 ReSharper MS SQL Datenbank ASP.NET Jenkins jQuery Bootstrap
Scrum Unit Testing Integration Testing WCF Subversion Sprint Planning Retrospective HTML5
regiocom GmbH
Magdeburg
10 Monate
2016-06 - 2017-03

Marktführer Brillenoptik, C# Backend & Angular Frontend Entwicklung

Software-Entwickler Scrum Unit Testing Integration Testing ...
Software-Entwickler

Entwicklung eines Kontaktlinsen-Systems, bestehend aus den Hauptkomponenten:

1.) Auftragsverwaltung für Niederlassungen (Angular, Electron)

2.) Online-Auftritt für Kunden zum Bestellen von Kontaktlinsen

3.) Android / iOS Shopping App für Kunden

4.) Serverseitiges Backend mit REST Schnittstellen, um alle drei oben genannten Komponenten zu verbinden (Nancy, Mono)

Die Komponenten 2.) und 3.) wurden durch einen externen Dienstleister entwickelt, was Koordinierung in diesen Bereichen notwendig machte.

Im Rahmen des Projekts wurde im Wesentlichen die Entwicklung der Auftragsverwaltung der Niederlassungen sowie das C# Backend im großen Umfang weiter entwickelt und während der deutschlandweiten Go-Live-Phase betreut und gewartet. Besondere Herausforderungen entstanden nach der Go-Live-Phase. Die Stabilität und Performance des Systems wurde verbessert, ohne für den Kunden sichtbar den laufenden Betrieb zu beeinträchtigen.

Das Projekt war durch eine strenge agile Softwareentwicklung und Einsatz von Scrum sowie durch ein internationales Team gekennzeichnet.

Unit Testing, Integration Testing und End-to-end Testing (via Selenium) sowie regelmäßige Architektur- und Code-Qualitäts-Meetings stellten eine gute Softwarequalität und Lesbarkeit / Wartbarkeit des Codes sicher. Design-Entscheidungen wurden zwischen Teams demokratisch getroffen.

Neben der Software-Entwicklung sind einige DevOps-relevante Aufgaben angefallen. Continuous Integration in TeamCity wurde Schritt für Schritt durch Docker-Komponenten modularisiert, wodurch die Skalierbarkeit, Wartung bzw. die Austauschbarkeit von Komponenten deutlich vereinfacht wurde.

Visual Studio 2015 MongoDB TeamCity Docker ReSharper WebStorm Selenium ASP.NET .NET Nancy Electron nginx GitHub
Scrum Unit Testing Integration Testing NoSQL Container HTML5 Agile Entwicklung DevOps Git ASP.NET Angular
Fielmann AG
Hamburg
1 Jahr 4 Monate
2015-02 - 2016-05

Philips CityTouch Platform / Entwicklung in C# ASP.NET MVC, Silverlight

Software-Entwickler Scrum Silverlight HTML5 ...
Software-Entwickler

Im Rahmen des Projekts wurde die Weiterentwicklung einer bestehenden Webapplikation (ASP.NET MVC) mit Silverlight-Anteil beauftragt. Das Projekt setzte sich aus einem breiten Spektrum von Aufgaben von Web-UI / Silverlight-UI bis hin zu Datenbank-Backend (SQL, Postgres) zusammen. Wie in den meisten Projekten üblich wurden Unit Tests in (NUnit), Integration Tests (Selenium) und System Tests erstellt und gepflegt. Die Continuous Integration wurde per TeamCity realisiert.

Darüber hinaus wurde eine bestehende Funktionalität der Webapplikation (Authentifizierung, OAuth) in eine neue ASP.NET MVC Webapplikation per Refactoring heraus gelöst. Die ursprünglich proprietäre Authentifizierung wurde durch den offenen OAuth-Standard ersetzt (mittels Thinktecture IdentityServer OpenSource-Komponenten). Dazu wurde eine Web-UI für die gesamte Benutzerverwaltung mithilfe von jQuery, Bootstrap, REST entwickelt und für die Responsive User Experience wurden vorwiegend AJAX-Requests eingesetzt (mit entsprechendem Fallback, falls die Browser-Unterstützung fehlte).

Der Entwicklungsprozess war gekennzeichnet durch agile Softwareentwicklung mit häufigem Pair-Programming.

Visual Studio WebStorm ReSharper TeamCity PostgreSQL Amazon EC2 Selenium
Scrum Silverlight HTML5 jQuery React Flux C# Bootstrap JavaScript .NET ASP.NET MVC REST WebApi
Philips Lighting
Aachen
2 Monate
2014-11 - 2014-12

Bayer Business Services Sitecore Automation / Refactoring, Testing

Software-Entwickler C# PowerShell .NET 4.5 ...
Software-Entwickler

Refactoring eines bestehenden Systems zur Automatisierung von Sitecore Deployments unter Berücksichtigung der "SOLID"-Prinzipien. Anpassung des Codes so dass Dependency Injection eingesetzt werden konnte. Einführung von Interfaces, um Klassen testfähig zu machen. Aufteilung großer Klassen in mehrere kleinere Klassen (Ziel: Single Responsibility). Erstellung von Tests mit anschließender Code Coverage von ca. 60%.

Visual Studio 2013 IIS Sitecore MS SQL Server
C# PowerShell .NET 4.5 NUnit Dependency Injection SOLID Unit Testing
Bayer AG
Berlin
5 Monate
2014-06 - 2014-10

Datei-Konvertierungswebseite mit diversen Diensten zur Umwandlung von Dateiformaten

Software-Entwickler C# Bootstrap jQuery ...
Software-Entwickler

Konzeption und Entwicklung einer mehrsprachigen Webseite. Es können Dateien hochgeladen werden (auch via Drag & Drop), die anschließend in andere ausgewählte Dateiformate umgewandelt werden können. Dateiformate werden auf Low-Level-Ebene klassifiziert (anhand des Headers, Archiv-Inhalts, etc.). Die Umwandlung wird durch mehrere Windows-Dienste realisiert. Als Message Queue wird die eigens entwickelte RedFoxMQ eingesetzt und als Datenbanken Redis (Cache) und SQLite.

Visual Studio IIS
C# Bootstrap jQuery Windows Service Redis SQLite .NET 4.5 NUnit Git ASP.NET MVC
AppCreek Limited
Rostock
3 Monate
2014-03 - 2014-05

SAP Lync Self Service Intranet Portal in ASP.NET MVC

Software-Entwickler Lync Entity Framework C# ...
Software-Entwickler

Entwicklung eines Lync Self-Service Portals in ASP.NET MVC 5 für SAP-Mitarbeiter zum Einstellen von Lync-Merkmalen (wie Busy-On-Busy, Caller-ID, etc.). Die MSSQL-Datenbank wurde per Entity Framework 6 angesprochen. Die Lync-Merkmale wurden per PowerShell-Skripte abfragt und gesetzt. Für Busy-On-Busy wurde ein eigenes PowerShell-Modul entwickelt.

Visual Studio 2013 IIS Lync TFS
Lync Entity Framework C# .NET 4.5 PowerShell jQuery ASP.NET MVC
SAP
Rostock (Remote)
5 Monate
2013-11 - 2014-03

Web Service mit Webseite zum Umwandeln von XPS in PDF Dateien

Software-Entwickler ASP.NET MVC Bootstrap jQuery ...
Software-Entwickler
Entwicklung eines Web Services mit dazugehöriger Webseite zum Umwandeln von XPS-Dateien in PDF. Die Umwandlung kann durch API-Schlüssel gesteuert werden (maximale Umwandlungen pro Tag, Dateigröße, etc.). Im Rahmen des Projekts wurde eine eigene Message Queue-Lösung (RedFoxMQ) entwickelt, die auf GitHub veröffentlicht wurde.
Visual Studio IIS
ASP.NET MVC Bootstrap jQuery Web Services REST SQLite C# Message Queue Entity Framework Git
AppCreek Limited
Rostock
4 Monate
2013-09 - 2013-12

Entwicklung eines Mail-Servers mit Spam-Erkennung und Webseite zur Verwaltung der E-Mails

Software-Entwickler C# ASP.NET MVC Bootstrap ...
Software-Entwickler
Eigenentwicklung eines Mail-Servers in C# mit Spam-Klassifizierung und dazugehörige Webseite zum Verwalten der E-Mails. Als Datenbank kommt MongoDB zum Einsatz. Teile der Mail-Server-Komponente wurden als Open Source auf GitHub veröffentlicht.
Visual Studio IIS
C# ASP.NET MVC Bootstrap jQuery MongoDB SMTP Git
dedimax solutions UG
Rostock
4 Monate
2013-04 - 2013-07

Aufenthalt in den USA zur Weiterbildung (MCPD Zertifizierung)

Student
Student
Bradenton, Florida, USA
1 Jahr 5 Monate
2011-08 - 2012-12

Buchungssystem für manuellen Aktienhandel und Erkennung von Tradingmustern

Senior Software-Entwickler Windows Forms WPF ASP.NET MVC ...
Senior Software-Entwickler
- Arbeit in einem Team von >10 Mitarbeitern - UI-Entwicklung in Windows Forms und WPF (Formulare für Trader) - Automatismen zum Erkennen von Trading-Verhalten - Einhaltung von Regularien die durch ESMA vorgegeben werden (z.B. Erkennung / Vermeidung von Bait & Switch) - Entwicklung zahlreicher Kommandozeilen-Tools für nächtliche Datenbank-Pflege (Oracle) - Data Enrichment (Zusammenführung von Daten aus verschiedenen Datenquellen, z.B. Bloomberg) - Anwendungs-Support - Umfangreiche Deploymentanforderungen (Deployment-Katalog) - Übersetzung von bestehendem C++ Legacy Code nach C#
Visual Studio 2012 Oracle Database IIS Tibco DevExpress Perforce TeamCity
Windows Forms WPF ASP.NET MVC Scrum Message Queue NUnit TDD .NET 3.5 C# C++ Code Review Continuous Integration
Susquehanna International Group Limited
Dublin, Irland
4 Jahre 3 Monate
2007-05 - 2011-07

Entwicklung von Anwendungen zur kompletten Bestellabwicklung, Verwaltung von eines mittelgroßen Web-Shops (1-2 Mio. Jahresumsatz)

Software-Entwickler C# WPF Web Services ...
Software-Entwickler
Kompletter Entwurf und Implementierung von mehreren WPF-Anwendungen in C# Artikelverwaltung, Reifenverwaltung, Felgenverwaltung: - Verwaltung von Beschreibungen, Artikeldaten, Preisberechnung nach Formeln (-> Evaluierung von Expressions) - Änderungen in lokaler MySQL-Datenbank - Synchronisation mit Web-Datenbank Lagerverwaltung, Lagerdienst: - Verwaltung von Lagerplätzen, Lagerbeständen - Einbuchen von eingehender, ausgehender Ware (durch Scannen von Barcodes) - Automatische Bestellung von fehlender Ware bei Lieferanten (nach vorgegebenen Regeln) - Paketscheindruck durch selbst kreierte WPF-Vorlagen (für DHL, DPD, GLS) diverse Verwaltungsdienste (für Adhoc-Bestellungen, Zahlungsabwicklung, automatische Preisabfrage bei verschiedenen Lieferanten via Web Services) App für iPhone (C#/MonoTouch) zur Suche und Bestellung von Reifen, inklusive Entwicklung einer geeigneten Web Service-Schnittstelle
Visual Studio MonoTouch (aka Xamarin)
C# WPF Web Services MySQL PHP Subversion
Vircom AG
Baar, Schweiz
1 Jahr 2 Monate
2008-06 - 2009-07

Entwicklung eines CMS für Online Marketing & Social Media

Web Entwickler ASP.NET C# MySQL ...
Web Entwickler
Entwicklung eines CMS in ASP.NET Web Forms / C# für Mono + Apache Arbeit in einem kleinen Team, Entwurf und Entwicklung der Datenbank (MySQL) einschließlich des Web Backends. Entwicklung eines eigenen In-Memory Caches für sehr performanten Seitenaufbau
Apache Visual Studio
ASP.NET C# MySQL Mono AJAX JavaScript jQuery Linux .NET Subversion
Viminds
Rostock

Aus- und Weiterbildung

Aus- und Weiterbildung

5 Jahre 8 Monate
2005-10 - 2011-05

Diplom-Informatik

Diplom-Informatik, Universität Rostock
Diplom-Informatik
Universität Rostock
Maschinelles Lernen (Lernverfahren unter Anwendung von künstlicher Intelligenz)
3 Jahre 8 Monate
2001-10 - 2005-05

Bachelor in Betriebswirtschaft (IT-basiert, Duales Studium)

Bachelor of Business Administration, Baltic College
Bachelor of Business Administration
Baltic College
1 Jahr 11 Monate
2001-10 - 2003-08

IHK Fachinformatiker (Anwendungsentwicklung)

IHK Fachinformatiker (Anwendungsentwicklung), Baltic College
IHK Fachinformatiker (Anwendungsentwicklung)
Baltic College
Anwendungsentwicklung

Kompetenzen

Kompetenzen

Top-Skills

.NET Machine Learning REST Deep Learning TensorFlow PyTorch C# Python MongoDB Visual Studio ML.NET ONNX Big Data Angular Keras

Produkte / Standards / Erfahrungen / Methoden

3-Tier Architektur
Agile Entwicklung
AI
Amazon EC2
Ansible
Artificial Intelligence
Bootstrap
CI
CNN
Container
Continuous Integration
Coral Edge TPU
Data Augmentation
Deep Learning
Dependency Injection
DETR
DevOps
Dropout
Elastic Search
Electron
Entity Framework
Flux
GAN
Git
GitHub
Gitlab
Hangfire
HTML5
IIS
Image Classification
Integration Test
Integration Testing
Jasmine
Jenkins
Keras
KI
Kubernetes
Künstliche Intelligenz
Lync
Lync
Machine Learning
Microsoft Visual Studio
Monitoring
MVC
Nancy
nginx
NUnit
OAuth
Object Detection
ONNX
PyTorch
Redis
Regression Testing
ReSharper
REST
Scrum
Selenium
Semi-supervised learning
Silverlight
Sitecore
Slack
SOLID
SRGAN
Subversion
TDD
TeamCity
TensorFlow
TFS
Transformers
Trello
Unit Testing
Visual Studio
Visual Studio 2013
Visual Studio 2015
Visual Studio Code
WCF
WebApi
WebStorm
Windows Service
Word2Vec
Yolo

- Agile Software Development, SCRUM

- Model View Controller (MVC)

- Model View ViewModel (MVVM)

- Unit Testing (NUnit, xUnit)

- Test Driven Development (TDD)

- UML

 

- Internet Information Server (IIS)

- Mono (.NET unter Linux)

- Visual Studio

 

Betriebssysteme

Docker
Unix
Mono, Raspberry Pi (Hobby)
Windows
meiste Erfahrungen, primäres Betriebssystem
Windows CE
vor Jahren einige Anwendungen für Windows CE entwickelt

Programmiersprachen

.NET
.NET 4.5
.NET Core
.NET Entwicklung
Angular
ASP.NET
>10 Jahre Erfahrung
ASP.NET MVC
>8 Jahre Erfahrung
C#
fast ausschließlich in C# entwickelt seit 2001 (mit .NET Framework 1.0 Beta angefangen)
C++
2 Jahre Erfahrung
Java
3 Jahre Erfahrung
JavaScript
5 Jahre Erfahrung (jQuery, ReactJS, Flux, etc.)
jQuery
3 Jahre Erfahrung
Maschinensprachen
Hobby
ML.NET
Oracle/SQL
Pascal
lange her, aber Windows Entwicklung gestartet mit Turbo Pascal für Windows seit 1995, später Delphi
PHP
Grundkenntnisse (leider kein Interesse an PHP-Projekten)
PL-SQL
PowerShell
Python
Grundkenntnisse
React
Shell
Hobby
TypeScript

Datenbanken

Access
BDE
lange her
Gupta, Centura
Erfahrung: Migrationsprojekt von Gupta nach Oracle portieren (mit Datentransformationen)
InfluxDB
1 Jahr Erfahrung
MongoDB
2 Jahre Erfahrung
MS SQL Datenbank
MS SQL Server
MySQL
NoSQL
ODBC
Oracle
4 Jahre Erfahrung
Postgres
4 Jahre Erfahrung
PostgreSQL
4 Jahre Erfahrung
Proprietäre DB
Erfahrungen mit Redis, MongoDB, Couchbase
SQL
Stored Procedures, Grundlagen (Indizies, Sharding)
SQLite

Datenkommunikation

Ethernet
Internet, Intranet
Message Queuing
Eigene hoch performante Message Queue entwickelt: RedFoxMQ (siehe GitHub)
Micro Services
Router
SMTP
TCP/IP
Windows Netzwerk
Winsock

Hardware

CUDA
Drucker
Jetson
Mikrocontroller
Atmel (Arduino)
Steuer und Regelsysteme
FHEM

Berechnung / Simulation / Versuch / Validierung

Batch Normalization
Grafana
R

Managementerfahrung in Unternehmen

Sprint Planning

Personalverantwortung

Retrospective

Branchen

Branchen

- Anwendungsentwicklung / Datenbanken

- Deep Learning mit Tensorflow (Python)

- Webanwendungen (AJAX, HTML5, MVC 5)

 

- Erfahrung im Banken / Finanzsektor (1,5 Jahre für ein FTSE 300 Unternehmen in diesem Bereich gearbeitet)

- Erfahrungen mit starker Kryptografie (Diffie-Hellman, Blockchiffren, elliptische Kurven, RSA, HMAC, Hashing)

 

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

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

Das GULP Freelancer-Portal

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