Tasks: Development of software components and features for process engineering in next-generation coffee machines. The project focused on building a unified process software based on an internal platform and integrating it into the device.
Work was performed in an agile SCRUM team, 3-week sprint cycles, including daily stand-ups and sprint reviews with full responsibility for independently implementing user stories from sprint planning and refinement through development, integration, and testing. The application layer was structured around state machine-based designs (state-pattern) to ensure maintainability and clear process control.
Analysis of existing customer requirements for process-related software components
Development of software components and features using C++20
Integration of platform components into device software
Implementation and execution of unit and module tests utilizing GoogleTest
Integration and system-level testing, including automated tests
Debugging and error analysis of existing and newly developed features
Creation of technical documentation and test reports
Further Information:
Team size: ~15 members (developers, architect, testers)
Development methodology: Agile (SCRUM)
Programming languages: C++20, Python
Domain: Embedded systems / process engineering (household appliances)
Customer: Miele
?Place of Work: Gütersloh / Remote
C++20PythonEmbeddedAgile Softwareentwicklung
Miele
Gütersloh / Remote
6 Monate
2024-05 - 2024-10
Embedded-Softwareentwicklung von Protokoll-Treibern für Datenfusion. C, C++17
Software-EntwicklerC++17CPython...
Software-Entwickler
Im Rahmen eines Robotik-Projektes implementierte ich Protokolltreiber für die Schnittstellen eines STM32L476RG (ARM Cortex-M4). Der STM32L4 zentralisiert die Datenverarbeitung/-fusion von Sensoren zur Eigenbewegungsschätzung, sowie die Steuerung von Aktoren (Servocontrolboard) und ist mit einem leistungsfähigeren Masterprozessor verbunden.
Zur besseren Verständlichkeit und Erweiterbarkeit der verwendeten Peripherie und deren Konfiguration wurde eine minimale Hardwareabstraktionsebene in C++17 entwickelt.
Für die parallele Verarbeitung der Daten mit unterschiedlicher Datenrate wird FreeRTOS als Task-Scheduler eingesetzt.
Implementierung von I2C-Treiber for IMU and Odometry
Implementierung der UART-Schnittstelle für Logging
Implementierung der ISP-Schnittstelle zum Masterprozessor
Entwicklung eines Anwendungsspezifischen Protokolls
Integration von minimalem FreeRTOS Task-Scheduling
Konfiguration von GPIOs für Taster und status LEDs
Erstellen von Skripten (Bash, Python, Json) für Buildumgebung und CI
Integration der Entwicklungsumgebung in Docker-Container
Hardware: STM32L476RG (ARM Cortex-M4)
Programmiersprachen: C, C++ 17
C++17CPythonDockerGitLabembedded
1 Jahr 10 Monate
2022-07 - 2024-04
Softwareentwicklung einer Simulationsumgebung. C++17, Python
Software-EntwicklerC++17PythonGit...
Software-Entwickler
Entwicklung einer Simulation für Kommunikations-Geräte unter Linux (Ubuntu 22.04) und Integration der Embedded-Softwarekomponenten. Die Schnittstellen der Softwarekomponenten auf dem Embedded-System (MPSoC) wurden anhand von Methoden der Interprozesskommunikation unter Linux implementiert und über eine Kommunikations-Middleware abstrahiert. Das Softwaredesign wurde in Enterprise Architect modelliert und aus dem Modell wurde Quellcode generiert.
Weitere Aufgaben:
Portierung von Softwarekomponenten von LynxOS auf Linux
Erstellung von Testtreiber und Modultests mit dem Testframework Catch2.
Modellanpassung der vorhandenen Microservice-Architektur in Enterprise Architect.
Anpassungen an der Build-Umgebung (CMake) und der CI-Pipeline.
Weitere Infos:
Programmiersprachen: C++ 17, Python
Entwicklungsumgebung: Visual Studio Code
Softwarearchitektur: Modellbasierte Softwarearchitektur mit Quellcodegenerierung der Middleware.
Testframework: Catch2
CI-Toolchain: GitLab
C++17PythonGitVisual Studio CodeEnterprise ArchitectCatch2
Remote
6 Monate
2022-01 - 2022-06
Modelbasierte Softwareentwicklung mit IBM Rhapsody
Software-EntwicklerC++14JavaRhapsody...
Software-Entwickler
Modellierung einer Software zum Fehlermanagement auf einer zentralen Steuereinheit mit OpenSAFETY Netzwerkarchitektur.
Testarchitektur und Test Case Modellierung basieren auf Rhapsody Test Conductor.
Automatisierung der Modultesterstellung über die Java API von Rhapsody.
Wartung und Weiterentwicklung der Entwicklungsumgebung.
C++14JavaRhapsodyGitVisual Studio Code
Remote
1 Jahr 3 Monate
2020-07 - 2021-09
Softwareentwicklung von Middleware zur Radardatenverarbeitung
Software-EntwicklerC++PythonCMake...
Software-Entwickler
Softwareentwicklung von Middleware zur Aufnahme und Verarbeitung von Radarsensordaten. Implementierung einer modularen Softwarearchitektur mit generischer Schnittstelle zur Einbettung von AUTOSAR konformen Softwarekomponenten in Simulations- und Testumgebungen wie ADTF, ROS1 und ROS2.
Portierung von existierenden Basissoftwaremodulen und Algorithmen von ADTF nach ROS1 und ROS2.
Weiterentwicklung und Wartung einer continuous integration pipeline basierend auf Jenkins, Github und CMake.
Softwareentwicklung: unter Windows und Linux
Softwarearchitektur: Enterprise Architect
Entwicklungsumgebung: Eclipse und Visual Studio Code
Embedded-Softwareentwicklung - Radarsensordaten über CAN-Bus
Software-EntwicklerC++CAUTOSAR...
Software-Entwickler
Embedded Softwareentwicklung einer parametrierbaren Schnittstelle zur Übertragung von Radarsensordaten über CAN
Softwareentwicklung: unter Windows
Softwarearchitektur: IBM Rhapsody
Entwicklungsumgebung: Eclipse
Test- und Simulationsumgebung: CANoe
Embedded System: MPC5675K von NXP (32-bit Embedded Controller for Advanced Driver Assistance Systems)
Long Range RadarARS308
C++CAUTOSARCANIBM Rhapsody
Continental Engineering Services GmbH
Frankfurt am Main
1 Jahr 10 Monate
2011-11 - 2013-08
Embedded-Softwareentwicklung - Variantenkodierung über CAN-Bus
Software-EntwicklerC++CAUTOSAR...
Software-Entwickler
Embedded-Softwareentwicklung einer Softwarekomponente zur Fahrzeugvariantenkodierung über CAN-Bus
Softwareentwicklung: unter Windows
Softwarearchitektur: IBM Rhapsody
Entwicklungsumgebung: Eclipse
Test- und Simulationsumgebung: CANoe
Embedded System: MPC5675K von NXP (32-bit Embedded Controller for Advanced Driver Assistance Systems)
Long Range RadarARS3XX
C++CAUTOSARCANIBM Rhapsody
Continental Engineering Services GmbH
Frankfurt am Main
1 Jahr 5 Monate
2010-06 - 2011-10
Portierung von Trackingalgorithmus und Funktion eines radarbasierten Spurwechselassistent
Software-EntwicklerC++C
Software-Entwickler
Portierung von Trackingalgorithmus und Funktion eines radarbasierten Spurwechselassistent
Softwareentwicklung: unter Windows
Test- und Simulationsumgebung: MTS (by Continental)
Entwicklungsumgebung: Visual Studio
Embedded System: -
Short Range Radar
C++C
Continental Engineering Services GmbH
Frankfurt am Main
6 Monate
2009-09 - 2010-02
Portierung von Bildverarbeitungsalgorithmen auf steuergerätenahe Hardware
Software-EntwicklerCOpenCVSIMD...
Software-Entwickler
Portierung von Bildverarbeitungsalgorithmen auf einen intern parallel arbeitenden SOC der Firma NEC, der sowohl im SIMD- als auch im MIMD-Modus betrieben werden konnte.
Softwareentwicklung: unter Windows
Entwicklungsumgebung: Visual Studio und Eclipse
Test- und Simulationsumgebung: ADTF
Embedded System: IMAPCAR von NEC (Automotive Image Recognition Processor)
Automotive Camera
COpenCVSIMDMIMDADTF
Audi Electronics Venture GmbH
Ingolstadt
Aus- und Weiterbildung
Aus- und Weiterbildung
1 Monat
2014-01 - 2014-01
Functional Safety Training
1 Tages Seminar mit Zertifikat, Continental Engineering Services
1 Tages Seminar mit Zertifikat
Continental Engineering Services
Functional Safety
1 Day Awareness Training and Basic Training
1 Monat
2012-06 - 2012-06
Embedded UML Training based on IBM Rhapsody
3 Tage Seminar mit Zertifikat, Willert
3 Tage Seminar mit Zertifikat
Willert
Embedded UML Training based on IBM Rational Rhapsody, WILLERT
Tasks: Development of software components and features for process engineering in next-generation coffee machines. The project focused on building a unified process software based on an internal platform and integrating it into the device.
Work was performed in an agile SCRUM team, 3-week sprint cycles, including daily stand-ups and sprint reviews with full responsibility for independently implementing user stories from sprint planning and refinement through development, integration, and testing. The application layer was structured around state machine-based designs (state-pattern) to ensure maintainability and clear process control.
Analysis of existing customer requirements for process-related software components
Development of software components and features using C++20
Integration of platform components into device software
Implementation and execution of unit and module tests utilizing GoogleTest
Integration and system-level testing, including automated tests
Debugging and error analysis of existing and newly developed features
Creation of technical documentation and test reports
Further Information:
Team size: ~15 members (developers, architect, testers)
Development methodology: Agile (SCRUM)
Programming languages: C++20, Python
Domain: Embedded systems / process engineering (household appliances)
Customer: Miele
?Place of Work: Gütersloh / Remote
C++20PythonEmbeddedAgile Softwareentwicklung
Miele
Gütersloh / Remote
6 Monate
2024-05 - 2024-10
Embedded-Softwareentwicklung von Protokoll-Treibern für Datenfusion. C, C++17
Software-EntwicklerC++17CPython...
Software-Entwickler
Im Rahmen eines Robotik-Projektes implementierte ich Protokolltreiber für die Schnittstellen eines STM32L476RG (ARM Cortex-M4). Der STM32L4 zentralisiert die Datenverarbeitung/-fusion von Sensoren zur Eigenbewegungsschätzung, sowie die Steuerung von Aktoren (Servocontrolboard) und ist mit einem leistungsfähigeren Masterprozessor verbunden.
Zur besseren Verständlichkeit und Erweiterbarkeit der verwendeten Peripherie und deren Konfiguration wurde eine minimale Hardwareabstraktionsebene in C++17 entwickelt.
Für die parallele Verarbeitung der Daten mit unterschiedlicher Datenrate wird FreeRTOS als Task-Scheduler eingesetzt.
Implementierung von I2C-Treiber for IMU and Odometry
Implementierung der UART-Schnittstelle für Logging
Implementierung der ISP-Schnittstelle zum Masterprozessor
Entwicklung eines Anwendungsspezifischen Protokolls
Integration von minimalem FreeRTOS Task-Scheduling
Konfiguration von GPIOs für Taster und status LEDs
Erstellen von Skripten (Bash, Python, Json) für Buildumgebung und CI
Integration der Entwicklungsumgebung in Docker-Container
Hardware: STM32L476RG (ARM Cortex-M4)
Programmiersprachen: C, C++ 17
C++17CPythonDockerGitLabembedded
1 Jahr 10 Monate
2022-07 - 2024-04
Softwareentwicklung einer Simulationsumgebung. C++17, Python
Software-EntwicklerC++17PythonGit...
Software-Entwickler
Entwicklung einer Simulation für Kommunikations-Geräte unter Linux (Ubuntu 22.04) und Integration der Embedded-Softwarekomponenten. Die Schnittstellen der Softwarekomponenten auf dem Embedded-System (MPSoC) wurden anhand von Methoden der Interprozesskommunikation unter Linux implementiert und über eine Kommunikations-Middleware abstrahiert. Das Softwaredesign wurde in Enterprise Architect modelliert und aus dem Modell wurde Quellcode generiert.
Weitere Aufgaben:
Portierung von Softwarekomponenten von LynxOS auf Linux
Erstellung von Testtreiber und Modultests mit dem Testframework Catch2.
Modellanpassung der vorhandenen Microservice-Architektur in Enterprise Architect.
Anpassungen an der Build-Umgebung (CMake) und der CI-Pipeline.
Weitere Infos:
Programmiersprachen: C++ 17, Python
Entwicklungsumgebung: Visual Studio Code
Softwarearchitektur: Modellbasierte Softwarearchitektur mit Quellcodegenerierung der Middleware.
Testframework: Catch2
CI-Toolchain: GitLab
C++17PythonGitVisual Studio CodeEnterprise ArchitectCatch2
Remote
6 Monate
2022-01 - 2022-06
Modelbasierte Softwareentwicklung mit IBM Rhapsody
Software-EntwicklerC++14JavaRhapsody...
Software-Entwickler
Modellierung einer Software zum Fehlermanagement auf einer zentralen Steuereinheit mit OpenSAFETY Netzwerkarchitektur.
Testarchitektur und Test Case Modellierung basieren auf Rhapsody Test Conductor.
Automatisierung der Modultesterstellung über die Java API von Rhapsody.
Wartung und Weiterentwicklung der Entwicklungsumgebung.
C++14JavaRhapsodyGitVisual Studio Code
Remote
1 Jahr 3 Monate
2020-07 - 2021-09
Softwareentwicklung von Middleware zur Radardatenverarbeitung
Software-EntwicklerC++PythonCMake...
Software-Entwickler
Softwareentwicklung von Middleware zur Aufnahme und Verarbeitung von Radarsensordaten. Implementierung einer modularen Softwarearchitektur mit generischer Schnittstelle zur Einbettung von AUTOSAR konformen Softwarekomponenten in Simulations- und Testumgebungen wie ADTF, ROS1 und ROS2.
Portierung von existierenden Basissoftwaremodulen und Algorithmen von ADTF nach ROS1 und ROS2.
Weiterentwicklung und Wartung einer continuous integration pipeline basierend auf Jenkins, Github und CMake.
Softwareentwicklung: unter Windows und Linux
Softwarearchitektur: Enterprise Architect
Entwicklungsumgebung: Eclipse und Visual Studio Code
Embedded-Softwareentwicklung - Radarsensordaten über CAN-Bus
Software-EntwicklerC++CAUTOSAR...
Software-Entwickler
Embedded Softwareentwicklung einer parametrierbaren Schnittstelle zur Übertragung von Radarsensordaten über CAN
Softwareentwicklung: unter Windows
Softwarearchitektur: IBM Rhapsody
Entwicklungsumgebung: Eclipse
Test- und Simulationsumgebung: CANoe
Embedded System: MPC5675K von NXP (32-bit Embedded Controller for Advanced Driver Assistance Systems)
Long Range RadarARS308
C++CAUTOSARCANIBM Rhapsody
Continental Engineering Services GmbH
Frankfurt am Main
1 Jahr 10 Monate
2011-11 - 2013-08
Embedded-Softwareentwicklung - Variantenkodierung über CAN-Bus
Software-EntwicklerC++CAUTOSAR...
Software-Entwickler
Embedded-Softwareentwicklung einer Softwarekomponente zur Fahrzeugvariantenkodierung über CAN-Bus
Softwareentwicklung: unter Windows
Softwarearchitektur: IBM Rhapsody
Entwicklungsumgebung: Eclipse
Test- und Simulationsumgebung: CANoe
Embedded System: MPC5675K von NXP (32-bit Embedded Controller for Advanced Driver Assistance Systems)
Long Range RadarARS3XX
C++CAUTOSARCANIBM Rhapsody
Continental Engineering Services GmbH
Frankfurt am Main
1 Jahr 5 Monate
2010-06 - 2011-10
Portierung von Trackingalgorithmus und Funktion eines radarbasierten Spurwechselassistent
Software-EntwicklerC++C
Software-Entwickler
Portierung von Trackingalgorithmus und Funktion eines radarbasierten Spurwechselassistent
Softwareentwicklung: unter Windows
Test- und Simulationsumgebung: MTS (by Continental)
Entwicklungsumgebung: Visual Studio
Embedded System: -
Short Range Radar
C++C
Continental Engineering Services GmbH
Frankfurt am Main
6 Monate
2009-09 - 2010-02
Portierung von Bildverarbeitungsalgorithmen auf steuergerätenahe Hardware
Software-EntwicklerCOpenCVSIMD...
Software-Entwickler
Portierung von Bildverarbeitungsalgorithmen auf einen intern parallel arbeitenden SOC der Firma NEC, der sowohl im SIMD- als auch im MIMD-Modus betrieben werden konnte.
Softwareentwicklung: unter Windows
Entwicklungsumgebung: Visual Studio und Eclipse
Test- und Simulationsumgebung: ADTF
Embedded System: IMAPCAR von NEC (Automotive Image Recognition Processor)
Automotive Camera
COpenCVSIMDMIMDADTF
Audi Electronics Venture GmbH
Ingolstadt
Aus- und Weiterbildung
Aus- und Weiterbildung
1 Monat
2014-01 - 2014-01
Functional Safety Training
1 Tages Seminar mit Zertifikat, Continental Engineering Services
1 Tages Seminar mit Zertifikat
Continental Engineering Services
Functional Safety
1 Day Awareness Training and Basic Training
1 Monat
2012-06 - 2012-06
Embedded UML Training based on IBM Rhapsody
3 Tage Seminar mit Zertifikat, Willert
3 Tage Seminar mit Zertifikat
Willert
Embedded UML Training based on IBM Rational Rhapsody, WILLERT