Profilbild von Roland Staar C++-Experte für technische Anwendungen unter Windows und Linux aus Weinheim

Roland Staar

nicht verfügbar bis 31.12.2024

Letztes Update: 05.03.2024

C++-Experte für technische Anwendungen unter Windows und Linux

Firma: SYCOSA GmbH
Abschluss: Diplom-Informatiker (FH) 1989
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (gut)

Skills

  • C++17
  • Medizintechnik
  • Maschinensteuerung
  • Echtzeitprogrammierung
  • Agile Softwareentwicklung
  • Scrum
  • Objektorientiertes Design
  • Objektorientierte Programmierung
  • Microsoft Windows 10/11
  • Linux
  • C++
  • Python
  • Enterprise Architect
  • Eclipse
  • Visual Studio
  • Git
  • Google Protocol Buffers
  • XML
  • JSON
  • EtherCAT
  • OPC UA

Projekthistorie

01/2023 - 12/2023
Sabbatical


02/2021 - 12/2022
Maschinensteuerung für automatisierten MEMS-Test
Maschinenbau (Industrie und Maschinenbau, 250-500 Mitarbeiter)

  • Softwareentwicklung im Rahmen einer Neuentwicklung von Hard- und Software für den automatisierten Test von MEMS (Micro-Electro-Mechanical Systems)
  • Synchronisation verschiedener Geräte-Komponenten
  • Multi-Prozess-System
  • Objektorientiertes Design
  • Roboter-Ansteuerung (Pick & Place) mittels OPC UA
  • Interprozess-Kommunikation mittels shared memory und OPC UA
  • EtherCAT-Feldbus
  • Integration eines RFID-Readers über IO-Link
  • Inbetriebnahme und Test verschiedener Hardware-Komponenten
  • Entwurf und Implementierung einer statischen Bibliothek zur Abfrage von Serverdaten (Post Processing) mittels REST-API
  • Implementierung eines Codegenerators (PowerShell) zur Erzeugung von C++-Code aus einem Enterprise Architect Zustandsdiagramm (Nutzung des EA Automation Interfaces)
  • Entwurf und Implementierung einer Hardware-Simulation auf EtherCAT-Feldbus-Ebene über ein Plugin-Konzept (Laden von Simulations-DLLs zur Laufzeit)
  • Enge Zusammenarbeit mit dem Mechanik- und Elektronik-Team
  • Dokumentation in Englisch
  • Entwicklung unter Windows 10
  • Zielsystem: Industrie-PC mit Windows 10
  • Programmiersprachen: C++17 (CMake-Builds), C, Python, PowerShell Script

02/2018 - 06/2020
Softwareentwicklung für medizinische Laborgeräte im Großlabor
Medizintechnik (Pharma und Medizintechnik, >10.000 Mitarbeiter)

  • Mitarbeit bei Neuentwicklung eines Laborgeräts (3-Achsen-System)
  • Agile Softwareentwicklung im internationalen Scrum-Team
  • Projektsprache und Dokumentation in Englisch
  • Enge Zusammenarbeit mit dem Hardware-Team
  • Zielsystem: Industrie-PC mit Linux Echtzeit-Kernel
  • Programmiersprachen C++11, C und Python
  • Behavior Driven Development (Radish)
  • Erstellung von Feature Files für Unittests
  • Automatisierte Klassentests mittels Google Test
  • Automatisierte Tests auf CI-System mittels Hardware-Simulation
  • Datenaustausch mit anderen Gerätekomponenten und Servern (Socket-Kommunikation / RabbitMQ-Server)
  • Datenserialisierung mittels Google Protocol Buffers
  • Schreiben / Lesen von Konfigurationsdateien (XML / JSON)
  • Erstellung Testsoftware in Python für Ansteuerung der device controller (CANopen, DS402)
  • Integration eines EtherCAT-Masters für den Betrieb über EtherCAT (CoE)
  • Erstellung von Linux-Bibliotheken (C) für die Ansteuerung der Hardware mittels CAN Befehlen
  • Anpassung des Linux-Kernels für Zugriff auf eine Mini PCI Express Karte (EtherCAT Master)
  • Design und Programmierung einer Abstraktionsschicht (Hardware Abstraction Layer in C++) für den abstrahierten Zugriff auf Hardware-Komponenten (Dependency Injection und IoC-Container)
  • High level Programmierung in C++ entsprechend der jeweiligen Sprint-Ziele anhand vorgegebener Requirements, Unit Specifications und Use Cases
  • Dokumentation im Rahmen des regulierten Entwicklungsprozesses nach DIN EN ISO 13485 und IEC 62304

