Technische Software · Matthias Spiller, Böblingen

Ihre Software wieder im Griff.

Für technische Firmen ohne eigene Softwareabteilung. Gerätesteuerung, Messtechnik, Laborauswertung, Prüfsysteme: Ich finde heraus, warum Ihre Software nicht stabil läuft, mache sie wieder wartbar und erkläre Ihnen, was Sie da haben.

  • 1 Tag bis zur Ursache sporadischer Abstürze in einer Gerätesoftware. Fix nach drei Tagen produktiv. BioTech
  • 3 Monate bis ein liegengebliebenes Projekt wieder benutzbar und wartbar geworden ist. Cyber Security
  • 20 Jahre Software für Geräte und technische Systeme. In jedes neue Fachgebiet habe ich mich selbst eingearbeitet. Branchenübergreifend
  • 15 Monate an einem funktional sicheren Ortungssystem zum Personenschutz. Software, die nicht ausfallen darf. Sensorik · laufend

Ausgangslage

Kommt Ihnen das bekannt vor?

  • Das Gerät hängt sich nach ein paar Tagen auf, und niemand weiß, warum.
  • Der Entwickler ist nicht mehr bei Ihnen.
  • Jede Änderung macht woanders etwas kaputt.
  • Sie wissen nicht, ob Sie neu bauen müssen.
  • Sie haben es mit KI versucht, und es läuft trotzdem nicht stabil.

Warum ich

Software für Geräte, Labor und Messtechnik, seit 2006.

Vom Laborgerät bis zum Prüfstand: Ich habe mich in viele Fachgebiete von Grund auf eingearbeitet. Das gehört zu meiner Arbeit. Deshalb finde ich mich auch in Ihrem System schnell zurecht.

Ich suche an den Grenzen.

Hartnäckige Fehler sitzen fast immer dort, wo zwei Teile zusammenkommen: C++ und C#, zwei Prozesse, Software und Gerät. Dort fange ich an.

Ich arbeite am laufenden System.

Ich reproduziere den Fehler am Gerät oder in der laufenden Umgebung, messe und grenze ihn ein, statt nur Code zu lesen.

Ich baue nicht reflexartig neu.

Meistens ist Stabilisieren schneller und sicherer als ein Neubau.

Ich habe selbst Werkzeuge gebaut.

Testsysteme und Entwicklungswerkzeuge, mit denen andere ihre Geräte entwickeln und prüfen. Sie sind seit Jahren im Einsatz. Ich weiß, wie Software aussehen muss, die lange hält.

Ich erkläre es in Ihrer Sprache.

Sie müssen keine Software verstehen, um entscheiden zu können, was mit Ihrer Software passiert.

Sie haben einen festen Ansprechpartner.

Jemanden, der Ihr System kennt und den Sie direkt erreichen. Kein Vermittler, kein wechselndes Team.

Projekte

Vier Beispiele aus der Praxis.

Instabile Gerätesoftware · BioTech · C++/C#

Sporadische Abstürze in der Gerätesoftware.

Die Steuerungssoftware eines Analysegeräts ist sporadisch abgestürzt. Die Ursache: die Grenze zwischen C++ und C#, dahinter Race Conditions und Memory Leaks.

Ergebnis  Gerät stabil, Regeln fürs Team dokumentiert.

Entwickler weg · Cyber Security · C# · Roslyn

Entwickler weg, Code kaum lauffähig.

Ein Werkzeug zur Source-to-Source-Transformation von C#-Code. Der ursprüngliche Entwickler hat das Projekt über Nacht verlassen. Der Stand ist nicht gelaufen und hat sich kaum kompilieren lassen.

Ergebnis  Wieder benutzbar und wartbar, bereit für den Einsatz.

Sicherheitsrelevantes System · Sensorik · Python · C++

Ein sicherheitsrelevantes Backend, aus dem Monolithen gelöst.

Ortungssystem zum Personenschutz. Verteilte Python-Dienste, sicherheitsrelevante Logik in C++ mit SIListra gehärtet, Tests und statische Analyse in der CI.

Ergebnis  Team entlastet, Zusagen an den Endkunden bleiben haltbar.

Prototyp im Produkt · Halbleiter · C++ · Python

Ein Prozesswechsel pro Ablauf statt pro Aufruf.

