freiberufler C++-Experte auf freelance.de

C++-Experte

zuletzt online vor wenigen Tagen
  • auf Anfrage
  • Weinheim (Bergstraße)
  • National
  • de  |  en
  • 11.03.2024

Kurzvorstellung

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

Qualifikationen

  • C++
  • Echtzeitprogrammierung
  • Linux Entwicklung
  • Medizintechnik / Labortechnik
  • Microsoft Windows (allg.)
  • Objektorientierte Design (OOD)
  • Software Design
  • Softwareentwicklung (allg.)
  • Visual C++
  • Visual Studio

Projekt‐ & Berufserfahrung

Sabbatical
Kundenname anonymisiert, Weinheim
1/2023 – 12/2023 (1 Jahr)
Keine
Tätigkeitszeitraum

1/2023 – 12/2023

Tätigkeitsbeschreibung

Keine

Eingesetzte Qualifikationen

C++

Software-Entwicklung
Maschinenbau, Rosenheim
2/2021 – 12/2022 (1 Jahr, 11 Monate)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

2/2021 – 12/2022

Tätigkeitsbeschreibung

Projekt: Maschinensteuerung für automatisierten MEMS-Test
Softwareentwicklung im Rahmen einer Neuentwicklung von Hard- und Software für den automatisierten Test von MEMS (Micro-Electro-Mechanical Systems)
Anforderungen:
Echtzeitprogrammierung
Multi-Prozess-System
EtherCAT-Feldbus
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

Aufgaben:
Synchronisation verschiedener Geräte-Komponenten
Objektorientiertes Design
Roboter-Ansteuerung (Pick & Place) mittels OPC UA
Interprozess-Kommunikation mittels shared memory und OPC UA
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)

Entwicklungsumgebung / Werkzeuge:
Visual Studio 2019 unter Windows 10
CMake
C++ 17
Git (Versionsverwaltung)
Enterprise Architect (UML)
OPC UA
Boost
PowerShell
Jira
Jenkins

Eingesetzte Qualifikationen

Back-End Entwicklung, C++, Enterprise Architect (EA), Git, JavaScript Object Notation (JSON), Jenkins, Jira, Microsoft Foundation Classes (MFC), Microsoft Windows (allg.), Objektorientierte Design (OOD), Objektorientierte Programmierung (OOP), OPC unified architecture (OPC-UA), PowerShell, Python, Representational State Transfer (REST), Software Architektur / Modellierung, Software Design, Softwareentwicklung (allg.), Technische Informatik, UML, Visual Studio, XML

Software-Entwicklung
Medizintechnik, Raum Stuttgart
2/2018 – 6/2020 (2 Jahre, 5 Monate)
Medizintechnik
Tätigkeitszeitraum

2/2018 – 6/2020

Tätigkeitsbeschreibung

Projekt: Softwareentwicklung für medizinische Laborgeräte im Großlabor
Neuentwicklung (Hardware und Software) eines Laborgeräts (3-Achsen-System)
Anforderungen:
Agile Softwareentwicklung im internationalen Scrum-Team
Projektsprache und Dokumentation in Englisch
Enge Zusammenarbeit mit dem Hardware-Team
Zielsystem: Industrie-PC mit Linux Echtzeit-Kernel
Echtzeitprogrammierung
Programmiersprachen C++11, C und Python
Behavior Driven Development (Radish)
Automatisierte Klassentests mittels Google Test
Automatisierte Tests auf CI-System mittels Hardware-Simulation

Aufgaben:
Erstellung von Feature Files für Unittests
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

Entwicklungsumgebung / Werkzeuge:
Linux (Ubuntu)
CMake
Git (Versionsverwaltung)
Enterprise Architect (UML)
Eclipse
C++ 11
CANOpen
Confluence (Atlassian)
Python
Google Test
Google Protocol Buffers

Eingesetzte Qualifikationen

Agile Entwicklung, AMQP, Behavior Driven Development (BDD), C, C++, CANopen, Code Review, Confluence (Atlassian), DIN EN ISO 13485, Dokumentation (IT), Eclipse, Enterprise Architect (EA), Git, JavaScript Object Notation (JSON), Kontinuierliche Integration (CI), Linux Entwicklung, Linux (Kernel), Medizintechnik / Labortechnik, Objektorientierte Design (OOD), Python, SCRUM, Software Architektur / Modellierung, Software Design, Softwareentwicklung (allg.), Team Foundation Server (TFS), Technische Informatik, Testautomatisierung, Ubuntu, UML

