Laurin

Agile Engineer | Trainer | Fullstack-Developer

Ich bin Fullstack-Developer mit Herz und Seele. Seit über 5 Jahren arbeite ich auf einem sehr breiten Tech-Stack, mit einer Vielzahl von verschiedenen Sprachen und Werkzeugen. Obgleich ich über sehr fundierte Frontend-Erfahrung verfüge, liegt mein Schwerpunkt im Backend. Zu meinem bevorzugten Tech-Stack gehören Java, Kotlin, Go, Python, Docker, Jenkins, Javascript, Node.js und C++.

Mich motivieren moderne Technologien, das Erlernen neuer Dinge sowie die Konzepte, die hinter diesen Technologien stehen. Ich kann komplexe Sachverhalte sehr schnell durchdringen und mein Wissen auf fachlicher Ebene teilen.

Tätigkeiten und Projekte der letzten Jahre

Software Developer - e.Solutions | Audi

Fullstack | C++ | Kotlin | Python | Golang | Docker

  • Entwurf und Integration eines Hybrids aus Online- und Satellitenradio (SiriusXM) in das IVI von Audi, ein hochgradig asynchrones System mit starken Stabilitätsanforderungen; Technologien umfassen proprietäres IPC, protobuf, UART-IP, cURL, OpenSSL, Alsa, GoogleTest, GoogleMock
  • Erhöhung der Entwicklungseffizienz für unser Team durch Erstellung eines Docker-basierten Build-Tools (Python), das eine gemeinsame Entwicklungsumgebung gewährleistet
  • Präsentationen über Golang, gRPC, mathematische Beweise für Thread-Sicherheit
  • Architekturdiskussionen eines agilen Teams mit Jira-Sprint-Management (SPICE-konform, SAFe-Kommunikation zwischen Teams), wir verwendeten PlantUML, asciidoc und arc42-Dokumentation
  • Starke Reduzierung von Gleichzeitigkeitsfehlern durch die Implementierung von unternehmensweiten C++17-Dienstprogrammen zur Synchronisierung von Datenzugriffen (z. B. java:synchronized, Golang:Channel)
  • Design eines Generator-basierten DI-Frameworks für C++-Bibliotheken (Mako Templates, libclang-bindings), was zu einer starken Erhöhung der Testabdeckung und damit zu einer reduzierten Fehlerwahrscheinlichkeit führte
  • Entwicklung einer Android-Anwendung (Kotlin) für die nächste Projekt-Iteration, die den vorhandenen C++-Code wiederverwenden kann, indem sie über eine von Swig generierte JNI-Schicht zwischen Kotlin und C++ kommuniziert
  • Verbesserte Gesamtstabilität des Systems durch das Auffinden von Bugs in externen proprietären Binärdateien (d.h. kein Quellcode verfügbar) mittels GDB, Valgrind, Radare2, TCMalloc

Visiting Scientist - CIAT (Centro Internacional de Agricultura Tropical)

Drupal7 | Tripal | PHP | Javascript | OracleSQL | PostgreSQL | Python | Unix

  • Ermöglichte CIAT, eine Teilmenge der Einträge in einer OracleSQL-Datenbank zu veröffentlichen, indem ich einen Updater-Daemon (Python) schrieb, der die Daten in das Chado-Format filtert & übersetzt und eine zweite Datenbank (PostgreSQL) füllt. Aufgrund der Komplexität von Chado und der großen Datenmenge musste ich, wo möglich, parallelisieren
  • Installierte und konfigurierte das Drupal7 (Tripal) Frontend (PHP, Javascript)

Software Developer

SQL | TDD | ITIL | Python | Ruby on Rails

  • Erheblich gesteigerte Effizienz bei der Typisierung von Buchumschlägen durch die Implementierung eines grafischen Tools (Python, QT), das automatisch Umschlaginformationen aus Google Spreadsheets und Foxpro DBF abruft
  • Reduzierung der Arbeitsbelastung des Verlags durch die Durchführung einer Datenbankmigration (von Foxpro DBF, MySQL und Google Spreadsheets zu PostgreSQL) und die Implementierung einer maßgeschneiderten Projektmanagement-Anwendung für ihre Bedürfnisse (Ruby on Rails, TDD – Test Driven Development)

