Matthias Spiller

Software Developer and Consultant

Matthias Spiller
Böblingen, Germany

Experience

Jan 2025 - Mar 2025
3 months
London, United Kingdom

Software Developer and Consultant

vertraulich

Source To Source Transformation von C# Code

  • Parsen von C# Code mit Roslyn
  • Dynamisches erweitern von C# Code um neue Methoden, Klassen, Properties und Felder
  • Generierung von C# Code als Mocks
  • In-Memory Kompilierung von C# Projekten mit Fehleranalyse
  • Bereitstellen der Funktionalität mittels Web API (REST)
  • Überarbeitung eines Prototypen zur Serienreife
  • Reduktion der technischen Schulden durch architekturelle Überarbeitung, Erstellen von Unit-Tests

C# / Roslyn / .NET / ASP.NET / Swagger / Visual Studio / MSBuild / git / sqlite / Entity Framework / GitHub Actions / Windows / Python / Flask / FastAPI

Sep 2024 - Dec 2025
4 months
Esslingen, Germany

Software Developer and Consultant

CLADE GmbH

Beratung und Coaching bei Fragen bzgl. der Softwareentwicklung

  • Code- und Architektur Review
  • Sparringspartner bei Fragen zu Softwareentwicklung und -architektur
  • Analyse der Bussystem-Kommunikation
  • Automatisiertes Testen vom embedded Code

C / C++ / C# / .NET / Mono / VS Code / CAN / gitlab / gcc / clang / cmake / embedded / Linux / python / pytest

Mar 2024 - Apr 2024
2 months
Esslingen, Germany

Software Analyst and Developer

CLADE GmbH

Untersuchung von sporadischen Abstürzen bei der Kommunikation zwischen C++ und C# Code in der Steuerungssoftware eines Geräts zur Flüssigkeitsanalyse

  • Analyse von Crash-Dumps und Memory-Leaks unter Embedded Linux, Memory-Profiling
  • Laufzeit-Analyse mit Debugger, valgrind und ThreadSanitizer auf einem Single-Board-Computer mit Embedded-Linux
  • Analyse der Bussystem-Kommunikation
  • Debugging embedded Code, Sensorik und Aktuatorik eines Mikroprozessors
  • Beheben der gefundenen Probleme im Umfeld Speicherverwaltung und Multithreading in C++ und C#
  • Dokumentation der Findings, Lösungen und Best-Practices zur Vermeidung der Probleme in der Zukunft

C / C++ / C# / Mono / VS Code / valgrind / Profiling / Memory Management / Smart Pointer / ThreadSanitizer / CAN / gitlab / gcc / clang / cmake / embedded / Linux / ARM Cortex / ubuntu core / bash / shell / gdb / debugging

Jan 2024 - Mar 2024
3 months
Stuttgart, Germany

Software Developer, Test Developer

Vector Informatik GmbH

Erweitern einer bestehenden Test-Software um die standardisierte Schnittstelle ASAM-XIL

  • Analyse der Schnittstellendefinition der ASAM und des existierenden Codes
  • Implementieren der Schnittstelle in C#
  • Anbinden des existierenden C++ Codes über eine RPC Schnittstelle
  • Implementieren der Funktionalität in C++
  • Mapping der ASAM Befehle auf Bussystemebene
  • Erstellen von entwicklungsbegleitenden und automatisierten Tests mit CAPL und nunit

C / C++ / C# / Multithreading / Smart Pointer / .NET / VSCode / Visual Studio / MSBuild / CANoe / GitHub / ASAM XIL / CAN / Ethernet / DoIP / TCP / UDP / RPC / nunit / Unittests / CAPL / Diagnose / CDD / Automotive / Windows

Dec 2023 - Jun 2024
7 months
Böblingen, Germany

Software Developer, Hardware Developer

Fari Software GmbH

Weiterentwicklung des Keyboard-Mirrors

  • Schaltungsentwurf
  • Entwicklung der Embedded Software
  • Verbindung zu einem elektronischen Piano per USB und Empfangen und Versenden von MIDI Botschaften
  • Spiegeln der Tasten des elektronischen Pianos für Linkshänder

C / C++ / Python / ARM Cortex M0 / Raspberry Pi Zero / RP2040 / MIDI / USB / FreeRTOS / UART / embedded / opencv / cmake / platformio

Mar 2023 - Dec 2023
10 months
Stuttgart, Germany

Software Developer, Test Developer

Vector Informatik GmbH

Erweitern eines bestehenden C++ Generators für LIN-Protokoll-Tests

  • Analyse des bestehenden Codes
  • Erstellung eines Konzepts zur Konvertierung des bestehenden Generators
  • Erstellen von Test Units mit vTESTstudio und CAPL auf Bussystemebene
  • Entwicklung des neuen Generators in C++ und C#
  • Entwicklungsbegleitende Tests

