Entwicklung Rust Python C++ Flutter Swift Kotlin
Aktualisiert am 05.11.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 05.11.2024
Verfügbar zu: 100%
davon vor Ort: 10%
Python
C++
Rust
Rust
Qt
Assembler
C#
Docker
Linux
JavaScript
Flutter
SWIFT
Kotlin
Deutsch
Muttersprache
Englisch
Hervorragende Kenntnisse in Wort und Schrift
Hindi
Grundkenntnisse in Wort und Schrift (Devanagari)

Einsatzorte

Einsatzorte

München (+100km) Mindelheim (+100km)
möglich

Projekte

Projekte

3 Monate
2024-09 - heute

Navigationslösung für TMS-Medizingerät

Rust libusb Slint ...

Design, Entwicklung

  • TMS-Geräte dienen zur Behandlung von Depressionen durch Beschießen des Gehirns mit sehr starken Magnetfeldern an einer bestimmten Stelle. Bisher musste die Stelle manuell ausgemessen werden. Dieses Projekt ist die Erweiterung bestehender TMS-Maschinen um Navigation: Mit Hilfe von sehr präzisen Sensoren wird die Position der Spule im Raum bestimmt.
  • Die Software hilft dem Arzt, die Spule exakt auf die richtige Stelle am Kopf zu positionieren (visuall an das ILS in Flugzeugen angelehnt). Die Positionsdaten werden über USB von den Sensoren eingelesen. Als Toolkit für die UI kam Slint zum Einsatz.

Rust libusb Slint ARM / Embedded Linux
Medizingerät (SEBERS Medical)
6 Jahre 2 Monate
2018-10 - heute

Steuerdatenverarbeitung/Visualisierung

Architect, Tech lead, Developer Python docker CherryPy ...
Architect, Tech lead, Developer
  • Die Plattform extrahiert rohe Steuerdaten der marktführenden Software für Steuerberater (DATEV) und fuhrt diverse Analysen und Aggregierungen auf den Daten aus. 
  • Die Ergebnisse werden dann an ein Frontend und eine App via JSON/REST weitergegeben und dargestellt. 
  • Das Projekt enthalt eine Reihe von Microservices, die die Themen Import, Upload backend, API backend behandeln sowie eine native Windows-Software die den Export der DATEV-Daten auf dem DATEV-Server ausfuhrt. 
  • Die Plattform ist für hohe Skalierbarkeit ausgelegt und kann vollständig isoliert bei größeren Kunden unter deren eigenem Hosting ausgerollt werden.
Python docker CherryPy PostgreSQL REST-JSON C++ Microservices Linux Windows
U-Know! BI OHG
Regensburg
8 Jahre
2016-12 - heute

Dating App

Co-Founder, Entwicklung, Planung HTML5 CSS JavaScript ...
Co-Founder, Entwicklung, Planung

  • [auf Anfrage] ist eine HTML5/JS-basierte Mobilapplikation, die in zwei nativen Shell-Containern für Android/iOS ausgeführt wird. Einige unterstützende Funktionen (etwa Audio-Aufnahme) sind nativ implementiert. 
  • FUSE besteht aus einem Frontend-Teil, einem Backend, zwei Administrationsprogrammen (einmal webbasiert, einmal konsolenbasiert) sowie einem Web-Socket-Server für Echtzeitbenachrichtigungen.

HTML5 CSS JavaScript Python Dialog C++ PostgreSQL Mercurial WebSockets Android iOS Linux64 (Backend)
Dating
11 Monate
2023-09 - 2024-07

Requirements Engineering für Militärprojekt

Requirements Engineer (Geheim/NDA)
Requirements Engineer

  • NuKOM ist ein Nachfolger der Kommunikationslösung von Airbus, die seinerzeit das ursprüngliche Fernschreibnetz abgelöst hat. 
  • Es ist ein System für sichere E-Mail-ähnliche Kommunikation (etwa Übermittlung militärischer Befehle) sowohl zwischen Dienststellen der Bundeswehr als auch zu NATO-Partnern. 
  • NuKOM ist bis zur Geheimhaltungsstufe NATO SECRET zugelassen und wird auf einem dedizierten Netzwerk betrieben welches physisch vom öffentlichen Internet getrennt ist. 
  • Meine Rolle im Projekt bestand aus dem Requirements Engineering für den Software-Anteil.

(Geheim/NDA)
Bundesrepublik Deutschland / Bundesministerium der Verteidigung
8 Monate
2023-11 - 2024-06

Rust-Backend für Monitoring

Rust tokio (als async-Runtime) PostgreSQL ...

Design, Entwicklung

  • Innerhalb von FUSE wird Monitoring durch Collector-Server gemacht, die Informationen über Docker-Nodes einholen und auch aus den Applikationen innerhalb der Nodes mit Statisik-Daten beschickt werden. 
  • Die Informationen werden in einer Datenbank gespeichert und dann durch dieses Tool einem Webfrontend via server-seitigem HTML-Renderung zur Verfügung gestellt. 
  • Updates werden im SPA-Stil partiell eingebracht, die Steuerung dazu erfolgt mittels htmx im HTML-Code.

Rust tokio (als async-Runtime) PostgreSQL sailfish html htmx Bootstrap MacOS Alpine Linux/docker
Dating/Social Network (FUSE UG)
3 Monate
2023-09 - 2023-11

Rust WebSocket server

Rust tokio (als async-runtime) tokio-sockets ...

Design, Entwicklung

  • Benachrichtigungen über neue Nachrichten werden an die mobilen Apps über WebSockets gemeldet, weil Push-Benachrichtigungen dazu zu träge sind. 
  • Der ursprüngliche WebSocketServer in FUSE war in x86-64-Assembler implementiert und musste durch eine Rust-Version ersetzt werden weil neue Anforderungen für das Eingangsprotokoll und das Reporting von Statistiken zu aufwändig in die Assembler-Version einzubauen gewesen wären. 
  • The Server ist ?manuell? auf TCP implementiert (rohes Socket-I/O) entsprechend der RFC6455. 
  • Er bekommt Input vom Backend über ein kompaktes Binärprotokoll und spricht das WebSocket-Protokoll mit dem mobilen Clients. 
  • Statistiken und Logs werden an die FUSE- Monitoring-Infrastruktur verschickt.

Rust tokio (als async-runtime) tokio-sockets MacOS Alpine Linux/docker
Dating/Social Network (FUSE UG)
2 Monate
2023-07 - 2023-08

Maschinensteuerungsbibliothek

C++ Qt Win64 ...

Entwicklung

  • Für eine Installation bei einem Kunden von Aucos muss ein Hallenkran über eine SPSSchnittstelle eines weiteren Lieferanten angebunden werden. 
  • In diesem Projekt habe ich eine C++/Qt-Bibliothek entwickelt, die die nötige Kommunikation mit der SPS ausführt.

C++ Qt Win64 MacOS
Aucos AG
Aachen
1 Jahr 5 Monate
2022-03 - 2023-07

Rust monitoring infrastructure

Rust tokio (als async-runtime) tokio-sockets ...

Design, Entwicklung

  • Um den Systemzustand zu überwachen und technische Statistiken zu erfassen wurde eine Monitoring-Lösung für FUSE entwickelt. Sie besteht aus einer Datenbank, einem InformationsCollector-Server der einmal pro Docker-Node installiert wird sowie aus einem Client-Crate der in andere auf dem Knoten laufende Backend-Prozesse ein kompiliert wird. Der Server selbst sammelt CPU, Speicherbelegung und Uptime ein, Docker-Informationen werden extern über ein shared directory zur Verfügung gestellt. 
  • Andere Services reporten sowohl statistische Daten (etwa aktive WebSocket-Verbingunden oder API- Aufrufstatistiken und Timings) wie auch Logmeldungen über eine TCP-Schnittstelle die von der Client-Bibliothek beschickt wird. Der Collector sammelt diese Infomrationen ein, verdichtet sie und schreibt sie in regelmäßigen Abständen in die Datenbank.

Rust tokio (als async-runtime) tokio-sockets PostgreSQL tokio-postgres MacOS Alpine Linux/docker
FUSE UG
10 Monate
2022-06 - 2023-03

Test-Infrastruktur

Python docker bash ...

Entwicklung

  • Siemens Mobility setzt ein eigens (auf behaverunner aufsetzendes) Framework ein, um die Software von Schienenfahrzeugen in der Entwicklung zu testen (Fahrzeugsteuerung). 
  • Hier mussten Fehler behoben und das Framework erweitert werden.

Python docker bash Linux Windows
Eisenbahn/Schienenfahrzeugbau
3 Monate
2022-12 - 2023-02

Dating-App native Android-Implementierung

Kotlin Jetpack Compose Voice record ...

Eine zuvor als Prototyp in ReactNative implementiere app sollte nativ auf Android komplett neu Implementiert werden

Design, Entwicklung

  • FUSE ist eine Datingplattform. Die zugehörige App lag als ReactNative vor, aufgrund der schlechten Wartbarkeit und der mäßigen Performance war eine Neuimplementierung in Android nötig.

Kotlin Jetpack Compose Voice record Facebook login Google login Google analytics Firebase messaging REST-APIs WebSockets Camera Gallery Location services Android API-Level 24+
3 Monate
2022-11 - 2023-01

App native iOS-Implementierung

Dating-App native iOS-Implementierung SwiftUI Voice record Facebook login ...
Dating-App native iOS-Implementierung

Eine zuvor als Prototyp in ReactNative implementiere app sollte nativ auf iOS komplett neu Implementiert werden

Design, Entwicklung

  • FUSE ist eine Datingplattform. Die zugehörige App lag als ReactNative vor, aufgrund der schlechten Wartbarkeit und der mäßigen Performance war eine Neuimplementierung in iOS nötig.

SwiftUI Voice record Facebook login Google login Google analytics Firebase messaging REST-APIs WebSockets Camera Gallery Location services iOS 15+
FUSE
5 Monate
2022-06 - 2022-10

Rust background services f¨ur Datingplattform

Rust tokio (als async-runtime) PostgreSQL ...

Design, Entwicklung

  • Im Rahmen der Infrastrukturportierung auf Rust (siehe nächstes Projekt) mussten zusätzliche Backend-Services die außerhalb kritischer Ausführungspfade laufen nach Rust portiert werden.
  • Das beinhaltet die Kommunikation mit Google Firebase für Pushnachrichten an mobile Endgeräte, periodische Datenbankbereinigungen und Teile des Registrierungsprozesses für neue User.