Software-Architekt
Medizintechnik, Raum Darmstadt
1/2016 – 6/2017 (1 Jahr, 6 Monate)
Medizintechnik
Tätigkeitszeitraum

1/2016 – 6/2017

Tätigkeitsbeschreibung

Projekt: Architektur-Optimierung einer Software im Dentalbereich
Unterstützung des Entwicklungsteams beim Kunden vor Ort
Anforderungen:
Optimierung der Architektur einer CAD-/CAM-Software im Dentalbereich (medizinische Zahn-Restaurationen)
Modularisierung der Software
Verringerung der Buildzeiten
Versionsnummern-Konzept nach SemVer 2.0
Anpassung PowerShell-Skripte
Programmierung in C++
Entwicklung unter Windows 7
Zielsystem: Windows 7 / Windows 10

Aufgaben:
Architekturüberprüfung und ggf. Programmanpassung
Auslagerung von C++-Projekten als NuGet-Pakete
Erarbeitung eines Konzepts zur automatisierten Versionierung und Erstellung von nativen NuGet-Paketen (C++-DLLs)
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) mittels Debug Interface Access SDK (DIA)

Entwicklungsumgebung / Werkzeuge:
Visual Studio 2015 unter Windows 7
Plastic SCM (Versionsverwaltung) unter Windows
Enterprise Architect 12.1
NuGet-Client
PowerShell
TeamCity Enterprise 10.0 (Continuous Integration System)
ProGet Package Manager 4.6
Axivion Bauhaus Suite 6.5 (Architekturprüfung und Codeanalyse)
Debug Interface Access SDK (DIA)

Eingesetzte Qualifikationen

Microsoft Windows (allg.), Windows 7, Enterprise Architect (EA), Objektorientierte Design (OOD), Objektorientierte Programmierung (OOP), Software Architektur / Modellierung, Software Design, UML, , C++, CASE (Computer-aided software engineering), Microsoft Foundation Classes (MFC), PowerShell, Softwareentwicklung (allg.), Versionierung / Versionsverwaltung, Visual C++, Visual Studio, Softwarepaketierung / Verteilung (allg.), Scripting

Software-Entwicklung / Programmierung
Flugsicherung, Karlsruhe
3/2015 – 12/2015 (10 Monate)
Flugsicherung
Tätigkeitszeitraum

3/2015 – 12/2015

Tätigkeitsbeschreibung

Projekt: Verarbeitung und Visualisierung von Flugsicherungs-Radardaten
Unterstützung des Entwicklungsteams beim Kunden vor Ort und per Homeoffice

Anforderungen:
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

Aufgaben:
Design
Implementierung
Dokumentation (Requirements, Software-Design)
Zusammenarbeit mit in- und ausländischen Entwicklungspartnern

Entwicklungsumgebung / Werkzeuge:
Eclipse CDT unter Linux
GNU C++ (GCC) unter Linux
Subversion (Versionsverwaltung) unter Linux
In-Step (microTOOL) unter Windows (Dokumentenmanagement)
TestTrack Pro (Seapine Software) unter Windows (Fehlermanagement)

Eingesetzte Qualifikationen

Red Hat Enterprise Linux (RHEL), Software Analyse, Software Design, C, C++, Eclipse, Linux Entwicklung, Softwareentwicklung (allg.), User Interface (UI), Requirement Analyse, Luft- und Raumfahrttechnik (allg.)

Software-Entwicklung / Programmierung
Medizintechnik, Nürnberg
10/2011 – 12/2014 (3 Jahre, 3 Monate)
Medizintechnik
Tätigkeitszeitraum

10/2011 – 12/2014

Tätigkeitsbeschreibung

Projekt: Bediensoftware für medizinische Fluoroscopy-Geräte
Unterstützung des Entwicklungsteams beim Kunden vor Ort und per Homeoffice

Anforderungen:
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

Aufgaben:
Design
Implementierung
Fehler-Diagnose und -behebung
Zusammenarbeit mit chinesischen Entwicklungspartnern

