freiberufler Software Engineering & Enwicklung auf freelance.de

Software Engineering & Enwicklung

zuletzt online vor 2 Tagen
  • auf Anfrage
  • 79194 Heuweiler
  • auf Anfrage
  • de  |  en
  • 01.12.2025
  • Contract ready

Kurzvorstellung

Ich bin Softwareingenieur und habe meinen Abschluss in Informatik an der Hochschule RheinMain in Wiesbaden erworben. Meine Spezialisierung liegt im Bereich der Programmierung von Linux-basierter Embedded Systeme.

Geschäftsdaten

 Freiberuflich
 Steuernummer bekannt
 Berufshaftpflichtversicherung aktiv

Qualifikationen

  • ARM-Architektur3 J.
  • CAN-Bus (controller area network)5 J.
  • C/C++
  • Embedded Linux8 J.
  • Linux Entwicklung6 J.
  • PyQt
  • Python-Programmierer4 J.
  • SIL3/SIL4
  • Yocto

Projekt‐ & Berufserfahrung

Leitender Softwareingenieur, Softwarearchitekt
Magnetometer QM150, Stuttgart
4/2022 – 11/2025 (3 Jahre, 8 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

4/2022 – 11/2025

Tätigkeitsbeschreibung

Als leitender Softwareingenieur in der Magnetometer-Abteilung war ich für das Design und die Entwicklung der gesamten Softwarearchitektur verantwortlich und sorgte für eine robuste und effiziente Sensor-Software. Meine Rolle ging über die Softwareentwicklung hinaus und umfasste Tätigkeiten innerhalb des Laborbetriebs sowie die Einrichtung und Integration von prototypischen Hardwarekomponenten. Ich entwickelte die Kernsteuerungssoftware in Python und nutzte dabei Bibliotheken wie NumPy und SciPy, um die Leistung zu optimieren und dabei gleichzeitig eine Steuerung mit geringer Latenz für zeitkritische Berechnungen zu erreichen. Darüber hinaus entwarf und implementierte ich die in C++ geschriebene Steuerungssoftware für eine Handprothese. Ich spielte eine entscheidende Rolle bei der Vorbereitung und Präsentation des Systems für interne Vorführungen sowie öffentliche Ausstellungen auf Branchenmessen. Dabei ging es darum, die nahtlose Integration zwischen Software und Hardware zu unterstützen. Meine Beiträge erstreckten sich über den gesamten Lebenszyklus des Projekts, von der Entwicklung bis zur Präsentation.

Eingesetzte Qualifikationen

ARM-Architektur, Embedded Linux, Physiklaborant, Programmierer C, C++, Python-Programmierer, Qt (Software)

Software-Entwickler
LiDAR MRS100, Freiburg
12/2020 – 2/2022 (1 Jahr, 3 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

12/2020 – 2/2022

Tätigkeitsbeschreibung

Der Datenstrom des LiDAR soll in ein winkelstabiles Sektorformat transformiert werden, damit die Filter-Algorithmen akkurat angewendet werden können. Dazu ist es erforderlich die entsprechenden Komponenten zu erweitern bzw. diese sofern nicht vorhanden zu implementieren. Alle Komponenten werden dabei durch die Erstellung von Unit-Tests, hinsichtlich Testabdeckung, und Funktion abgesichert. Des Weiteren ist die Erzeugung eines komprimierten seriellen Datenausgabe-Formates für die Verarbeitung auf leistungsschwächeren SPS-Geräten erforderlich.

Eingesetzte Qualifikationen

Embedded Linux, Windows 10, Jenkins, Jira, Linux Entwicklung, Lua Scripting, Make (Software), Programmierer C, C++

Softwareingenieur
TALL Transport System, Stuttgart
5/2018 – 4/2020 (2 Jahre)
Chemieindustrie
Tätigkeitszeitraum

5/2018 – 4/2020

Tätigkeitsbeschreibung

Das Transport-System verwendet sogenannte TMA-Controller für die Ansteuerung der Transportmodule. Die Transportmodule selbst können durch entsprechende Befehle eine bestimmte Menge an Single-Holder über die Oberfläche bewegen. Der TMA-Controller verwendet eine AM572x CPU von TI und verfügt über 8 serielle RS-422 Schnittstellen. Diese werden mit ca. 1Mbit/s konfiguriert und sollen bis zu 1000 Transportmodule ansteuern.
Der Software-Server soll redesignt und implementiert werden. Dabei sollen empfangene Instruktionen, die von einem Master-Controller, über eine Socket-Schnittstelle (TCP) versendet werden, an die addressierten Transportmodule weitergeleitet werden. Dies erfordert, dass der TMA-Controller die Protobuf-Nachrichten in ein propriäteres Protokoll transformiert, damit die Transportmodule dies verstehen und verarbeiten können. Hier ein kurzer Auszug aus der Befehlsmenge die unterstützt werden soll:

• Connect
• Power-On/Off
• Initialize
• Move
• Step

Selbstverständlich müssen auch die Antworten, welche von den einzelnen Transportmodulen übertragen werden in eine entsprechende Protobuf-Nachricht konvertiert werden damit diese vom Master-Controller verarbeitet werden kann.

Eingesetzte Qualifikationen

Embedded Linux, Enterprise Architect (EA), Git, Jenkins, TCP / IP, Programmierer C, C++

Softwareingenieur
European Train Control System, Stuttgart
3/2017 – 4/2018 (1 Jahr, 2 Monate)
Transportbranche
Tätigkeitszeitraum

3/2017 – 4/2018

Tätigkeitsbeschreibung

Als Software-Ingenieur habe ich Anforderungen der UNISIG (Requirement-Driven-Development), aus der ETCS-Spezifikation, Subset-26, analysiert und die entsprechenden Komponenten der CoreEngine angepasst bzw. erweitert.

Die CoreEngine überwacht und steuert alle Prozesse und Ereignisse die zur Kontrolle des Fahrzeuges erforderlich sind. Die Anforderungen des Subset-26 sind in der CoreEngine implementiert und stellen damit die Prozesslogik des Systems dar.

Meine Anpassungen betrafen hauptsächlich interne Komponenten, dass waren unter anderem, die Movement-Authority Unit (MA), der National-Values Controller, die ICF SubUnit, sowie der PersistenMemory Controller. Des Weiteren erhielt ich die Beauftragung, fehlerhafte Softwareelemente bzgl. der objektorientierten Umsetzung ausfindig zu machen und entsprechend zu korrigieren.

Eingesetzte Qualifikationen

Embedded Linux, Programmierer C, C++, Scrum, Eclipse, Emacs, Jira

Softwareingenieur, Softwarearchitekt
ION-U®, Donauwörth
11/2011 – 2/2017 (5 Jahre, 4 Monate)
Telekommunikation
Tätigkeitszeitraum

11/2011 – 2/2017

Tätigkeitsbeschreibung

HwAccessLink

Die Steuergeräte der Remote-Einheit sowie der Zentraleinheit (19“ Rack) benötigen ein Serviceprogramm, das die Kommunikation zu den angeschlossenen Modulen ermöglicht. Über den lokalen IM-Bus (CAN) werden die Module anhand einer sogenannten HID identifiziert und dadurch für eine nachfolgende Überwachung registriert. Des Weiteren verfügt die Remote-Einheit über einen separaten I²C-Bus, der speziell zur Steuerung (watchdog, heartbeat) des Stromversorgungsmoduls verwendet wird. Sobald die Modul-Erkennung abgeschlossen ist, wechselt der HwAccessLink in den Überwachungsmodus. Jedes Modul kann verschiedene Alarme melden diese werden in ein definiertes Format transformiert und durch eine entsprechende Notifizierung zur Zentraleinheit übertragen. Ein weiterer Bestandteil des Überwachungsmechanismus ist der 'dr-mode', der mit einem kürzeren Interval arbeitet und zusätzliche Modulparameter protokollieren kann. Während die Überwachung im Hintergrund weiter ausgeführt wird, können Befehle an verschiedene Module gesendet werden. Dazu werden die empfangenen XML-Nachrichten in das CAN-Nachrichtenformat transformiert und unter Verwendung des Busprotokolls an das Modul übertragen. Die Antwort wird wieder in das definierte XML-Format zurückübersetzt. Die Nachrichten können, direkt vom Benutzer über eine grafische Benutzerschnittstelle initiiert werden oder durch externe Service-Prozesse. Dies wird vor allem für die Konfiguration des Systems und dem Leveling verwendet, wobei letzteres zur Maximierung der Sendeleistung erforderlich ist.


EventBus

Für die Interprozesskommunikation wird eine Server-Applikation verwendet die ereignisorientiert unterschiedliche Prozesse mit Nachrichten versorgt. Die Reimplementierung bzw. Erweiterung betrifft insbesondere die Annahme sowie Verteilung der Nachrichten. Unter Verwendung der Standard Unix-IPC Methoden können sich Prozesse für bestimmte Ereignisse registrieren sowie Ereignisse protokollieren. Sofern ein entsprechendes Ereignis auftritt, erhalten die angemeldeten Prozesse den Hinweis auf ein Ereignis.


dbLiteWrapper

Der verwendete Datenbank-Adapter soll erweitert werden. Fehlende Funktionen, wie zum Beispiel der prepare-Statement Mechanismus werden benötigt. Auch ein Multiprozess-Support, zur Synchronisation gleichzeitiger Zugriffe, und eine Thread-Protection sind erforderlich.

Eingesetzte Qualifikationen

CAN-Bus (controller area network), Enterprise Architect (EA), Ethernet, Kanban (Softwareentwicklung), Linux Entwicklung, Programmierer C, C++, Scrum, SQL, TCP / IP, XML

Softwareingenieur, Softwarearchitekt
Z-Plan, München
12/2010 – 10/2011 (11 Monate)
Telekommunikation
Tätigkeitszeitraum

12/2010 – 10/2011

Tätigkeitsbeschreibung

Im Bereich Datenverarbeitung und Systemintegration habe ich folgende Teilprojekte erfolgreich umgesetzt.


High-Speed-Internet – Prozesskonsolidierung & Datenverarbeitung

Reimplementierung der bestehenden Auswertungsprozesse, um sieben Einzelprogramme durch ein zentrales Kontrollprogramm zu ersetzen. Erweiterung der -Komponente für den Transfer großer Datenmengen sowie Neuentwicklung der Importkomponente des Delphi-Systems mit direkter Datenverarbeitung (ohne DBLink). Sicherstellung einer korrekten Verarbeitung der SCPM-Daten auch bei . Entwicklung eines Notification-Tools zur serverübergreifenden Logfile-Auswertung mit visueller Darstellung der Statusinformationen auf dem Desktop.


Video-on-Demand – Datenimport & Analyse

Verarbeitung von XML- und CSV-Daten inklusive Erkennung relevanter Inhalte, Konvertierung und Import in entsprechende Datenbanktabellen. Generierung zusätzlicher Metadaten während des Importvorgangs zur späteren Analyse. Berücksichtigung von Performance- und Ressourcenanforderungen aufgrund hoher Datenvolumina im Produktivbetrieb.


Access-Dispatcher – Hochperformante Kommunikationsschnittstelle

Reimplementierung des Access-Dispatchers in C/C++ zur Kommunikation zwischen zOS-Clients und mehreren Unix-Servern. Nutzung von Shared-Memory-Segmenten, die pro Client über dedizierte Threads verwaltet werden. Automatisches Starten von Serverprozessen bei Bedarf. Auslegung auf hohe Performance, Skalierbarkeit (> 5.000 parallele Clientanfragen) und Robustheit. Der abschließende Destructive-Testlauf wurde erfolgreich bestanden.

Eingesetzte Qualifikationen

Postgresql, SQL, Programmierer C, C++, Python-Programmierer, Git, Linux Entwicklung, Windows NT, Oracle Database

Ausbildung

Dipl. Informatiker
.
Hochschule RheinMain
2001
Wiesbaden

Persönliche Daten

Sprache
  • Deutsch (Muttersprache)
  • Englisch (Fließend)
Reisebereitschaft
auf Anfrage
Arbeitserlaubnis
  • Europäische Union
Profilaufrufe
62
Alter
46
Berufserfahrung
23 Jahre und 8 Monate (seit 04/2002)

Kontaktdaten

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

Jetzt Mitglied werden