Rust tokio (als async-runtime) PostgreSQL MacOS Alpine Linux/docker
FUSE UG
8 Monate
2021-11 - 2022-06

Rust-Backends f¨ur Datingplattform

Rust actix-web tokio (als async-runtime) ...

Design, Entwicklung

  • Für ein Startup sollten die Backends von C++ nach Rust portiert werden. Die Backends haben REST-Interfaces via async HTTP (actix-web) und greifen mit Tokio-Postgres auf die Datenbank zu, wobei mehrere Lese- und Schreibpools verwendet werden. 
  • Tests der Backends erfolgen extern mit pytest-Skripten. 
  • Die Releaseversion des Backends wird in einem DockerBuild-Container gebaut und anschließend in einem weiteren Container verpackt und ausgeführt.

Rust actix-web tokio (als async-runtime) PostgreSQL Python pytest bash docker MacOS Alpine Linux/docker
FUSE UG
5 Monate
2021-12 - 2022-04

Flutter-Frontend f¨ur Plattformadministration

Flutter/Dart nginx/Web

Design, Entwicklung

  • Für die FUSE-Plattform musste eine webbasierte Administrationsoberfläche erstellt werden, die idealerweise das Look and Feel der nativen App abbildet um neue Admins möglichst schnell produktiv einsetzen zu können. Parallel sollte die Entwicklung zügig abgeschlossen werden. 
  • Daher fiel die Wahl der Implementierung auf Flutter mit primärem Target ?Web? aber auch macOS als Zielplattform im Auge. CSS/JS wurden nicht verwendet, da sich die komplexe UI leichter in Flutter implementieren ließ. 
  • In der Applikation können statische Daten zu Userregistrierungen eingesehen werden, außerdem können Chats überwacht, Bild- und Audiomaterial von Usern gelöscht und User deaktiviert werden.

Flutter/Dart nginx/Web
FUSE UG
4 Monate
2021-07 - 2021-10

Fehlerbehebung Medizingerät

Entwicker Python Windows
Entwicker

  • Der Kunde hat ein Medizingerät zum Entpacken von Gewebeproben im Prototypenstadium. 
  • Die Steuerungssoftware (in Python) hatte diverse Probleme und musste für nachfolgende klinische Studien in einen funktionierenden Zustand gebracht werden.

Python Windows
Inveox GmbH
München
2 Jahre 7 Monate
2018-12 - 2021-06

Backends Qualitäts-Infrastruktur

Architect, Tech lead, Developer Python docker CherryPy ...
Architect, Tech lead, Developer
  • In diesem Projekt mussten insgesamt drei Backends, jeweils bestehend aus einer Reihe von Microservices entwickelt werden. 
  • Alle Applikationen entnehmen marktforschungsrelevante Daten aus der Input-Pipeline der GfK und bereiten sie mit Datascience-Modellen auf (etwa detektieren von Betrug durch Auditoren oder Erkennen/Glatten von Daten-Ausreißern). 
  • Die Backends liefern die gesamte technische Infrastruktur, die nötig ist, um die Datenmodelle ablaufen zu lassen, also etwa Tasksteuerung, Benutzerkorrekturen, I/O von Datenströmen.
Python docker CherryPy PostgreSQL RabbitMQ REST-JSON Microservices grafana/prometheus Linux Web
GfK SE
Nürnberg
1 Jahr
2020-01 - 2020-12

Maschinensteuerung

Architect, Tech lead, Developer Python Django Qt ...
Architect, Tech lead, Developer
  • Eine ursprünglich über eine native Windows-Anwendung und einen in C++ implementierten Telegrammserver sollte modernisiert werden als Webanwendung inklusive eines lokal laufenden Windows-Clients für Dinge, die über einen Browser hinausgehen (etwa lokale Dateien öffnen). 
  • Ein neues Backend wurde in Python/Django + GraphQL implementiert, Frontend in nuxt.js (Frontend durch meine Mitarbeiter). Außerdem wurde ein lokaler Client in C++/Qt erstellt, der alle lokalen Systemzugriffe ausführt. 
  • Die Identifikation von Browserclient zu Qt-Client erfolgt im Backend über Mapping der IP. Kommunikation via Netzwerkzugriff / GraphQL, auch vom Qt-Client zum Backend.
Python Django Qt GraphQL Windows 64
RWT GmbH
München
3 Jahre 2 Monate
2016-11 - 2019-12

App + Ecosystem

Co-Founder, Entwicklung, Planung
Co-Founder, Entwicklung, Planung

  • (auf Anfrage) besteht aus einer Single-Source-App (Qt/QML) für Android/iOS sowie aus einem C++-Backend. 
  • Es handelt sich um eine location-based-App bei der Nutzer abhängig von ihrem aktuellen geographischen Standort verbilligte Angebote von Lebensmittelhändlern und Restaurants in ihrer unmittelbaren physischen Umgebung ansehen und direkt in der App via Kreditkarte kaufen können. 
  • Die Ware wird gegen Vorzeigen eines 3D-Barcodes der App vom Händler herausgegeben. 
  • Ich habe die vollständige Entwicklung, sowohl der App als auch des Backends in diesem Startup gemacht und halte Anteile an der Gesellschaft.

C++ Qt/QML Python PostgreSQL Mercurial 3D-Barcodes Positionssensor Karten Android iOS Linux64 (Backend)
CeeMii GmbH
Wien
1 Jahr 1 Monat
2016-12 - 2017-12

Bauvergleich App

Co-Founder, Entwicklung, Planung HTML5 CSS JavaScript ...
Co-Founder, Entwicklung, Planung

  • (auf Anfrage) ist ein webbasiertes Portal zur Vermittlung zwischen Bauherren und am Bau benötigten Handwerkern sowie sonstigen Dienstleistern. 
  • Bauvergleich ist eine SPA-Anwendung, die vollständig in HTML5/CSS/JS auf Frontendseite sowie in C++ im Backend realisiert ist.

HTML5 CSS JavaScript C++ PostgreSQL Mercurial Linux64 (Backend)
Vermittlungsportal für Bauherren/ Baudienstleister
1 Jahr 9 Monate
2015-09 - 2017-05

Embedded-Medizingerät

Entwicklung, Planung, Requirements Engineering
Entwicklung, Planung, Requirements Engineering

Ein Blutdruckmessgerät für den Einsatz in der Intensivmedizin sollte in einen Arbeitsteil und einen Monitorteil getrennt werden. Der Kunde wollte den Arbeitsteil als eigenes Modul vermarkten, so da Mitbewerber dieses in ihre eigenen Monitore integrien können. Die ursprüngliche Implementierung lag in Delphi, Assembler und C++ vor, das neue Modul sollte vollständig in C/C++ auf einem ARM Cortex M4-Controller implementiert werden. Zusätzlich wurde ein C++-SDK auf PC-Seite und ein Python-Wrapper dafür benötigt. Das Testsystem wurde komplett in Python implementiert (unittest-Modul), außerdem wurde ein Webfrontend (Twitter-Bootstrap+JQuery) mit Python/CherryPy as Backend bereitgestellt

Delpi Assembler GCC/G++-ARM Makefiles Subversion Python CherryPy ARM32 Win64
Pulsion GmbH
München
1 Jahr 1 Monat
2014-09 - 2015-09

C# Logistik/Lagersteuerung/Kampagnenplanung

Entwicklung
Entwicklung

Mitarbeit an der Lagersteuerungssoftware für einen großen Modeversender. Die Software steuert den kompletten Lagerablauf, also Auftragsaufbereitung, Kommissionierung, Steuerung der Packstationen, Druck der Labels + Interface zu DHL/Zoll usw. Außerdem Mitarbeit am Programm für die Kampagnenplanung und Artikelbestellung der Verwaltung. Außerdem diverse Python-basierte Hilfsprogramme zur Datenbereinigung und ein (mit Tkinter) implementiertes Frontend zur Batchkompilierung/Distribution der .NET-Services

C#/.NET WCF WPF Mercurial PDFFileWriter NHibernate Autofac VB.NET Python Win64
Best Secret GmbH
München
2 Monate
2014-06 - 2014-07

Magletics-Frontend für Gehirnstimulator

Entwicklung
Entwicklung

Für eine Sonderanwendung der Ansteuersoftware für einen magnetischen Gehirnstimulator mußte ein neues Frontend auf WPF-Basis erstellt werden. Die Steuerung des Stimulators erfolgt über eine einen direkt angesteuerten FTDI-Chip via USB-Schnittstelle.

C# WPF .NET FTDI Win64
Mag & More GmbH
München
9 Monate
2013-10 - 2014-06

Webapplikation für Pharmazulassung

Entwicklung (Backend)
Entwicklung (Backend)

Aufbau einer C#-basierten Webapplikation zur gesetzeskonformen Einreichung und Verwaltung der Zulassungsdokumente, Stofflisten und Nebenwirkungstabellen für Medikamente. Die Software unterstützt die Medikamentenzulassung über den gesamten Lebenszyklus des Produkts. Bedingt durch den enormen Zeitdruck seitens des Gesetzgebers wurde zusätzlich ? bis das JavaScript-basierte Frontend fertig ist ? als vorübergehende Lösung noch eine Import/ Export-Schnittstelle via Excel-Dateien realisiert. Des Weiteren wurde ein PDF-Generator implementiert. Ein Teil des Codes wurde über einen in Python geschriebenen Generator erzeugt.

C# EntityFramework SQL-Server TFS Python OpenXML/ClosedXML ?PDFFileWriter? library Win64
EXTEDO GmbH
München
9 Monate
2012-10 - 2013-06

Integration des Python-Interpreters in 3D-Visualisierungssoftware

Architektur, Entwicklung
Architektur, Entwicklung

Einbau des Python-Interpreters in eine 3D-Visualisierungssoftware für die Automobil- und Luftfahrtbranche. Der Interpreter-Host wird als PlugIn geladen und kann intern beliebig viele Subinterpreter abspalten. Die Ausführung der Python-Skripte erfolgt üblicherweise (wobei die Skripte dafür zuständig sind) in Hintergrundthreads. Zusätzlich stellt das PlugIn ein internes PythonModul (in C) zur Verfügung, über das Python-Callables auf dem Qt-Hauptthread der Anwendung ausgeführt werden können, da ggf. einige API- Aufrufe zwingend den Qt-Hauptthread voraussetzen.

