16.02.2026 aktualisiert

**** ******** ****
100 % verfügbar

Expert Embedded Software-Entwickler

Hausham, Deutschland
Weltweit
Diplom Physik
Hausham, Deutschland
Weltweit
Diplom Physik

Über mich

Software-Entwickler und Architekt Embedded Systems, Schwerpunkt Embedded Linux, IoT, Security

Skills

BuildrootC++Embedded LinuxPythonTestenGitYoctoBetriebssysteme
Ich bin Software-Entwickler aus Leidenschaft. Woran ich mich messen lasse:
  1. Verantwortung und Umsicht für den gesamten Softwarestack: Vom Kerneltreiber über den Server bis zum User-Interface: Ich bring's zum Laufen.
  2. Testen und Deployment gehört dazu und wird gleich mitgedacht.
  3. Funktionierende Server-Infrastruktur, die der Kunde bei Bedarf mitnutzen kann (Git-Server, Build-Pipelines, Paket-Repositories, Ticketdatenbank, Wikis).
  4. Viele gut gepflegte Software-Bibliotheken, die dem Kunden unter der LGPL zur Verfügung stehen.
  5. Sicherer Umgang mit Kundendaten: Streng geschützte Aufteilung der Kundenbereiche auf den Servern.
  6. Sauberer Code: Meinen Code versuche ich so zu schreiben, dass man ihn weitgehend ohne Kommentare verstehen kann.
  7. Hohe Effizenz: Ich weiß nicht alles, aber was ich nicht weiß, lerne ich nicht auf Kosten der Kunden.
  8. Nahtlose Integration: Umfassende Änderungen an existierender Infrastruktur sind manchmal eine gute Idee. Aber keine Voraussetzung für meine Arbeit. Ich versuche, eine Codebasis genau da abzuholen, wo sie ist.
Einen systematischen Eindruck von Projekterfahrungen seit 1998, meiner Skills und der Infrastruktur, die Kunden über die janware GmbH zur Verfügung steht, gebe ich im Profildokument hier: https://janware.com/pub/people/jan-lindemann/ .

Ein Auszug:
  1. Ich analysiere Embedded-Linux-Betriebssysteme bei Kunden, und ich schreibe Software dafür
  2. Die Betriebssystem-Images werden typischerweise erstellt von Yocto, Buildroot oder proprietären Lösungen
  3. Der Quellcode liegt typischerweise verteilt über mehrere Git-Repositories
  4. Software wird typischerweise geschrieben in C oder modernem C++. Ernsthafte Projekterfahrung kann ich vorweisen bis einschließlich C++17. Wenn man von wenigen Features in C++20 absieht.
  5. Ich habe mehrjährige Erfahrung im automatisierten Integrations-, Unit- und Performancetests von embedded Software, auch Hardware-in-the-Loop, und bringe brauchbare Testtools mit

Erfahrung

Berufserfahrungmehr als 10 Jahre
Freelancer seit1998

Sprachen

DeutschMutterspracheEnglischverhandlungssicherFranzösischgutItalienischgutPortugiesischgut

Projekthistorie

Design, Implementierung, Betrieb und Wartung der Firmeninfrastruktur

janware GmbH

Internet und Informationstechnologie

< 10 Mitarbeiter

  1. CI/CD-Pipeline verbessert, GitHub Actions, automatisches, nächtliches Deployment als Debian- & RPM-Pakete auf alle Server und Workstations
  2. Lokale KI eingerichtet (llama-cpp)
  3. Gitea / Forgejo-Integration, Anpassungen von Forgejo Upstream
  4. Updates aller sicherheitsrelevanten Software
  5. Neuentwicklung DevOps-Client für verschiedene Backends (Azure DevOps, Bugzilla, Jira), Web-Interface mit FastAPI
  6. Neuentwicklung Buchhaltungsdatenbank, ebenfalls mit FastAPI
  7. Umstellung aller Server von AppArmor auf SELinux
  8. Diverse Fixes in Bugzilla Upstream, responsive Design für alle Seiten
  9. Mail-Server-Upgrade von Cyrus, Postfix, Unterstützung für diverse serverseitige Anti-Spam-Maßnamen, DMARC, SpamAssassin, SPC, DKIM
  10. DNS: Migration der DNS-Daten in OpenLDAP von SDB auf Bind-DLZ-Schema mit Python
  11. Borg-Backup-Server eingerichtet, automatisches Backup sämtlicher Workstations, Server und Mobilgeräte

Security: Härtung von Embedded Linux für Netzwerkswitches

Siemens AG

Telekommunikation