Das Testsystem lässt sich nur über eine API steuern, und jeder Aufruf ist Interprozess-Kommunikation. Die Idee: den Python-Interpreter in den Serverprozess einbetten und den ganzen Ablauf als Skript schicken. Den Prototyp habe ich direkt im Produkt gebaut, per pybind11 und mit Wrappern aus der C++-API.

Ergebnis  Ein Interprozess-Aufruf statt vieler, im Zielsystem verifiziert.

KI

Und KI?

Ich setze KI jeden Tag ein, für Codeanalyse, Tests und Dokumentation. Jedes Ergebnis prüfe ich aber selbst, bevor es bei Ihnen landet.

Hat KI Ihr Problem nicht gelöst, liegt das meist daran, dass der Fehler im laufenden System steckt und nicht im Code. Oder niemand kann prüfen, ob der Fix stimmt. Genau dort fange ich an.

Auf Wunsch laufen die Modelle ausschließlich auf meiner eigenen Hardware.

Angebote

Drei Schritte, jeder für sich abgeschlossen.

  1. 01

    Ersteinschätzung

    800 €

    Eine Seite: Was Sie haben und was als Nächstes sinnvoll ist.

    Sie geben mir Zugriff auf den Code und beschreiben das Problem. Ich sehe mir beides an, danach sprechen wir eine Stunde per Video. Sie bekommen eine Seite: was Sie haben, wo das Problem wahrscheinlich liegt und was als Nächstes sinnvoll ist. Folgt ein Systemcheck, rechne ich die 800 € voll an.

  2. 02

    Systemcheck

    Festpreis nach der Ersteinschätzung

    Vier Tage: Ursache, Risiken, Plan.

    Vier Tage für ein Softwaresystem, einer davon bei Ihnen vor Ort am laufenden System. Sie bekommen eine Karte Ihres Systems, die Risiken nach Priorität, einen Plan zur Stabilisierung und eine klare Empfehlung: stabilisieren oder neu bauen.

  3. 03

    Softwarebetreuung

    Monatliche Pauschale nach dem Systemcheck

    Ihre externe Softwareabteilung.

    Ich bin für Ihre Software zuständig. Sie haben eine feste Ansprechperson, Antwort innerhalb von zwei Werktagen, laufende Updates und jeden Monat einen kurzen Bericht. Fehler und kleine Änderungen sind im Kontingent enthalten. Ich übernehme die Wartung ganz oder unterstütze Ihr Team.

Problem schildern

Preis netto. Das Erstgespräch über 30 Minuten ist kostenlos.

Passt das?

Worum geht es bei Ihnen?

Beschreiben Sie in ein paar Sätzen, worum es geht. Ein Assistent sagt Ihnen, ob das zu meiner Arbeit passt und wo ich schon Ähnliches gemacht habe.

Passt es, schicken Sie mir Ihre Anfrage direkt von hier. Ich melde mich spätestens am nächsten Werktag.

Über mich

Matthias Spiller

Diplom-Informatiker, Universität Freiburg, Schwerpunkt Mustererkennung und Bildverarbeitung. Seit 2006 Softwareentwickler, seit 2017 mit eigener GmbH in Böblingen.

Ich arbeite hands-on: Code lesen, debuggen, messen, ändern. Dokumentation schreibe ich für die Leute, die danach mit dem Code arbeiten, nicht für die Ablage.

“Once a task is assigned, it simply gets done to a high standard, without the need for follow-ups. Matthias brings a rare mix of technical expertise, ownership, and clarity that I’d recommend to any team without hesitation.”
Projektleiter, Software · LinkedIn
“His expertise in C++ and C#, particularly in embedded systems and CAN protocols, was instrumental in improving our microcontroller library and firmware. Beyond his technical skills, Matthias was a pleasure to work with.”
Teamleiter, BioTech · LinkedIn

Tech-Stack

Womit ich arbeite.

Eine Auswahl. Was hier nicht steht, lerne ich im Projekt.

Sprachen

C++ · C# / .NET · Python · C · C++/CLI · CAPL · WPF · Qt · ASP.NET

Embedded und Bus

ARM Cortex-M · FreeRTOS · Embedded Linux · CAN · LIN · I2C · SPI · UART · USB · BLE · Ethernet

Testautomatisierung

pytest · gtest · Robot Framework · CANoe / vTESTstudio · Software-in-the-Loop · Tests am Gerät

Build und CI

CMake · conan · Docker · GitHub Actions · Jenkins · MSBuild · vcpkg · GitLab · Kubernetes · Azure

Fehlersuche und Performance