Contributor - Debian Projekt

Debian | Linux

  • Paket-Wartung
  • Bereitstellen von Fehlerbehebungen für Upstream-Quellen, um die Stabilität von Debian-Paketen zu erhöhen

Eigene Projekte

Python | Pandas | C++ | Golang | Shogun

  • Vergleichende historische Analyse der wichtigsten sozialen Revolutionen der letzten 100 Jahre
  • Erstellung eines C++20-Compilers (clang-fork), der die Rückwärtskompatibilität zu C aufhebt, um häufige Programmierfehler zu reduzieren
  • Erfolgreiche Implementierung der Cryptopals Challenges (https://cryptopals.com/)
  • Implementierte einen DHT11-Sensortreiber (Arduino), um meine Kenntnisse über Schaltungen zu erweitern
  • Verkehrsanomalien bei der Analyse des DNS-Verkehrs meines VPNs gefunden (Python, Pandas)
  • Fand eine CVE (bezogen auf ADODB.Stream) durch Reverse-Engineering einer verschleierten Javascript-Ransomware aus Neugierde
  • Ich habe einen ELF-Binärklassifikator geschrieben (maschinelles Lernen, Shogun, Python), um mich mit “modernen” Antiviren-Anwendungen vertraut zu machen
  • Pflegen meiner persönlichen Server-Architektur (systemd) mit straffen Firewall-Regeln, anfangs IPTables, später migriert zu nftables
  • IPsec (Strongswan), OpenVPN und Wireguard
  • Reduzierte die Größe der Golang-Binärdateien durch einen Patch des Compilers, um die .pclntab (fast vollständig) zu entfernen
  • Implementierung eines physikbasierten Jump&Run-Spiels mit UE4 (PhysX-Beschränkungen, Blender, C#), um zu beweisen, dass aktuelle Triple-A-Spiele es falsch machen
  • Implementierung einer kleinen Live-Video-Streaming-Anwendung (Python), die auf einem Raspberry Pi läuft
  • Ich habe eine objektorientierte X11-Wrapper-Bibliothek (C++, OpenGL, Xorg) geschrieben, um mein Verständnis in diesen Bereichen zu verbessern
  • Implementierung einer (nur root) Android-Anwendung, die rohe 802.11-Client-Frames sammelt, um zu beweisen, dass MAC-Adress-Switching für die Privatsphäre des Benutzers notwendig ist. Die Client-Seite (native Android-Anwendung) ist in Golang (ginkgo, gomega) geschrieben, die Server-Seite (für die Analyse) in Python (SQLite, gRPC)
  • PoC: Selbst umschreibendes ELF-Binary, Kontrollflussanalyse war notwendig, um zu evaluieren, welche Transformationen invariant zum Programm sind (Golang, libcapstone cgo bindings, Graphentheorie)

Qualifikationen

Praxis und Methoden

C++ | C | Golang | Rust | Ruby (on Rails) | Assembly (x86_64,aarch64) | Lua | PHP | TeX | Kotlin | shell (Bash, POSIX, zsh) | make | cmake | GTest | CMock | gRPC | SAFe | ninja | GNU ld script | HTML | CSS | JavaScript | Typescript | Bash | Python | Git | Jenkins | GitLab | GitHub | BitBucket | Compression | Cryptography | Paxos | BitBake | Linux kernel modules | SELinux | AppArmor | lxc | cgroups | SysV-init | systemd | Yocto | AOSP (app & HAL) | IPSec | BGP | DNSSEC | OAUTH(2) | NPM | NodeJs | Docker | AWS | REST | ZeroMQ | MySQL | SQLite | Postgresql | React | Continuous Integration | TDD | Pair-Programming | Scrum

Sprachen

Deutsch:
Englisch:
Französisch:
Spanisch:

●●●●●
●●●●○
●●●○○
●●●○○