C / C++ / C# / CLI / Multithreading / SmartPointer / boost / .NET / WPF / XAML / Batch / Echtzeit / VSCode / Visual Studio / MSBuild / Unittests / GitHub / LIN / CAN / CAPL / CANoe / vTESTstudio / Windows

Nov 2022 - Feb 2023
4 months
Böblingen, Germany

Software Developer, Hardware Developer

Fari Software GmbH

Entwicklung eines Miniatur-Farbsensors

  • Entwicklung eines Prototyps für einen drahtlosen Sensor zur Bestimmung der Licht-Farbe
  • Schaltungsentwurf
  • Erstellen der Embedded Software
  • Abfrage der Sensoren und Senden der Daten per Bluetooth Low Energy (BLE)
  • Erstellen einer Desktop-Software zur Kommunikation mit dem Modul

C / C++ / Python / ARM Cortex M4 / Nordic nRF52832 / Arduino / FreeRTOS / Bluetooth / BLE / I2C / SPI / AT Befehlssatz / embedded / opencv / cmake / platformio

Nov 2021 - Jun 2022
8 months
Stuttgart, Germany

Software Developer, DevOps Developer

Vector Informatik GmbH

Einführung von conan als Paketmanager für C++-Projekte

  • Konfiguration von conan
  • Erstellen von conan Paketen für Tools und Bibliotheken
  • Einbinden von conan in cmake und Visual Studio-Projekte für Desktop-Anwendungen und Embedded Software
  • Konvertierung von Visual Studio Projekten von MSBuild nach cmake
  • Erstellen von CI/CD Pipelines in github zur automatischen Erstellung der conan Pakete und Upload nach Artifactory
  • Erstellen von Basisimages für die Verwendung in den CI/CD Pipelines

C / C++ / Python / Visual Studio / MSBuild / cmake / GitHub / docker / Unittests / GitHub Actions / VirtualBox DevOps / conan / mypy / flake8 / Artifactory / Automotive / Windows

Nov 2020 - Dec 2025
4 years 2 months
Stuttgart, Germany

Software Developer, Language Developer

Vector Informatik GmbH

Entwickeln einer domänenspezifischen Sprache (DSL) zur Definition von Gerätekonfigurationen

  • Spezifikation der DSL
  • Architektur und Implementierung der DSL mit Xtext und Xtend
  • Erstellen eine Erweiterung für VSCode für das Editieren der DSL über das Language Server Protocol
  • Generator, der aus der DSL C#, C++ und C Code für die Steuerungs-Software erstellt
  • Generator, der aus der DSL HTML-Seiten zur Dokumentation erstellt
  • Erstellen einer CI/CD Pipeline zur automatisierten Generierung aus der DSL
  • Live-Abfrage von JIRA via REST für die Validierung der DSL gegen Requirements
  • Erweiterung des Datenmodells der DSL um Informationen aus protobuf-Dateien

C / C++ / C# / .NET / Xtext / Xtend / Xcore / Java / Batch / Eclipse / Unittests / gradle / maven / Doxygen / UML / VSCode / Visual Studio / MSBuild / GitHub / docker / GitHub Actions / DevOps / Automotive / JIRA / REST / Windows / Scrum

Oct 2020 - Mar 2024
3 years 6 months
Böblingen, Germany

Software Developer

Advantest Europe GmbH

Einbetten eines Python-Interpreters in eine existierende C++ Software zur Ansteuerung eines Halbleiter-Testers

  • Automatisches Generieren des Python-Wrappers um existierenden C++-Code
  • Einbetten des Python-Interpreters mittels pybind11
  • Performance-Analyse und -Verbesserung, durch Vermeiden von zu vielen IPC calls
  • Hochladen eines Python-Skriptes und abarbeiten des Skripts im Server
  • Anbindung einer JAVA-API an den Python Interpreter

C / C++ / Multithreading / SmartPointer / Python / pybind11 / UNO / Eclipse / Java / Confluence / VirtualBox / valgrind / Profiling / Linux

May 2019 - Aug 2019
4 months
Stuttgart, Germany

Software Developer, DevOps Developer

Vector Informatik GmbH

Entwicklung eines grafischen Tools zur Konfiguration von Tests für Smart-Charging-Protokolle

  • Toolerstellung mit C# und WPF
  • Erstellen eines Installers für das Tool
  • Aufbau einer automatischen Build- und Deployment-Pipeline

CANoe / vTESTstudio / CAPL / Batch / Automotive / WPF / XAML / C# / Jenkins / Unitttests / groovy / .NET / Windows

