
Entwicklung, Training, Beratung und Projektleitung für Embedded C/C++ Projekte
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- 64293 Darmstadt
- Weltweit
- de | en | fr
- 10.03.2025
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
5/2024 – offen
TätigkeitsbeschreibungBeratungsmandat für die Software- und Systemarchitektur eines Linux-basierten eingebetteten Hochgeschwindigkeits-Bildverarbeitungssystems für eine KI-gestützte Inline-Qualitätskontrolle bei Pelletiermaschinen.
Eingesetzte QualifikationenConsultant, Software Architecture, C++, System Architektur
5/2022 – offen
TätigkeitsbeschreibungSoftwareentwicklung für verschiedene Komponenten neuer OP-Tischsysteme in C++17 unter Linux sowie bare-metal auf Mikrocontrollern der Infineon XMC-Serie nach IEC 62304. Umfangreiches Refactoring der gesamten CMake-Umsetzung sowie der Frameworks welche die Produktbasis bilden, um Modularität und Wartbarkeit zu verbessern. Außerdem Implementierung neuer Produktfeatures. Einführung von Docker zur Vereinheitlichung von Entwicklungsumgebungen und um lokale und CI-Builds zu standardisieren. Reorganisation und Weiterentwicklung der Yocto-Layer für Linux-basierte Produkte. Zyklische Updates von BSPs und Bewertung der Cyber-Security-Architektur. Erstellung und Bewertung von CVE-Reports, Ableitung von Sicherheitsmaßnahmen und Implementierung von Fixes. Schulung des Entwicklerteams in modernem C++ mit Fokus auf Best Practices, Performance, Sicherheit und Clean Code.
Eingesetzte QualifikationenContinuous Integration, DevOps, Embedded Linux, Cyber Security, Softwareentwickler, Software Architecture, Build-Tools, C++, Docker, Git, Linux Entwicklung, System Architektur, Linux (Kernel), Schulung / Training (IT), CAN-Bus (controller area network)
11/2021 – 3/2022
TätigkeitsbeschreibungPortierung von Windows C++ Echtzeitanwendungen der Vector-eigenen embedded PCs der Serien N8900 und VT6000 von Windows Embedded Compact 2013 auf ein 64-bit Echtzeit-Linux-System (PREEMPT-RT) bei Gewährleistung der Echtzeitperformance. Konzeption und Implementierung eines initialen Yocto-Setups als Proof-of-Concept für ein maßgeschneidertes, Linux-basiertes Betriebssystem, um die Machbarkeit und Vorteile eines Yocto-Systems für die neuen Geräte zu demonstrieren.
Eingesetzte QualifikationenEchtzeit-Softwareentwickler, Full Stack Developer, C++, Microsoft Visual Studio, Subversion, Echtzeit-Betriebssysteme, Rtlinux, Proof of Concept (POC)
10/2021 – 8/2022
TätigkeitsbeschreibungUnterstützung bei der Bildverarbeitung eines Granulatscanner-Laborteststandes als Vorentwicklung für eine neue Gerätegeneration. Testgetriebene Entwicklung eines Backends für Image-Capturing und der Bereitstellung verschiedener Bildverarbeitungsalgorithmen auf erfassten Bildern in C++17 mit MQTT-Broker zur Anbindung an Frontend und/oder Testautomatisierung. Entwicklung eines passenden Frontends in C++ mit Qt. Bereitstellung einer Gitlab-Instanz und von Docker-Containern als CI/CD-Umgebung.
Eingesetzte QualifikationenContinuous Integration, Bildverarbeitung, Backend, C++, Docker, Front End, Git, Linux Entwicklung, Qt (Software), Hosting, Ethernet, Kameratechnik, Proof of Concept (POC)
7/2021 – 1/2022
TätigkeitsbeschreibungEntwicklung eines softwarebasierten Retrofits für ein abgekündigtes HMS Anybus-Modul zur Anbindung an die PROFINET-Schnittstelle.
Eingesetzte QualifikationenC++, Embedded Linux, Rtlinux, Speicherprogrammierbare Steuerung (SPS)
10/2020 – 9/2021
TätigkeitsbeschreibungEmbedded-Softwareentwicklung in C++14 für die neue eBike-Generation im Rahmen einer agilen Task-Force. Weiterentwicklung der gemeinsamen Codebasis der Komponenten, die u.A. eine auf FreeRTOS basierende Betriebssystemabstraktion sowie ein Embedded-Message-Bus-Protokoll basierend auf CAN-FD beinhaltet, sowie Unterstützung der einzelnen Komponenten bei der Integration. Code-Analysen und Reviews sowie fällen von Architekturentscheidungen. Debugging bestehenden Codes bis hinunter auf Hardware-Ebene. Als Meta-Buildsystem kommt CMake zum Einsatz, als Test-Framework Google Test und Google Mock. Die Software wird mit Git verwaltet und von einem CI-System (Jenkins) für verschiedene Plattformen (ARM Cortex-M4, PowerPC, amd64) mit GCC, Clang und GHS gebaut.
Eingesetzte QualifikationenAgile Methodologie, ARM-Architektur, C++, CAN-Bus (controller area network), Code-Review, Git, Jenkins
5/2020 – 8/2020
TätigkeitsbeschreibungImplementierung der Kommunikationsschnittelle zwischen Ladesäule und Leistungselektronik einer 400kW-Schnellladesäule für Porsche nach ISO 15118 in C++. Für den SECC (Supply Equipment Communication Controller) kam ein Embedded-Linux-System basierend auf OpenWRT zum Einsatz, als IDE CLion. CMake-basierte Umsetzung und Quellcodeverwaltung mit Git. Verkapselung der in C geschriebenen low-level-Libraries der zur Interprozess-Kommunikation eingesetzten OpenWRT micro bus architecture (ubus) in modernem C++, um leichtgewichtige Publish-Subscribe-Pattern zu ermöglichen. Einführung von Git und Google Test für Unit-Tests sowie Coaching für diese Tools.
Eingesetzte QualifikationenEmbedded Linux, Test Automation, Testdesign (IT), Software Architecture, Subversion, C++, Git
2/2020 – 4/2020
TätigkeitsbeschreibungUnterstützung der Projektleitung bei der technischen Koordination eines internationalen Entwicklerteams an den Standorten Boston (USA), Mumbai (Indien) und Köln (Deutschland). Praktische Unterstützung bei der Portierung einer komplexen Software zur Online-Farbmessung am Kunststoffgranulat: Weiterentwicklung der Architektur und Umstellung einzelner Komponenten auf C++14. Einführung von Unit- Tests in C++ mit Google Test sowie Coaching des Entwicklerteams. Einführung eines HAL für die Bildakquisition des Spektrometers sowie Neuentwicklung einer Komponente für die Anbindung einer 10GbE- Hochgeschwindigkeitskamera über GenICam-2. Einführung von CMake-Files für das ansonsten in VisualStudio 2019 verwaltete Projekt.
Eingesetzte QualifikationenBildverarbeitung, Windows 10, Projektleitung / Teamleitung (IT), C++, Visual C++, Microsoft Visual Studio, Ethernet, TCP / IP
12/2019 – 12/2019
TätigkeitsbeschreibungBestandsaufnahme für eine Anlage zur Online-Farbmessung am Kunststoffgranulat. Analyse der Codebasis und Architektur-Assessment mit Dokumentation des Ist-Standes, sowie Erarbeitung einer zeitgemäßen Architektur für die künftige Anlagengeneration. Anschließend Management-Workshop um eine Roadmap für die Entwicklung festzulegen.
Eingesetzte QualifikationenBudgetierung, Continuous Delivery, DevOps, Continuous Integration, Projektmanagement (IT), Code-Review, Software Architecture, C++, Microsoft Azure, Projekt - Start-Up-Workshop, Anforderungsspezifikationen
9/2019 – 11/2019
TätigkeitsbeschreibungFachliche Unterstützung beim Aufsetzen eines Projekts um ein über lange Zeit gewachsenes, auf Microservices basierendes ITCS (rechnergestütztes Betriebsleitsystem für den öffentlichen Nahverkehr) von Windows auf Linux zu migrieren. Architektur-Assessment und Know-How-Transfer beim Entwicklungsteam vor Ort in Breslau. Anschließend Erarbeitung einer Portierungsstrategie, Ermittlung des benötigten Entwicklungsbudgets sowie die Erstellung einer initialer Projekt- und Ressourcenplanung und der Roadmap. Abschließende Präsentation der Ergebnisse für das Management.
Eingesetzte QualifikationenBudgetierung, FMEA (Failure Mode and Effects Analysis), C++, Serviceorientierte Architektur, Projekt - Start-Up-Workshop, Projektplanung / -vorbereitung, Risikoanalyse
8/2018 – 9/2019
TätigkeitsbeschreibungWeiterentwicklung eines induktiven Probentransportsystems bestehend aus zwei verschiedenen Bare-Metal-Systemen zur Automatisierung großer In-Vitro-Diagnostik-Anlagen. Anforderungsanalyse, Erstellen von Unit Specifications, Erstellen und Review von Code in C und C++, Überarbeitung der Softwarearchitektur, Refactoring der bestehenden Codebasis, Erstellen und Review von Unit Tests, Unterstützung von DevOps bei der Integration in das Continous Integration System (Jenkins). Erstellung typischer Dokumente für den Device Master Record.
Eingesetzte QualifikationenContinuous Integration, Embedded Entwicklung / hardwarenahe Entwicklung, Code-Review, Software Quality, Testdesign (IT), C, C++, Git, Jenkins, Qt (Software), DIN EN ISO 13485
4/2018 – 8/2018
TätigkeitsbeschreibungPlanung, Durchführung und Dokumentation von Änderungen an bereits im Feld befindlichen Medizinprodukten im Rahmen der QM-Prozesse sowie des End-of-Life- und Obsoleszenzmanagements. Produktänderungen werden konform zur IEC 62304 durchgeführt, die einzelnen zu besetzenden Rollen wechseln hierbei mit jedem Engineering Change Request.
Eingesetzte QualifikationenAssemblersprache, C, C++, Concurrent Versions System, Git, Change-Request-Management, DIN EN ISO 13485, Qualitätsmanagement (allg.), Lifecycle Management, Technische Dokumentation
3/2018 – 9/2018
TätigkeitsbeschreibungReverse-Engineering eines CPU-Moduls und Erstellung eines Linux-BSPs auf Basis des aktuellen 4er- Kernels, für die Verwendung in einem tragbaren Raman-Spektrometer. Einbindung proprietärer Kernel- Treiber und Firmware, sowie Erstellung von Device Trees für verschiedene Gerätegenerationen.
Eingesetzte QualifikationenEmbedded Linux, Linux (Kernel), C, Firmware, Reverse Engineering, Gerätetreiber
1/2017 – 3/2018
TätigkeitsbeschreibungKoordination, Controlling und Reporting für mehrere extern vergebene Hardware-Entwicklungsprojekte.
Eingesetzte QualifikationenBudgetierung, Reporting, Projektmanagement (IT), IT-Controlling, Projektplanung / -vorbereitung, Preis- / Konditionengestaltung, Requirements Management, Anforderungsspezifikationen, Ppap
6/2016 – 3/2018
TätigkeitsbeschreibungEntwicklung eines Frameworks um Prozessmodelle unter Berücksichtigung harter Echtzeitanforderungen in Form von Petri-Netzen direkt auf einem RT-gepatchten Embedded-Linux-System ausführen zu können. Entwicklung in C++11/14 unter Ausnutzung sämtlicher Sprachfeatures und moderner Konzepte der Objektorientierung, als Mitglied eines fünfköpfigen SCRUM-Teams. Die Entwicklung umfasst sowohl Framework-Komponenten als auch Gerätetreiber, Netzwerkprotokolle und IPC-Mechanismen für die Backend-Anbindung. Die Architektur wurde im Team erarbeitet und die Entwicklung Test-driven angegangen, mit einer zweckmäßigen Mischung aus Unit-Tests und behaviour-driven Tests. Die Quellcodeverwaltung erfolgt in Git. Im Rahmen des Continous Deployment werden Betriebssystem und sämtliche Softwarekomponenten mit Jenkins automatisiert gebaut, in einer Testzelle ausgerollt und auch auf Integrations- und System-Ebene automatisiert getestet.
Eingesetzte QualifikationenContinuous Delivery, Continuous Integration, Embedded Linux, Linux (Kernel), Scrum, ARM-Architektur, Objektorientierte Design (OOD), Objektorientierte Software-Entwicklung, Software Architecture, C++, Git, Jenkins, Gerätetreiber, TCP / IP
3/2016 – 9/2016
TätigkeitsbeschreibungMaßgeschneiderte Linux-Distribution für ein portables Raman-Spektrometer.
Eingesetzte QualifikationenEmbedded Linux, Linux (Kernel), C, C++, Git, Make (Software)
1/2016 – 8/2016
TätigkeitsbeschreibungEntwicklung eines modernen, objektorientierten CANopen-Stacks für Linux in C++11. Der Stack basiert auf der Volkswagen SocketCAN-API und wurde mit dem Ziel entwickelt, sowohl auf verschiedensten Embedded- Systemen als auch auf Linux-IPCs einsetzbar zu sein.
Eingesetzte QualifikationenContinuous Delivery, Continuous Integration, Embedded Linux, Scrum, ARM-Architektur, Objektorientierte Analyse und Design (OOAD), C, C++, Git, CAN-Bus (controller area network), Canopen
4/2014 – 11/2015
TätigkeitsbeschreibungLeitende Funktion in der Abteilung Softwareentwicklung der strategischen Produktentwicklung. Anforderungsanalyse und Erarbeitung der Systemarchitektur für ein Linux-basiertes Embedded-System als neue unternehmensweite Steuerungsplattform. Entwicklung einer komplexen Migrationsstrategie um SPS- und Mikrocontroller-basierte Bestandsprodukte auf die neue Plattform zu heben.
Eingesetzte QualifikationenLieferantenanalyse, Budgetierung, Embedded Linux, ARM-Architektur, System Architektur, Systemmigration, Projektplanung / -vorbereitung, Picmicro, Requirements Management, Anforderungsspezifikationen, Organisation der Produktentwicklung
Ausbildung
Darmstadt
Weitere Kenntnisse
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Fließend)
- Französisch (Grundkenntnisse)
- Europäische Union
- Schweiz
- Vereinigte Staaten von Amerika
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden