Professionelle Erfahrung
Diese Seite ist eine detailliertere technische Übersicht meiner beruflichen
Erfahrung. Mein aktueller Fokus liegt auf Rust, systemnaher Software,
Softwarearchitektur, Developer Tooling und Test- / Validierungsinfrastruktur.
Auftragsarbeit für die TU Dresden (Dezember 2023)
Neuroimaging Center - Arbeitsgruppe für Systemische Neurowissenschaften
Entwicklung einer Webapp, zum interaktiven Betrachten von 4D-Bildern von
"Connectivity" von Hirnaktivität. Komponenten:
- Ein Client in Form einer Single-Page-App
- Ein Server, der die Client-Sessions verwaltet und das Rendern übernimmt, da
die 4D-Bilder zu groß sind, um sie komplett an den Client zu übertragen.
Senior Softwareentwickler @ Neuroloop (seit 01.11.21)
- Design und Implementierung einer Rust-Bibliothek für das interne
Kommunikationsprotokoll zwischen Host-Software und Geräten, einschließlich
Wire Format, Framing, Verschlüsselung, C-Interoperabilität und öffentlicher
API.
- Design und Implementierung von Test- und Validierungsinfrastruktur für
Hardware- / Firmware-Integrationstests.
- Design und Implementierung einer Desktop-Anwendung zur Konfiguration des
Implantatsystems. Ich definierte die initiale Architektur und Feature-Pattern
und nutzte anschließend AI-assisted Development, um repetitive Features
konsistent innerhalb dieser Struktur umzusetzen.
- Design und Implementierung interner Build-Werkzeuge, die Ninja-Builddateien
aus einer einfacheren Projektbeschreibung generieren.
- Größere Refactoring- und Architekturarbeit für die nächste Gerätegeneration,
einschließlich klarerer Verantwortlichkeiten, stabilerer Schnittstellen
zwischen Host-Software, Firmware und Tools sowie verbesserter Emulator- /
Testinfrastruktur.
- Design und Implementierung der Software für ein automatisiertes PCB- /
Assembly-Testsystem, einschließlich Operator-GUI,
rhai-Scripting-Interface, Updater und Werkzeugen zum
Schreiben und Validieren von Test-Skripten.
- Übersetzung der CI/CD-Pipelines von Azure DevOps nach GitHub Actions.
- Entwicklung einer Domain Specific Language, die das Erstellen von GitHub
Actions Workflows erleichtert.
- Implementierung eines Schlüsselaustauschalgorithmus zwischen zwei Embedded
Devices.
- Implementierung von Firmware-Signaturen und deren Verifikation.
- Erstellen einer auf Yocto basierenden
Linux-Distribution für ein MS Surface Tablet.
- Refactoring eines Bluetooth-Treibers für den STM32WB55RG.
Wissenschaftlicher Mitarbeiter @ TU Dresden (01.11.2017 - 31.10.2021)
Neuroimaging Center - Arbeitsgruppe für Systemische Neurowissenschaften
- Analyse von fMRT-Bildern und Verhaltensdaten mittels Statistik und
Machine-Learning
- Entwicklung einer Python-Bibliothek zur Erstellung von Paradigmen
- Entwicklung von Paradigmen zur Verwendung in wissenschaftlichen Studien
- Schreiben und Veröffentlichen wissenschaftlicher Publikationen
- PyParadigm—A Python Library to Build Screens in a Declarative Way
Knorr
FG, Petzold J, Marxen M.
Frontiers in Neuroinformatics 2019
- A comparison of fMRI and behavioral models for predicting inter-temporal choices
Felix G. Knorr, Philipp T. Neukam, Juliane H. Fröhner, Holger Mohr, Michael
N.Smolka, Michael Marxen
NeuroImage 2020
- Development of Novel Tasks to Assess Outcome-Specific and General Pavlovian-to-Instrumental Transfer in Humans
Matthew J. Belanger, Hao Chen, Angela Hentschel, Maria
Garbusow, Claudia Ebrahimi, Felix G. Knorr, Hilmar G. Zech, Maximilian
Pilhatsch, Andreas Heinz, Michael N. Smolka
Neuropsychobiology 2022
Praktikant @ Neuroloop (18.05.2016 - 07.10.2016)
- Entwicklung eines Datenviewers zur schnellen Auswertung von großen, komplexen
Datensätzen. Beinhaltete Zeitreihenanalysen und eine Scripting-Funktion
- Entwicklung eines Programms zur Übersetzung eines proprietären Binärformats in
ein Matlab-kompatibles Format
Studentische Hilfskraft @ TU Dresden (15.07.2013 - 30.09.2015)
Institut für Biomedizinische Technik
- Entwicklung eines Frameworks für die kamerabasierte Erfassung von
Vitalparametern
- Implementierung einer automatischen Belichtungssteuerung für Kameras
- Entwicklung einer Anwendung zur Erfassung besagter Daten