Python Python C API Qt C++ Win64
Realtime Technology (RTT) AG
München
1 Monat
2012-10 - 2012-10

Updateservice für iOS-Banking-Lösung

Architektur, Entwicklung
Architektur, Entwicklung

Für eine neuartige iOS-Banking-Lösung, die durch Vorausladen von Umsätzen einen Geschwindigkeitsvorteil gegenüber anderen Lösungen erzielen soll, musste eine Serverkomponente erstellt werden. Diese ist als Windows-Service ausgeführt. Aufgabe war es, regelmässig Bankumsätze via FinBanks-Bibliothek von den offiziellen Gegenstellen der Banken zu laden und in einer Datenbank abzulegen. Ferner sind automatische Joberzeugung und -verteilung sowie Lastausgleich in der Komponente integriert.

C# FinBanks PostgreSQL NUniT .NET 4.0
Finanzen
2 Monate
2012-08 - 2012-09

Spiel für iOS

Alle
Alle

Nachbau des LCD-Hand-Konsolenspiels [auf Anfrage], ursprünglich von VTECH 1981 auf den Markt gebracht, vorerst für iOS (iPhone/iPad). Komplett mit MonoTouch (C# unter iOS) und dem MonoGame-Framework (Nachbau von Microsoft XNA) implementiert. Für den Verkauf im AppStore.

C# MonoTouch MonoGame OS 5.1 (iPhone; iPad)
Computerspiele (selbständig)
9 Monate
2011-12 - 2012-08

Parser für NATURAL-Sourcecode und IronPython-Tool

Entwicklung in C#, Design/Implementierung IronPython-Werkzeug
Entwicklung in C#, Design/Implementierung IronPython-Werkzeug

Im Auftrag der öffentlichen Hand musste aufgrund einer neuen gesetzlichen Vorgabe die NATURAL-Applikation des Meldewesens auf Unicode-Fähigkeit umgestellt werden. Diese Applikation besteht aus ca. 3 Millionen Zeilen NATURAL-Quellcode, historisch über mehr als 20 Jahre gewachsen. Im Projekt musste eine C#-Lösung erstellt werden, die automatisiert den NATURAL-Code auf Unicodefähigkeit umstellt. Hierbei müssen zum Teil Konstrukte im Code automatisch durch völlig andere Konstrukte ersetzt werden, so dass simples Ersetzen nicht funktioniert - der Code muss tatsächlich geparsed und zum Teil auch ?verstanden? werden (Wanderung von Daten zwischen Modulen, Werteweitergabe zwischen Variablen, Generieren von neuen Steuerelementen in Dialogen usw.). Zusätzlich wurde ein leistungsfähiges Debug-Werkzeug auf Basis von IronPython (Python für .NET = skriptbasierter Zugriff auf das komplette Datenmodell der Applikation) erstellt.

C# .NET Python IronPython Windows 7 64 Windows Server 2008 R2
it & more GmbH
München
4 Monate
2012-03 - 2012-06

EEG-Viewer für iOS

Design, Entwicklung
Design, Entwicklung

Als Demonstrator für den Messeeinsatz wird eine Software benötigt, die Gehirnstromkurven aus dem branchenüblichen EDF-Format performant und mit Touch- Unterstützung auf einem iPad anzeigen kann. Implementierung erfolgt über das MonoTouch-Framework (C#-Entwicklung auf iOS).

C# MonoTouch iOS 5.1 (iPad)
sh computing UG
4 Monate
2011-08 - 2011-11

Steuerungssoftware für Gehirnstimulator

Entwicklung (Neuentwicklung), Beratung
Entwicklung (Neuentwicklung), Beratung

Der Kunde konstruiert und vertreibt Medizingeräte, die durch Magnetfelder Impulse direkt in Gehirnregionen einleiten (nicht-invasiv). Hierzu musste eine Software neu erstellt werden, die Patientendaten verwaltet sowie Ansteuerkurven erstellt, verarbeitet und in ein Format umsetzt, welches der Controller der Geräteschnittstelle versteht. Die Verbindung zur C#-Software wird über einen FTDI-USB-Chip hergestellt, welcher im Direktverfahren angesteuert wird. Zusätzlich muss die Software eine Echtzeitvisualisierung des ”Programmablaufs” in der Kurve anzeigen (der Controller meldet -gepollt- Spulentemperatur und Scriptfortschritt zur¨uck).

C# .NET FTDI Windows XP/Vista/7
Medizin (Mag&More GmbH)
München
1 Jahr 6 Monate
2010-05 - 2011-10

Systemadministration Linux + VCS

Administration, Integration, teilweise Entwicklung
Administration, Integration, teilweise Entwicklung

euroblaze erstellt nach Kunden/Designervorgaben Onlineshops auf Basis von OXID. Die Entwicklung selbst findet in Indien statt, aktuell werden über 100 Projekte von euroblaze betreut. Ich bin verantwortlich f¨ür die Systemadministration, Installation auf produktiven Maschinen und die Verwaltung des Versionskontrollsystems (subversion, bootstrap, Berechtigungen, Branchzuweisung, ...).

subversion Linux OXID Apache PHP ZendGuard ionCube MySQL Python Linux FreeBSD
eCommerce (euroblaze Wapsol GmbH)
Stuttgart
1 Monat
2011-07 - 2011-07

Virtuelle Maschine für OXID-Tests

sämtliche Rollen
sämtliche Rollen

Virtuelle Maschine zum Testen von Installationen der OXID eCommerce-Lösung (PHPbasiert). Die VM automatisiert die die Administration des Linux-Hosts sowie die Installation von OXID-Versionen. Sie bootet automatisch in eine Python/cdialog- Applikation, die Installationen (+Systemaccounts +Datenbank +Konfiguration +Apache- Alias), Datenbanktausch, Filemanagement, Systemupdate und Update der Installationstemplates bzw. der VMAnwendung selbst menügesteuert auch unerfahrenen Anwendern zur Verfügung stellt. Die VM erfordert keinerlei manuelle Eingriffe mehr und konfiguriert im Fall einer IP-Änderung der VM Anpassungen der OXID- Konfigurationen automatisch durch.

Linux OXID Apache PHP ZendGuard ionCube MySQL Python cdialog Shell Linux (Debian6-i386)
10 Monate
2010-10 - 2011-07

Webbasierte Kontaktplattform/Backend/PySide (QT4)-Frontend

sämtliche Rollen
sämtliche Rollen

Webplattform, die Vertriebsleute und Hersteller weltweit zusammenführt. 100% Pythonbasiertes Projekt. Frontend via Django, Backend CherryPy-Applikationsserver, einzelne Python-Minicrons und ein PySide (=Qt4 via Python)-Frontend zum Freischalten von Annoncen.

Linux Python Django CherryPy PySide QT4 PostgreSQL git Linux (Ubuntu Server) Multi-Plattform (QT4-Frontend)
Vermittlung von Handelspartnern (sh computing UG)
10 Monate
2010-09 - 2011-06

Schnittstelle zu 3D-Render-Suite und Prozeßautomatisierung

Entwicklung
Entwicklung

Für eine führende 3D-Render-Suite (QT4) im Automobil/Luftfahrt/Bekleidungsumfeld sollte eine C++-Schnittstelle mit Python-Anbindung entwickelt werden. Das System arbeitet selbstkonfigurierend im Cluster (selbständiges Wählen eines Masters) und beherrscht Lastverteilung. Die komplette Schnittstelle kann auch – via boost::python – von Python aus angesteuert werden. In der zweiten Phase musste eine komplett scriptbasierte, automatisierte Renderlösung zum Generieren von Katalogbildern für den Bekleidungskonzern Adidas auf Basis von 3D-Daten erstellt werden. Auf C++-Seite zusätzliche Bildverarbeitung (u.a. combine, color profile, clipping path, PNG chunk reordering) sowie Erstellen und Warten des Installationsprogramms (NSIS)

C++ boost boost::python STL TCP/IP Multicast Verschlüsselung Eigene Kommunikationsprotokolle Python CherryPy Curses ImageMagick WinDBG git subversion Win64 Linux
3D-Rendering (Realtime Technology (RTT) AG)
München
11 Monate
2009-09 - 2010-07

Generischer Sprachtrainer

sämtliche Rollen
sämtliche Rollen

Die Software ermöglicht Vokabular/Übersetzungen/Lückentexte für beliebige Sprachen zu trainieren. Sie unterstützt auch exotische Sprachen wie z.B. Hindi oder Sprachen, die von rechts nach links geschrieben werden.

C++ Qt4 STL XML Verschlüsselung git Win32 Mac OS X Linux BSD
Privatanwender
4 Jahre 4 Monate
2005-06 - 2009-09

Systeme für medizinische Datenverarbeitung

Rolle: Systemdesign; Projektmanagement; Planung; Implementierung; Teamleitung; Serveradministration; Mitarbeit an der QM-Dokumentation für ISO 9001 und ISO 13485. Wechselnd 2-10 Mitarbeiter im Team.


Das System besteht aus mehreren Komponenten. Zum einen ein ausfallsicherer und hochverfügbarer Server (C++ unter FreeBSD), der die von den Endgeräten roh zur Verfügung gestellten Messdaten verarbeitet und an eine elektronische Patientenakte zur weiteren Aufbereitung weiterleitet. Zum anderen eine auf Windows-Mobile-PDAs installierte Lösung, die via Bluetooth Messdaten von (hardwareseitig manipulierten = mit Bluetooth-Modulen nachgerüsteten) Messgeräten in Empfang nimmt und Rückmeldung an den Endbenutzer liefert. Ausserdem diverse Wartungs- und Hilfsprogramme.

C C++ C# STL POSIX Threading FreeBSD Windows Mobile MFC wxWidgets AES (Verschlüsselung) Bluetooth TCP/IP Eigene Übertragunsprotokolle embedded PostgreSQL SQLite FTDI-Devices (Direktansteuerung) git subversion cvs FreeBSD Linux; Win32 Windows Mobile (5; 6)
Medizintechnik (Konsortialprojekt; Gefördert durch Bundeswirtschaftsministerium)
2 Jahre
2003-07 - 2005-06

Softwarebasierte Personalressourcenplanung

Systemdesign; Projektmgmt; Implementierung; Teamleitung, etc
Systemdesign; Projektmgmt; Implementierung; Teamleitung, etc

Es handelt sich um eine Anwendung in Client/Server-Anordnung, die dazu dient, Arbeitsabläufe elektronisch abzubilden und zu verfolgen. Hierbei können Abläufe verzweigt und Subabläufe wiederverwendet werden. Die Dauer einzelner Vorgänge wird durch Mitarbeiterinformationen oder sensorische Meldungen erfasst. Auch können so Abläufe beendet bzw. in Gang gesetzt werden. Das Programm verwaltet ferner die verwendeten Ressourcen, die entstehenden Statistiken können zur Ressourceoptimierung oder für Vorhersagen verwendet werden. Benötigte Ressourcenaufwände lassen sich auch für zukünftige Projekte vorhersagen.

C++ STL VCL PostgreSQL ODBC TCP/IP Eigene Ubertragungsprotokolle cvs Win32 FreeBSD
Logistik - Andreas Schmid Logistik AG; Siemens SBS
4 Jahre 2 Monate
2001-05 - 2005-06

Lagersteuerungssystem Gefahrgutlager + Rechnerverteilung

Systemdesign; Projektmgmt; Implementierung; Teamleitung; etc
Systemdesign; Projektmgmt; Implementierung; Teamleitung; etc

Das Projekt musste aus Kostengründen so aufgesetzt werden, dass es sowohl ein Gefahrgutlager als auch die Verteilung von Rechnern bei Siemens-SBS (also ebenfalls Lager, kein Gefahrgut, aber diverse Zusatzfunktionen) abbilden konnte, dementsprechend generisch und erweiterbar konzipiert. Das System besteht aus einer Serverkomponente, die die eigentliche Lagerverwaltung bzw. Warenflußsteuerung/Belegsteuerung abwickelt sowie aus diversen Clientmodulen, etwa für die Arbeitsplätze im Leitstand, die Anbindung der Scanner (Funkscanner, Echtzeit) oder sonstigen Pick-Endgeräte (Pick-by-voice, Pick-by-light). Das System beherrscht Gefahrgutlagerung, Chargen, Barcodescanner, Mehrbenutzerfähigkeit, Verteilte Standorte, Drucksysteme gesetzter Formulare, One-Touch-Logistik (=automatische Prozesskette), diverse Automatiken, Mandantenfähigkeit und beliebige Import/Exportschnittstellen.

C++ Python VCL STL Threading PostgreSQL ODBC VT100 Delphi TCP/IP XML Eigene Übertragungsprotokolle cvs FreeBSD Linux Win32
Logistik, IT - Andreas Schmid Logistik AG; Siemens SBS
2 Jahre 5 Monate
1999-01 - 2001-05

Steuerung für internetbasiertes Shopsystem

Systemdesign; Projektmanagement; Planung; Implementierung; 3 MA
Systemdesign; Projektmanagement; Planung; Implementierung; 3 MA

Die Software war das Steuerungsmodul für ein internetbasiertes Shopsystem und wurde auch als (kleine) Warenwirtschaftslösung mit minimaler Lagerverwaltung eingesetzt.

C++ STL VCL PostgreSQL ODBC TCP/IP Win32
Shopsysteme - Skybeamer GbR
6 Monate
1997-09 - 1998-02

Echtzeit-Überwachung im Zugverkehr (S-Bahn MÜnchen)

Eigenverantwortliche Planung und Implementierung (Prototyp).
Eigenverantwortliche Planung und Implementierung (Prototyp).

Der sogenannte ”Streckenspiegel”, der den Fahrdienstleitern für ganz Süddeutschland in Echtzeit Einblick in den Zugverkehr gibt, hat informativen Charakter; Die Steuerung des Zugverkehrs (S-Bahn München) selbst erfolgt losgelöst davon über Prozeßrechner, die allerdings mit identischen Eingangsdaten arbeiten. Die alte Version des Steckenspiegels war mit speziellen Maschinen mit 8085-Prozessoren implementiert. Ich habe einen Prototyp der Software für den Einsatz unter MS-Windows (damals Win16 und Win32) implementiert während meines Aufenthalts im damaligen Rechenzentrum der DB in München im Rahmen meiner Ausbildung. Die Software umfasste sowohl den eigentlichen Steckenspiegel (Anzeigeprogramm) als auch einen Gleisplaneditor und einen speziellen Fonteditor für die Symbole. Mittlerweile (2012) ist der Streckenspiegel in Form der Smartphone-App ”S-Bahn-Navi” auch für die Öffentlichkeit zugänglich.

C++ MFC Watcom Win16 Win32
(Eisenbahn-)Verkehr - Deutsche Bahn AG)

Aus- und Weiterbildung

Aus- und Weiterbildung

1 Monat
2009-10 - 2009-10

Ausbildung zum QM-Auditor ISO 9001

TüV Süd Akademie GmbH, Augsburg
TüV Süd Akademie GmbH, Augsburg
1 Jahr 10 Monate
1999-09 - 2001-06

Fachhochschulreife

BOS (Technik), Augsburg
BOS (Technik), Augsburg
3 Jahre 6 Monate
1995-09 - 1999-02

Ausbildung zum Kommunikationselektroniker

Deutsche Bahn AG, München
Deutsche Bahn AG, München

Kompetenzen

Kompetenzen

Top-Skills

Python C++ Rust Rust Qt Assembler C# Docker Linux JavaScript Flutter SWIFT Kotlin

Produkte / Standards / Erfahrungen / Methoden

Profil

  • Freiberuflicher Requirements Engineer und Softwareentwickler Rust, Python (CPython und IronPython), Assembler (16/32/64 bit, DOS/Win32/Win64/Linux/BSD), C++ (Qt+QML, wxWidgets, VCL, MFC, std-C++, STL, Threading, boost), Flutter/Dart, Kotlin, Swift, C#
  • Reversing (native IDA, CIL IDA+ILDASM+Telerik)
  • Auditor für QM-Systeme nach ISO 9001
  • AWS Certified Developer Associate


Sonstiges

  • Medizinprodukteberater (EUROCAT)


UI-Toolkits

  • Slint
  • Flutter
  • Qt/QML
  • SwiftUI
  • Jetpack
  • VCL
  • wxWidgets
  • MFC
  • Win32


Debugger

  • TurboDebugger
  • gdb
  • DDD
  • WinDBG
  • IDA Pro

 

Versionskontrolle

  • git
  • subversion
  • cvs
  • Mercurial
  • TFS

 

Kommunikation

  • ART
  • I2C
  • SPI
  • USB
  • CORBA
  • Sockets (TCP/IP, UDP/IP, UDPMulticast)
  • HTTP
  • SOAP
  • RS232
  • parallel
  • SMTP
  • Google Protocol Buffers
  • JSON via REST
  • WebSockets, u.v.a. (Eigenbau)

 

Sonstige Technologien

  • docker
  • bash
  • gcc
  • Borland C++ Builder
  • Borland Delphi
  • Lazarus
  • FASM
  • NASM
  • TASM
  • Watcom C++
  • MS-Visual C++
  • MS-Visual Basic
  • MSVisual C#
  • CIL
  • Mono
  • MonoTouch
  • MonoGame
  • XNA
  • IronPython
  • TurboPascal
  • vim
  • (n)curses
  • TurboVision
  • cURL
  • libUSB
  • GNU pthreads
  • MultiThreading
  • STL
  • DirectX
  • Orbit ORB
  • MIDAS
  • make
  • GNU Autotools (autoconf, automake, libtool, ltdl)
  • bjam
  • gmake
  • qmake
  • boost
  • Apache
  • Postfix
  • Firebase
  • Samba
  • spamd
  • fail2ban
  • QtCreator
  • Django
  • CherryPy 
  • PySide
  • C++/Python-Schnittstellen mit boost::python
  • ImageMagick
  • InstallShield
  • NSIS
  • Windows Services
  • FinBanks
  • NUnit
  • WPF
  • WCF
  • jQuery
  • nginx
  • grafana/prometheus
  • htmx

 
Berufserfahrung
10/2009 ? heute:
Position: Freiberufliche Tätigkeit
 

06/2005 ? 09/2009:

Rolle: Abteilungsleiter Server-Entwicklung

Kunde: GmbH & Co. KG, München

 

06/2001 ? 05/2005:

Rolle: Entwicklungsleiter, stellv. Abteilungsleiter

Kunde: LogIn & Solutions AG, Gersthofen


01/2001 ? 06/2001:
Rolle: Gesellschafter, Bereich Softwareentwicklung

Kunde:  GbR, Aulzhausen


02/1997?12/2000:

Rolle: Nebenberuflich EDV-Dienstleistung und Softwareentwicklung
Kunde: Name auf Anfrage, Egling

Betriebssysteme

CP/M
Mac OSX
MS-DOS
Solaris
Unix allgemein
Windows (ab 2.0)
Windows CE (Mobile)
NetBSD
OpenBSD
FreeBSD
Linux
Alpine, Debian und Derivate, SuSE, CentOS)
iOS
Android

Programmiersprachen

Assembler
C
C#
C++
Delphi
JavaScript
Natural
Pascal
Python
QML
TeX, LaTeX
lex/yacc
Flutter
Dart
Kotlin
Swift
bash

Datenbanken

Access
BDE
MySQL
ODBC
PostgreSQL
primäre Datenbank
SQL-Server
SQLite

Datenkommunikation

CORBA
Ethernet
Internet, Intranet
parallele Schnittstelle
Proprietäre Protokolle
RPC
RS232
SMTP
TCP/IP
Windows Netzwerk
Winsock

Hardware

Alpha
Amiga
Ascii/X - Terminals
Drucker
embedded Systeme
Hardware entwickelt
HP
Macintosh
Mikrocontroller
Motorola
PC
Silicon-Graphics
SUN
MFA-8085
RaspberryPi
ARM
Apple

Branchen

Branchen

  • Behörden/Militär
  • 3D-Rendering
  • Handelsnetz
  • eCommerce
  • Bildverarbeitung
  • Logistik
  • Lagersteuerung
  • Lagerverwaltung
  • Medizintechnik
  • Medizingeräte
  • Bildungswesen
  • Verkehr
  • Eisenbahn
  • öffentliche Verwaltung
  • Computerspiele
  • Pharmazulassung
  • Finanzen
  • Gastronomie
  • Dating
  • Baubranche
  • Marktforschung

Einsatzorte

Einsatzorte

München (+100km) Mindelheim (+100km)
möglich

Projekte

Projekte

3 Monate
2024-09 - heute

Navigationslösung für TMS-Medizingerät

Rust libusb Slint ...

Design, Entwicklung

  • TMS-Geräte dienen zur Behandlung von Depressionen durch Beschießen des Gehirns mit sehr starken Magnetfeldern an einer bestimmten Stelle. Bisher musste die Stelle manuell ausgemessen werden. Dieses Projekt ist die Erweiterung bestehender TMS-Maschinen um Navigation: Mit Hilfe von sehr präzisen Sensoren wird die Position der Spule im Raum bestimmt.
  • Die Software hilft dem Arzt, die Spule exakt auf die richtige Stelle am Kopf zu positionieren (visuall an das ILS in Flugzeugen angelehnt). Die Positionsdaten werden über USB von den Sensoren eingelesen. Als Toolkit für die UI kam Slint zum Einsatz.

Rust libusb Slint ARM / Embedded Linux
Medizingerät (SEBERS Medical)
6 Jahre 2 Monate
2018-10 - heute

Steuerdatenverarbeitung/Visualisierung

Architect, Tech lead, Developer Python docker CherryPy ...
Architect, Tech lead, Developer
  • Die Plattform extrahiert rohe Steuerdaten der marktführenden Software für Steuerberater (DATEV) und fuhrt diverse Analysen und Aggregierungen auf den Daten aus. 
  • Die Ergebnisse werden dann an ein Frontend und eine App via JSON/REST weitergegeben und dargestellt. 
  • Das Projekt enthalt eine Reihe von Microservices, die die Themen Import, Upload backend, API backend behandeln sowie eine native Windows-Software die den Export der DATEV-Daten auf dem DATEV-Server ausfuhrt. 
  • Die Plattform ist für hohe Skalierbarkeit ausgelegt und kann vollständig isoliert bei größeren Kunden unter deren eigenem Hosting ausgerollt werden.
Python docker CherryPy PostgreSQL REST-JSON C++ Microservices Linux Windows
U-Know! BI OHG
Regensburg
8 Jahre
2016-12 - heute

Dating App

Co-Founder, Entwicklung, Planung HTML5 CSS JavaScript ...
Co-Founder, Entwicklung, Planung

  • [auf Anfrage] ist eine HTML5/JS-basierte Mobilapplikation, die in zwei nativen Shell-Containern für Android/iOS ausgeführt wird. Einige unterstützende Funktionen (etwa Audio-Aufnahme) sind nativ implementiert. 
  • FUSE besteht aus einem Frontend-Teil, einem Backend, zwei Administrationsprogrammen (einmal webbasiert, einmal konsolenbasiert) sowie einem Web-Socket-Server für Echtzeitbenachrichtigungen.

HTML5 CSS JavaScript Python Dialog C++ PostgreSQL Mercurial WebSockets Android iOS Linux64 (Backend)
Dating
11 Monate
2023-09 - 2024-07

Requirements Engineering für Militärprojekt

Requirements Engineer (Geheim/NDA)
Requirements Engineer

  • NuKOM ist ein Nachfolger der Kommunikationslösung von Airbus, die seinerzeit das ursprüngliche Fernschreibnetz abgelöst hat. 
  • Es ist ein System für sichere E-Mail-ähnliche Kommunikation (etwa Übermittlung militärischer Befehle) sowohl zwischen Dienststellen der Bundeswehr als auch zu NATO-Partnern. 
  • NuKOM ist bis zur Geheimhaltungsstufe NATO SECRET zugelassen und wird auf einem dedizierten Netzwerk betrieben welches physisch vom öffentlichen Internet getrennt ist. 
  • Meine Rolle im Projekt bestand aus dem Requirements Engineering für den Software-Anteil.

(Geheim/NDA)
Bundesrepublik Deutschland / Bundesministerium der Verteidigung
8 Monate
2023-11 - 2024-06

Rust-Backend für Monitoring

Rust tokio (als async-Runtime) PostgreSQL ...

Design, Entwicklung

  • Innerhalb von FUSE wird Monitoring durch Collector-Server gemacht, die Informationen über Docker-Nodes einholen und auch aus den Applikationen innerhalb der Nodes mit Statisik-Daten beschickt werden. 
  • Die Informationen werden in einer Datenbank gespeichert und dann durch dieses Tool einem Webfrontend via server-seitigem HTML-Renderung zur Verfügung gestellt. 
  • Updates werden im SPA-Stil partiell eingebracht, die Steuerung dazu erfolgt mittels htmx im HTML-Code.

Rust tokio (als async-Runtime) PostgreSQL sailfish html htmx Bootstrap MacOS Alpine Linux/docker
Dating/Social Network (FUSE UG)
3 Monate
2023-09 - 2023-11

Rust WebSocket server

Rust tokio (als async-runtime) tokio-sockets ...

Design, Entwicklung

  • Benachrichtigungen über neue Nachrichten werden an die mobilen Apps über WebSockets gemeldet, weil Push-Benachrichtigungen dazu zu träge sind. 
  • Der ursprüngliche WebSocketServer in FUSE war in x86-64-Assembler implementiert und musste durch eine Rust-Version ersetzt werden weil neue Anforderungen für das Eingangsprotokoll und das Reporting von Statistiken zu aufwändig in die Assembler-Version einzubauen gewesen wären. 
  • The Server ist ?manuell? auf TCP implementiert (rohes Socket-I/O) entsprechend der RFC6455. 
  • Er bekommt Input vom Backend über ein kompaktes Binärprotokoll und spricht das WebSocket-Protokoll mit dem mobilen Clients. 
  • Statistiken und Logs werden an die FUSE- Monitoring-Infrastruktur verschickt.

Rust tokio (als async-runtime) tokio-sockets MacOS Alpine Linux/docker
Dating/Social Network (FUSE UG)
2 Monate
2023-07 - 2023-08

Maschinensteuerungsbibliothek

C++ Qt Win64 ...

Entwicklung

  • Für eine Installation bei einem Kunden von Aucos muss ein Hallenkran über eine SPSSchnittstelle eines weiteren Lieferanten angebunden werden. 
  • In diesem Projekt habe ich eine C++/Qt-Bibliothek entwickelt, die die nötige Kommunikation mit der SPS ausführt.

C++ Qt Win64 MacOS
Aucos AG
Aachen
1 Jahr 5 Monate
2022-03 - 2023-07

Rust monitoring infrastructure

Rust tokio (als async-runtime) tokio-sockets ...

Design, Entwicklung

  • Um den Systemzustand zu überwachen und technische Statistiken zu erfassen wurde eine Monitoring-Lösung für FUSE entwickelt. Sie besteht aus einer Datenbank, einem InformationsCollector-Server der einmal pro Docker-Node installiert wird sowie aus einem Client-Crate der in andere auf dem Knoten laufende Backend-Prozesse ein kompiliert wird. Der Server selbst sammelt CPU, Speicherbelegung und Uptime ein, Docker-Informationen werden extern über ein shared directory zur Verfügung gestellt. 
  • Andere Services reporten sowohl statistische Daten (etwa aktive WebSocket-Verbingunden oder API- Aufrufstatistiken und Timings) wie auch Logmeldungen über eine TCP-Schnittstelle die von der Client-Bibliothek beschickt wird. Der Collector sammelt diese Infomrationen ein, verdichtet sie und schreibt sie in regelmäßigen Abständen in die Datenbank.

Rust tokio (als async-runtime) tokio-sockets PostgreSQL tokio-postgres MacOS Alpine Linux/docker
FUSE UG
10 Monate
2022-06 - 2023-03

Test-Infrastruktur

Python docker bash ...

Entwicklung

  • Siemens Mobility setzt ein eigens (auf behaverunner aufsetzendes) Framework ein, um die Software von Schienenfahrzeugen in der Entwicklung zu testen (Fahrzeugsteuerung). 
  • Hier mussten Fehler behoben und das Framework erweitert werden.

Python docker bash Linux Windows
Eisenbahn/Schienenfahrzeugbau
3 Monate
2022-12 - 2023-02

Dating-App native Android-Implementierung

Kotlin Jetpack Compose Voice record ...

Eine zuvor als Prototyp in ReactNative implementiere app sollte nativ auf Android komplett neu Implementiert werden

Design, Entwicklung

  • FUSE ist eine Datingplattform. Die zugehörige App lag als ReactNative vor, aufgrund der schlechten Wartbarkeit und der mäßigen Performance war eine Neuimplementierung in Android nötig.

Kotlin Jetpack Compose Voice record Facebook login Google login Google analytics Firebase messaging REST-APIs WebSockets Camera Gallery Location services Android API-Level 24+
3 Monate
2022-11 - 2023-01

App native iOS-Implementierung

Dating-App native iOS-Implementierung SwiftUI Voice record Facebook login ...
Dating-App native iOS-Implementierung

Eine zuvor als Prototyp in ReactNative implementiere app sollte nativ auf iOS komplett neu Implementiert werden

Design, Entwicklung

  • FUSE ist eine Datingplattform. Die zugehörige App lag als ReactNative vor, aufgrund der schlechten Wartbarkeit und der mäßigen Performance war eine Neuimplementierung in iOS nötig.

SwiftUI Voice record Facebook login Google login Google analytics Firebase messaging REST-APIs WebSockets Camera Gallery Location services iOS 15+
FUSE
5 Monate
2022-06 - 2022-10

Rust background services f¨ur Datingplattform

Rust tokio (als async-runtime) PostgreSQL ...

Design, Entwicklung

  • Im Rahmen der Infrastrukturportierung auf Rust (siehe nächstes Projekt) mussten zusätzliche Backend-Services die außerhalb kritischer Ausführungspfade laufen nach Rust portiert werden.
  • Das beinhaltet die Kommunikation mit Google Firebase für Pushnachrichten an mobile Endgeräte, periodische Datenbankbereinigungen und Teile des Registrierungsprozesses für neue User.

Rust tokio (als async-runtime) PostgreSQL MacOS Alpine Linux/docker
FUSE UG
8 Monate
2021-11 - 2022-06

Rust-Backends f¨ur Datingplattform

Rust actix-web tokio (als async-runtime) ...

Design, Entwicklung

  • Für ein Startup sollten die Backends von C++ nach Rust portiert werden. Die Backends haben REST-Interfaces via async HTTP (actix-web) und greifen mit Tokio-Postgres auf die Datenbank zu, wobei mehrere Lese- und Schreibpools verwendet werden. 
  • Tests der Backends erfolgen extern mit pytest-Skripten. 
  • Die Releaseversion des Backends wird in einem DockerBuild-Container gebaut und anschließend in einem weiteren Container verpackt und ausgeführt.

Rust actix-web tokio (als async-runtime) PostgreSQL Python pytest bash docker MacOS Alpine Linux/docker
FUSE UG
5 Monate
2021-12 - 2022-04

Flutter-Frontend f¨ur Plattformadministration

Flutter/Dart nginx/Web

Design, Entwicklung

  • Für die FUSE-Plattform musste eine webbasierte Administrationsoberfläche erstellt werden, die idealerweise das Look and Feel der nativen App abbildet um neue Admins möglichst schnell produktiv einsetzen zu können. Parallel sollte die Entwicklung zügig abgeschlossen werden. 
  • Daher fiel die Wahl der Implementierung auf Flutter mit primärem Target ?Web? aber auch macOS als Zielplattform im Auge. CSS/JS wurden nicht verwendet, da sich die komplexe UI leichter in Flutter implementieren ließ. 
  • In der Applikation können statische Daten zu Userregistrierungen eingesehen werden, außerdem können Chats überwacht, Bild- und Audiomaterial von Usern gelöscht und User deaktiviert werden.

Flutter/Dart nginx/Web
FUSE UG
4 Monate
2021-07 - 2021-10

Fehlerbehebung Medizingerät

Entwicker Python Windows
Entwicker

  • Der Kunde hat ein Medizingerät zum Entpacken von Gewebeproben im Prototypenstadium. 
  • Die Steuerungssoftware (in Python) hatte diverse Probleme und musste für nachfolgende klinische Studien in einen funktionierenden Zustand gebracht werden.

Python Windows
Inveox GmbH
München
2 Jahre 7 Monate
2018-12 - 2021-06

Backends Qualitäts-Infrastruktur

Architect, Tech lead, Developer Python docker CherryPy ...
Architect, Tech lead, Developer
  • In diesem Projekt mussten insgesamt drei Backends, jeweils bestehend aus einer Reihe von Microservices entwickelt werden. 
  • Alle Applikationen entnehmen marktforschungsrelevante Daten aus der Input-Pipeline der GfK und bereiten sie mit Datascience-Modellen auf (etwa detektieren von Betrug durch Auditoren oder Erkennen/Glatten von Daten-Ausreißern). 
  • Die Backends liefern die gesamte technische Infrastruktur, die nötig ist, um die Datenmodelle ablaufen zu lassen, also etwa Tasksteuerung, Benutzerkorrekturen, I/O von Datenströmen.
Python docker CherryPy PostgreSQL RabbitMQ REST-JSON Microservices grafana/prometheus Linux Web
GfK SE
Nürnberg
1 Jahr
2020-01 - 2020-12

Maschinensteuerung

Architect, Tech lead, Developer Python Django Qt ...
Architect, Tech lead, Developer
  • Eine ursprünglich über eine native Windows-Anwendung und einen in C++ implementierten Telegrammserver sollte modernisiert werden als Webanwendung inklusive eines lokal laufenden Windows-Clients für Dinge, die über einen Browser hinausgehen (etwa lokale Dateien öffnen). 
  • Ein neues Backend wurde in Python/Django + GraphQL implementiert, Frontend in nuxt.js (Frontend durch meine Mitarbeiter). Außerdem wurde ein lokaler Client in C++/Qt erstellt, der alle lokalen Systemzugriffe ausführt. 
  • Die Identifikation von Browserclient zu Qt-Client erfolgt im Backend über Mapping der IP. Kommunikation via Netzwerkzugriff / GraphQL, auch vom Qt-Client zum Backend.
Python Django Qt GraphQL Windows 64
RWT GmbH
München
3 Jahre 2 Monate
2016-11 - 2019-12

App + Ecosystem

Co-Founder, Entwicklung, Planung
Co-Founder, Entwicklung, Planung

  • (auf Anfrage) besteht aus einer Single-Source-App (Qt/QML) für Android/iOS sowie aus einem C++-Backend. 
  • Es handelt sich um eine location-based-App bei der Nutzer abhängig von ihrem aktuellen geographischen Standort verbilligte Angebote von Lebensmittelhändlern und Restaurants in ihrer unmittelbaren physischen Umgebung ansehen und direkt in der App via Kreditkarte kaufen können. 
  • Die Ware wird gegen Vorzeigen eines 3D-Barcodes der App vom Händler herausgegeben. 
  • Ich habe die vollständige Entwicklung, sowohl der App als auch des Backends in diesem Startup gemacht und halte Anteile an der Gesellschaft.

C++ Qt/QML Python PostgreSQL Mercurial 3D-Barcodes Positionssensor Karten Android iOS Linux64 (Backend)
CeeMii GmbH
Wien
1 Jahr 1 Monat
2016-12 - 2017-12

Bauvergleich App

Co-Founder, Entwicklung, Planung HTML5 CSS JavaScript ...
Co-Founder, Entwicklung, Planung

  • (auf Anfrage) ist ein webbasiertes Portal zur Vermittlung zwischen Bauherren und am Bau benötigten Handwerkern sowie sonstigen Dienstleistern. 
  • Bauvergleich ist eine SPA-Anwendung, die vollständig in HTML5/CSS/JS auf Frontendseite sowie in C++ im Backend realisiert ist.

HTML5 CSS JavaScript C++ PostgreSQL Mercurial Linux64 (Backend)
Vermittlungsportal für Bauherren/ Baudienstleister
1 Jahr 9 Monate
2015-09 - 2017-05

Embedded-Medizingerät

Entwicklung, Planung, Requirements Engineering
Entwicklung, Planung, Requirements Engineering

Ein Blutdruckmessgerät für den Einsatz in der Intensivmedizin sollte in einen Arbeitsteil und einen Monitorteil getrennt werden. Der Kunde wollte den Arbeitsteil als eigenes Modul vermarkten, so da Mitbewerber dieses in ihre eigenen Monitore integrien können. Die ursprüngliche Implementierung lag in Delphi, Assembler und C++ vor, das neue Modul sollte vollständig in C/C++ auf einem ARM Cortex M4-Controller implementiert werden. Zusätzlich wurde ein C++-SDK auf PC-Seite und ein Python-Wrapper dafür benötigt. Das Testsystem wurde komplett in Python implementiert (unittest-Modul), außerdem wurde ein Webfrontend (Twitter-Bootstrap+JQuery) mit Python/CherryPy as Backend bereitgestellt

Delpi Assembler GCC/G++-ARM Makefiles Subversion Python CherryPy ARM32 Win64
Pulsion GmbH
München
1 Jahr 1 Monat
2014-09 - 2015-09

C# Logistik/Lagersteuerung/Kampagnenplanung

Entwicklung
Entwicklung

Mitarbeit an der Lagersteuerungssoftware für einen großen Modeversender. Die Software steuert den kompletten Lagerablauf, also Auftragsaufbereitung, Kommissionierung, Steuerung der Packstationen, Druck der Labels + Interface zu DHL/Zoll usw. Außerdem Mitarbeit am Programm für die Kampagnenplanung und Artikelbestellung der Verwaltung. Außerdem diverse Python-basierte Hilfsprogramme zur Datenbereinigung und ein (mit Tkinter) implementiertes Frontend zur Batchkompilierung/Distribution der .NET-Services

C#/.NET WCF WPF Mercurial PDFFileWriter NHibernate Autofac VB.NET Python Win64
Best Secret GmbH
München
2 Monate
2014-06 - 2014-07

Magletics-Frontend für Gehirnstimulator

Entwicklung
Entwicklung

Für eine Sonderanwendung der Ansteuersoftware für einen magnetischen Gehirnstimulator mußte ein neues Frontend auf WPF-Basis erstellt werden. Die Steuerung des Stimulators erfolgt über eine einen direkt angesteuerten FTDI-Chip via USB-Schnittstelle.

C# WPF .NET FTDI Win64
Mag & More GmbH
München
9 Monate
2013-10 - 2014-06

Webapplikation für Pharmazulassung

Entwicklung (Backend)
Entwicklung (Backend)

Aufbau einer C#-basierten Webapplikation zur gesetzeskonformen Einreichung und Verwaltung der Zulassungsdokumente, Stofflisten und Nebenwirkungstabellen für Medikamente. Die Software unterstützt die Medikamentenzulassung über den gesamten Lebenszyklus des Produkts. Bedingt durch den enormen Zeitdruck seitens des Gesetzgebers wurde zusätzlich ? bis das JavaScript-basierte Frontend fertig ist ? als vorübergehende Lösung noch eine Import/ Export-Schnittstelle via Excel-Dateien realisiert. Des Weiteren wurde ein PDF-Generator implementiert. Ein Teil des Codes wurde über einen in Python geschriebenen Generator erzeugt.

C# EntityFramework SQL-Server TFS Python OpenXML/ClosedXML ?PDFFileWriter? library Win64
EXTEDO GmbH
München
9 Monate
2012-10 - 2013-06

Integration des Python-Interpreters in 3D-Visualisierungssoftware

Architektur, Entwicklung
Architektur, Entwicklung

Einbau des Python-Interpreters in eine 3D-Visualisierungssoftware für die Automobil- und Luftfahrtbranche. Der Interpreter-Host wird als PlugIn geladen und kann intern beliebig viele Subinterpreter abspalten. Die Ausführung der Python-Skripte erfolgt üblicherweise (wobei die Skripte dafür zuständig sind) in Hintergrundthreads. Zusätzlich stellt das PlugIn ein internes PythonModul (in C) zur Verfügung, über das Python-Callables auf dem Qt-Hauptthread der Anwendung ausgeführt werden können, da ggf. einige API- Aufrufe zwingend den Qt-Hauptthread voraussetzen.

Python Python C API Qt C++ Win64
Realtime Technology (RTT) AG
München
1 Monat
2012-10 - 2012-10

Updateservice für iOS-Banking-Lösung

Architektur, Entwicklung
Architektur, Entwicklung

Für eine neuartige iOS-Banking-Lösung, die durch Vorausladen von Umsätzen einen Geschwindigkeitsvorteil gegenüber anderen Lösungen erzielen soll, musste eine Serverkomponente erstellt werden. Diese ist als Windows-Service ausgeführt. Aufgabe war es, regelmässig Bankumsätze via FinBanks-Bibliothek von den offiziellen Gegenstellen der Banken zu laden und in einer Datenbank abzulegen. Ferner sind automatische Joberzeugung und -verteilung sowie Lastausgleich in der Komponente integriert.

C# FinBanks PostgreSQL NUniT .NET 4.0
Finanzen
2 Monate
2012-08 - 2012-09

Spiel für iOS

Alle
Alle

Nachbau des LCD-Hand-Konsolenspiels [auf Anfrage], ursprünglich von VTECH 1981 auf den Markt gebracht, vorerst für iOS (iPhone/iPad). Komplett mit MonoTouch (C# unter iOS) und dem MonoGame-Framework (Nachbau von Microsoft XNA) implementiert. Für den Verkauf im AppStore.

C# MonoTouch MonoGame OS 5.1 (iPhone; iPad)
Computerspiele (selbständig)
9 Monate
2011-12 - 2012-08

Parser für NATURAL-Sourcecode und IronPython-Tool

Entwicklung in C#, Design/Implementierung IronPython-Werkzeug
Entwicklung in C#, Design/Implementierung IronPython-Werkzeug

Im Auftrag der öffentlichen Hand musste aufgrund einer neuen gesetzlichen Vorgabe die NATURAL-Applikation des Meldewesens auf Unicode-Fähigkeit umgestellt werden. Diese Applikation besteht aus ca. 3 Millionen Zeilen NATURAL-Quellcode, historisch über mehr als 20 Jahre gewachsen. Im Projekt musste eine C#-Lösung erstellt werden, die automatisiert den NATURAL-Code auf Unicodefähigkeit umstellt. Hierbei müssen zum Teil Konstrukte im Code automatisch durch völlig andere Konstrukte ersetzt werden, so dass simples Ersetzen nicht funktioniert - der Code muss tatsächlich geparsed und zum Teil auch ?verstanden? werden (Wanderung von Daten zwischen Modulen, Werteweitergabe zwischen Variablen, Generieren von neuen Steuerelementen in Dialogen usw.). Zusätzlich wurde ein leistungsfähiges Debug-Werkzeug auf Basis von IronPython (Python für .NET = skriptbasierter Zugriff auf das komplette Datenmodell der Applikation) erstellt.

C# .NET Python IronPython Windows 7 64 Windows Server 2008 R2
it & more GmbH
München
4 Monate
2012-03 - 2012-06

EEG-Viewer für iOS

Design, Entwicklung
Design, Entwicklung

Als Demonstrator für den Messeeinsatz wird eine Software benötigt, die Gehirnstromkurven aus dem branchenüblichen EDF-Format performant und mit Touch- Unterstützung auf einem iPad anzeigen kann. Implementierung erfolgt über das MonoTouch-Framework (C#-Entwicklung auf iOS).

C# MonoTouch iOS 5.1 (iPad)
sh computing UG
4 Monate
2011-08 - 2011-11

Steuerungssoftware für Gehirnstimulator

Entwicklung (Neuentwicklung), Beratung
Entwicklung (Neuentwicklung), Beratung

Der Kunde konstruiert und vertreibt Medizingeräte, die durch Magnetfelder Impulse direkt in Gehirnregionen einleiten (nicht-invasiv). Hierzu musste eine Software neu erstellt werden, die Patientendaten verwaltet sowie Ansteuerkurven erstellt, verarbeitet und in ein Format umsetzt, welches der Controller der Geräteschnittstelle versteht. Die Verbindung zur C#-Software wird über einen FTDI-USB-Chip hergestellt, welcher im Direktverfahren angesteuert wird. Zusätzlich muss die Software eine Echtzeitvisualisierung des ”Programmablaufs” in der Kurve anzeigen (der Controller meldet -gepollt- Spulentemperatur und Scriptfortschritt zur¨uck).

C# .NET FTDI Windows XP/Vista/7
Medizin (Mag&More GmbH)
München
1 Jahr 6 Monate
2010-05 - 2011-10

Systemadministration Linux + VCS

Administration, Integration, teilweise Entwicklung
Administration, Integration, teilweise Entwicklung

euroblaze erstellt nach Kunden/Designervorgaben Onlineshops auf Basis von OXID. Die Entwicklung selbst findet in Indien statt, aktuell werden über 100 Projekte von euroblaze betreut. Ich bin verantwortlich f¨ür die Systemadministration, Installation auf produktiven Maschinen und die Verwaltung des Versionskontrollsystems (subversion, bootstrap, Berechtigungen, Branchzuweisung, ...).

subversion Linux OXID Apache PHP ZendGuard ionCube MySQL Python Linux FreeBSD
eCommerce (euroblaze Wapsol GmbH)
Stuttgart
1 Monat
2011-07 - 2011-07

Virtuelle Maschine für OXID-Tests

sämtliche Rollen
sämtliche Rollen

Virtuelle Maschine zum Testen von Installationen der OXID eCommerce-Lösung (PHPbasiert). Die VM automatisiert die die Administration des Linux-Hosts sowie die Installation von OXID-Versionen. Sie bootet automatisch in eine Python/cdialog- Applikation, die Installationen (+Systemaccounts +Datenbank +Konfiguration +Apache- Alias), Datenbanktausch, Filemanagement, Systemupdate und Update der Installationstemplates bzw. der VMAnwendung selbst menügesteuert auch unerfahrenen Anwendern zur Verfügung stellt. Die VM erfordert keinerlei manuelle Eingriffe mehr und konfiguriert im Fall einer IP-Änderung der VM Anpassungen der OXID- Konfigurationen automatisch durch.

Linux OXID Apache PHP ZendGuard ionCube MySQL Python cdialog Shell Linux (Debian6-i386)
10 Monate
2010-10 - 2011-07

Webbasierte Kontaktplattform/Backend/PySide (QT4)-Frontend

sämtliche Rollen
sämtliche Rollen

Webplattform, die Vertriebsleute und Hersteller weltweit zusammenführt. 100% Pythonbasiertes Projekt. Frontend via Django, Backend CherryPy-Applikationsserver, einzelne Python-Minicrons und ein PySide (=Qt4 via Python)-Frontend zum Freischalten von Annoncen.

Linux Python Django CherryPy PySide QT4 PostgreSQL git Linux (Ubuntu Server) Multi-Plattform (QT4-Frontend)
Vermittlung von Handelspartnern (sh computing UG)
10 Monate
2010-09 - 2011-06

Schnittstelle zu 3D-Render-Suite und Prozeßautomatisierung

Entwicklung
Entwicklung

Für eine führende 3D-Render-Suite (QT4) im Automobil/Luftfahrt/Bekleidungsumfeld sollte eine C++-Schnittstelle mit Python-Anbindung entwickelt werden. Das System arbeitet selbstkonfigurierend im Cluster (selbständiges Wählen eines Masters) und beherrscht Lastverteilung. Die komplette Schnittstelle kann auch – via boost::python – von Python aus angesteuert werden. In der zweiten Phase musste eine komplett scriptbasierte, automatisierte Renderlösung zum Generieren von Katalogbildern für den Bekleidungskonzern Adidas auf Basis von 3D-Daten erstellt werden. Auf C++-Seite zusätzliche Bildverarbeitung (u.a. combine, color profile, clipping path, PNG chunk reordering) sowie Erstellen und Warten des Installationsprogramms (NSIS)

C++ boost boost::python STL TCP/IP Multicast Verschlüsselung Eigene Kommunikationsprotokolle Python CherryPy Curses ImageMagick WinDBG git subversion Win64 Linux
3D-Rendering (Realtime Technology (RTT) AG)
München
11 Monate
2009-09 - 2010-07

Generischer Sprachtrainer

sämtliche Rollen
sämtliche Rollen

Die Software ermöglicht Vokabular/Übersetzungen/Lückentexte für beliebige Sprachen zu trainieren. Sie unterstützt auch exotische Sprachen wie z.B. Hindi oder Sprachen, die von rechts nach links geschrieben werden.

C++ Qt4 STL XML Verschlüsselung git Win32 Mac OS X Linux BSD
Privatanwender
4 Jahre 4 Monate
2005-06 - 2009-09

Systeme für medizinische Datenverarbeitung

Rolle: Systemdesign; Projektmanagement; Planung; Implementierung; Teamleitung; Serveradministration; Mitarbeit an der QM-Dokumentation für ISO 9001 und ISO 13485. Wechselnd 2-10 Mitarbeiter im Team.


Das System besteht aus mehreren Komponenten. Zum einen ein ausfallsicherer und hochverfügbarer Server (C++ unter FreeBSD), der die von den Endgeräten roh zur Verfügung gestellten Messdaten verarbeitet und an eine elektronische Patientenakte zur weiteren Aufbereitung weiterleitet. Zum anderen eine auf Windows-Mobile-PDAs installierte Lösung, die via Bluetooth Messdaten von (hardwareseitig manipulierten = mit Bluetooth-Modulen nachgerüsteten) Messgeräten in Empfang nimmt und Rückmeldung an den Endbenutzer liefert. Ausserdem diverse Wartungs- und Hilfsprogramme.

C C++ C# STL POSIX Threading FreeBSD Windows Mobile MFC wxWidgets AES (Verschlüsselung) Bluetooth TCP/IP Eigene Übertragunsprotokolle embedded PostgreSQL SQLite FTDI-Devices (Direktansteuerung) git subversion cvs FreeBSD Linux; Win32 Windows Mobile (5; 6)
Medizintechnik (Konsortialprojekt; Gefördert durch Bundeswirtschaftsministerium)
2 Jahre
2003-07 - 2005-06

Softwarebasierte Personalressourcenplanung

Systemdesign; Projektmgmt; Implementierung; Teamleitung, etc
Systemdesign; Projektmgmt; Implementierung; Teamleitung, etc

Es handelt sich um eine Anwendung in Client/Server-Anordnung, die dazu dient, Arbeitsabläufe elektronisch abzubilden und zu verfolgen. Hierbei können Abläufe verzweigt und Subabläufe wiederverwendet werden. Die Dauer einzelner Vorgänge wird durch Mitarbeiterinformationen oder sensorische Meldungen erfasst. Auch können so Abläufe beendet bzw. in Gang gesetzt werden. Das Programm verwaltet ferner die verwendeten Ressourcen, die entstehenden Statistiken können zur Ressourceoptimierung oder für Vorhersagen verwendet werden. Benötigte Ressourcenaufwände lassen sich auch für zukünftige Projekte vorhersagen.

C++ STL VCL PostgreSQL ODBC TCP/IP Eigene Ubertragungsprotokolle cvs Win32 FreeBSD
Logistik - Andreas Schmid Logistik AG; Siemens SBS
4 Jahre 2 Monate
2001-05 - 2005-06

Lagersteuerungssystem Gefahrgutlager + Rechnerverteilung

Systemdesign; Projektmgmt; Implementierung; Teamleitung; etc
Systemdesign; Projektmgmt; Implementierung; Teamleitung; etc

Das Projekt musste aus Kostengründen so aufgesetzt werden, dass es sowohl ein Gefahrgutlager als auch die Verteilung von Rechnern bei Siemens-SBS (also ebenfalls Lager, kein Gefahrgut, aber diverse Zusatzfunktionen) abbilden konnte, dementsprechend generisch und erweiterbar konzipiert. Das System besteht aus einer Serverkomponente, die die eigentliche Lagerverwaltung bzw. Warenflußsteuerung/Belegsteuerung abwickelt sowie aus diversen Clientmodulen, etwa für die Arbeitsplätze im Leitstand, die Anbindung der Scanner (Funkscanner, Echtzeit) oder sonstigen Pick-Endgeräte (Pick-by-voice, Pick-by-light). Das System beherrscht Gefahrgutlagerung, Chargen, Barcodescanner, Mehrbenutzerfähigkeit, Verteilte Standorte, Drucksysteme gesetzter Formulare, One-Touch-Logistik (=automatische Prozesskette), diverse Automatiken, Mandantenfähigkeit und beliebige Import/Exportschnittstellen.

C++ Python VCL STL Threading PostgreSQL ODBC VT100 Delphi TCP/IP XML Eigene Übertragungsprotokolle cvs FreeBSD Linux Win32
Logistik, IT - Andreas Schmid Logistik AG; Siemens SBS
2 Jahre 5 Monate
1999-01 - 2001-05

Steuerung für internetbasiertes Shopsystem

Systemdesign; Projektmanagement; Planung; Implementierung; 3 MA
Systemdesign; Projektmanagement; Planung; Implementierung; 3 MA

Die Software war das Steuerungsmodul für ein internetbasiertes Shopsystem und wurde auch als (kleine) Warenwirtschaftslösung mit minimaler Lagerverwaltung eingesetzt.

C++ STL VCL PostgreSQL ODBC TCP/IP Win32
Shopsysteme - Skybeamer GbR
6 Monate
1997-09 - 1998-02

Echtzeit-Überwachung im Zugverkehr (S-Bahn MÜnchen)

Eigenverantwortliche Planung und Implementierung (Prototyp).
Eigenverantwortliche Planung und Implementierung (Prototyp).

Der sogenannte ”Streckenspiegel”, der den Fahrdienstleitern für ganz Süddeutschland in Echtzeit Einblick in den Zugverkehr gibt, hat informativen Charakter; Die Steuerung des Zugverkehrs (S-Bahn München) selbst erfolgt losgelöst davon über Prozeßrechner, die allerdings mit identischen Eingangsdaten arbeiten. Die alte Version des Steckenspiegels war mit speziellen Maschinen mit 8085-Prozessoren implementiert. Ich habe einen Prototyp der Software für den Einsatz unter MS-Windows (damals Win16 und Win32) implementiert während meines Aufenthalts im damaligen Rechenzentrum der DB in München im Rahmen meiner Ausbildung. Die Software umfasste sowohl den eigentlichen Steckenspiegel (Anzeigeprogramm) als auch einen Gleisplaneditor und einen speziellen Fonteditor für die Symbole. Mittlerweile (2012) ist der Streckenspiegel in Form der Smartphone-App ”S-Bahn-Navi” auch für die Öffentlichkeit zugänglich.

C++ MFC Watcom Win16 Win32
(Eisenbahn-)Verkehr - Deutsche Bahn AG)

Aus- und Weiterbildung

Aus- und Weiterbildung

1 Monat
2009-10 - 2009-10

Ausbildung zum QM-Auditor ISO 9001

TüV Süd Akademie GmbH, Augsburg
TüV Süd Akademie GmbH, Augsburg
1 Jahr 10 Monate
1999-09 - 2001-06

Fachhochschulreife

BOS (Technik), Augsburg
BOS (Technik), Augsburg
3 Jahre 6 Monate
1995-09 - 1999-02

Ausbildung zum Kommunikationselektroniker

Deutsche Bahn AG, München
Deutsche Bahn AG, München

Kompetenzen

Kompetenzen

Top-Skills

Python C++ Rust Rust Qt Assembler C# Docker Linux JavaScript Flutter SWIFT Kotlin

Produkte / Standards / Erfahrungen / Methoden

Profil

  • Freiberuflicher Requirements Engineer und Softwareentwickler Rust, Python (CPython und IronPython), Assembler (16/32/64 bit, DOS/Win32/Win64/Linux/BSD), C++ (Qt+QML, wxWidgets, VCL, MFC, std-C++, STL, Threading, boost), Flutter/Dart, Kotlin, Swift, C#
  • Reversing (native IDA, CIL IDA+ILDASM+Telerik)
  • Auditor für QM-Systeme nach ISO 9001
  • AWS Certified Developer Associate


Sonstiges

  • Medizinprodukteberater (EUROCAT)


UI-Toolkits

  • Slint
  • Flutter
  • Qt/QML
  • SwiftUI
  • Jetpack
  • VCL
  • wxWidgets
  • MFC
  • Win32


Debugger

  • TurboDebugger
  • gdb
  • DDD
  • WinDBG
  • IDA Pro

 

Versionskontrolle

  • git
  • subversion
  • cvs
  • Mercurial
  • TFS

 

Kommunikation

  • ART
  • I2C
  • SPI
  • USB
  • CORBA
  • Sockets (TCP/IP, UDP/IP, UDPMulticast)
  • HTTP
  • SOAP
  • RS232
  • parallel
  • SMTP
  • Google Protocol Buffers
  • JSON via REST
  • WebSockets, u.v.a. (Eigenbau)

 

Sonstige Technologien

  • docker
  • bash
  • gcc
  • Borland C++ Builder
  • Borland Delphi
  • Lazarus
  • FASM
  • NASM
  • TASM
  • Watcom C++
  • MS-Visual C++
  • MS-Visual Basic
  • MSVisual C#
  • CIL
  • Mono
  • MonoTouch
  • MonoGame
  • XNA
  • IronPython
  • TurboPascal
  • vim
  • (n)curses
  • TurboVision
  • cURL
  • libUSB
  • GNU pthreads
  • MultiThreading
  • STL
  • DirectX
  • Orbit ORB
  • MIDAS
  • make
  • GNU Autotools (autoconf, automake, libtool, ltdl)
  • bjam
  • gmake
  • qmake
  • boost
  • Apache
  • Postfix
  • Firebase
  • Samba
  • spamd
  • fail2ban
  • QtCreator
  • Django
  • CherryPy 
  • PySide
  • C++/Python-Schnittstellen mit boost::python
  • ImageMagick
  • InstallShield
  • NSIS
  • Windows Services
  • FinBanks
  • NUnit
  • WPF
  • WCF
  • jQuery
  • nginx
  • grafana/prometheus
  • htmx

 
Berufserfahrung
10/2009 ? heute:
Position: Freiberufliche Tätigkeit
 

06/2005 ? 09/2009:

Rolle: Abteilungsleiter Server-Entwicklung

Kunde: GmbH & Co. KG, München

 

06/2001 ? 05/2005:

Rolle: Entwicklungsleiter, stellv. Abteilungsleiter

Kunde: LogIn & Solutions AG, Gersthofen


01/2001 ? 06/2001:
Rolle: Gesellschafter, Bereich Softwareentwicklung

Kunde:  GbR, Aulzhausen


02/1997?12/2000:

Rolle: Nebenberuflich EDV-Dienstleistung und Softwareentwicklung
Kunde: Name auf Anfrage, Egling

Betriebssysteme

CP/M
Mac OSX
MS-DOS
Solaris
Unix allgemein
Windows (ab 2.0)
Windows CE (Mobile)
NetBSD
OpenBSD
FreeBSD
Linux
Alpine, Debian und Derivate, SuSE, CentOS)
iOS
Android