>10.000 Mitarbeiter

  1. Einrichten eines Testplatzes und Implementierung einer HIL-Testarchitektur in Python
  2. Relaisgesteuertes An- und Ausschalten der Geräte
  3. Parsen der seriellen Kommunikation, Erkennen und Protokollieren von Fehlern, Auslösen von Softwareupdates, Konfigurieren des Geräts, etc.
  4. Automatisierte Analyse des stark ineinander verwobenen Software-Stacks
  5. Implementierung von Principle-of-least-Privilege für alle auf dem System laufenden Prozesse:
  6. Dedizierte EUIDs für jeden Prozess
  7. Minimale Dateisystem-Berechtigungen und Capabilities für jeden Prozess
  8. Viele Patches und neue Funktionalität verteilt über den gesamten Software-Stack, z.B.
  9. kundenseitig in Kerneltreibern, Kundenapplikationen, Komplette Codebasis (C/C++, Ash, Python, Bash, awk, make, Yocto-Recipes, -Klassen und -Konfiguration)
  10. plattformseitig in OpenEmbedded Core, Wind River Linux, Systemd, udev-Regeln, Syslog-ng, LTTng, BusyBox udhcpc, rngd, ...
  11. Zugriff auf verschlüsselte Dateisystempartitionen nur für bestimmte EGIDs ermöglichen, Key Management selektiv aufbohren
  12. System Limits für Shared Memory, Dateideskriptoren, Semaphoren usw. für einzelne EUIDs anpassen
  13. Finden und Beseitigen von Sicherheitslücken im Quellcode der Anwendungssoftware
  14. Performanzmessung über alle 500 Commits, Finden und Beseitigen von Performanzproblemen beim Booten und im Betrieb
  15. Debuggen und Fixen von Buildfehlern
  16. Entwicklerdokumentation

Embedded Linux: Foto- und Streamingserver für Infrarotkamera

Carl Zeiss AG

Sonstiges

>10.000 Mitarbeiter

  1. Kameradaten von /dev/mem gelesen und in verschiedenen Formaten gespeichert, Fehler in den Formaten behoben
  2. Video4Linux-Treiber geschrieben
  3. mediad: Neuimplementierung eines modularen RTP- + RTSP-Videostreaming- und Routing-Service. Dabei wurde die gesamte Pipeline für Video- und Audiodaten vom Speicher über diverse Treiber-Abstraktionsschichten im Kernel bis zu einem Userspace-Daemon und dessen Integration ins System implementiert:
  4. Kernelspace:
  5. Xilinx Zync Video Processing Pipeline, existierende Treiber von Xilinx und Zeiss analysiert, gefixt und komplettiert, fehlende IOCTLs und Interrupt-Handling ergänzt, Devicetree-Konfiguration debugged und gefixt
  6. Video4Linux Kerneltreiber geschrieben
  7. Audiotreiber gefixt
  8. Userspace:
  9. Modulares Framework in C++ geschrieben
  10. Integration verschiedener Encoder- und Streaming-Engines mit Hilfe verschiedener Bibliotheken (FFmpeg, VLC, GStreamer, OpenH264, live555, libjpeg-turbo)
  11. Backport der main-Zweige von GStreamer, GStreamer Plugins, VLC legacy Version von PetaLinux des Kunden
  12. V4L Loopback Device zum Testen eingerichtet
  13. GStreamer-Interpipes gefixt
  14. Yocto-Recipes für externe Bibliotheken geschrieben
  15. Integration in Bootvorgang und Update-Skripten
  16. BusyBox depmod gefixt
  17. Patches in FFmpeg, ImageMagick, Bugfixes
  18. Fixes im Encoding der Bilddaten / Dokumentation
  19. Log-Framework der gesamten Codebasis erneuert und vereinheitlicht
  20. Testen mit Qemu und dem Gerät, Skripten dafür geschrieben
  21. Integration in Build (Yocto / PetaLinux)
  22. Fixes im Build-Prozess (Docker / PetaLinux / Yocto)

Embedded Linux: Software für Infusionspumpen

B.Braun Melsungen AG

Pharma und Medizintechnik

>10.000 Mitarbeiter

Der Kunde stellt Infusionspumpen für Intensivstationen her, darauf läuft Linux / Buildroot, für integrierten Webserver, Frontpanel und Kommunikation mit Abrechnungsservern. Refactoring wegen Wechsel der Prozessorplattform und zur Verbesserung der Codebasis:
  1. Anpassung der Codebasis an aktuelle Compiler, C++03 -> C++11, neue Boost-Version, viel durch Standardbibliothek ersetzt, Bugfixes in Anwendungscode, Buildumgebung, Upstream-Paketen, Kernel
  2. Redesign Dateisystem-Layout & -Verschlüsselung, Skripten, Umstellung von SysV- und BusyBox-Init auf Systemd, Legacy-Kompatibilität
  3. Design und Implementierung WLAN-Abstraktionsschicht
  4. Kommunikation mit Kernel über Linux-Netlink / nl80211, Kompatibilität zu Legacy Linux WExt-API
  5. Realisierung zweier CAN-Schnittstellen, Debugging von Treibern, Anpassungen im Devicetree
  6. Kommunikation mit externen Platinenherstellern auf Schaltplan-Ebene
  7. Design und Implementierung modulares Build- und Test-Framework in Python
  8. Anpassungen Qemu Upstream
  9. Virtualisierung mehrer Prozessoren unter Qemu, Integration in Testframework
  10. Deployment desselben über eigene Git- und Paketrepositories
  11. Implementierung von Webpages zur Konfiguration der Pumpen mit Python (cherrypy), HTML, JavaScript, CSS3
  12. Review von Pull-Requests
  13. Begleitung und Qualitätssicherung der Hardwareentwicklung
  14. Dokumentation der Arbeit in Git, in eigenem Wiki, Jira, Bitbucket, Confluence, Polarion, technische Dokumentation nach MDR / ISO 13485
  15. Kommunikation mit den Upstream-Softwareentwicklern und Kollegen in den USA

Kontaktanfrage

Einloggen & anfragen.

Das Kontaktformular ist nur für eingeloggte Nutzer verfügbar.

RegistrierenAnmelden