Codeoptimierung u.a. unter Nutzung von C++-Templates
Entwicklung im Docker-Container mit VS Code
Deployment von Docker-Images mittels Ansible Playbooks
Zentrale Speicherung von verteilten Logging-Daten auf einem Loki-Server
Nutzung des Loki Docker-Drivers zur Übertragung der Logging-Daten aus verteilten Docker-Containern
Automatische Generierung von Fehler- und Warnungs-Codes und eines C++-Templates auf Basis von JSON-Files mittels CMake für das Logging unter C++ (SPDLOG)
Automatische Generierung der Dokumentation (Doxygen) auf Basis von JSON-Files für Fehler und Warnungen
Automatische Generierung von Unittests (Google Test) auf Basis von JSON-Files für automatisch erzeugte Fehler und Warnungen
Verstärkter Einsatz von KI zur Qualitätsverbesserung und Analyse
Maschinensteuerung Aufzugstechnik
Maschinenbau
Industrie und Maschinenbau
>10.000 Mitarbeiter
Softwareentwicklung im Rahmen einer Neuentwicklung von Hard- und Software für einen seillosen Aufzug
Agile Softwareentwicklung im internationalen Scrum-Team
Projektsprache und Dokumentation in Englisch
Zielsystem: Vernetzte Industrie-PCs mit Linux Echtzeit-Kernel, CAN-Feldbus (CANopen)
Entwurf und Implementierung von Zustandsmaschinen für die Aufzugsteuerung mittels BOOST SML
Entwurf und Implementierung einer Softwarekomponente zum Senden von HTTP-Requests
Entwurf und Implementierung einer Softwarekomponente zur Ansteuerung eines DMX-Controllers für die Lichtsteuerung
Entwurf und Implementierung von Simulationssoftware
Update von bestehender Software für die Ansteuerung verschiedener Geräte
Erarbeitung eines Konzepts zur Erfassung, Speicherung, Weiterleitung und Reporting von Fehlerzuständen
Speicherung und Darstellung von Diagnose- und Fehlerdaten (Tools: MQTT, Telegraf, InfluxDB und Grafana)
Datenaustausch zwischen den Komponenten mittels MQTT (Mosquitto MQTT-Server)
Serialisierung / Deserialisierung von Konfigurationsdateien (XML / JSON)
Programmierung von Unittests mittels GoogleTest
Automatisierte Tests auf CI-System mittels Hardware-Simulation
Software-Dokumentation mittels Confluence, Doxygen und PlantUML
Sabbatical
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
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
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
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
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
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
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