Programmiersprachen

Assembler
C
C#
C++
Delphi
JavaScript
Natural
Pascal
Python
QML
TeX, LaTeX
lex/yacc
Flutter
Dart
Kotlin
Swift
bash

Datenbanken

Access
BDE
MySQL
ODBC
PostgreSQL
primäre Datenbank
SQL-Server
SQLite

Datenkommunikation

CORBA
Ethernet
Internet, Intranet
parallele Schnittstelle
Proprietäre Protokolle
RPC
RS232
SMTP
TCP/IP
Windows Netzwerk
Winsock

Hardware

Alpha
Amiga
Ascii/X - Terminals
Drucker
embedded Systeme
Hardware entwickelt
HP
Macintosh
Mikrocontroller
Motorola
PC
Silicon-Graphics
SUN
MFA-8085
RaspberryPi
ARM
Apple

Branchen

Branchen

  • Behörden/Militär
  • 3D-Rendering
  • Handelsnetz
  • eCommerce
  • Bildverarbeitung
  • Logistik
  • Lagersteuerung
  • Lagerverwaltung
  • Medizintechnik
  • Medizingeräte
  • Bildungswesen
  • Verkehr
  • Eisenbahn
  • öffentliche Verwaltung
  • Computerspiele
  • Pharmazulassung
  • Finanzen
  • Gastronomie
  • Dating
  • Baubranche
  • Marktforschung

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.