Entwicklungsumgebung / Werkzeuge:
Visual Studio 2010 mit Qt (Visual C++) unter Windows
QtCreator unter Linux und Windows
GNU C++ (GCC) unter Linux
Git (Versionsverwaltung) unter Windows und Linux
Enterprise Architect (CASE-Tool, UML-Modellierung) unter Windows
Merge DICOM C/C++ Toolkit (DICOM-Bibliothek) unter Linux und Windows

Eingesetzte Qualifikationen

SQL, Microsoft Windows (allg.), Enterprise Architect (EA), Objektorientierte Design (OOD), C++, CASE (Computer-aided software engineering), Linux Entwicklung, Qt, Softwareentwicklung (allg.), Versionierung / Versionsverwaltung, Visual C++, Visual Studio

Software-Entwicklung / Programmierung
Energieautomation, Nürnberg
3/2011 – 9/2011 (7 Monate)
Energieautomation
Tätigkeitszeitraum

3/2011 – 9/2011

Tätigkeitsbeschreibung

Projekt: Bediensoftware für Schutzgeräte
Unterstützung des Entwicklungsteams beim Kunden vor Ort und per Homeoffice

Anforderungen:
Erweiterung der bestehenden Bediensoftware (Parametrierung) für neue Schutzgeräte
mit zusätzlichen Systemschnittstellen
Projektsprache: Englisch

Aufgaben:
Design
Spezifikation (Development Specification)
Implementierung
Fehler-Diagnose und -behebung
Systemtest
Teilnahme an Reviews
Zusammenarbeit mit indischen und chinesischen Entwicklungspartnern

Entwicklungsumgebung / Werkzeuge:
Visual Studio 6.0 mit MFC (Visual C++)
PCLint (Code-Analyse)
ClearQuest (Change management)
ClearCase (Versionsverwaltung)
Enterprise Architect (CASE-Tool, UML-Modellierung)
VMware (Images für Test)

Eingesetzte Qualifikationen

Microsoft Windows (allg.), Enterprise Architect (EA), Objektorientierte Design (OOD), UML, C++, CASE (Computer-aided software engineering), Microsoft Foundation Classes (MFC), Softwareentwicklung (allg.), Versionierung / Versionsverwaltung, Visual C++, Visual Studio

Software-Entwicklung / Programmierung
Energieautomation, Nürnberg
7/2010 – 2/2011 (8 Monate)
Energieautomation
Tätigkeitszeitraum

7/2010 – 2/2011

Tätigkeitsbeschreibung

Projekt: Netzleittechnik für Energieversorgungssysteme (SCADA)
Mitarbeit im Bereich SCADA (Supervisory Control and Data Acquisition):
Beobachtung, Steuerung und Überwachung des gesamten Energieversorgungssystems
Unterstützung des Entwicklungsteams beim Kunden vor Ort

Anforderungen:
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

Aufgaben:
Redesign
Implementierung
Integrationstest für die erweiterten Softwarekomponenten
Fehler-Diagnose und -behebung

Entwicklungsumgebung / Werkzeuge:
Visual Studio 2005 / Visual Studio 2008 (Visual C++)
PCLint
ClearQuest
ClearCase
BOOST (Testautomation)

Eingesetzte Qualifikationen

Microsoft Windows (allg.), Testing (IT), C++, Softwareentwicklung (allg.), Visual C++, Visual Studio, Supervisory control and data acquisition (SCADA)

Ausbildung

Informatik mit Vertiefungsrichtung Technik
Diplom-Informatiker (FH)
1989
Mannheim

Weitere Kenntnisse

Softwareentwicklung seit 1989 für technische Anwendungen
Agile Softwareentwicklung (Scrum)
Internationale Entwicklungsteams
Medizintechnik
Maschinensteuerung
C++-Experte
Linux
Windows
OOA/OOD
EtherCAT

Persönliche Daten

Sprache
  • Deutsch (Muttersprache)
  • Englisch (Gut)
Reisebereitschaft
National
Arbeitserlaubnis
  • Europäische Union
Home-Office
bevorzugt
Profilaufrufe
3553
Alter
61
Berufserfahrung
34 Jahre und 5 Monate (seit 10/1989)

Kontaktdaten

Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.

Jetzt Mitglied werden