01/2016 - 06/2017
Architektur-Optimierung einer Software im medizinischen Dentalbereich
Medizintechnik (Pharma und Medizintechnik, >10.000 Mitarbeiter)

  • Rolle: Software-Architekt
  • Optimierung der Architektur einer CAD-/CAM-Software im Dentalbereich (medizinische Zahn-Restaurationen)
  • Modularisierung der Software
  • Verringerung der Buildzeiten
  • Auslagerung von C++-Projekten als NuGet-Pakete
  • Erarbeitung eines Konzepts zur automatisierten Versionierung und Erstellung von nativen NuGet-Paketen (C++-DLLs)
  • Versionsnummern-Konzept nach SemVer 2.0
  • Architekturüberprüfung und ggf. Programmanpassung
  • Anpassung PowerShell-Skripte
  • Programmierung in C++
  • Anpassung von C++-Templates (C++11-Standard)
  • Analyse der Abhängigkeiten von bestehenden .NET-Komponenten mittels Scripting unter Enterprise Architect
  • Programmierung eines PDB-Symbolparsers als Visual Studio 2015 Extension (VSIX Visual Studio Plugin) mittels Debug Interface Access SDK (DIA)
  • Entwicklung unter Windows 7
  • Zielsystem: Windows 7 / Windows 10

03/2015 - 12/2015
Verarbeitung und Visualisierung von Flugsicherungs-Radardaten
Flugsicherung

  • Rolle: Software-Entwickler
  • Erweiterung der Radarbilddarstellung des Flugverkehrs
  • Integration eines zusätzlichen Radar-Datenstroms
  • Datenübermittlung mittels ASTERIX-Protokoll
  • GUI-Programmierung
  • Schnittstellen-Programmierung
  • Anpassung Linux-Skripte
  • Programmierung in C++ und C
  • Entwicklung unter Linux und Windows
  • Zielsystem: Linux (CentOS / Red Hat)
  • Projektsprache: Englisch
  • Design
  • Implementierung
  • Dokumentation (Requirements, Software-Design)
  • Zusammenarbeit mit in- und ausländischen Entwicklungspartnern

10/2011 - 12/2014
Bediensoftware für medizinische Fluoroscopy-Geräte
Medizintechnik (Pharma und Medizintechnik)

  • Rolle: Software-Entwickler
  • Erweiterung der bestehenden Bediensoftware für Fluoroscopy-Geräte
  • Aufbau einer C++-Bibliothek zur Patienten- und Bilddatenverwaltung
  • GUI-Programmierung
  • Datenbank: SQLite
  • Programmierung in C++ in Verbindung mit Qt-Bibliothek
  • Datenübermittlung mittels DICOM-Standard
  • Entwicklung unter Linux und Windows
  • Zielsystem: Linux
  • Projektsprache: Deutsch und Englisch
  • Design
  • Implementierung
  • Fehler-Diagnose und -behebung
  • Zusammenarbeit mit chinesischen Entwicklungspartnern

03/2011 - 09/2011
Bediensoftware für Schutzgeräte
Energieautomation (Industrie und Maschinenbau, >10.000 Mitarbeiter)

  • Rolle: Software-Entwickler
  • Erweiterung der bestehenden Bediensoftware (Parametrierung) für neue Schutzgeräte mit zusätzlichen Systemschnittstellen
  • Projektsprache: Englisch
  • Software-Design
  • Spezifikation (Development Specification)
  • Implementierung
  • Fehler-Diagnose und -behebung
  • Systemtest
  • Teilnahme an Reviews
  • Zusammenarbeit mit indischen und chinesischen Entwicklungspartnern

07/2010 - 02/2011
Netzleittechnik für Energieversorgungssysteme (SCADA)
Energieautomation (Industrie und Maschinenbau, >10.000 Mitarbeiter)

  • Rolle: Software-Entwickler
  • Mitarbeit im Bereich SCADA (Supervisory Control and Data Acquisition):
    • Beobachtung, Steuerung und Überwachung des gesamten Energieversorgungssystems
    • Unterstützung des Entwicklungsteams beim Kunden vor Ort
  • Redesign des bestehenden Alarm Processings bzgl. Robustheit
  • Cleanup-Logik für Alarmlisten bei drohendem Überlauf
  • Sicherstellung Hot-Standby-Betrieb bei Cleanup
  • Testautomatisierung mittels BOOST (C++-Bibliothek)
  • Projektsprache: Englisch
  • Implementierung
  • Integrationstest für die erweiterten Softwarekomponenten
  • Fehler-Diagnose und -behebung

Reisebereitschaft

Verfügbar in den Ländern Deutschland
Profilbild von Roland Staar C++-Experte für technische Anwendungen unter Windows und Linux aus Weinheim C++-Experte für technische Anwendungen unter Windows und Linux
Registrieren