Oct 2018 - Feb 2019
5 months
Lahr, Germany

Software Developer

NELA Brüder Neumeister GmbH

Erweitern einer Steuerungs-Software für eine Hochgeschwindigkeitstestmaschine zur visuellen Qualitätskontrolle

  • Entwurf, Entwicklung und Verifikation von Algorithmen zur visuellen Analyse von Testobjekten
  • Bildverarbeitung und Featureextraktion in 2D und 3D Aufnahemn
  • Mustererkennung
  • Erstellen von Prüfprogrammen zur Beurteilung der Qualität von Prüflingen
  • Inbetriebnahme der Prüfprogramme beim Kunden

C / C++ / Echtzeit / opencv / SVN / git / Linux / Qt / cmake / embedded

Apr 2018 - Dec 2021
3 years 9 months
Stuttgart, Germany

Software Developer, DevOps Developer

flexis AG

Entwicklung und Wartung einer zentralen Softwarekomponente zur Datenerfassung, -konvertierung und -verarbeitung

  • Erstellen und Wartung von Python-Bibliotheken zur Datenanalyse
  • Portierung von C++ Code nach Python
  • Migration von Python 2 nach Python 3
  • Architektur und Entwicklung einer Datenverarbeitungs-Pipeline unter Verwendung von Postgres mit Microservices
  • Deployment und Betrieb in einer managed Cloud Umgebung
  • Einbinden von Datenquellen via REST, MQTT und ZeroMQ
  • Einbinden von Datenquellen und -senken via SQL
  • Erstellen einer Python-Bibliothek zur Kommunikation mit einer proprietären relationalen Datenbank
  • Konvertierung von Visual Studio Projekten nach cmake
  • Einbinden von vcpkg als Paketmanager

Python / Anaconda / C / C++ / Java / SQL / ODBC / ant / Ivy / Eclipse / Tomcat / Visual Studio / Visual Studio Code / VirtualBox / SonarQube / RPC / JSON / REST / MQTT / ZeroMQ / NiFi / poetry / black / flake8 / Jupyter / pandas / numpy / plotly / SQLAlchemy / PostgreSQL / Django / flask / pytest / unittests / cmake / vcpkg / boost / gitlab / bash / DevOps / docker / kubernetes / OpenShift / helm / Windows / Linux

Jan 2018 - Sep 2018
9 months
Steinenbronn, Germany

Software Developer

TetraTec Instruments GmbH

Entwicklung eines Backends für den Browser-basierten Zugriff auf eine MSSQL-Datenbank

  • Übernahme der Datenmodelle aus einer existierenden Datenbank
  • Automatische Generierung der API aus dem existierenden Datenmodell
  • Erstellung von Berichten aus der Datenbank mittels LaTeX

ASP.NET / .NET / REST / JSON / XML / SQL / MSSQL / Entity Framework / C# / Visual Studio / LaTeX / Linux / Windows / T4 Templates

Sep 2017 - Feb 2018
6 months
Stuttgart, Germany

Software Developer, Test Developer

Vector Informatik GmbH

Spezifikation, Design, Implementierung und Test eines Frameworks für Steuergeräte-Tests auf Ebene des Diagnose-Over-IP Protokolls

  • Analyse der Kundenanforderungen
  • Implementierung des Frameworks mit CAPL in vTESTstudio
  • Erstellen eins Panels zur Parametrisierung des Frameworks
  • Erstellen von Tests nach Kundenspezifikation

CANoe / CAPL / vTESTstudio / DoIP / ISO13400 / Automotive / C# / .NET / Visual Studio / TCP / UDP / Ethernet / WinForms / Windows

Aug 2017 - Aug 2018
1 year 1 month
Böblingen, Germany

Software Developer

Aquilius Research GmbH

Spezifikation, Design, Implementierung und Test von Erweiterungen und Fehlerbehebungen für die Software eines Halbleitertesters

  • Analyse von Kundenanforderungen und Fehlerbeschreibungen
  • Implementierung von Features und Bugfixes
  • Automatisierte Unit-Tests
  • Analyse von Crash-Dumps und Memory-Leaks
  • Performance-Messungen und -Verbesserungen

C / C++ / Eclipse / valgrind / Profiling / gcc / boost / gdb / git / JIRA / Linux / cppunit / Unittests

Aug 2017 - Jan 2018
6 months
Steinenbronn, Germany

Software Developer

TetraTec Instruments GmbH

Spezifikation, Design, Implementierung und Test einer Steuerungs-Software für einen Druckluftprüfstand

  • Ansteuerung einer externen Hardware
  • Implementierung von Test-Abläufen
  • Erstellen eines UIs mit WinForms
  • Inbetriebnahme der Software am Prüfstand

Visual Studio / Visual Basic / VB.NET / .NET / WinForms / MFC / Microsoft Report Viewer / Windows

Jul 2014 - Jul 2017
3 years 1 month
Stuttgart, Germany

Software Developer

Vector Informatik GmbH

  • Spezifikation, Design, Implementierung und Test von Software Projekten zur Fahrzeug-Simulation und -Test als Teil der Produkte CANoe, CANalyzer, TAE und vTESTstudio
  • Software Entwicklung und Architektur mit C++ und C# unter Windows
  • Schwerpunkt Fahrzeug-Diagnose und Test auf Ebene von Bussystemen
  • Analyse von Crash-Dumps und Memory-Leaks
  • Evaluierung und Einführung von JIRA als firmenweites Issue-Tracking-System
  • Erstellung eines Add-ons für JIRA zur Unterstützung der firmeneigenen Prozesse

CANoe / CANalyzer / vTESTstudio / CAPL / Diagnose / Automotive / C++ / boost / C# / CLI / COM / (D)COM / MFC / Echtzeit / Batch / groovy / Visual Studio / SVN / JIRA / UDS / CDD / ODX / KWP2000 / NuGet / Python / UML / CAN / Ethernet / TCP / UDP / DoIP / groovy

Apr 2006 - Jun 2014
8 years 3 months
Böblingen, Germany

Software Developer

Advantest Europe GmbH

  • Verantwortung für die zentrale Ablaufsteuerung der IC Tester Software, den kundenrelevanten APIs und deren Datengenerierung
  • Software Entwicklung und Architektur mit C++ unter Linux
  • Modellgetriebene Entwicklung und Softwarearchitkektur Dokumentation mit UML
  • (D)COM ähnliches Komponentenframework
  • Technische Leitung eines Teams mit bis zu 7 Ingenieuren
  • Evaluierung und Einführung von neuen Tools und Technologien der Softwareentwicklung
  • Fachliche Anleitung und Coaching von Ingenieuren; einschließlich Verteilung von Aufgaben
  • Projektplanung und -durchführung, inkl. der Ausarbeitung von Zeitplänen
  • Enge Zusammenarbeit mit R&D Teams in China und USA
  • Design und Implementierung einer ausführ- und debugbaren domainspezifischen Sprache
  • Crash-Analyse, Performance-Optimierung
  • Statische Codeanalyse

C / C++ / Linux / Xtext / Java / Xtend / Valgrind / Profiling / Python / GCC / boost / GDB / RUP / Git / ClearCase / JIRA / Confluence / Eclipse / Coverity / Jenkins / DevOps / SQL / protobuf / UML / Enterprise Architect / vTune / Intel Inspector / Parallele Programmierung / CORBA IDL / Uno / Scrum / cppunit / UML / bash / Shell

Summary

Softwareentwickler und Berater mit mehr als 19 Jahren Erfahrung u.a. in der Halbleiter- und Automobilindustrie. Ich verfüge über fundierte Kenntnisse in der Backend- und Embedded-Entwicklung, Server-Software und der Arbeit in großen und gewachsenen Systemen. Zudem bin ich in der Lage, mich schnell in komplexe Sachverhalte einzuarbeiten. Zu meinen Kernkompetenzen zählen Debugging, Performance-Optimierung und Multithreading. Darüber hinaus verfüge ich über fundierte Kenntnisse in der Konzeption und Entwicklung domänenspezifischer Sprachen mit Xtext. Zu meinen täglichen Aufgaben gehört der Aufbau einer effizienten Infrastruktur für das Entwickeln, das automatisierte Testen und das Deployment. Ich habe Erfahrung in der Entwicklung unter Linux (Embedded und Server) sowie unter Windows. Ich arbeite gerne eigenständig und in agilen Teams. Ich bevorzuge die Arbeit in meinen eigenen Räumlichkeiten in Böblingen, bin aber gerne bereit einzelne vereinbarte Termine vor Ort wahrzunehmen.

Languages

German
Native
English
Advanced

Education

Oct 2000 - Jun 2006

Albert-Ludwigs-Universität Freiburg

Diplom · Informatik · Freiburg im Breisgau, Germany

Oct 2000 - Jun 2000

Gymnasium Wendalinum

Abitur · Sankt Wendel, Germany

Certifications & licenses

AUTOSAR Workshop

Blockchain - Sicherheit auch ohne Trust Center

CAN-Bus Grundlagen

Einführung in das Quantencomputing

Quanteninformation und -kryptografie

Quantum Computing with Qiskit

Steuergeräte-Test mit CANoe und vTestStudio