gdb · valgrind · ThreadSanitizer · VTune · Wireshark · Coverity · SonarQube

Architektur und Schnittstellen

gRPC · MQTT · REST · OPC UA · pybind11 · Monolith zu Services · DSLs mit Xtext · IEC 61508

Vollständige Liste anzeigen ↓

Sprachen

  • C++
  • C++17
  • C++20
  • C++/CLI
  • C
  • C#
  • .NET
  • ASP.NET
  • Python
  • Java
  • Visual Basic / VB.NET
  • CAPL
  • bash
  • groovy
  • Batch
  • WPF
  • XAML
  • Qt
  • WinForms
  • MFC
  • COM / (D)COM
  • boost
  • opencv
  • pandas
  • numpy
  • Flask
  • FastAPI
  • Django
  • Dependency Injection
  • Smart Pointer
  • RAII
  • Move-Semantik
  • constexpr
  • Templates
  • Multithreading

Embedded und Bus

  • ARM Cortex-M
  • RP2040
  • Nordic nRF52832
  • NXP MK10
  • FreeRTOS
  • Embedded Linux
  • Ubuntu Core
  • Cross-Compilierung
  • platformio
  • Arduino
  • TinyUSB
  • Pico-PIO-USB
  • SoftDevice
  • GATT
  • CAN
  • SocketCAN
  • can-utils
  • LIN
  • I2C
  • SPI
  • UART
  • USB
  • MIDI
  • Bluetooth / BLE
  • Ethernet
  • TCP
  • UDP
  • IPv4
  • IPv6
  • DoIP
  • ISO 13400
  • UDS
  • KWP2000
  • ODX
  • CDD
  • vCDL
  • ASAM XIL
  • CANoe
  • CANalyzer
  • ISO 15118
  • OCPP
  • ADC
  • PWM
  • PCB-Design
  • Schaltungsentwurf
  • Echtzeit

Testautomatisierung

  • pytest
  • gtest
  • cppunit
  • nunit
  • unittest
  • Robot Framework
  • Selenium
  • CANoe
  • vTESTstudio
  • CAPL
  • Software-in-the-Loop
  • Hardware-in-the-Loop
  • Tests am Gerät
  • Konformitätstests
  • Unit Testing
  • Integrationstests
  • Testautomatisierung
  • statische Codeanalyse
  • clang-tidy
  • mypy
  • flake8

Build und CI

  • CMake
  • MSBuild
  • conan
  • vcpkg
  • NuGet
  • poetry
  • gradle
  • maven
  • ant
  • Ivy
  • Artifactory
  • git
  • GitHub
  • GitLab
  • BitBucket
  • SVN
  • ClearCase
  • GitHub Actions
  • GitLab CI
  • Jenkins
  • CI/CD
  • Docker
  • Kubernetes
  • OpenShift
  • helm
  • Terraform
  • Azure
  • VirtualBox
  • PostgreSQL
  • MySQL
  • MSSQL
  • SQLite
  • redis
  • SQLAlchemy
  • Entity Framework
  • Scrum
  • JIRA
  • Confluence

Fehlersuche und Performance

  • gdb
  • valgrind
  • ThreadSanitizer
  • VTune
  • Intel Inspector
  • Crash-Dump-Analyse
  • Memory-Leak-Analyse
  • Performance Profiling
  • Race Conditions
  • Wireshark
  • Coverity
  • SonarQube
  • clang-tidy

Architektur und Schnittstellen

  • gRPC
  • protobuf
  • MQTT
  • REST
  • SOAP
  • OPC UA
  • ZeroMQ
  • RPC
  • JSON
  • XML
  • CSV
  • Swagger
  • pybind11
  • Jinja2
  • NiFi
  • Monolith zu Services
  • Microservices
  • Architecture Decision Records
  • UML
  • Enterprise Architect
  • Xtext
  • Xtend
  • Xcore
  • Roslyn
  • Language Server Protocol (LSP)
  • Codegenerierung
  • Source-to-Source-Transformation
  • T4 Templates
  • IEC 61508
  • Functional Safety
Profil als PDF

Kontakt

Schildern Sie mir das Problem.

Schreiben Sie mir kurz, worum es geht. Ich melde mich spätestens am nächsten Werktag mit einer ersten Einschätzung.

  • Remote aus Böblingen, vor Ort möglich.
  • KI-gestützt, auf Wunsch auf eigener Hardware.
  • Mehr Hände aus meinem Netzwerk.