C++-Experte
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- Weinheim (Bergstraße)
- National
- de | en
- 13.10.2024
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
1/2023 – 12/2023
TätigkeitsbeschreibungKeine
Eingesetzte QualifikationenC++
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
Backend, C++, Enterprise Architect (EA), Git, Json, Jenkins, Jira, Microsoft Foundation Classes (MFC), Microsoft Windows (allg.), Objektorientierte Design (OOD), Objektorientierte Software-Entwicklung, OPC Unified Architecture, Windows Powershell, Python, Representational State Transfer (REST), Software Architecture, Software Design, Softwareentwicklung (allg.), Computer Engineering, UML, Microsoft Visual Studio, XML
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
Agile Methodologie, Advanced Message Queuing Protocol, Behavior Driven Development, C, C++, Canopen, Code-Review, Confluence, DIN EN ISO 13485, Schreiben von Dokumentation, Eclipse, Enterprise Architect (EA), Git, Json, Continuous Integration, Linux Entwicklung, Linux (Kernel), Medizintechnik, Objektorientierte Design (OOD), Python, Scrum, Software Architecture, Software Design, Softwareentwicklung (allg.), Team Foundation Server, Computer Engineering, Test Automation, Ubuntu, UML
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)
Microsoft Windows (allg.), Windows 7, Enterprise Architect (EA), Objektorientierte Design (OOD), Objektorientierte Software-Entwicklung, Software Architecture, Software Design, UML, , C++, Computer-Aided Software Engineering, Microsoft Foundation Classes (MFC), Windows Powershell, Softwareentwicklung (allg.), Software Version Control, Visual C++, Microsoft Visual Studio, Application Packaging, Scripting
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)
Red Hat Enterprise Linux (RHEL), Softwareanforderungsanalyse, Software Design, C, C++, Eclipse, Linux Entwicklung, Softwareentwicklung (allg.), User Interface (UI), Requirement Analyse, Raumfahrttechnik
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
SQL, Microsoft Windows (allg.), Enterprise Architect (EA), Objektorientierte Design (OOD), C++, Computer-Aided Software Engineering, Linux Entwicklung, Qt (Software), Softwareentwicklung (allg.), Software Version Control, Visual C++, Microsoft Visual Studio
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)
Microsoft Windows (allg.), Enterprise Architect (EA), Objektorientierte Design (OOD), UML, C++, Computer-Aided Software Engineering, Microsoft Foundation Classes (MFC), Softwareentwicklung (allg.), Software Version Control, Visual C++, Microsoft Visual Studio
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)
Microsoft Windows (allg.), Testen, C++, Softwareentwicklung (allg.), Visual C++, Microsoft Visual Studio, SCADA
Ausbildung
Mannheim
Weitere Kenntnisse
Agile Softwareentwicklung (Scrum)
Internationale Entwicklungsteams
Medizintechnik
Maschinensteuerung
C++-Experte
Linux
Windows
OOA/OOD
EtherCAT
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Gut)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden